2019-06-05 Wenson Hsieh Upstream content mode support into open source from WebKitAdditions https://bugs.webkit.org/show_bug.cgi?id=198484 Reviewed by Andy Estes. Change the "useModernCompatibilityMode" layout test option to instead be "contentMode", with values of either "mobile" or "desktop". * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/ios/PreferredCompatibilityMode.mm: Removed. * TestWebKitAPI/ios/PreferredContentMode.mm: Added. (-[ContentModeNavigationDelegate setDecidePolicyForNavigationActionWithPreferences:]): (-[ContentModeNavigationDelegate decidePolicyForNavigationActionWithPreferences]): (-[ContentModeNavigationDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]): (+[WKWebpagePreferences preferencesWithContentMode:]): (-[WKWebView navigatorUserAgent]): (-[WKWebView navigatorPlatform]): (-[WKWebView loadTestPageNamed:withPolicyDecisionHandler:]): (-[WKWebView loadHTMLString:withPolicyDecisionHandler:]): (-[WKWebView loadTestPageNamed:andExpectEffectiveContentMode:withPolicyDecisionHandler:]): (-[NSString shouldContainStrings:]): (IPhoneUserInterfaceSwizzler::IPhoneUserInterfaceSwizzler): (IPhoneUserInterfaceSwizzler::phoneUserInterfaceIdiom): (TestWebKitAPI::setUpWebViewForPreferredContentModeTestingWithoutNavigationDelegate): (TestWebKitAPI::setUpWebViewForPreferredContentModeTesting): (TestWebKitAPI::makeContentModeDecisionHandler): (TestWebKitAPI::TEST): * WebKitTestRunner/TestController.cpp: (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): (WTR::TestController::configureContentMode): (WTR::TestController::enableModernCompatibilityMode): Deleted. 2019-06-01 Antoine Quint [Pointer Events] Add support for chorded button interactions https://bugs.webkit.org/show_bug.cgi?id=198462 Reviewed by Dean Jackson. Until now, MouseEvent.buttons would always return 0 when used within DRT and WKTR as [NSEvent pressedMouseButtons], used by PlatformMouseEventBuilder to set the m_buttons value eventually used to set MouseEvent.buttons, not account for the NSEvent created through the eventSender JS object in tests. To fix this, we now track the pressed mouse buttons within DRT and WKTR as mouseDown() and mouseUp() are called, and swizzle [NSEvent pressedMouseButtons] to return that value. In the case of DRT, one test would fail when swizzling this method in the case where the target view for the event would be the DRTMockScroller, a subclass of NSScroller. So we only swizzle when the target view is *not* an NSScroller or a subclass. Finally, we change the NoMouseButton enum value from -1 to -2 to adjust to MouseEvent.button now being a "short". * DumpRenderTree/mac/EventSendingController.mm: (swizzledEventPressedMouseButtons): (-[EventSendingController mouseDown:withModifiers:]): (-[EventSendingController mouseUp:withModifiers:]): (-[EventSendingController mouseMoveToX:Y:]): * TestWebKitAPI/Tests/mac/IsNavigationActionTrusted.mm: * WebKitTestRunner/EventSenderProxy.h: (WTR::EventSenderProxy::mouseButtonsCurrentlyDown const): * WebKitTestRunner/mac/EventSenderProxy.mm: (WTR::swizzledEventPressedMouseButtons): (WTR::EventSenderProxy::mouseDown): (WTR::EventSenderProxy::mouseUp): (WTR::EventSenderProxy::mouseMoveTo): 2019-06-04 Chris Dumez Cookies set via [WKHTTPCookieStore setCookie:] on store right after constructing WKWebView get lost https://bugs.webkit.org/show_bug.cgi?id=198553 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm: (-[CheckSessionCookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): (TEST): 2019-06-04 Michael Catanzaro Fix miscellaneous build warnings https://bugs.webkit.org/show_bug.cgi?id=198544 Reviewed by Don Olmstead. When converting to PRIVATE include directories, we accidentally dropped SYSTEM here. The naming convention used here is a bit confusing: the *_SYSTEM_INCLUDE_DIRECTORIES actually uses both SYSTEM and PRIVATE. We should probably clarify this. * TestWebKitAPI/PlatformGTK.cmake: 2019-06-04 Youenn Fablet getUserMedia requests should be processed sequentially in UIProcess https://bugs.webkit.org/show_bug.cgi?id=198430 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm: (-[GetUserMediaRepromptUIDelegate _webView:requestMediaCaptureAuthorization:decisionHandler:]): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/getUserMedia.html: 2019-06-04 David Kilzer REGRESSION (r244557): Leak of WKNSString in WTR::runOpenPanel() while running WebKit layout tests Reviewed by Darin Adler. * WebKitTestRunner/TestController.cpp: (WTR::runOpenPanel): Use adoptWK() to fix the leak. 2019-06-04 Aakash Jain [ews-app] Add authentication while fetching bugs https://bugs.webkit.org/show_bug.cgi?id=198415 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/common/bugzilla.py: (Bugzilla._fetch_attachment_json): Use api_key if configured in environment variable. (BugzillaBeautifulSoup.authenticate): Method to authenticate, logic copied from webkitpy/common/net/bugzilla/bugzilla.py (BugzillaBeautifulSoup._load_query): 2019-06-04 Aakash Jain [ews-build] Do not display unnecessary steps in the Buildbot build page UI https://bugs.webkit.org/show_bug.cgi?id=198218 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: 2019-06-04 Sihui Liu WKWebsiteDataStore API fails to fetch web storage data for non-persistent data store https://bugs.webkit.org/show_bug.cgi?id=198317 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TestWebKitAPI::TEST): 2019-06-04 Takashi Komori [WinCairo] Implement cpu and memory measuring functions. https://bugs.webkit.org/show_bug.cgi?id=198466 Reviewed by Don Olmstead. * WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp: (WTR::TestRunner::inspectorTestStubURL): 2019-06-04 Zan Dobersek [misc] Remove JSCOnly ARMv7 Traditional bot https://bugs.webkit.org/show_bug.cgi?id=198524 Reviewed by Carlos Garcia Campos. This is not a supported configuration anymore, so the buildbot slave can be removed from configuration. * BuildSlaveSupport/build.webkit.org-config/config.json: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: (WebKitBuildbot): * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: 2019-06-03 Andy Estes [Apple Pay] Disable script injection when canMakePayment APIs are called and return true https://bugs.webkit.org/show_bug.cgi?id=198448 Reviewed by Alex Christensen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/ApplePay.mm: (-[TestApplePayAvailableScriptMessageHandler userContentController:didReceiveScriptMessage:]): (-[TestApplePayActiveSessionScriptMessageHandler userContentController:didReceiveScriptMessage:]): (TestWebKitAPI::TEST): (TestWebKitAPI::runActiveSessionTest): (-[TestApplePayScriptMessageHandler initWithAPIsAvailableExpectation:canMakePaymentsExpectation:]): Deleted. (-[TestApplePayScriptMessageHandler userContentController:didReceiveScriptMessage:]): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/apple-pay-active-session.html: * TestWebKitAPI/Tests/WebKitCocoa/apple-pay-availability-existing-object.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/apple-pay-availability-in-iframe.html: * TestWebKitAPI/Tests/WebKitCocoa/apple-pay-availability.html: * TestWebKitAPI/Tests/WebKitCocoa/apple-pay-can-make-payment.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/apple-pay-can-make-payments-with-active-card.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/apple-pay-can-make-payments.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/apple-pay.js: Added. (applePayRequestBase): (applePayPaymentRequest): (applePayMethod): * TestWebKitAPI/cocoa/TestProtocol.mm: (-[TestProtocol startLoading]): 2019-06-03 Sihui Liu [ Mac WK2 ] TestWebKitAPI.WKWebView.LocalStorageProcessCrashes is a flaky timeout when run locally. https://bugs.webkit.org/show_bug.cgi?id=198423 Reviewed by Youenn Fablet. IDBDatabase receives error event on network process crash, so we don't need to check it periodically. * TestWebKitAPI/Tests/WebKitCocoa/local-storage-process-crashes.html: 2019-06-03 Rob Buis Implement imagesrcset and imagesizes attributes on link rel=preload https://bugs.webkit.org/show_bug.cgi?id=192950 Reviewed by Youenn Fablet. Add a runtime flag for link preload responsive images. * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): 2019-06-03 Don Olmstead [CMake] Use WEBKIT_EXECUTABLE in ImageDiff https://bugs.webkit.org/show_bug.cgi?id=198490 Reviewed by Konstantin Tokarev. Use WEBKIT_EXECUTABLE in ImageDiff. Change CMake variables to use the proper convention. Add a shared CoreGraphics.cmake instead of just including PlatformMac for AppleWin builds. * ImageDiff/CMakeLists.txt: * ImageDiff/Cairo.cmake: * ImageDiff/CoreGraphics.cmake: Added. * ImageDiff/PlatformGTK.cmake: * ImageDiff/PlatformMac.cmake: * ImageDiff/PlatformWin.cmake: 2019-06-02 Andy Estes Memory-cached main resources continue to load after the client decides a content policy of PolicyAction::Download https://bugs.webkit.org/show_bug.cgi?id=198469 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (-[TestDownloadNavigationResponseFromMemoryCacheDelegate webView:didStartProvisionalNavigation:]): (-[TestDownloadNavigationResponseFromMemoryCacheDelegate webView:didFailProvisionalNavigation:withError:]): (-[TestDownloadNavigationResponseFromMemoryCacheDelegate webView:didFinishNavigation:]): (-[TestDownloadNavigationResponseFromMemoryCacheDelegate _downloadDidStart:]): (-[TestDownloadNavigationResponseFromMemoryCacheDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): (TEST): * TestWebKitAPI/cocoa/TestProtocol.h: * TestWebKitAPI/cocoa/TestProtocol.mm: (+[TestProtocol additionalResponseHeaders]): (+[TestProtocol setAdditionalResponseHeaders:]): (-[TestProtocol startLoading]): 2019-06-03 Timothy Hatcher Tweak the text and underline color for data detected text. https://bugs.webkit.org/show_bug.cgi?id=198487 rdar://problem/50667125 Reviewed by Devin Rousso. * TestWebKitAPI/Tests/WebCore/Color.cpp: (TestWebKitAPI::TEST): Added Color.RGBToHSL tests. 2019-06-03 Don Olmstead [CMake] Add WebKit::JavaScriptCore target https://bugs.webkit.org/show_bug.cgi?id=198403 Reviewed by Konstantin Tokarev. Use the WebKit::JavaScriptCore target. * DumpRenderTree/CMakeLists.txt: * MiniBrowser/win/CMakeLists.txt: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/PlatformWPE.cmake: * TestWebKitAPI/glib/CMakeLists.txt: * WebKitTestRunner/CMakeLists.txt: 2019-06-03 Darin Adler Finish cleanup of String::number for floating point https://bugs.webkit.org/show_bug.cgi?id=198471 Reviewed by Yusuke Suzuki. * TestWebKitAPI/Tests/WTF/WTFString.cpp: (TestWebKitAPI::testStringNumber): Go back to calling String::number instead of String::numberToStringECMAScript. * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::dumpFrameScrollPosition): Use appendNumber instead of appendECMAScriptNumber since that is now the default. 2019-06-02 Fujii Hironori [WinCairo][MiniBrowser] WKViewSetIsInWindow should be called https://bugs.webkit.org/show_bug.cgi?id=198474 Reviewed by Darin Adler. WinCairo WK2 MiniBrowser can't play back videos because Page::canStartMedia() always returns false. WKViewSetIsInWindow should be called. The original MiniBrowser did it in Bug 55364. * MiniBrowser/win/WebKitBrowserWindow.cpp: (WebKitBrowserWindow::WebKitBrowserWindow): Call WKViewSetIsInWindow. 2019-05-31 Sihui Liu TestWebKitAPI.WKWebView.LocalStorageProcessSuspends is flaky https://bugs.webkit.org/show_bug.cgi?id=198450 Reviewed by Ryosuke Niwa. In local-storage-process-suspends-2.html, we periodically checked local storage item and sent a message when the item value was changed or times of check reached limit. We expected the message to be sent after network process resumed from suspension, because that's when the item value should get updated. However, the limit we set seemed to be not high enough, so that the message could be sent eariler than expected, when limit of check number was reached. We can solve this in different ways. To make the test robust, we can send the message on a storage event, which notifies about changes in local storage. * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/local-storage-process-suspends-2.html: 2019-05-31 Ryosuke Niwa DragAndDropTests.DragImageLocationForLinkInSubframe fails on some iPad https://bugs.webkit.org/show_bug.cgi?id=198447 Reviewed by Wenson Hsieh. Give the elements an explicit 400px width to make the test always work. * TestWebKitAPI/Tests/WebKitCocoa/link-in-iframe-and-input.html: 2019-05-31 Wenson Hsieh Make tests that use UIHelper more robust under certain configurations https://bugs.webkit.org/show_bug.cgi?id=198442 Reviewed by Megan Gardner. For a certain device class, many tests that attempt to use UIHelper.isIOS are currently failing. We can fix this by making the `isIOS` check more robust; this patch also renames `isIOS` to `isIOSFamily`, which is more accurate (and consistent with the corresponding PLATFORM macro name). * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.h: (WTR::TestRunner::isIOSFamily const): 2019-05-31 Wenson Hsieh [iOS] Autocorrection menu font is Times New Roman when using font-family: UICTFontTextStyle* https://bugs.webkit.org/show_bug.cgi?id=198427 Reviewed by Tim Horton. Add a new API test to verify that -fontForCaretSelection returns the system font when using UICTFontTextStyle in an editable web view. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm: Added. (-[TestWKWebView autocorrectionRectsForString:]): (checkCGRectIsEqualToCGRectWithLogging): * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/ios/UIKitSPI.h: 2019-05-31 Tim Horton REGRESSION: WebKit.InteractionDeadlockAfterCrash and SynchronousTimeoutTests.UnresponsivePageDoesNotCausePositionInformationToHangUI API tests are failing https://bugs.webkit.org/show_bug.cgi?id=198432 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm: (TEST): (recursiveFindHighlightLongPressRecognizer): Deleted. * TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm: (TestWebKitAPI::TEST): (TestWebKitAPI::recursiveFindHighlightLongPressRecognizer): Deleted. 2019-05-31 Alex Christensen URLParser::parseIPv6Host should properly parse 0's around compression https://bugs.webkit.org/show_bug.cgi?id=198424 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WTF/URLParser.cpp: (TestWebKitAPI::TEST_F): 2019-05-31 Alex Christensen URLParser::parseHostAndPort should not allow non-port characters after an ipv6 host https://bugs.webkit.org/show_bug.cgi?id=198428 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WTF/URLParser.cpp: (TestWebKitAPI::TEST_F): 2019-05-28 Dewei Zhu run-benchmark should report an error if the argument to --build-directory is bogus https://bugs.webkit.org/show_bug.cgi?id=198316 Reviewed by Ryosuke Niwa. 'run-benchmark' should not fallback to system safari when browser or browser build path is specified but not valid. Add a run-time check to ensure at least one of the resource from build directory is opened by Safari when build directory is specified. * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: (OSXSafariDriver.launch_url): Raise an exception when browser or browser build path is specified but not valid. 2019-05-31 Tim Horton Optionally respect device management restrictions when loading from the network https://bugs.webkit.org/show_bug.cgi?id=198318 Reviewed by Alex Christensen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/DeviceManagementRestrictions.mm: Added. (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): Clone a test that tests non-persistent data stores and ensure that it works if the data store is created via a configuration as well. Add a test that ensures that you can't create a data store configuration with an invalid set of options. Add a test that device management restrictions (when mocked) correctly fail the load with a new, appropriate error. 2019-05-31 Ryan Haddad Unreviewed, rolling out r245943. Caused API test WKWebView.LocalStorageProcessSuspends to fail on release bots. Reverted changeset: "WKWebsiteDataStore API fails to fetch web storage data for non-persistent data store" https://bugs.webkit.org/show_bug.cgi?id=198317 https://trac.webkit.org/changeset/245943 2019-05-31 Alexey Proskuryakov WebKitTestRunner sometimes freezes under -[NSWindow release] https://bugs.webkit.org/show_bug.cgi?id=198422 Reviewed by Tim Horton. The window remains key until it's out of the allWindows vector, and AppKit is not happy about deallocating key windows. Fixed by updating allWindows in -close instead of -release. Added isMainFrame assertions in code that manipulates allWindows for a good measure. * WebKitTestRunner/mac/WebKitTestRunnerWindow.mm: (+[WebKitTestRunnerWindow _WTR_keyWindow]): (-[WebKitTestRunnerWindow initWithContentRect:styleMask:backing:defer:]): (-[WebKitTestRunnerWindow close]): (-[WebKitTestRunnerWindow dealloc]): 2019-05-31 Geoffrey Garen Some WeakPtr cleanup https://bugs.webkit.org/show_bug.cgi?id=198390 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WTF/WeakPtr.cpp: Updated for rename. 2019-05-31 Don Olmstead [CMake] Add WebKit::WTF target https://bugs.webkit.org/show_bug.cgi?id=198400 Reviewed by Konstantin Tokarev. Use the WebKit::WTF target. * DumpRenderTree/CMakeLists.txt: * DumpRenderTree/PlatformWin.cmake: * MiniBrowser/win/CMakeLists.txt: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/PlatformWPE.cmake: * TestWebKitAPI/PlatformWin.cmake: * WebKitTestRunner/PlatformGTK.cmake: * WebKitTestRunner/PlatformWin.cmake: 2019-05-31 Alex Christensen REGRESSION (Safari 12): SafariForWebkitDevelopment won't load any pages on Mojave, nightly builds broken https://bugs.webkit.org/show_bug.cgi?id=194808 Reviewed by Darin Adler. I verified that a daily build downloaded an run on Mojave does not work without this and works with this. * WebKitArchiveSupport/run-webkit-archive: (set_dyld_framework_path): Also set XPC variants of needed environment variables. 2019-05-31 Carlos Garcia Campos [WPE] Build at-spi2-core without x11 support in jhbuild https://bugs.webkit.org/show_bug.cgi?id=198411 Reviewed by Philippe Normand. * wpe/jhbuild.modules: 2019-05-30 Sihui Liu WKWebsiteDataStore API fails to fetch web storage data for non-persistent data store https://bugs.webkit.org/show_bug.cgi?id=198317 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TestWebKitAPI::TEST): 2019-05-30 Andres Gonzalez Inserting a newline in contenteditable causes two characters to be added instead of one https://bugs.webkit.org/show_bug.cgi?id=197894 Reviewed by Wenson Hsieh and Chris Fleizach. iOS implementation of several AccessibilityUIElement methods to execute LayoutTests. * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::AccessibilityUIElement::selectedTextRange): (WTR::AccessibilityUIElement::setSelectedTextRange): (WTR::AccessibilityUIElement::replaceTextInRange): 2019-05-30 Keith Miller IsoHeaps don't notice uncommitted VA becoming the first eligible. https://bugs.webkit.org/show_bug.cgi?id=198301 Reviewed by Yusuke Suzuki. Move testbmalloc.cpp to TestWTF so it runs in automation. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp: Renamed from Source/bmalloc/test/testbmalloc.cpp. (TEST): 2019-05-30 Wenson Hsieh DragAndDropTests.DataTransferExposePlainTextWithFileURLAsFile API test is failing https://bugs.webkit.org/show_bug.cgi?id=198389 Reviewed by Tim Horton. This test started failing, since the fallback name for a dropped text file changed from "text.txt" to "Document.txt" on newer iOS SDK versions. We simply fix this test by checking that the name of the file ends with ".txt", and that the MIME type of the file is "text/plain". * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: (TestWebKitAPI::TEST): 2019-05-30 Sihui Liu Stop StorageManager when network process is ready to suspend https://bugs.webkit.org/show_bug.cgi?id=198201 Reviewed by Youenn Fablet. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/local-storage-process-suspends-1.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/local-storage-process-suspends-2.html: Added. 2019-05-30 David Quesada REGRESSION (r245756) [Mac] 2 TestWebKitAPI.DownloadProgress* and TestWebKitAPI._WKDownload.DownloadMonitorCancel are flaky timeouts https://bugs.webkit.org/show_bug.cgi?id=198298 rdar://problem/51182393 Reviewed by Alexey Proskuryakov. Re-enable _WKDownload.DownloadMonitorCancel, which should no longer time out with this fix. * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (TestWebKitAPI::TEST): 2019-05-30 Truitt Savell Unreviewed, rolling out r245881. Broke 13 Layout tests on WK2 Reverted changeset: "WKWebsiteDataStore API fails to fetch web storage data for non-persistent data store" https://bugs.webkit.org/show_bug.cgi?id=198317 https://trac.webkit.org/changeset/245881 2019-05-30 Aakash Jain [ews-build] Update configuration to share bots across queues https://bugs.webkit.org/show_bug.cgi?id=198370 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/config.json: Share bots across builder and API tester queues. Also use ews119 instead of ews120 for mac API tests, as ews120 seems to have some issues as noted in https://bugs.webkit.org/show_bug.cgi?id=197571#c1 2019-05-30 Jonathan Bedard webkitpy: Switch run-webkit-tests to tailspin (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=198144 Unreviewed infrastructure fix. * Scripts/webkitpy/port/darwin.py: (DarwinPort.look_for_new_samples): Use tailspin_file_path instead of spindump_file_path. 2019-05-29 Wenson Hsieh Remove some logic to suppress the text selection assistant during drop https://bugs.webkit.org/show_bug.cgi?id=198354 Reviewed by Tim Horton. Adjust some API tests that currently check whether or not the selection assistant was suppressed during drop. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/cocoa/DragAndDropSimulator.h: * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[DragAndDropSimulator _resetSimulatedState]): (-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]): 2019-05-29 Sihui Liu WKWebsiteDataStore API fails to fetch web storage data for non-persistent data store https://bugs.webkit.org/show_bug.cgi?id=198317 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TestWebKitAPI::TEST): 2019-05-29 Alex Christensen Build fix for branch. * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: 2019-05-29 Justin Michaud Attempt to fix JSC test timeouts after adding collectContinuously to WASM tests. https://bugs.webkit.org/show_bug.cgi?id=198322 Rubber-stamped by Michael Saboff. Disable running the new collectContinuously tests on debug builds. This matches what we do for other jsc tests. * Scripts/run-jsc-stress-tests: 2019-05-29 Don Olmstead Remove ENABLE definitions from WebKit config files https://bugs.webkit.org/show_bug.cgi?id=197858 Reviewed by Simon Fraser. Sync FeatureDefines.xcconfig. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-05-29 Said Abou-Hallawa [iOS] WebPage::positionInformation() may set InteractionInformationAtPosition.isImage to true but leave image unset https://bugs.webkit.org/show_bug.cgi?id=198202 Reviewed by Tim Horton. The new test ensures InteractionInformationAtPosition::isImage will not be to true for a broken image. * TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm: (TestWebKitAPI::TEST): 2019-05-29 David Kilzer check-webkit-style reports false-positive build/include_order warning in WTF C++ source files Reviewed by Alex Christensen. * Scripts/webkitpy/style/checkers/cpp.py: (_classify_include): Don't return early for includes. * Scripts/webkitpy/style/checkers/cpp_unittest.py: (OrderOfIncludesTest.test_primary_header): Add tests for includes. 2019-05-29 Geoffrey Garen WeakPtr breaks vtables when upcasting to base classes https://bugs.webkit.org/show_bug.cgi?id=188799 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WTF/WeakPtr.cpp: Adopt the new macro API instead of template specialization for observing weak references. (TestWebKitAPI::Int::Int): (TestWebKitAPI::Int::operator int const): (TestWebKitAPI::Int::operator== const): Use a class for integer tests because WeakPtr doesn't naturally support pointing to non-class objects now. (TestWebKitAPI::Base::foo): (TestWebKitAPI::Derived::foo): Inherit from CanMakeWeakPtr to enable deduction of the weak pointer type. (TestWebKitAPI::TEST): Updated to use Int. (TestWebKitAPI::Base::weakPtrFactory const): Deleted. (WTF::WeakReference::WeakReference): Deleted. (WTF::WeakReference::~WeakReference): Deleted. 2019-05-29 Ryan Haddad Unreviewed, rolling out r245857. Breaks internal builds. Reverted changeset: "WeakPtr breaks vtables when upcasting to base classes" https://bugs.webkit.org/show_bug.cgi?id=188799 https://trac.webkit.org/changeset/245857 2019-05-28 Geoffrey Garen WeakPtr breaks vtables when upcasting to base classes https://bugs.webkit.org/show_bug.cgi?id=188799 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WTF/WeakPtr.cpp: Adopt the new macro API instead of template specialization for observing weak references. (TestWebKitAPI::Int::Int): (TestWebKitAPI::Int::operator int const): (TestWebKitAPI::Int::operator== const): Use a class for integer tests because WeakPtr doesn't naturally support pointing to non-class objects now. (TestWebKitAPI::Base::foo): (TestWebKitAPI::Derived::foo): Inherit from CanMakeWeakPtr to enable deduction of the weak pointer type. (TestWebKitAPI::TEST): Updated to use Int. (TestWebKitAPI::Base::weakPtrFactory const): Deleted. (WTF::WeakReference::WeakReference): Deleted. (WTF::WeakReference::~WeakReference): Deleted. 2019-05-29 Aakash Jain Disable Flaky API Test TestWebKitAPI._WKDownload.DownloadMonitorCancel https://bugs.webkit.org/show_bug.cgi?id=198328 Reviewed by Alexey Proskuryakov. * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: 2019-05-28 Justin Michaud Attempt to fix JSC test timeouts after adding collectContinuously to WASM tests. https://bugs.webkit.org/show_bug.cgi?id=198322 Reviewed by Saam Barati. Increases the collection period from 1 to slightly higher to try to speed up the tests. Any higher and the test runner does not detect the bug that required the memset in Wasm::Instance::Instance(). * Scripts/run-jsc-stress-tests: 2019-05-28 Wenson Hsieh [iOS] Respect NSItemProvider's registered types when dropping files that are loaded in-place https://bugs.webkit.org/show_bug.cgi?id=198315 Reviewed by Tim Horton. Adds a new API test to verify that when dropping a file that is loaded in-place with a file extension that is not a .png (but was registered to the item provider as "public.png"), the resulting attachment is contained in an image element, and the resulting attachment info indicates that the dropped attachment is a png file. Additionally, rebaseline some existing tests. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (runTestWithTemporaryImageFile): (TestWebKitAPI::TEST): 2019-05-28 Yusuke Suzuki GCHeapInspector should accept weird filename https://bugs.webkit.org/show_bug.cgi?id=198314 Reviewed by Simon Fraser. GCHeapInspector filenameForPath should have a fallback path if regexp does not match against the given path. * GCHeapInspector/script/interface.js: (filenameForPath): 2019-05-28 Eric Carlson [MacOS] Filter GVA warning logged to stdout https://bugs.webkit.org/show_bug.cgi?id=198303 Reviewed by Jer Noble. * Scripts/webkitpy/port/mac.py: (MacPort.logging_patterns_to_strip): Filter GVA warnings. 2019-05-28 Nikita Vasilyev Web Inspector: Provide UIString descriptions to improve localizations https://bugs.webkit.org/show_bug.cgi?id=195132 Reviewed by Devin Rousso. Allow WI.UIString to take: - WI.UIString(string, key, comment) - WI.UIString(string, comment) - WI.UIString(string) * Scripts/extract-localizable-js-strings: 2019-05-25 Dewei Zhu Limit run-benchmark http server to specific interface. https://bugs.webkit.org/show_bug.cgi?id=198247 Reviewed by Ryosuke Niwa. Add '--interface' option to 'twisted_http_server.py'. 'SimpleHTTPServerDriver' should specify interface for http server. Update regex that determines http server port from 'lsof' output to support ipv6 address. * Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py: Added '--interface' argument. * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: Limited http server to a specific interfce. Added '-P' option to 'lsof' invocation to inhibits the conversion of port numbers to port name so script won't fail if it's listening on a 'well-known' port. Abstracted '_check_http_server_is_running' to allow potential child class to have its own implementation. (SimpleHTTPServerDriver.serve): Updated regex that determines http server port from 'lsof' output to support ipv6 address. (SimpleHTTPServerDriver.kill_server): Added null check for 'self._server_process'. 2019-05-28 David Xiong webkitpy: Switch run-webkit-tests to tailspin https://bugs.webkit.org/show_bug.cgi?id=198144 Reviewed by Jonathan Bedard. Changes run-webkit-tests to run tailspin on test time out rather than spindump, and edited tests to look for tailspin logs instead. * Scripts/webkitpy/port/darwin.py: (DarwinPort.sample_process): Replaced spindump with tailspin (+ symbolication) (DarwinPort): (DarwinPort.tailspin_file_path): (DarwinTest.spindump_file_path): Deleted. * Scripts/webkitpy/port/darwin_testcase.py: (DarwinTest.test_tailspin): Changed spindump test (below) to test for tailspin instead (DarwinTest.test_spindump): Deleted. (DarwinTest.test_spindump.logging_run_command): Deleted. * Scripts/webkitpy/port/ios_device_unittest.py: (IOSDeviceTest.test_tailspin): Changed spindump tests (inc. below) to test for tailspin instead (IOSDeviceTest.test_sample_process.logging_run_command): (IOSDeviceTest.test_sample_process_exception.throwing_run_command): (IOSDeviceTest.test_spindump): Deleted. (IOSDeviceTest.test_spindump.logging_run_command): Deleted. 2019-05-28 David Xiong webkitpy: Using sudo on iOS device during timeout spindumps https://bugs.webkit.org/show_bug.cgi?id=198142 Reviewed by Jonathan Bedard. * Scripts/webkitpy/port/darwin.py: (DarwinPort.sample_process): Check target host instead of source host for sudo command. 2019-05-28 Aakash Jain [ews-build] Remove unused buildbot tabs https://bugs.webkit.org/show_bug.cgi?id=198108 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/templates/build.jade: Removed unused 'Changes' and 'Responsible Users' tabs. 2019-05-27 Carlos Garcia Campos [GTK] Use WPEBackend-fdo for accelerating compositing in Wayland instead of the nested compositor https://bugs.webkit.org/show_bug.cgi?id=197944 Reviewed by Michael Catanzaro. Add WPEBackend-fdo to jhbuild moduleset. * gtk/jhbuild.modules: 2019-05-27 Wenson Hsieh [iOS] Dropping in an editable element should result in a ranged selection https://bugs.webkit.org/show_bug.cgi?id=198267 Reviewed by Tim Horton. Adjust some existing API tests that currently check for selection rects after a drop. Instead of checking for visible selection rects, simply check for the start caret rect, as determined by WKContentView's -selectionRange. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: (TestWebKitAPI::TEST): (makeCGRectValue): Deleted. (checkSelectionRectsWithLogging): Deleted. * TestWebKitAPI/cocoa/DragAndDropSimulator.h: Replace finalSelectionRects with finalSelectionStartRect. * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[DragAndDropSimulator _resetSimulatedState]): (-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]): (-[DragAndDropSimulator finalSelectionRects]): Deleted. 2019-05-27 Oriol Brufau [css-grid] Preserve repeat() notation when serializing declared values https://bugs.webkit.org/show_bug.cgi?id=197840 Reviewed by Manuel Rego Casasnovas. Adapt CSSPropertyParserTest to CSSGridIntegerRepeatValue. * TestWebKitAPI/Tests/WebCore/CSSParser.cpp: (TestWebKitAPI::computeNumberOfTracks): 2019-05-26 Wenson Hsieh [iOS] Dropped text, attachments, and images should animate into place https://bugs.webkit.org/show_bug.cgi?id=198243 Reviewed by Tim Horton. Adjusts the iOS dragging simulator, and adds a new API test. See below for more detail. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: (TestWebKitAPI::isCompletelyWhite): (TestWebKitAPI::TEST): Add a test that drags and drops an image into a contenteditable element, and then observes the resulting UITargetedDragPreviews upon drop. * TestWebKitAPI/cocoa/DragAndDropSimulator.h: * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[DragAndDropSimulator _resetSimulatedState]): (-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]): (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]): Teach the iOS version of DragAndDropSimulator to invoke -dropInteraction:concludeDrop: on the drop interaction delegate when the drop finishes. This additionally uses _doAfterReceivingEditDragSnapshotForTesting: to defer the end of the simulated drag and drop until after drag previews have been received during an edit drag. (-[DragAndDropSimulator dropPreviews]): (-[DragAndDropSimulator delayedDropPreviews]): Have the drag and drop simulator remember which previews were returned by the delegate on drop, as well as which previews were provided asynchronously. (-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]): * TestWebKitAPI/ios/UIKitSPI.h: Stage the new private drop interacton delegate method. 2019-05-25 Simon Fraser MobileMiniBrowser: Add iPad support, and allow insecure loads https://bugs.webkit.org/show_bug.cgi?id=198249 Reviewed by Tim Horton. Add iPad support to MobileMiniBrowser, and allow insecure loads. * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: * MobileMiniBrowser/MobileMiniBrowser/Info.plist: 2019-05-25 Wenson Hsieh [iOS] Respect -[NSItemProvider preferredPresentationSize] when dropping images https://bugs.webkit.org/show_bug.cgi?id=198242 Reviewed by Beth Dakin. Add a new test that simulates dropping an image with a preferred presentation size into an editable element with attachment elements enabled. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): 2019-05-24 Yusuke Suzuki Make display-profiler-output work with newer HighLine https://bugs.webkit.org/show_bug.cgi?id=198205 Reviewed by Saam Barati. Newer HighLine does not have SystemExtensions. Access @terminal member in default instance of HighLine. * Scripts/display-profiler-output: 2019-05-23 Fujii Hironori run-webkit-tests: Remove feature detection support https://bugs.webkit.org/show_bug.cgi?id=198105 Reviewed by Jonathan Bedard. Feature detection support was added to DRT for Windows and old run-webkit-tests in Bug 35610. It was added for NRWT in Bug 41842. But, it doesn't work for DRT for Windows because of feature name mismatches. Since USE(ACCELERATED_COMPOSITING) flag has been removed in Bug 127833, it is not needed anymore. * DumpRenderTree/win/DumpRenderTree.cpp: (main): * Scripts/webkitpy/port/base.py: (Port._tests_for_other_platforms): (Port._skipped_tests_for_unsupported_features): (Port._runtime_feature_list): Deleted. (Port.nm_command): Deleted. (Port._modules_to_search_for_symbols): Deleted. (Port._symbols_string): Deleted. (Port._missing_feature_to_skipped_tests): Deleted. (Port._has_test_in_directories): Deleted. * Scripts/webkitpy/port/darwin.py: (DarwinPort.make_command): (DarwinPort.nm_command): Deleted. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort.reset_preferences): (IOSSimulatorPort.nm_command): Deleted. * Scripts/webkitpy/port/port_testcase.py: (TestWebKitPort.__init__): (TestWebKitPort.all_test_configurations): (PortTestCase.test_path_to_test_expectations_file): (TestWebKitPort._symbols_string): Deleted. (PortTestCase.test_skipped_directories_for_features): Deleted. (PortTestCase.test_skipped_directories_for_features_no_matching_tests_in_test_list): Deleted. (PortTestCase.test_skipped_tests_for_unsupported_features_empty_test_list): Deleted. * Scripts/webkitpy/port/watch_simulator.py: (WatchSimulatorPort.reset_preferences): (WatchSimulatorPort.nm_command): Deleted. * Scripts/webkitpy/port/win.py: (WinPort.show_results_html_file): (WinPort._runtime_feature_list): Deleted. * Scripts/webkitpy/port/win_unittest.py: (WinPortTest.test_operating_system): (WinPortTest.test_runtime_feature_list): Deleted. * WebKitTestRunner/Options.cpp: (WTR::OptionsHandler::OptionsHandler): (WTR::handleOptionPrintSupportedFeatures): Deleted. * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): 2019-05-23 Commit Queue Unreviewed, rolling out r245665. https://bugs.webkit.org/show_bug.cgi?id=198203 Inspector appears blank, again. (Requested by NVI on #webkit). Reverted changeset: "Web Inspector: Provide UIString descriptions to improve localizations" https://bugs.webkit.org/show_bug.cgi?id=195132 https://trac.webkit.org/changeset/245665 2019-05-23 Stephan Szabo [Win][CMake] Pass architecture to cmake via -A for both x64 and Win32 https://bugs.webkit.org/show_bug.cgi?id=198098 Reviewed by Don Olmstead. With current CMake and Visual Studio 2019, the default architecture will match the host, so we should make sure to explicitly mention the architecture we want for 32-bit builds as well for cases where we are on x64 and not in an x64_x32 cross-build vcvars environment. * Scripts/webkitdirs.pm: (getVisualStudioToolset): Get toolset name for cmake/msbuild (getMSBuildPlatformArgument): Update to use getVisualStudioToolset (getCMakeWindowsToolsetArgument): Get -A argument for cmake based on toolset (generateBuildSystemFromCMakeProject): Remove explicit -A x64 in 64-bit mode in favor of new getCMakeWindowsToolsetArgument. 2019-05-23 Youenn Fablet Set default WebsiteDataStore storage quota based on StorageQuotaManager https://bugs.webkit.org/show_bug.cgi?id=198133 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm: (doTest): 2019-05-23 Keith Rollin generate-xcfilelists should not store temporary build files in /tmp https://bugs.webkit.org/show_bug.cgi?id=198136 Reviewed by Jonathan Bedard. Provide the build infrastructure control of the location of generate-xcfilelists' temporary files by creating them in the build directory when possible. * Scripts/webkitpy/generate_xcfilelists_lib/application.py: (get_xcode_project_temp_dir): * Scripts/webkitpy/generate_xcfilelists_lib/generators.py: (BaseGenerator._generate_derived): (BaseGenerator._generate_unified): (BaseGenerator): (BaseGenerator._get_temp_dir): 2019-05-23 Philippe Normand [JHBuild][GStreamer] Enable libsrtp https://bugs.webkit.org/show_bug.cgi?id=198041 Reviewed by Xabier Rodriguez-Calvar. * gstreamer/jhbuild.modules: Enable libsrtp. The system version can't be used from Stretch because it's too old. 2019-05-22 Ryan Haddad Move win-ews queue bubble to Win10 section of dashboard https://bugs.webkit.org/show_bug.cgi?id=198159 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: (BubbleQueueServer): Change platform to Windows10 to match the OS version of the bots. 2019-05-22 Myles C. Maxfield [Mac] Add API test to make sure the system font is drawn just like in native code https://bugs.webkit.org/show_bug.cgi?id=198010 Reviewed by Daniel Bates. We can compare the width of using font-family:system-ui to a CTLine. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/TextWidth.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/TextWidth.mm: Added. (TEST): 2019-05-22 Nikita Vasilyev Web Inspector: Provide UIString descriptions to improve localizations https://bugs.webkit.org/show_bug.cgi?id=195132 Reviewed by Devin Rousso. Allow WI.UIString to take: - WI.UIString(string, key, comment) - WI.UIString(string, comment) - WI.UIString(string) * Scripts/extract-localizable-js-strings: 2019-05-22 Wenson Hsieh [iOS] The shouldIgnoreMetaViewport test option incorrectly persists across layout tests https://bugs.webkit.org/show_bug.cgi?id=198135 Reviewed by Alexey Proskuryakov. When shouldIgnoreMetaViewport=true is specified on a test, if the following test does not use a flexible viewport, we will continue ignoring the meta viewport, since we'll bail before we attempt to reset WKPreferences' _shouldIgnoreMetaViewport property to NO. We fix this by simply allowing shouldIgnoreMetaViewport to take precedence over useFlexibleViewport, such that -[WKPreferences _shouldIgnoreMetaViewport] will always be updated to its intended value between tests. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformConfigureViewForTest): 2019-05-22 Sihui Liu API Test landed in r245540 [Mac WK2] TestWebKitAPI.WKWebView.LocalStorageProcessCrashes is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=198090 Reviewed by Youenn Fablet. WebView was wrongly loaded multiple times. * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: (TEST): 2019-05-22 Jiewen Tan [WebAuthN] Support Attestation Conveyance Preference https://bugs.webkit.org/show_bug.cgi?id=192722 Reviewed by Brent Fulgham. * TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp: (TestWebKitAPI::TEST): Updates the test with AttestationConveyancePreference. 2019-05-22 Zalan Bujtas [Paste] Add support for preferred presentation size when pasting an image https://bugs.webkit.org/show_bug.cgi?id=198132 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: (TestWebKitAPI::TEST): 2019-05-22 Keith Rollin Use a different variable when testing for Xcode context in generate-xcfilelists https://bugs.webkit.org/show_bug.cgi?id=198130 Reviewed by Jonathan Bedard. The generate-xcfilelists script can run stand-alone or in the context of Xcode. There are a couple of places where it helps to know which context is current. To determine the context, genreate-xfilelists checks an environment variable that should be defined only when Xcode is running. The variable chosen was XCODE_INSTALL_PATH. It turns out that this variable is not always defined. Therefore, switch to checking XCODE_PRODUCT_BUILD_VERSION. * Scripts/webkitpy/generate_xcfilelists_lib/util.py: (subprocess_run): (is_running_under_xcode): 2019-05-22 Carlos Garcia Campos Unreviewed. Fix WPE unit tests after r245565 Backend creation is failing when the a11y bus is not running because atk produces warning messages. We should not make warnings fatal during backend creation. * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: (testAutomationSessionRequestSession): * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: (testWebViewGeolocationPermissionRequests): * TestWebKitAPI/glib/WebKitGLib/TestMain.h: (Test::createWebViewBackend): (Test::addLogFatalFlag): (Test::removeLogFatalFlag): 2019-05-21 Aakash Jain [ews-build] Use custom templates for Buildbot (follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=198076 Unreviewed minor follow-up fix. * BuildSlaveSupport/ews-build/templates/build.jade: 2019-05-21 Alex Christensen Fix branch build. * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: We need to explicitly include WebKit.h on the branch. 2019-05-21 Aakash Jain [ews-build] Use custom templates for Buildbot https://bugs.webkit.org/show_bug.cgi?id=198076 Rubber-stamped by Jonathan Bedard. * BuildSlaveSupport/ews-build/master.cfg: * BuildSlaveSupport/ews-build/templates: Added. * BuildSlaveSupport/ews-build/templates/build.jade: Copied from https://github.com/buildbot/buildbot/blob/v1.7.0/www/base/src/app/builders/builds/build.tpl.jade 2019-05-21 Chris Dumez [PSON] Assertion hit when navigating back after a process swap forced by the client https://bugs.webkit.org/show_bug.cgi?id=198006 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-05-21 Carlos Garcia Campos Unreviewed. Fix the build with HAVE(ACCESSIBILITY) disabled * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: (WTR::AccessibilityController::elementAtPoint): * WebKitTestRunner/InjectedBundle/AccessibilityController.h: (WTR::AccessibilityController::rootElement): (WTR::AccessibilityController::focusedElement): 2019-05-21 Carlos Garcia Campos [WPE] Add initial accessibility support using ATK https://bugs.webkit.org/show_bug.cgi?id=197413 Reviewed by Michael Catanzaro. Add accessibility support in MiniBrowser and backends used by MiniBrowser and tests. * MiniBrowser/wpe/CMakeLists.txt: * MiniBrowser/wpe/main.cpp: (main): * TestWebKitAPI/PlatformWPE.cmake: * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityController.h: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: (WTR::AccessibilityNotificationHandler::setNotificationFunctionCallback): (WTR::AccessibilityNotificationHandler::removeAccessibilityNotificationHandler): * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp: Removed. * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp: Removed. * WebKitTestRunner/PlatformWPE.cmake: * wpe/backends/CMakeLists.txt: * wpe/backends/HeadlessViewBackend.cpp: (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): * wpe/backends/ViewBackend.cpp: (WPEToolingBackends::addKeyEventListener): (WPEToolingBackends::removeKeyEventListener): (WPEToolingBackends::notifyAccessibilityKeyEventListeners): (WPEToolingBackends::ViewBackend::initialize): (WPEToolingBackends::ViewBackend::initializeAccessibility): (WPEToolingBackends::ViewBackend::updateAccessibilityState): (WPEToolingBackends::ViewBackend::setAccessibleChild): (WPEToolingBackends::ViewBackend::addActivityState): (WPEToolingBackends::ViewBackend::removeActivityState): (WPEToolingBackends::ViewBackend::dispatchInputKeyboardEvent): * wpe/backends/ViewBackend.h: * wpe/backends/WebKitAccessibleApplication.cpp: Added. (webkitAccessibleApplicationWindowInterfaceInit): (webkitAccessibleApplicationFinalize): (webkitAccessibleApplicationInitialize): (webkitAccessibleApplicationGetNChildren): (webkitAccessibleApplicationRefChild): (webkitAccessibleApplicationGetName): (webkit_accessible_application_class_init): (webkit_accessible_application_init): (webkitAccessibleApplicationNew): (webkitAccessibleApplicationSetChild): * wpe/backends/WebKitAccessibleApplication.h: Added. * wpe/backends/WindowViewBackend.cpp: (WPEToolingBackends::WindowViewBackend::WindowViewBackend): * wpe/jhbuild.modules: 2019-05-20 Fujii Hironori run-webkit-tests not gathering crash logs on Cygwin Python and Windows Python https://bugs.webkit.org/show_bug.cgi?id=179828 Reviewed by Jonathan Bedard. ServerProcess should store its Windows PID for Cygwin before process crashing because the Windows PID is required to get a correct CrashLog. CrashLog format has been changed. CrashLogs.GLOBAL_PID_REGEX should accept the new format. * Scripts/webkitpy/common/system/crashlogs.py: (CrashLogs.GLOBAL_PID_REGEX): Accept any words between 'Global' and 'PID:'. * Scripts/webkitpy/port/driver.py: (Driver.has_crashed): (Driver._check_for_driver_crash_or_unresponsiveness): (Driver._read_block): Store server_process.system_pid() to self._crashed_pid instead of server_process.pid(). * Scripts/webkitpy/port/server_process.py: (ServerProcess.__init__): (ServerProcess.system_pid): Added. (ServerProcess._find_system_pid): Added. (ServerProcess._start): Set self._system_pid. * Scripts/webkitpy/port/win.py: (WinPort._get_crash_log): Removed broken old code converting Cygwin pid to Windows pid. 2019-05-20 Aakash Jain Windows 10 test results missing on flakiness dashboard https://bugs.webkit.org/show_bug.cgi?id=198058 Rubber-stamped by Alexey Proskuryakov. * TestResultServer/static-dashboards/flakiness_dashboard.js: 2019-05-20 Sihui Liu Move Web Storage to Network Process https://bugs.webkit.org/show_bug.cgi?id=197636 Reviewed by Youenn Fablet. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/LocalStorageDatabaseTracker.mm: Remove the wait for database file update. (TEST): * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: Add a test for network process crash recovery. (TEST): * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Fix a typo and add a test case to cover it. * TestWebKitAPI/Tests/WebKitCocoa/local-storage-process-crashes.html: Added. 2019-05-20 Keith Rollin generate-xcfilelists is stranding temporary files https://bugs.webkit.org/show_bug.cgi?id=198008 Reviewed by Jonathan Bedard. generate-xcfilelists makes use of temporary files on disk. These files are opened with the OS's "temporary" bit set, causing them to get deleted when closed or the process exists. However, these temporary files actually end up persisting after the script exists. This is because `sed` is used to process the files, and is done so in a way that causes the "temporary" bit to get cleared. Address this issue by no longer using `sed` and instead performing the equivalent processing the file content in-memory. * Scripts/webkitpy/generate_xcfilelists_lib/generators.py: (BaseGenerator._generate_derived): (BaseGenerator._generate_unified): (BaseGenerator._replace): (BaseGenerator._unexpand): (BaseGenerator._find_added_lines.get_lines): (BaseGenerator._find_added_lines): 2019-05-20 Ludovico de Nittis [WPE][Qt] Use C++17 instead of C++14 https://bugs.webkit.org/show_bug.cgi?id=197415 Reviewed by Philippe Normand. There was a regression introduced with the commit https://bugs.webkit.org/show_bug.cgi?id=197131 The WPE Qt port was not updated to C++17 and this leaded to a compilation error. * TestWebKitAPI/glib/CMakeLists.txt: 2019-05-20 Ludovico de Nittis [Flatpak][Qt] Meson: Unknown type feature for gstreamer https://bugs.webkit.org/show_bug.cgi?id=197408 Reviewed by Philippe Normand. This is a regression that has been introduced when GStreamer was updated to version 1.16.0 https://bugs.webkit.org/show_bug.cgi?id=197157 Now GStreamer requires meson >= 0.47.0 Updating the Kde runtime to version 5.12 we fulfill this requirement. * flatpak/org.webkit.WPEQT.yaml: 2019-05-20 Carlos Garcia Campos [GLIB] Crash when instantiating a js object registered with jsc_context_register_class on window object cleared https://bugs.webkit.org/show_bug.cgi?id=198037 Reviewed by Michael Catanzaro. Add a test case to check the crash is fixed. * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp: (testWebExtensionWindowObjectCleared): * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp: (windowObjectCleared): 2019-05-20 Carlos Garcia Campos [GLIB] Repeating timer is not stopped when stop is called from the callback https://bugs.webkit.org/show_bug.cgi?id=197986 Reviewed by Michael Catanzaro. Check the timer is no longer active after it has been stopped. * TestWebKitAPI/Tests/WTF/RunLoop.cpp: (TestWebKitAPI::TEST): 2019-05-19 Darin Adler Change String::number to use "shortest" instead of "fixed precision 6 digits" https://bugs.webkit.org/show_bug.cgi?id=178319 Reviewed by Sam Weinig. * TestWebKitAPI/Tests/WTF/WTFString.cpp: (TestWebKitAPI::testStringNumberFixedPrecision): Use String::numberToStringFixedPrecision. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: (attributesOfElement): Use appendFixedPrecisionNumber. 2019-05-18 Jiewen Tan [WebAuthN] Allow authenticators that support both CTAP and U2F to try U2F if CTAP fails in authenticatorGetAssertion https://bugs.webkit.org/show_bug.cgi?id=197974 Reviewed by Brent Fulgham. Add a canDowngrade option for mock hid devices to simulate the situation. * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setWebAuthenticationMockConfiguration): 2019-05-18 Tadeu Zagallo Add extra information to dumpJITMemory https://bugs.webkit.org/show_bug.cgi?id=197998 Reviewed by Saam Barati. Add description for the new dumpJITMemory trace point code. * Tracing/SystemTracePoints.plist: 2019-05-17 Justin Michaud [WASM-References] Add support for Anyref in parameters and return types, Ref.null and Ref.is_null for Anyref values. https://bugs.webkit.org/show_bug.cgi?id=197969 Run wasm tests additionally with wasmBBQUsesAir=0. Reviewed by Keith Miller. * Scripts/run-jsc-stress-tests: 2019-05-17 Don Olmstead [CMake] Use builtin FindICU https://bugs.webkit.org/show_bug.cgi?id=197934 Reviewed by Michael Catanzaro. Remove uses of ICU_INCLUDE_DIRS and ICU_LIBRARIES. * TestWebKitAPI/PlatformMac.cmake: * TestWebKitAPI/PlatformPlayStation.cmake: * TestWebKitAPI/PlatformWin.cmake: * WebKitTestRunner/CMakeLists.txt: 2019-05-17 Alex Christensen Enable legacy EME for iOS WKWebView https://bugs.webkit.org/show_bug.cgi?id=197964 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: (TEST): 2019-05-17 Aakash Jain [ews-build] Add clickable url in UI for uploaded S3 archive https://bugs.webkit.org/show_bug.cgi?id=197996 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: 2019-05-17 Aakash Jain [ews-app] Status bubble should not turn orange when any build step has warnings https://bugs.webkit.org/show_bug.cgi?id=198000 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._does_build_contains_any_failed_step): 2019-05-17 Alex Christensen Add SPI to set a list of hosts to which to send custom header fields cross-origin https://bugs.webkit.org/show_bug.cgi?id=197397 Reviewed by Geoff Garen. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (TEST): (expectLegacyHeaders): (expectHeaders): (-[CustomHeaderFieldsDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]): (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]): (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted. 2019-05-17 Keith Rollin Unreviewed build fix. Teach generate-xcfilelists about iphonesimulator. * Scripts/webkitpy/generate_xcfilelists_lib/generators.py: (JavaScriptCoreGenerator): (WebCoreGenerator): (WebKitGenerator): 2019-05-17 Keith Rollin Re-enable generate-xcfilelists https://bugs.webkit.org/show_bug.cgi?id=197933 Reviewed by Jonathan Bedard. The following two tasks have been completed, and we can re-enable generate-xcfilelists: Bug 197619 Temporarily disable generate-xcfilelists (197619) Bug 197622 Rewrite generate-xcfilelists in Python (197622) * DumpRenderTree/Scripts/check-xcfilelists.sh: * WebKitTestRunner/Scripts/check-xcfilelists.sh: 2019-05-17 Commit Queue Unreviewed, rolling out r245401. https://bugs.webkit.org/show_bug.cgi?id=197990 Causing internal build failures (Requested by ShawnRoberts on #webkit). Reverted changeset: "Add SPI to set a list of hosts to which to send custom header fields cross-origin" https://bugs.webkit.org/show_bug.cgi?id=197397 https://trac.webkit.org/changeset/245401 2019-05-17 Commit Queue Unreviewed, rolling out r245418. https://bugs.webkit.org/show_bug.cgi?id=197989 New API test causing crashes on Mojave testers (Requested by ShawnRoberts on #webkit). Reverted changeset: "Add a unit test for client certificate authentication" https://bugs.webkit.org/show_bug.cgi?id=197800 https://trac.webkit.org/changeset/245418 2019-05-17 Aakash Jain [ews-build] Add build step to Transfer archive to S3 https://bugs.webkit.org/show_bug.cgi?id=197922 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (TransferToS3): (TransferToS3.finished): Invoke triggers after transfer is successful. (TransferToS3.getResultSummary): Create more readable failure string. (UploadBuiltProduct.finished): Deleted. Moved the trigger invocation after TransferToS3. * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests. 2019-05-16 Carlos Garcia Campos [GTK] Need WebKitContextMenuItemType to open emoji picker https://bugs.webkit.org/show_bug.cgi?id=176760 Reviewed by Michael Catanzaro. Update context menu test to check insert emoji action is included in default context menu for editable content. * TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp: 2019-05-16 Aakash Jain [ews-build] Download archives from S3 https://bugs.webkit.org/show_bug.cgi?id=197949 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (DownloadBuiltProduct): Updated to use S3 URL. (DownloadBuiltProduct.getResultSummary): Method to display custom failure string. * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests. 2019-05-16 David Kilzer REGRESSION (r15133): Fix leak of JSStringRef in minidom Reviewed by Joseph Pecoraro. * TestWebKitAPI/Tests/WebKitObjC/UserContentTest.mm: (expectScriptValueIsString): Drive-by fix to use adopt() instead of JSRetainPtr string(Adopt, JSValueToStringCopy(...)). 2019-05-16 David Kilzer REGRESSION (r84160): Leak of OpaqueJSString under WTR::JSTestRunner::pathToLocalResource (32 bytes) in com.apple.WebKit.WebContent running layout tests Reviewed by Joseph Pecoraro. * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm: (WTR::TestRunner::pathToLocalResource): Don't call JSStringRetain() here because the JSRetainPtr return type will increment the retain count for us. 2019-05-16 Alex Christensen Add a unit test for client certificate authentication https://bugs.webkit.org/show_bug.cgi?id=197800 Reviewed by Youenn Fablet. Make better abstractions for reading and writing from/to TCPServer. Add a unit test that causes a client certificate authentication challenge to happen. * TestWebKitAPI/TCPServer.cpp: (TestWebKitAPI::TCPServer::TCPServer): (TestWebKitAPI::TCPServer::read): (TestWebKitAPI::TCPServer::write): (TestWebKitAPI::TCPServer::respondWithChallengeThenOK): (TestWebKitAPI::TCPServer::respondWithOK): * TestWebKitAPI/TCPServer.h: * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: (credentialWithIdentity): (-[ChallengeDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]): (TEST): (-[ClientCertificateDelegate webView:didFinishNavigation:]): (-[ClientCertificateDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]): (-[ClientCertificateDelegate challengeCount]): (TestWebKitAPI::TEST): (respondWithChallengeThenOK): Deleted. (credentialWithIdentityAndKeychainPath): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm: (TEST): (readRequest): Deleted. (writeResponse): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TestWebKitAPI::TEST): (TestWebKitAPI::respondWithChallengeThenOK): Deleted. 2019-05-16 Alex Christensen Add SPI to set a list of hosts to which to send custom header fields cross-origin https://bugs.webkit.org/show_bug.cgi?id=197397 Reviewed by Geoff Garen. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (TEST): (expectLegacyHeaders): (expectHeaders): (-[CustomHeaderFieldsDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]): (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]): (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted. 2019-05-15 Aakash Jain Replace double-quotes with single quotes in steps.py https://bugs.webkit.org/show_bug.cgi?id=197921 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: 2019-05-15 Keith Rollin Rewrite generate-xcfilelists in Python https://bugs.webkit.org/show_bug.cgi?id=197622 Reviewed by Jonathan Bedard, Alex Christensen. For a number of reasons, rewrite generate-xcfilelists in Python: - The previous bash script was large and unmaintainable. - We have more internal expertise with Python than with bash. - The bash script used temporary files in /tmp that got stranded and were owned by root, making them awkward to clear out. - We needed to complete support for engineers that built with Xcode rather than the command line. - There are some bugs leading to mildly corrupted .xcfilelist files. It's not apparent the source of the bugs, but one general reason might be due to approaches born of using bash. Rewriting in Python may clear these up. * Scripts/generate-xcfilelists: * Scripts/webkitpy/common/attribute_saver.py: Added. (AttributeSaver): (AttributeSaver.__init__): (AttributeSaver.__enter__): (AttributeSaver.__exit__): * Scripts/webkitpy/common/attribute_saver_unittest.py: Added. (AttributeSaverTest): (AttributeSaverTest.SimpleTestClass): (AttributeSaverTest.SimpleTestClass.__init__): (AttributeSaverTest.test_class): (AttributeSaverTest.test_normal_default): (AttributeSaverTest.test_normal_value): (AttributeSaverTest.test_normal_value_on_exception): (AttributeSaverTest.test_normal_value_on_normal_exit): (AttributeSaverTest.test_normal_value_with_finally_on_exception): (AttributeSaverTest.test_normal_value_with_finally_on_normal_exit): (AttributeSaverTest.test_normal_value_with_else_on_exception): (AttributeSaverTest.test_normal_value_with_else_on_normal_exit): * Scripts/webkitpy/generate_xcfilelists_lib/__init__.py: Added. * Scripts/webkitpy/generate_xcfilelists_lib/application.py: Added. (Application): (Application.__init__): (Application.run): (Application._initialize): (Application._initialize.collect_attributes): (Application._create_parser): (_validate_args): (_cmd_generate): (_cmd_check): (_cmd_subgenerate): (_cmd_help): (_do_generate): (_do_merge): (_report_results): (_report_merge_results): (_report_remediation_steps): (_report_remediation_steps.add_to_message): (_any_have_errors): (_any_have_actions): (_log_progress): (_log_results): (get_generate_xcfilelists_script_path): (_get_root_dir): (get_opensource_dir): (get_build_scripts_dir): (get_extract_dependencies_from_makefile_script): (get_xcode_built_products_dir): (_getenv): * Scripts/webkitpy/generate_xcfilelists_lib/generators.py: Added. (BaseGenerator): (BaseGenerator.__init__): (BaseGenerator.__str__): (BaseGenerator.generate): (BaseGenerator._sublaunch_under_xcode): (BaseGenerator.subgenerate): (BaseGenerator.merge): (BaseGenerator.pickle_to_file): (BaseGenerator.has_action): (BaseGenerator.has_error): (BaseGenerator.is_valid): (BaseGenerator.report_error): (BaseGenerator._generate_derived): (BaseGenerator._merge_derived): (BaseGenerator._generate_unified): (BaseGenerator._merge_unified): (BaseGenerator._replace): (BaseGenerator._unexpand): (BaseGenerator._find_added_lines): (BaseGenerator._merge_added_lines): (BaseGenerator._get_file_lines): (BaseGenerator._getenv): (BaseGenerator._get_project_file_path): (BaseGenerator._get_project_dir): (BaseGenerator._get_project_file_name): (BaseGenerator._get_project_name): (BaseGenerator._get_sym_root): (BaseGenerator._get_obj_root): (BaseGenerator._get_shared_precomps_dir): (BaseGenerator._get_build_dirs): (BaseGenerator._get_build_dirs.define_xcode_build_dirs): (BaseGenerator._get_build_dirs.define_xcode_build_dirs.read_xcode_user_default): (BaseGenerator._get_build_dirs.define_command_line_build_dirs): (BaseGenerator._get_derived_sources_dir): (BaseGenerator._get_xcfilelist_dir): (BaseGenerator._get_input_derived_xcfilelist_project_path): (BaseGenerator._get_output_derived_xcfilelist_project_path): (BaseGenerator._get_input_unified_xcfilelist_project_path): (BaseGenerator._get_output_unified_xcfilelist_project_path): (BaseGenerator._get_generate_derived_sources_script): (BaseGenerator._get_generate_unified_sources_script): (JavaScriptCoreGenerator): (JavaScriptCoreGenerator._get_project_file_path): (JavaScriptCoreGenerator._get_generate_derived_sources_script): (JavaScriptCoreGenerator._get_generate_unified_sources_script): (WebCoreGenerator): (WebCoreGenerator._get_project_file_path): (WebCoreGenerator._get_generate_derived_sources_script): (WebCoreGenerator._get_generate_unified_sources_script): (WebKitGenerator): (WebKitGenerator._get_project_file_path): (WebKitGenerator._get_derived_sources_dir): (WebKitGenerator._get_generate_derived_sources_script): (WebKitGenerator._get_generate_unified_sources_script): (DumpRenderTreeGenerator): (DumpRenderTreeGenerator._get_project_file_path): (DumpRenderTreeGenerator._get_generate_derived_sources_script): (WebKitTestRunnerGenerator): (WebKitTestRunnerGenerator._get_project_file_path): (WebKitTestRunnerGenerator._get_generate_derived_sources_script): * Scripts/webkitpy/generate_xcfilelists_lib/util.py: Added. (debug_log): (LogEntryHelper): (LogEntryHelper.__init__): (LogEntryHelper.log_entry): (LogEntryHelper.log_result): (LogEntryHelper.log_exception): (LogEntryHelper._print): (LogEntryExit): (LogEntryExit._show_debug_logging): (LogEntryExitClass): (LogEntryExitClass._show_debug_logging): (LogEntryExitGlobal): (LogEntryExitGlobal._show_debug_logging): (subprocess_run): (is_running_under_xcode): (CheckValidItemAction): (CheckValidItemAction.__init__): (CheckValidItemAction.__call__): (CheckValidItemAction.validate_item): (CheckCommandAction): (CheckCommandAction.__call__): (InvalidCommandError): (InvalidArgumentError): (InvalidConfigurationError): (CalledProcessError): (CalledProcessError.__str__): * Scripts/webkitpy/xcode/__init__.py: (xcode_hash_for_path): (xcode_hash_for_path.convert_to_string): * Scripts/webkitpy/xcode/sdk.py: Added. (SDK): (SDK.__init__): (SDK.__repr__): (SDK.as_xcode_specification): (SDK.get_preferred_sdk_for_platform): (SDK._parse_sdk): * Scripts/webkitpy/xcode/sdk_unittest.py: Added. (SDKTest): 2019-05-15 Aakash Jain [ews-build] Enabling uploading EWS archives to S3 https://bugs.webkit.org/show_bug.cgi?id=197914 Reviewed by Jonathan Bedard. * BuildSlaveSupport/Shared: Added. * BuildSlaveSupport/Shared/transfer-archive-to-s3: Moved from Tools/BuildSlaveSupport/build.webkit.org-config/transfer-archive-to-s3. (archiveExists): Replace tab with space. (main): Added main method. * BuildSlaveSupport/build.webkit.org-config/steps.py: (TransferToS3): Updated path to the script. * BuildSlaveSupport/build.webkit.org-config/transfer-archive-to-s3: Moved to Shared folder. 2019-05-15 Wenson Hsieh inputmode="numeric" should show a number pad with digits 0-9, instead of the numeric keyplane https://bugs.webkit.org/show_bug.cgi?id=197916 Reviewed by Timothy Hatcher. Re-enable this previously flaky test, and rebaseline the result to to expect UIKeyboardTypeNumberPad for inputmode="numeric". * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: (TestWebKitAPI::TEST): 2019-05-15 Youenn Fablet Reuse existing WebPageProxy quota handler for NetworkProcessProxy quota requests https://bugs.webkit.org/show_bug.cgi?id=197463 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm: Added. (-[QuotaDelegate init]): (-[QuotaDelegate _webView:decideDatabaseQuotaForSecurityOrigin:currentQuota:currentOriginUsage:currentDatabaseUsage:expectedUsage:decisionHandler:]): (-[QuotaDelegate quotaDelegateCalled]): (-[QuotaDelegate grantQuota]): (-[StorageSchemes webView:startURLSchemeTask:]): (-[StorageSchemes webView:stopURLSchemeTask:]): (-[QuotaMessageHandler userContentController:didReceiveScriptMessage:]): (doTest): 2019-05-15 Youenn Fablet Constant crashes under WebPage::isThrottleable() after r245299 https://bugs.webkit.org/show_bug.cgi?id=197902 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2019-05-15 Philippe Normand [GTK][jhbuild] misc cleanups and bumps https://bugs.webkit.org/show_bug.cgi?id=197913 Reviewed by Xabier Rodriguez-Calvar. * gstreamer/jhbuild.modules: Bump to libva 2.4.1 and switch to Meson. * gtk/jhbuild.modules: Bump to Brotli 1.0.5 and Wayland 1.16. 2019-05-15 Chris Dumez Flaky API Test: TestWebKitAPI.ProcessSwap.NumberOfCachedProcesses https://bugs.webkit.org/show_bug.cgi?id=195102 Reviewed by Alex Christensen. Try to wait longer for the number of processes to reach the expected number and before failing. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-05-15 Alex Christensen Allow NSFileCoordinator to be called from WebContent process https://bugs.webkit.org/show_bug.cgi?id=197895 Reviewed by Brent Fulgham. Add a unit test that verifies calling the block succeeds. * TestWebKitAPI/Tests/WebKitCocoa/AdditionalReadAccessAllowedURLsPlugin.mm: (-[AdditionalReadAccessAllowedURLsPlugIn webProcessPlugIn:didCreateBrowserContextController:]): 2019-05-14 Andy Estes [Apple Pay] Payment APIs should be completely disabled in web views into which clients have injected user scripts https://bugs.webkit.org/show_bug.cgi?id=197751 Reviewed by Alex Christensen. Added new API tests. * TestWebKitAPI/Tests/WebKitCocoa/ApplePay.mm: (-[TestApplePayScriptMessageHandler initWithAPIsAvailableExpectation:canMakePaymentsExpectation:]): (-[TestApplePayScriptMessageHandler userContentController:didReceiveScriptMessage:]): (TestWebKitAPI::TEST): (-[TestApplePayScriptMessageHandler initWithExpectation:]): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/apple-pay-availability.html: 2019-05-14 Youenn Fablet A service worker process should app nap when all its clients app nap https://bugs.webkit.org/show_bug.cgi?id=185626 Reviewed by Alex Christensen. Allow to enable app nap through test header. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): 2019-05-14 Commit Queue Unreviewed, rolling out r245281. https://bugs.webkit.org/show_bug.cgi?id=197887 Broke API Test TestWebKitAPI.Challenge.ClientCertificate (Requested by aakashjain on #webkit). Reverted changeset: "Add a unit test for client certificate authentication" https://bugs.webkit.org/show_bug.cgi?id=197800 https://trac.webkit.org/changeset/245281 2019-05-14 Youenn Fablet Add support for webkit-test-runner options to WPT importer https://bugs.webkit.org/show_bug.cgi?id=197826 Reviewed by Alex Christensen. In case of overwriting an existing test, check if the existing test contains a comment and insert it back if needed in the new test. For exporter, forbid creating a WPT PR if there are changes containing the webkit-test-runner string. * Scripts/webkitpy/w3c/test_converter.py: (convert_for_webkit): (_W3CTestConverter.__init__): (_W3CTestConverter.add_webkit_test_runner_options_if_needed): (_W3CTestConverter.handle_starttag): (_W3CTestConverter.handle_comment): (_W3CTestConverter.handle_decl): (_W3CTestConverter.handle_pi): * Scripts/webkitpy/w3c/test_exporter.py: (WebPlatformTestExporter.write_git_patch_file): (WebPlatformTestExporter.make_pull_request): * Scripts/webkitpy/w3c/test_importer.py: (TestImporter.webkit_test_runner_options): (TestImporter): (TestImporter.add_webkit_test_runner_options_to_content): (TestImporter.copy_html_file): (TestImporter.write_html_template): (TestImporter.write_html_files_for_templated_js_tests): (TestImporter.import_tests): * Scripts/webkitpy/w3c/test_importer_unittest.py: (test_manual_slow_test): (test_webkit_test_runner_options): 2019-05-14 Aakash Jain [ews-app] Status bubble should turn orange when any build step fails https://bugs.webkit.org/show_bug.cgi?id=197812 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._build_bubble): Turn status-bubble orange if there is any failed step in the on-going build. (StatusBubble._does_build_contains_any_failed_step): Method to check if build contains any failed step. 2019-05-14 Alex Christensen Add a unit test for client certificate authentication https://bugs.webkit.org/show_bug.cgi?id=197800 Reviewed by Youenn Fablet. Make better abstractions for reading and writing from/to TCPServer. Add a unit test that causes a client certificate authentication challenge to happen. * TestWebKitAPI/TCPServer.cpp: (TestWebKitAPI::TCPServer::TCPServer): (TestWebKitAPI::TCPServer::read): (TestWebKitAPI::TCPServer::write): (TestWebKitAPI::TCPServer::respondWithChallengeThenOK): (TestWebKitAPI::TCPServer::respondWithOK): * TestWebKitAPI/TCPServer.h: * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: (credentialWithIdentity): (-[ChallengeDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]): (TEST): (-[ClientCertificateDelegate webView:didFinishNavigation:]): (-[ClientCertificateDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]): (-[ClientCertificateDelegate challengeCount]): (TestWebKitAPI::TEST): (respondWithChallengeThenOK): Deleted. (credentialWithIdentityAndKeychainPath): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm: (TEST): (readRequest): Deleted. (writeResponse): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TestWebKitAPI::TEST): (TestWebKitAPI::respondWithChallengeThenOK): Deleted. 2019-05-14 Said Abou-Hallawa [CG] Adding support for HEIF-sequence ('public.heics') images https://bugs.webkit.org/show_bug.cgi?id=197384 Reviewed by Simon Fraser. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting): Parse the new webkit-test-runner paramter: additionalSupportedImageTypes. Make DRT call setAdditionalSupportedImageTypesForTesting() before starting the test. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::stringForKey): (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/InjectedBundle.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::createTestSettingsDictionary): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): Parse the new webkit-test-runner paramter: additionalSupportedImageTypes. Make WTR call setAdditionalSupportedImageTypesForTesting() before starting the test. 2019-05-12 Yusuke Suzuki [JSC] Compress Watchpoint size by using enum type and Packed<> data structure https://bugs.webkit.org/show_bug.cgi?id=197730 Reviewed by Filip Pizlo. * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/MathExtras.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/Packed.cpp: Added. (TestWebKitAPI::TEST): 2019-05-10 Chris Dumez Unreviewed, fix ProcessSwap.OpenerLinkAfterAPIControlledProcessSwappingOfOpener API test It became flaky after r245198. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-05-10 Youenn Fablet A service worker instance should be terminated when its SWServer is destroyed https://bugs.webkit.org/show_bug.cgi?id=197801 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2019-05-10 Chris Dumez Do not wait until requestPermission() is called to fire deviceorientation events if permission was already granted https://bugs.webkit.org/show_bug.cgi?id=197750 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm: (TEST): 2019-05-10 Keith Miller Remove legacy test262 import script https://bugs.webkit.org/show_bug.cgi?id=197788 Reviewed by Yusuke Suzuki. import-test262-tests doesn't work anymore. We should be using test262-import instead. * Scripts/import-test262-tests: Removed. 2019-05-10 Charlie Turner [WPE] Forward libepoxy cflags https://bugs.webkit.org/show_bug.cgi?id=197784 Reviewed by Žan Doberšek. Patch by Zan Dobersek. * wpe/backends/CMakeLists.txt: This is required to keep -DMESA_EGL_NO_X11_HEADERS in the build, if we don't do this, EGL ends up trying to include X11 headers even when they're not present in the environment. 2019-05-10 Michael Catanzaro Fix a bunch of compiler warnings https://bugs.webkit.org/show_bug.cgi?id=197785 Reviewed by Don Olmstead. Add preprocessor guards to avoid -Wunused-function warnings. * TestWebKitAPI/Tests/WebCore/FloatRect.cpp: * TestWebKitAPI/Tests/WebCore/IntRect.cpp: * TestWebKitAPI/Tests/WebCore/TransformationMatrix.cpp: 2019-05-10 Michael Catanzaro [WPE][GTK] Add webkit_frame_get_id() API https://bugs.webkit.org/show_bug.cgi?id=197270 Reviewed by Carlos Garcia Campos. This was hard, but I added a test to verify that two different WebKitFrames of the same WebKitWebPage return two different frame IDs. * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp: (WebKitFrameTest::willSubmitFormCallback): (WebKitFrameTest::testSubframe): (registerTests): * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp: (testWebKitFrameSubframe): (beforeAll): * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp: (willSubmitFormCallback): * TestWebKitAPI/Tests/WebKitGLib/resources/form-in-frame.html: Added. * TestWebKitAPI/Tests/WebKitGLib/resources/webkitglib-tests.gresource.xml: 2019-05-10 Michael Catanzaro [WPE][GTK] Add WebKitWebPage::did-associate-form-controls-for-frame and deprecate original did-associate-form-controls https://bugs.webkit.org/show_bug.cgi?id=197271 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp: (formControlsAssociatedForFrameCallback): (pageCreatedCallback): (formControlsAssociatedCallback): Deleted. 2019-05-10 Adrian Perez de Castro [Flatpak] Use the safe PyYAML loader if available https://bugs.webkit.org/show_bug.cgi?id=197771 Reviewed by Philippe Normand. * flatpak/flatpakutils.py: (load_manifest): Use yaml.safe_load() if available, with yaml.load() still used as fallback when the former is not provided by the module. 2019-05-09 Fujii Hironori WinCairo WebKitTestRunner should take platform/wk2/TestExpectations into account https://bugs.webkit.org/show_bug.cgi?id=197734 Reviewed by Don Olmstead. * Scripts/webkitpy/port/win.py: (WinCairoPort._search_paths): Add 'wk2' and additional_platform_directory to paths as well as other ports do. 2019-05-09 Daniel Bates [iOS] Numpad comma key has incorrect keyIdentifier property https://bugs.webkit.org/show_bug.cgi?id=197753 Reviewed by Brent Fulgham. Recognize "numpadComma" and return the appropriate HID usage code. * WebKitTestRunner/ios/HIDEventGenerator.mm: (hidUsageCodeForCharacter): 2019-05-09 Eric Carlson Refine AudioSession route sharing policy https://bugs.webkit.org/show_bug.cgi?id=197742 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm: (TestWebKitAPI::TEST): 2019-05-09 Alex Christensen Remove unnecessary test SPI after r244883 https://bugs.webkit.org/show_bug.cgi?id=197575 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TestWebKitAPI::TEST): 2019-05-09 Aakash Jain [ews-app] Add migrations file to repository https://bugs.webkit.org/show_bug.cgi?id=197729 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/migrations/0001_initial.py: Added. Auto-generated by Django based on models' information. 2019-05-09 Aakash Jain [ews-build] Fix formatting issues and typos https://bugs.webkit.org/show_bug.cgi?id=197737 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (CompileWebKit.evaluateCommand): Removed extra empty line. * BuildSlaveSupport/ews-build/steps_unittest.py: (TestRunWebKitPerlTests): Fixed typo. * BuildSlaveSupport/ews-app/ews/models/step.py: (Step.save_step): Changed log level to info so that it is logged in production. 2019-05-09 Aakash Jain [ews-app] Production and Development env should configure DEBUG appropriately https://bugs.webkit.org/show_bug.cgi?id=197700 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews-app/settings.py: 2019-05-09 Xan López [CMake] Detect SSE2 at compile time https://bugs.webkit.org/show_bug.cgi?id=196488 Reviewed by Carlos Garcia Campos. * Scripts/webkitdirs.pm: (generateBuildSystemFromCMakeProject): Do not add SSE2 flags here for x86 builds. This is now handled in WebKitCompilerFlags.cmake. 2019-05-08 Adrian Perez de Castro [WPE] Update dependencies to use libwpe + WPEBackend-fdo 1.3.0 https://bugs.webkit.org/show_bug.cgi?id=197697 Reviewed by Žan Doberšek. * flatpak/org.webkit.WPEModules.yaml: Bump version and update checksums. * wpe/jhbuild.modules: Ditto. 2019-05-08 Don Olmstead Update ANGLE https://bugs.webkit.org/show_bug.cgi?id=197676 Reviewed by Alex Christensen. * TestWebKitAPI/PlatformWin.cmake: Remove unnecessary library linkage. 2019-05-08 Stephan Szabo and Fujii Hironori [Win] build-webkit should be ready for Visual Studio 2019 https://bugs.webkit.org/show_bug.cgi?id=196622 Reviewed by Ross Kirsling. 1. Accommodated to the new msbuild.exe location of VS 2019. 2. Removed the hard coded "Visual Studio 15" generator. build-webkit is going to choose a Visual Studio generator version matching with the latest installed VS. If you invoke vcvars.bat before build-webkit, it chooses the corresponding Visual Studio generator version by cheking 'VisualStudioVersion' env var which is set by vcvars.bat. * Scripts/webkitdirs.pm: Renamed $vcBuildPath to $msBuildPath. Removed $msBuildInstallDir. (msBuildPath): When looking for MSBuild, look in "MSBuild\Current\bin" (the new expected location) and fallback to "MSBuild\15.0\bin" if we can't find an MSBuild.exe in the first location. (msBuildInstallDir): Renamed to msBuildPath. (generateBuildSystemFromCMakeProject): Use -A switch to specify x64. Add -G "Visual Studio " switch if a env var 'VisualStudioVersion' 2019-05-08 Don Olmstead [PlayStation] Update port options https://bugs.webkit.org/show_bug.cgi?id=197723 Reviewed by Ross Kirsling. ICU headers were missing from TestWTF. * TestWebKitAPI/PlatformPlayStation.cmake: 2019-05-08 Alex Christensen Don't crash when DOMNode.addEventListener:listener:useCapture: is called with a nil listener https://bugs.webkit.org/show_bug.cgi?id=197712 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitLegacy/mac/DeallocWebViewInEventListener.mm: (TestWebKitAPI::TEST): 2019-05-08 Jonathan Bedard Change my status to be a WebKit reviewer. * Scripts/webkitpy/common/config/contributors.json: 2019-05-08 Ryan Haddad Unreviewed, rolling out r244952. Caused inspector to appear blank. Reverted changeset: "Web Inspector: Provide UIString descriptions to improve localizations" https://bugs.webkit.org/show_bug.cgi?id=195132 https://trac.webkit.org/changeset/244952 2019-05-08 Wenson Hsieh TestRunnerWKWebView's menu callbacks should be cleared upon UI script completion https://bugs.webkit.org/show_bug.cgi?id=197685 Reviewed by Alex Christensen. Fixes a bug in the test runner wherein didShowMenuCallback and didHideMenuCallback are not reset upon UI script completion. See LayoutTests/ChangeLog for more details. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::platformClearAllCallbacks): 2019-05-07 Oriol Brufau Unreviewed. Add myself as a committer. * Scripts/webkitpy/common/config/contributors.json: 2019-05-07 Ryan Haddad Unreviewed, rolling out r245038. Breaks internal builds. Reverted changeset: "Add SPI to set a list of hosts to which to send custom header fields cross-origin" https://bugs.webkit.org/show_bug.cgi?id=197397 https://trac.webkit.org/changeset/245038 2019-05-07 Joonghun Park Unreviewed. Add myself as a committer. * Scripts/webkitpy/common/config/contributors.json: 2019-05-07 Eric Carlson Define media buffering policy https://bugs.webkit.org/show_bug.cgi?id=196979 Reviewed by Jer Noble. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/MediaBufferingPolicy.mm: Added. (waitUntilBufferingPolicyIsEqualTo): (TEST): 2019-05-07 Alex Christensen Add SPI to set a list of hosts to which to send custom header fields cross-origin https://bugs.webkit.org/show_bug.cgi?id=197397 Reviewed by Geoff Garen. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (TEST): (expectLegacyHeaders): (expectHeaders): (-[CustomHeaderFieldsDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]): (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]): (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted. 2019-05-07 Keith Rollin Add option to build-webkit to control whether or not XCBuild is used https://bugs.webkit.org/show_bug.cgi?id=197668 Reviewed by Tim Horton. Add --[no-]xcbuild to build-webkit to force the use of XCBuild or not. Also update build-webkit and the makefiles with the foundation for automatically using XCBuild when the conditions allow it. This latter facility is currently turned off until Xcode fully supports building WebKit with XCBuild. * Scripts/build-webkit: * Scripts/webkitdirs.pm: (XcodeOptions): (canUseXCBuild): 2019-05-07 Andy Estes run-bindings-tests should test global scope constructor generation https://bugs.webkit.org/show_bug.cgi?id=197669 Reviewed by Alex Christensen. * Scripts/webkitpy/bindings/main.py: Updated to specify --testGlobalContextName and --testGlobalScopeConstructorsFile when invoking preprocess-idls.pl. 2019-05-07 Youenn Fablet Flaky API Test: TestWebKitAPI.ServiceWorkers.ServiceWorkerAndCacheStorageDefaultDirectories https://bugs.webkit.org/show_bug.cgi?id=195997 Reviewed by Chris Dumez. Spin test until successful. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2019-05-07 Adrian Perez de Castro [Flatpak] webkit-build fails due to missing GTK2 in build environment https://bugs.webkit.org/show_bug.cgi?id=197352 Reviewed by Philippe Normand. The Flatpak runtimes do not include GTK 2.x anymore, which means that we need to build it ourselves on top in order to be able to build the GTK 2.x plugin process. * flatpak/org.webkit.GTK.yaml: Add gtk2 package. 2019-05-07 Wenson Hsieh [macOS] Avoid crashing the UI process when writing empty data to the pasteboard https://bugs.webkit.org/show_bug.cgi?id=197644 Reviewed by Tim Horton. Add a new API test to exercise a possible scenario where we may crash while writing data to the pasteboard. * TestWebKitAPI/Tests/WebKitCocoa/BundleEditingDelegate.mm: * TestWebKitAPI/Tests/WebKitCocoa/BundleEditingDelegatePlugIn.mm: (-[BundleEditingDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]): (-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:pasteboardDataForRange:]): 2019-05-07 Carlos Garcia Campos [GTK][WPE] MiniBrowser: load about:blank for new web views in automation mode https://bugs.webkit.org/show_bug.cgi?id=197651 Reviewed by Žan Doberšek. This is required since the process creation was delayed until something is loaded in the view. * MiniBrowser/gtk/BrowserWindow.c: (browser_window_get_or_create_web_view_for_automation): * MiniBrowser/wpe/main.cpp: (main): 2019-05-06 Tim Horton _overrideViewportWithArguments does not work when called before loading https://bugs.webkit.org/show_bug.cgi?id=197638 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/OverrideViewportArguments.mm: (TEST): 2019-05-04 Per Arne Vollan -[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:] doesn't delete _WKWebsiteDataTypeCredentials https://bugs.webkit.org/show_bug.cgi?id=197510 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TestWebKitAPI::TEST): 2019-05-06 Keith Rollin Temporarily disable generate-xcfilelists https://bugs.webkit.org/show_bug.cgi?id=197619 Reviewed by Alex Christensen. We need to perform a significant update to the generate-xcfilelist scripts. This work involves coordinated work with another facility. If the work does not occur in tandem, the build will be broken. To avoid this, disable the invoking of the scripts during the transition. The checking will be restored once the new scripts are in place. * DumpRenderTree/Scripts/check-xcfilelists.sh: * WebKitTestRunner/Scripts/check-xcfilelists.sh: 2019-05-04 Alex Christensen Revert r244953 and r244954 because they broke internal builds. https://bugs.webkit.org/show_bug.cgi?id=197534 * DumpRenderTree/ios/DumpRenderTreeBrowserView.h: * DumpRenderTree/ios/PixelDumpSupportIOS.mm: * DumpRenderTree/mac/DumpRenderTree.mm: * DumpRenderTree/mac/DumpRenderTreeWindow.h: * DumpRenderTree/mac/TestRunnerMac.mm: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm: * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm: * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm: * TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm: * TestWebKitAPI/Tests/ios/ActionSheetTests.mm: * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: * TestWebKitAPI/Tests/ios/FocusPreservationTests.mm: * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm: * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm: * TestWebKitAPI/cocoa/DragAndDropSimulator.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: * TestWebKitAPI/ios/UIKitSPI.h: Added. * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: * WebKitTestRunner/ios/GeneratedTouchesDebugWindow.mm: * WebKitTestRunner/ios/HIDEventGenerator.h: * WebKitTestRunner/ios/HIDEventGenerator.mm: * WebKitTestRunner/ios/PlatformWebViewIOS.mm: * WebKitTestRunner/ios/TestControllerIOS.mm: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: * WebKitTestRunner/ios/mainIOS.mm: 2019-05-04 Alex Christensen Merge the three UIKitSPI.h files into a single one in PAL https://bugs.webkit.org/show_bug.cgi?id=197534 Reviewed by Darin Adler. * DumpRenderTree/ios/DumpRenderTreeBrowserView.h: * DumpRenderTree/ios/PixelDumpSupportIOS.mm: * DumpRenderTree/mac/DumpRenderTree.mm: * DumpRenderTree/mac/DumpRenderTreeWindow.h: * DumpRenderTree/mac/TestRunnerMac.mm: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm: * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm: * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm: * TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm: * TestWebKitAPI/Tests/ios/ActionSheetTests.mm: * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: * TestWebKitAPI/Tests/ios/FocusPreservationTests.mm: * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm: * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm: * TestWebKitAPI/cocoa/DragAndDropSimulator.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: * TestWebKitAPI/ios/UIKitSPI.h: Removed. * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: * WebKitTestRunner/ios/GeneratedTouchesDebugWindow.mm: * WebKitTestRunner/ios/HIDEventGenerator.h: * WebKitTestRunner/ios/HIDEventGenerator.mm: * WebKitTestRunner/ios/PlatformWebViewIOS.mm: * WebKitTestRunner/ios/TestControllerIOS.mm: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: * WebKitTestRunner/ios/mainIOS.mm: 2019-05-04 Nikita Vasilyev Web Inspector: Provide UIString descriptions to improve localizations https://bugs.webkit.org/show_bug.cgi?id=195132 Reviewed by Devin Rousso. Allow WI.UIString to take: - WI.UIString(string, key, comment) - WI.UIString(string, comment) - WI.UIString(string) * Scripts/extract-localizable-js-strings: 2019-05-03 Wenson Hsieh REGRESSION (r244897): Caret may appear wider than normal after zooming to focus an editable element https://bugs.webkit.org/show_bug.cgi?id=197579 Reviewed by Tim Horton. Fixes a couple of flaky layout tests (ModifyInputAssistantItemBarButtonGroups and OverrideInputAssistantItemBarButtonGroups) by programmatically blurring focused elements and waiting for the input session to change, rather than relying on -resignFirstResponder and -waitForNextPresentationUpdate to ensure that the the focused element has been blurred. * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: 2019-05-02 Alexey Proskuryakov Add a tool to block spammer accounts https://bugs.webkit.org/show_bug.cgi?id=197537 Reviewed by Darin Adler. Usage: block-spammers email1 email2 ... The tool finds and hides all bugs and comments from this account. Before any work is done, these bugs and comments are displayed for confirmation. * Scripts/block-spammers: Added. (get_bugzilla_token): (invalidate_bugzilla_token): (get_user_info): (get_user_info_self): (can_use_this_tool): (disable_user): (get_bugs_created_by_user): (get_bugs_commented_on_by_user): (get_comments): (hide_bug): (hide_comments): (ask_yes_no): (sanitized_string): (main): 2019-05-03 Jonathan Bedard run-apit-tests: Add --iterations and --repeat-each https://bugs.webkit.org/show_bug.cgi?id=197563 Reviewed by Aakash Jain. * Scripts/webkitpy/api_tests/manager.py: (Manager.run): Add --iterations and --repeat-each/ * Scripts/webkitpy/api_tests/run_api_tests.py: (parse_args): Duplicate the test list based on --iterations and --repeat-each. 2019-05-03 Aakash Jain New EWS: Clicking on white bubble navigates to page with only bubbles https://bugs.webkit.org/show_bug.cgi?id=197520 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/templates/statusbubble.html: Disable clicking if bubble doesn't have any url. 2019-05-03 Daniel Bates [lldb-webkit] Support adding pretty-printing for qualified types https://bugs.webkit.org/show_bug.cgi?id=197518 Reviewed by Darin Adler. Remove all "::"s from the name of the specified type when computing the name for the Python classes that will provide summary and synthetic details as LLDB is not happy about registering such classes when they contain :: in their name. * lldb/lldb_webkit.py: (addSummaryAndSyntheticFormattersForRawBitmaskType): 2019-05-03 Aakash Jain New EWS: patches on recently added queues listed as #1 for older bugs https://bugs.webkit.org/show_bug.cgi?id=197496 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._build_bubble): (StatusBubble._queue_position): 2019-05-03 Aakash Jain webkit-patch --no-review upload does not submit patch to New EWS https://bugs.webkit.org/show_bug.cgi?id=197519 Reviewed by Lucas Forschler. * Scripts/webkitpy/tool/steps/submittoews.py: (SubmitToEWS.run): Submit to both old and new EWS. * Scripts/webkitpy/common/config/urls.py: Added url for new EWS server. * Scripts/webkitpy/common/net/ewsserver.py: Added. (EWSServer._server_url): Method to return server url. (EWSServer._post_patch_to_ews): Method to post patch to ews. (EWSServer.submit_to_ews): Method to submit the patch to ews using NetworkTransaction. * Scripts/webkitpy/common/net/ewsserver_mock.py: Added Mock EWS Server. * Scripts/webkitpy/common/net/ewsserver_unittest.py: Added unit-test for EWS Server. * Scripts/webkitpy/common/net/statusserver_mock.py: (MockStatusServer.submit_to_ews): Updated the log text. * Scripts/webkitpy/tool/commands/queues_unittest.py: Updated unit-tests. * Scripts/webkitpy/tool/commands/upload_unittest.py: Ditto. * Scripts/webkitpy/tool/main.py: (WebKitPatch.__init__): Initialize ews_server. * Scripts/webkitpy/tool/mocktool.py: (MockTool.__init__): Ditto. 2019-05-03 Chris Dumez ASSERTION FAILED: [weakThis->m_view window] == weakThis->m_targetWindowForMovePreparation https://bugs.webkit.org/show_bug.cgi?id=197574 Reviewed by Tim Horton. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/PrepareForMoveToWindow.mm: (TEST): 2019-05-03 Yusuke Suzuki [JSC] Generator CodeBlock generation should be idempotent https://bugs.webkit.org/show_bug.cgi?id=197552 Reviewed by Keith Miller. * Scripts/run-javascriptcore-tests: (runJSCStressTests): * Scripts/run-jsc-stress-tests: 2019-05-03 Commit Queue Unreviewed, rolling out r244881. https://bugs.webkit.org/show_bug.cgi?id=197559 Breaks compilation of jsconly on linux, breaking compilation for jsc-i386-ews, jsc-mips-ews and jsc-armv7-ews (Requested by guijemont on #webkit). Reverted changeset: "[CMake] Refactor WEBKIT_MAKE_FORWARDING_HEADERS into WEBKIT_COPY_FILES" https://bugs.webkit.org/show_bug.cgi?id=197174 https://trac.webkit.org/changeset/244881 2019-05-03 Zan Dobersek Unreviewed WPE build fix after r244898. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::abortModal): Add the missing (no-op) definition. 2019-05-02 Alex Christensen Mark U+01C0 as a homograph of U+006C https://bugs.webkit.org/show_bug.cgi?id=197526 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: (TestWebKitAPI::TEST): 2019-05-02 Chris Dumez Add test coverage for https://bugs.webkit.org/show_bug.cgi?id=196730 Reviewed by Ryosuke Niwa. Add support for testRunner.abortModal() in macOS's WebKitTestRunner in order to match DumpRenderTree. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::abortModal): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::runModal): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::abortModal): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::abortModal): * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::abortModal): * WebKitTestRunner/win/TestControllerWin.cpp: (WTR::TestController::abortModal): 2019-05-02 Christopher Reid [CMake] Add support for LTO builds https://bugs.webkit.org/show_bug.cgi?id=188986 Reviewed by Don Olmstead. Add support to configure --lto-mode with cmake builds. * Scripts/build-webkit: * Scripts/webkitdirs.pm: (generateBuildSystemFromCMakeProject): 2019-05-02 John Wilander Make both filterForRegistrableDomains() in WebKit::NetworkProcess use WebCore::RegistrableDomain::uncheckedCreateFromHost() https://bugs.webkit.org/show_bug.cgi?id=197521 Reviewed by Brent Fulgham. * TestWebKitAPI/Tests/WebCore/RegistrableDomain.cpp: (TestWebKitAPI::TEST): Added a test for host strings with leading dots since they are often used for the domain attribute in cookies. 2019-05-02 Per Arne Vollan -[WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:] doesn't delete _WKWebsiteDataTypeCredentials https://bugs.webkit.org/show_bug.cgi?id=197510 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TestWebKitAPI::TEST): 2019-05-02 Don Olmstead [CMake] Refactor WEBKIT_MAKE_FORWARDING_HEADERS into WEBKIT_COPY_FILES https://bugs.webkit.org/show_bug.cgi?id=197174 Reviewed by Alex Christensen. Make TestJSC dependent on JavaScriptCorePrivateFrameworkHeaders. * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/PlatformWPE.cmake: 2019-05-02 Alex Christensen Build fix for internal branch. * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: RetainPtr.h was not explicitly included. 2019-05-02 Jonathan Bedard webkitpy: Ignore errors when shutting down an already shutdown simulator Reviewed by Lucas Forschler. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDevice._shut_down): 2019-05-02 Frederic Wang [GTK][WPE] Disable "thin", "thick", "medium" values of mfrac@linethickness at runtime https://bugs.webkit.org/show_bug.cgi?id=196142 This patch introduces some experimental runtime flag to let users disable MathML features that are removed from MathML Core [1]. For now, these features are only disabled on GTK and WPE ports. [1] https://mathml-refresh.github.io/mathml-core/ Reviewed by Rob Buis. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): 2019-05-01 Don Olmstead TestWebKitAPI config.h should be aware of what suite is being built https://bugs.webkit.org/show_bug.cgi?id=196583 Reviewed by Konstantin Tokarev. Migrate to WEBKIT_EXECUTABLE to define the Test* executables. As an added benefit the macro defines BUILDING_* for the executable which allows the includes of the config.h to be tailored to the test suite being built. Because of that the dependencies of the Test* executable are specific to the test suite which may speed up the build. Some source files were including "PlatformUtilities.h" which includes WebKit headers when "Utilities.h" is what was needed. * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/PlatformJSCOnly.cmake: * TestWebKitAPI/PlatformMac.cmake: * TestWebKitAPI/PlatformPlayStation.cmake: * TestWebKitAPI/PlatformUtilities.h: * TestWebKitAPI/PlatformWPE.cmake: * TestWebKitAPI/PlatformWin.cmake: * TestWebKitAPI/Tests/WTF/RefPtr.cpp: * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp: * TestWebKitAPI/Tests/WebCore/LineBreaking.mm: * TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm: * TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm: * TestWebKitAPI/config.h: 2019-05-01 Jiewen Tan Move Document::domainIsRegisterable to SecurityOrigin::isMatchingRegistrableDomainSuffix https://bugs.webkit.org/show_bug.cgi?id=181950 Reviewed by Brent Fulgham. * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp: (TestWebKitAPI::TEST_F): 2019-05-01 Aakash Jain Remove webkitpy and bindings EWS queues from dashboard https://bugs.webkit.org/show_bug.cgi?id=197475 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: 2019-05-01 Aakash Jain Remove webkitpy and bindings test queues from old EWS https://bugs.webkit.org/show_bug.cgi?id=197468 Reviewed by Alexey Proskuryakov. * QueueStatusServer/config/queues.py: 2019-04-30 Tim Horton Fix the WebKitTestRunner build https://bugs.webkit.org/show_bug.cgi?id=197449 Reviewed by Alexey Proskuryakov. * WebKitTestRunner/mac/EventSenderProxy.mm: (-[EventSenderSyntheticEvent initPressureEventAtLocation:globalLocation:stage:pressure:stageTransition:phase:time:eventNumber:window:]): (WTR::EventSenderProxy::mouseForceChanged): Use some SPI instead of IPI. 2019-04-30 Chris Dumez Regression(PSON) URL scheme handlers can no longer respond asynchronously https://bugs.webkit.org/show_bug.cgi?id=197426 Reviewed by Brady Eidson. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[PSONScheme setShouldRespondAsynchronously:]): (-[PSONScheme webView:startURLSchemeTask:]): (-[PSONScheme webView:stopURLSchemeTask:]): 2019-04-30 Chris Dumez Unreviewed, rolling out r244802. Caused an API test failure Reverted changeset: "Regression(PSON) URL scheme handlers can no longer respond asynchronously" https://bugs.webkit.org/show_bug.cgi?id=197426 https://trac.webkit.org/changeset/244802 2019-04-30 Chris Dumez Regression(PSON) URL scheme handlers can no longer respond asynchronously https://bugs.webkit.org/show_bug.cgi?id=197426 Reviewed by Brady Eidson. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[PSONScheme setShouldRespondAsynchronously:]): (-[PSONScheme webView:startURLSchemeTask:]): (-[PSONScheme webView:stopURLSchemeTask:]): 2019-04-30 Chris Dumez Only use a related page's process if that page has not been closed yet https://bugs.webkit.org/show_bug.cgi?id=197393 Reviewed by Tim Horton. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-04-30 Aakash Jain [ews-build] Enable Bindings tests queue on new EWS https://bugs.webkit.org/show_bug.cgi?id=197424 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble): * BuildSlaveSupport/ews-build/config.json: 2019-04-30 Aakash Jain [ews-build] Configure ews151 for running various tests https://bugs.webkit.org/show_bug.cgi?id=197419 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/config.json: 2019-04-30 Aakash Jain [ews-build] Parse and display bindings test failures https://bugs.webkit.org/show_bug.cgi?id=197423 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (RunBindingsTests.__init__): Set timeout of 5 minutes. (RunBindingsTests.start): Initialize log_observer for json output. (RunBindingsTests.getResultSummary): Update step and build summary based on bindings test results. (RunBindingsTests._addToLog): Method to add message to log. * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-test accordingly. 2019-04-30 Pablo Saavedra Unreviewed. Add myself as a committer. * Scripts/webkitpy/common/config/contributors.json: 2019-04-30 Aakash Jain [ews-build] Enable webkitpy queue on new EWS https://bugs.webkit.org/show_bug.cgi?id=197396 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble): * BuildSlaveSupport/ews-build/config.json: 2019-04-30 Aakash Jain [ews-build] Parse and display webkitpy failures https://bugs.webkit.org/show_bug.cgi?id=197395 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (RunWebKitPyTests.start): Initialize log_observer for json output. (RunWebKitPyTests.getResultSummary): Update step and build summary based on webkitpy results. (RunWebKitPyTests._addToLog): Method to add message to log. * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-test accordingly. 2019-04-29 Alex Christensen Fix internal High Sierra build https://bugs.webkit.org/show_bug.cgi?id=197388 * DumpRenderTree/mac/Configurations/Base.xcconfig: * MiniBrowser/Configurations/Base.xcconfig: * MobileMiniBrowser/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/Base.xcconfig: 2019-04-29 Youenn Fablet Remove spurious GVA printf logging https://bugs.webkit.org/show_bug.cgi?id=197368 Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/port/mac.py: (MacPort.logging_patterns_to_strip): 2019-04-29 Youenn Fablet getDisplayMedia should be called on user gesture https://bugs.webkit.org/show_bug.cgi?id=197356 Reviewed by Eric Carlson. Update test configuration to inject internals so that we can use it to simulate a user click to call getDisplayMedia. * TestWebKitAPI/Tests/WebKit/getDisplayMedia.html: * TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm: (TestWebKitAPI::GetDisplayMediaTest::SetUp): 2019-04-26 Stephanie Lewis run-benchmarks should have an intial prep and restore env call for tasks that are too expensive to do for every iteration https://bugs.webkit.org/show_bug.cgi?id=197339 Reviewed by Dewei Zhu. Add two new functions prepare_inital_env and restore_env_after_all_testing around the entire test run for setup steps that are too expensive to do every iteration. * Scripts/webkitpy/benchmark_runner/benchmark_runner.py: (BenchmarkRunner._run_benchmark): * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py: (BrowserDriver): (BrowserDriver.prepare_initial_env): (BrowserDriver.restore_env_after_all_testing): * Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py: (LinuxBrowserDriver.prepare_initial_env): (LinuxBrowserDriver.restore_env_after_all_testing): * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py: (OSXBrowserDriver.prepare_initial_env): (OSXBrowserDriver.restore_env_after_all_testing): 2019-04-28 Andy Estes Fix the watchOS engineering build. * TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm: (TestWebKitAPI::TEST): AVVideoPerformanceMetrics does not exist on watchOS. 2019-04-27 Chris Dumez [WKTR] Move test timeout handling to the UIProcess https://bugs.webkit.org/show_bug.cgi?id=197333 Reviewed by Darin Adler. Move test timeout handling in WebKitTestRunner to the UIProcess to play nicely with PSON. Previously, we'd start the timeout timer in the InjectedBundle, which would fail to account of the time spent in every WebContent process in the case of swapping. Also, because of process caching, the timeout timer would sometime fire in a cached process and it would lead to crashes when firing the timer. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessageToPage): (WTR::InjectedBundle::done): * WebKitTestRunner/InjectedBundle/InjectedBundle.h: (WTR::InjectedBundle::shouldDumpPixels const): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::TestRunner): (WTR::TestRunner::waitUntilDone): (WTR::TestRunner::setWaitUntilDone): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp: * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm: * WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp: * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::TestInvocation): (WTR::TestInvocation::createTestSettingsDictionary): (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): (WTR::TestInvocation::initializeWaitToDumpWatchdogTimerIfNeeded): (WTR::TestInvocation::invalidateWaitToDumpWatchdogTimer): (WTR::TestInvocation::waitToDumpWatchdogTimerFired): (WTR::TestInvocation::setWaitUntilDone): (WTR::TestInvocation::done): * WebKitTestRunner/TestInvocation.h: 2019-04-25 Yusuke Suzuki [JSC] linkPolymorphicCall now does GC https://bugs.webkit.org/show_bug.cgi?id=197306 Reviewed by Saam Barati. The test is sensitive to allocations and even adding $vm makes it non-reproducible. To add this test, we add `runWithoutBaseOption`. * Scripts/run-jsc-stress-tests: 2019-04-26 Alexey Proskuryakov Update inactive reviewers' status to 'contributor'. Accidentally skipped one at first. * Scripts/webkitpy/common/config/contributors.json: 2019-04-26 Alexey Proskuryakov Update inactive reviewers' status to 'contributor'. * Scripts/webkitpy/common/config/contributors.json: The change. * Scripts/webkitpy/common/checkout/changelog_unittest.py: * Scripts/webkitpy/common/checkout/checkout_mock.py: * Scripts/webkitpy/common/checkout/checkout_unittest.py: * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py: * Scripts/webkitpy/tool/bot/irc_command_unittest.py: * Scripts/webkitpy/tool/bot/ircbot_unittest.py: * Scripts/webkitpy/tool/commands/queries_unittest.py: * Scripts/webkitpy/tool/commands/upload_unittest.py: Sadly, regression tests operate on a crazy mix of mock and live data for contributors.json. It would be a substantial project to mock all code paths, so changing the tests instead. 2019-04-26 Eric Carlson Create AVFoundationSoftLink.{h,mm} to reduce duplicate code https://bugs.webkit.org/show_bug.cgi?id=197171 Reviewed by Youenn Fablet. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm: Added. (TestWebKitAPI::TEST): 2019-04-26 David Kilzer WebKitTestRunner leaks an NSDictionary and multiple JSStringRef objects Reviewed by Simon Fraser. * WebKitTestRunner/UIScriptControllerCocoa.mm: (WTR::UIScriptController::lastUndoLabel const): (WTR::UIScriptController::firstRedoLabel const): - Use adopt(JSStringCreateWithCFString(...)) to fix leaks. * WebKitTestRunner/ios/HIDEventGenerator.mm: (-[HIDEventGenerator sendEventStream:completionBlock:]): - Call -autorelease to fix leak of NSDictionary. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::accessibilitySpeakSelectionContent const): (WTR::UIScriptController::selectFormPopoverTitle const): (WTR::UIScriptController::textContentType const): (WTR::UIScriptController::formInputLabel const): (WTR::UIScriptController::scrollingTreeAsText const): - Use adopt(JSStringCreateWithCFString(...)) to fix leaks. 2019-04-26 Jonathan Bedard webkitpy: Running a single test will always use the default device https://bugs.webkit.org/show_bug.cgi?id=195472 Reviewed by Lucas Forschler. It makes more sense to have the Manager class handle the case where a user specifically requests a test which is skipped on the current configuration. This changes the behavior when running part of a test shard, now tests explicitly requested will be run regardless of what shard they are in. * Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py: (LayoutTestFinder.skip_tests): Caller should manage running skipped tests which were explicitly requested. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.run): If a test is marked as skipped for the configuration, but was specifically requested, run it anyways on the default device type. * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (RunTest.test_run_chunk): Explicitly requesting a test will override sharing behavior. (RunTest.test_run_part): Ditto. 2019-04-26 Alex Christensen Add ENABLE(CONTENT_EXTENSIONS) and namespace ContentExtensions to ResourceLoadInfo.h https://bugs.webkit.org/show_bug.cgi?id=197165 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: 2019-04-26 Ryan Haddad Replace iOS build queue hardware https://bugs.webkit.org/show_bug.cgi?id=197312 Reviewed by Aakash Jain. * BuildSlaveSupport/build.webkit.org-config/config.json: Use newer hardware that supports macOS Mojave. 2019-04-26 Yoshiaki Jitsukawa check-webkit-style complains the first block in while loop. https://bugs.webkit.org/show_bug.cgi?id=197307 The style checker shouldn't complain about an open brace on its own line if the last non-whitespace character on the previous non-blank line is another open brace, because it's likely to indicate the begining of a nested code block. Reviewed by Alex Christensen. * Scripts/webkitpy/style/checkers/cpp.py: (check_braces): * Scripts/webkitpy/style/checkers/cpp_unittest.py: (WebKitStyleTest.test_braces): 2019-04-26 Sihui Liu Stop IDB transactions to release locked database files when network process is ready to suspend https://bugs.webkit.org/show_bug.cgi?id=196372 Reviewed by Brady Eidson. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBSuspendImminently.mm: Added. (-[IndexedDBSuspendImminentlyMessageHandler userContentController:didReceiveScriptMessage:]): (runTestAndCheckResult): (keepNetworkProcessActive): (TEST): 2019-04-25 Simon Fraser REGRESSION (r234330): 3 legacy-animation-engine/compositing tests are flaky failures https://bugs.webkit.org/show_bug.cgi?id=188357 Reviewed by Dean Jackson. DumpRenderTree had no code that set page.setCompositingPolicyOverride() to Normal, so some tests would fall into low memory mode and have different behavior. Fix by moving the code that calls setCompositingPolicyOverride(Normal) from the WK2 layer to Internals, so it's shared by DRT and WTR. We no longer need the WK2 C SPI glue. * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::prepare): 2019-04-25 Jonathan Bedard webkitpy: Including skipped tests in the final count https://bugs.webkit.org/show_bug.cgi?id=197298 Reviewed by Lucas Forschler. * Scripts/webkitpy/layout_tests/views/buildbot_results.py: (BuildBotPrinter.print_run_results): The total number of tests run should exclude delibrately skipped tests. 2019-04-25 Timothy Hatcher Disable date and time inputs on iOSMac. https://bugs.webkit.org/show_bug.cgi?id=197287 rdar://problem/46794376 Reviewed by Wenson Hsieh. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-04-25 Alex Christensen Fix test-webkitpy after r244653 https://bugs.webkit.org/show_bug.cgi?id=197131 * lldb/lldbWebKitTester/Configurations/Base.xcconfig: Also use C++17. 2019-04-25 Per Arne Vollan -[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:] never returns _WKWebsiteDataTypeCredentials https://bugs.webkit.org/show_bug.cgi?id=196991 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (-[NavigationTestDelegate init]): (-[NavigationTestDelegate waitForDidFinishNavigation]): (-[NavigationTestDelegate webView:didFinishNavigation:]): (-[NavigationTestDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]): (TestWebKitAPI::TEST): (TEST): Deleted. 2019-04-25 Alex Christensen Revert some code accidentally committed with r244653 https://bugs.webkit.org/show_bug.cgi?id=197131 * TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm: (TestWebKitAPI::TEST): 2019-04-25 Alex Christensen Start using C++17 https://bugs.webkit.org/show_bug.cgi?id=197131 Reviewed by Darin Adler. * DumpRenderTree/mac/Configurations/Base.xcconfig: * MiniBrowser/Configurations/Base.xcconfig: * MobileMiniBrowser/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/Base.xcconfig: 2019-04-25 Commit Queue Unreviewed, rolling out r244627. https://bugs.webkit.org/show_bug.cgi?id=197282 Causing internal build failures (Requested by ShawnRoberts on #webkit). Reverted changeset: "Create AVFoundationSoftLink.{h,mm} to reduce duplicate code" https://bugs.webkit.org/show_bug.cgi?id=197171 https://trac.webkit.org/changeset/244627 2019-04-24 Carlos Garcia Campos [GTK] Hardcoded text color in input fields https://bugs.webkit.org/show_bug.cgi?id=126907 Reviewed by Michael Catanzaro. Add dark-mode command line option to MiniBrowser. * MiniBrowser/gtk/main.c: (main): 2019-04-24 Zalan Bujtas Regression (r244291): Broken API Test AutoLayoutRenderingProgressRelativeOrdering https://bugs.webkit.org/show_bug.cgi?id=196948 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm: (TEST): The expected order of incoming events is 1. didInvalidateIntrinsicContentSize 2. didFirstLayout At setRenderingProgressDidChange, we already check if didInvalidateIntrinsicContentSize comes in first. However it's not guaranteed that the milestone event is delayed until after TestWebKitAPI::Util::run() is finished (and remember, all we care about is ordering). 2019-04-24 Eric Carlson Create AVFoundationSoftLink.{h,mm} to reduce duplicate code https://bugs.webkit.org/show_bug.cgi?id=197171 Reviewed by Youenn Fablet. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm: Added. (TestWebKitAPI::TEST): 2019-04-24 Brady Eidson XMLHTTPRequest POSTs to a custom WKURLSchemeHandler protocol are missing the HTTP body. https://bugs.webkit.org/show_bug.cgi?id=191362 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: Add a test that POSTs all sorts of things from an XHR to a custom protocol. 2019-04-25 Simon Fraser DumpRenderTree doesn't call Internals::resetToConsistentState() before the first test https://bugs.webkit.org/show_bug.cgi?id=197273 Reviewed by Dean Jackson. Reorder code so that we create gTestRunner before calling resetWebViewToConsistentStateBeforeTesting(), so that WebCoreTestSupport::resetInternalsObject() is always run. * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting): (runTest): 2019-04-24 John Wilander Age out unconverted Ad Click Attributions after one week. https://bugs.webkit.org/show_bug.cgi?id=197238 Reviewed by Chris Dumez. This patch adds infrastructure to allow tests to expire all unconverted attributions early. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::markAdClickAttributionsAsExpiredForTesting): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::markAdClickAttributionsAsExpiredForTesting): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2019-04-24 Chris Dumez Fix flaky crashes in a couple of PSON API tests https://bugs.webkit.org/show_bug.cgi?id=197239 Reviewed by Tim Horton. Do not adopt the NSURLRequest returned by [NSURLRequest requestWithURL:]. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-04-24 Simon Fraser Make it possible to control the renderTreeAsText output by setting options on testRunner https://bugs.webkit.org/show_bug.cgi?id=197133 Reviewed by Sam Weinig. Add testRunner.setRenderTreeDumpOptions() and expose the subset of RenderAsTextFlag flags that make sense in testing (those that don't dump unstable data like addresses), and plumb these flags through the various framework layers. Convert RenderAsTextBehavior to an OptionSet. Fix code generation in WebKitTestRunner to generate bindings for IDL const values, and hand-code DumpRenderTree bindings. Some cleanup of the TestRunners, using member initializers. * DumpRenderTree/TestRunner.cpp: (TestRunner::TestRunner): (setRenderTreeDumpOptionsCallback): (TestRunner::staticFunctions): (TestRunner::setRenderTreeDumpOptions): * DumpRenderTree/TestRunner.h: (TestRunner::renderTreeDumpOptions const): * DumpRenderTree/mac/DumpRenderTree.mm: (dump): * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::dump): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::TestRunner): (WTR::TestRunner::setRenderTreeDumpOptions): * WebKitTestRunner/InjectedBundle/TestRunner.h: (WTR::TestRunner::renderTreeDumpOptions const): 2019-04-24 Alex Christensen WKContentRuleLists should have a maximum FileProtection of CompleteUnlessOpen https://bugs.webkit.org/show_bug.cgi?id=197078 Reviewed by Geoff Garen. * TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm: (TEST_F): (-[TestSchemeHandlerSubresourceShouldBeBlocked webView:startURLSchemeTask:]): Deleted. (-[TestSchemeHandlerSubresourceShouldBeBlocked webView:stopURLSchemeTask:]): Deleted. Unfortunately, setting the NSFileProtectionKey attribute is only supported on iOS devices. 2019-04-24 Alex Christensen Add unit test for r239322 https://bugs.webkit.org/show_bug.cgi?id=197236 Reviewed by Chris Dumez. I initially developed this as a unit test for rdar://problem/48797895 but it seems that isn't quite ready. May as well add the test infrastructure which was needed before and will be needed in the future. * TestWebKitAPI/TCPServer.cpp: (TestWebKitAPI::TCPServer::TCPServer): * TestWebKitAPI/TCPServer.h: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (TestWebKitAPI::downloadAtRate): * TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm: Added. (-[ProxyDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): (-[ProxyDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm: (TEST): 2019-04-24 Chris Dumez URL set by document.open() is communicated with the WebPageProxy but not the WebFrameProxy https://bugs.webkit.org/show_bug.cgi?id=197214 Reviewed by Alex Christensen. Extend API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm: (TEST): 2019-04-24 Philippe Normand [Build][GStreamer] Update to 1.16.0 https://bugs.webkit.org/show_bug.cgi?id=197157 Reviewed by Xabier Rodriguez-Calvar. The upstreamed patches were removed and a new one was added for a regression detected in the scaletempo GStreamer element. The GNOME Flatpak was migrated to 3.32 and I switched a few modules to Meson on the way, as it is the preferred build system now in GStreamer 1.16. * flatpak/files/httpd-autogen.sh: * flatpak/flatpakutils.py: (FlatpakPackage.install): (WebkitFlatpak.run_in_sandbox): * flatpak/org.webkit.CommonModules.yaml: * flatpak/org.webkit.WebKit.yaml: * gstreamer/jhbuild.modules: * gstreamer/patches/gst-plugins-bad-0001-aomenc-Add-support-for-10-12bit-decoding.patch: Removed. * gstreamer/patches/gst-plugins-bad-0002-aomenc-Handle-8-bit_depth-images-with-AOM_IMG_FMT_HI.patch: Removed. * gstreamer/patches/gst-plugins-bad-0003-fdkaacenc-Remove-MODE_2_1.patch: Removed. * gstreamer/patches/gst-plugins-bad-0004-fdkaacdec-Use-WAV-channel-mapping-instead-of-interleave-setting.patch: Removed. * gstreamer/patches/gst-plugins-bad-0005-mssdemux-fix-protection-data-double-free.patch: Removed. * gstreamer/patches/gst-plugins-base-0001-parsebin-Post-STREAM_COLLECTION-on-EVENT_STREAM_COLL.patch: Removed. * gstreamer/patches/gst-plugins-good-0001-qtdemux-Detect-and-expose-CEA-608-708-Closed-Caption.patch: Removed. * gstreamer/patches/gst-plugins-good-0001-qtdemux-Do-not-run-the-preferred-decryptor-context-q.patch: Removed. * gstreamer/patches/gst-plugins-good-0002-qtdemux-Do-not-unref-a-NULL-stream_tags.patch: Removed. * gstreamer/patches/gst-plugins-good-0002-qtdemux-add-context-for-a-preferred-protection.patch: Removed. * gstreamer/patches/gst-plugins-good-0003-qtdemux-Clarify-field-name-about-stream-encryption-s.patch: Removed. * gstreamer/patches/gst-plugins-good-0003-qtdemux-also-push-buffers-without-encryption-info-in.patch: Removed. * gstreamer/patches/gst-plugins-good-0004-qtdemux-Add-initial-support-for-AV1-demuxing.patch: Removed. * gstreamer/patches/gst-plugins-good-0005-qtdemux-Extract-AV1-codec_data-and-put-it-in-the-cap.patch: Removed. * gstreamer/patches/gst-plugins-good-0006-qtdemux-Recognize-more-AV1-atoms.patch: Removed. * gstreamer/patches/gst-plugins-good-0011-matroska-Add-the-WebM-encrypted-content-support-in-m.patch: Removed. * gstreamer/patches/gst-plugins-good-0012-matroskdemux-do-not-use-MapInfo.data-after-unmapping.patch: Removed. * gstreamer/patches/gst-plugins-good-0013-Avoid-warning-when-reporting-about-decryptors.patch: Removed. * gstreamer/patches/gst-plugins-good-0014-pulse-Mark-default-devices-as-default.patch: Removed. * gstreamer/patches/gst-plugins-good-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch: Added. * gstreamer/patches/gstreamer-0001-protection-Add-a-new-definition-for-unspecified-syst.patch: Removed. * gstreamer/patches/gstreamer-0002-protection-Fix-the-string-to-define-unspecified-syst.patch: Removed. 2019-04-24 Carlos Garcia Campos [GTK] MiniBrowser: also set the passed bg-color when receiving arguments https://bugs.webkit.org/show_bug.cgi?id=197156 Reviewed by Michael Catanzaro. The background color is only set when MiniBrowser is launched without arguments. This regressed when tabs support was added. * MiniBrowser/gtk/BrowserTab.c: (browser_tab_set_background_color): Set the passed in color as web view background color. * MiniBrowser/gtk/BrowserTab.h: * MiniBrowser/gtk/BrowserWindow.c: (browser_window_init): Initialize backgroundColor. (browser_window_append_view): Call browser_tab_set_background_color(). (browser_window_set_background_color): Save the passed in color. This function should now be called before tabs are added. * MiniBrowser/gtk/main.c: (main): Call browser_window_set_background_color() before creating the tabs. 2019-04-23 John Wilander Move Ad Click Attribution from internal feature to experimental feature https://bugs.webkit.org/show_bug.cgi?id=197218 Reviewed by Brent Fulgham. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): 2019-04-23 Andy Estes [iOS] QuickLook documents loaded from file: URLs should be allowed to perform same-document navigations https://bugs.webkit.org/show_bug.cgi?id=196749 Reviewed by Daniel Bates. Added a new QuickLook API test and added new expectations to existing QuickLook tests. * TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm: (-[QuickLookDelegate webView:didStartProvisionalNavigation:]): (-[QuickLookDelegate webView:didFinishNavigation:]): (-[QuickLookDelegate _webView:didFailNavigation:withError:userInfo:]): (-[QuickLookDelegate webView:didFailProvisionalNavigation:withError:]): (runTest): (runTestDecideBeforeLoading): (runTestDecideAfterLoading): (TEST): 2019-04-23 John Wilander Remove Ad Click Attribution data when removing website data https://bugs.webkit.org/show_bug.cgi?id=197215 Reviewed by Chris Dumez. This patch adds test infrastructure to delete Ad Click Attribution data through WebsiteDataStore::removeData(). * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::clearAdClickAttribution): (WTR::TestRunner::clearAdClickAttributionsThroughWebsiteDataRemoval): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::clearAdClickAttributionsThroughWebsiteDataRemoval): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2019-04-23 Jonathan Bedard webkitpy: Kill unresponsive worker processes https://bugs.webkit.org/show_bug.cgi?id=197205 Reviewed by Lucas Forschler. * Scripts/webkitpy/common/message_pool.py: (_MessagePool.__init__): Add close timeout. (_MessagePool._close): Send termination before joining workers, kill unresponsive workers. 2019-04-23 Alex Christensen Add unit tests for WKWebView.serverTrust https://bugs.webkit.org/show_bug.cgi?id=197202 Reviewed by Youenn Fablet * TestWebKitAPI/TCPServer.cpp: (TestWebKitAPI::deleter::operator()): (TestWebKitAPI::deleter::operator()): (TestWebKitAPI::deleter::operator()): (TestWebKitAPI::deleter::operator()): (TestWebKitAPI::deleter::operator()): (TestWebKitAPI::TCPServer::TCPServer): (TestWebKitAPI::TCPServer::listenForConnections): * TestWebKitAPI/TCPServer.h: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: (TestWebKitAPI::TEST): (verifyCertificateAndPublicKey): (-[ServerTrustDelegate webView:didFinishNavigation:]): (-[ServerTrustDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]): * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (TestWebKitAPI::downloadAtRate): * TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm: (TEST): 2019-04-23 Commit Queue Unreviewed, rolling out r244556. https://bugs.webkit.org/show_bug.cgi?id=197212 Causing build failures on multiple builders (Requested by ShawnRoberts on #webkit). Reverted changeset: "Create AVFoundationSoftLink.{h,mm} to reduce duplicate code" https://bugs.webkit.org/show_bug.cgi?id=197171 https://trac.webkit.org/changeset/244556 2019-04-23 Alex Christensen Fix iOS build. https://bugs.webkit.org/show_bug.cgi?id=195537 * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setOpenPanelFilesMediaIcon): AdoptWK constructor is private now. Use adoptWK instead. 2019-04-23 Andres Gonzalez Accessibility text search and selection API enhancements. https://bugs.webkit.org/show_bug.cgi?id=197095 Reviewed by Chris Fleizach. Added new API JS binding code for searchTextWithCriteria to both WTR and DRT. * DumpRenderTree/AccessibilityTextMarker.h: * DumpRenderTree/AccessibilityUIElement.cpp: (searchTextWithCriteriaCallback): (AccessibilityUIElement::getJSClass): * DumpRenderTree/AccessibilityUIElement.h: * DumpRenderTree/mac/AccessibilityUIElementMac.mm: (convertVectorToObjectArray): (convertNSArrayToVector): (searchTextParameterizedAttributeForCriteria): (AccessibilityUIElement::getLinkedUIElements): (AccessibilityUIElement::getDocumentLinks): (AccessibilityUIElement::getChildren): (AccessibilityUIElement::getChildrenWithRange): (AccessibilityUIElement::rowHeaders const): (AccessibilityUIElement::columnHeaders const): (AccessibilityUIElement::uiElementArrayAttributeValue const): (AccessibilityUIElement::searchTextWithCriteria): (AccessibilityUIElement::attributesOfColumnHeaders): (AccessibilityUIElement::attributesOfRowHeaders): (AccessibilityUIElement::attributesOfColumns): (AccessibilityUIElement::attributesOfRows): (AccessibilityUIElement::attributesOfVisibleCells): * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::convertVectorToObjectArray): (WTR::convertNSArrayToVector): (WTR::searchTextParameterizedAttributeForCriteria): (WTR::AccessibilityUIElement::getLinkedUIElements): (WTR::AccessibilityUIElement::getDocumentLinks): (WTR::AccessibilityUIElement::getUIElementsWithAttribute const): (WTR::AccessibilityUIElement::getChildren): (WTR::AccessibilityUIElement::getChildrenWithRange): (WTR::AccessibilityUIElement::rowHeaders const): (WTR::AccessibilityUIElement::columnHeaders const): (WTR::AccessibilityUIElement::uiElementArrayAttributeValue const): (WTR::AccessibilityUIElement::searchTextWithCriteria): (WTR::AccessibilityUIElement::attributesOfColumnHeaders): (WTR::AccessibilityUIElement::attributesOfRowHeaders): (WTR::AccessibilityUIElement::attributesOfColumns): (WTR::AccessibilityUIElement::attributesOfRows): (WTR::AccessibilityUIElement::attributesOfVisibleCells): (WTR::convertElementsToObjectArray): Deleted. 2019-04-23 Guy Lewin Multiple File Input Icon Set Regardless of File List https://bugs.webkit.org/show_bug.cgi?id=195537 Reviewed by Alexey Proskuryakov. Add setOpenPanelFilesMediaIcon to TestRunner in order to test icon and display string in iOS file inputs * DumpRenderTree/TestRunner.cpp: (SetOpenPanelFilesMediaIconCallback): (TestRunner::staticFunctions): (TestRunner::setOpenPanelFilesMediaIcon): * DumpRenderTree/TestRunner.h: (TestRunner::openPanelFilesMediaIcon const): * DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:]): * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setOpenPanelFilesMediaIcon): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::runOpenPanel): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::openPanelFileURLsMediaIcon const): (WTR::TestController::setOpenPanelFileURLsMediaIcon): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): 2019-04-23 Eric Carlson Create AVFoundationSoftLink.{h,mm} to reduce duplicate code https://bugs.webkit.org/show_bug.cgi?id=197171 Reviewed by Youenn Fablet. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm: Added. (TestWebKitAPI::TEST): 2019-04-23 Aakash Jain [ews-build] Add unit tests for UnApplyPatchIfRequired https://bugs.webkit.org/show_bug.cgi?id=197197 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps_unittest.py: (TestUnApplyPatchIfRequired): (TestUnApplyPatchIfRequired.test_success): (TestUnApplyPatchIfRequired.test_failure): (TestUnApplyPatchIfRequired.test_skip): 2019-04-23 Aakash Jain [ews-build] Add unit tests for CleanWorkingDirectory https://bugs.webkit.org/show_bug.cgi?id=197195 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps_unittest.py: (TestCleanWorkingDirectory): (TestCleanWorkingDirectory.test_success): (TestCleanWorkingDirectory.test_failure): 2019-04-23 Aakash Jain [ews-build] Use explicit imports instead of wildcard imports https://bugs.webkit.org/show_bug.cgi?id=197194 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/factories.py: * BuildSlaveSupport/ews-build/loadConfig.py: * BuildSlaveSupport/ews-build/steps_unittest.py: 2019-04-23 Aakash Jain [ews-build] Add unit tests for DownloadBuiltProduct https://bugs.webkit.org/show_bug.cgi?id=197193 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps_unittest.py: (TestDownloadBuiltProduct): (TestDownloadBuiltProduct.setUp): (TestDownloadBuiltProduct.tearDown): (TestDownloadBuiltProduct.test_success): (TestDownloadBuiltProduct.test_failure): 2019-04-23 Aakash Jain [ews-app] Exception while loading status-bubble when no build step has started https://bugs.webkit.org/show_bug.cgi?id=196676 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble.get_build_timestamp): Check if build step is present before accessing its timestamp. 2019-04-23 Stephan Szabo [PlayStation] Support running of JSC tests on remote playstation devices https://bugs.webkit.org/show_bug.cgi?id=197170 Reviewed by Ross Kirsling. Script changes * Scripts/run-javascriptcore-tests: (runJSCStressTests): Pass arguments for playstation to run-jsc-stress-tests * Scripts/run-jsc-stress-tests: Handle $hostOS=="playstation" for determineArchitecture, turning off $isFTLPlatform and runProfiler and defaulting test writer. * Scripts/webkitdirs.pm: (jscPath): PlayStation WebKit executables have .elf extension (executableProductDir): PlayStation builds on Windows hosts but uses bin directory rather than bin64/bin32 for executable output location. * Scripts/webkitruby/jsc-stress-test-writer-playstation.rb: Added. 2019-04-23 Don Olmstead [CMake][Win] Use target oriented design for WebKit https://bugs.webkit.org/show_bug.cgi?id=197173 Reviewed by Alex Christensen. * TestWebKitAPI/PlatformWin.cmake: Add WebKitFrameworkHeaders as a dependency. * TestWebKitAPI/Tests/WebKit/curl/Certificates.cpp: Remove unused header. 2019-04-23 Chris Dumez [Process-Swap-On-Navigation] WebKit hangs when going back to a form submission's page due to Process-Swap-On-Navigation on iOS 12.2 and higher https://bugs.webkit.org/show_bug.cgi?id=197097 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[PSONScheme webView:startURLSchemeTask:]): 2019-04-23 Carlos Garcia Campos [ATK] Implement AtkComponentIface scroll_to methods https://bugs.webkit.org/show_bug.cgi?id=196856 Reviewed by Michael Catanzaro. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: (WTR::AccessibilityUIElement::scrollToMakeVisible): Call atk_component_scroll_to(). (WTR::AccessibilityUIElement::scrollToGlobalPoint): Call atk_component_scroll_to_point(). * gtk/jhbuild.modules: Bump atk, at-spi2-core and at-spi2-atk to their latest stable version. 2019-04-22 Aakash Jain [ews-build] Improve summary for UploadBuiltProduct step https://bugs.webkit.org/show_bug.cgi?id=197182 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (UploadBuiltProduct): Added descriptionDone. (UploadBuiltProduct.getResultSummary): Overrided getResultSummary. * BuildSlaveSupport/ews-build/steps_unittest.py: (TestUploadBuiltProduct.test_success): Updated unit-test. (TestUploadBuiltProduct.test_failure): Added unit-test for failure case. 2019-04-22 Aakash Jain [ews-build] Trigger queues only after uploading the archive https://bugs.webkit.org/show_bug.cgi?id=197180 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/factories.py: (Factory.__init__): (BuildFactory.__init__): Remove trigger step from factories. (BuildFactory.propertiesToPassToTriggers): Deleted. * BuildSlaveSupport/ews-build/steps.py: (ConfigureBuild.__init__): Confiure triggers property. (Trigger): Step to trigger other queues. (Trigger.propertiesToPassToTriggers): Method to construct properties to pass to triggerred builds. (UploadBuiltProduct.finished): Trigger builds after upload is successful. 2019-04-22 Alex Christensen Deprecate WKContextCreateWithInjectedBundlePath https://bugs.webkit.org/show_bug.cgi?id=197169 Reviewed by Youenn Fablet. * TestWebKitAPI/PlatformUtilities.cpp: (TestWebKitAPI::Util::createContextWithInjectedBundle): Use WKContextCreateWithConfiguration instead of WKContextCreateWithInjectedBundlePath after having set its injected bundle path. 2019-04-22 Alex Christensen REGRESSION(r230681) Do not use stored credentials if WKBundlePageResourceLoadClient.shouldUseCredentialStorage returns false https://bugs.webkit.org/show_bug.cgi?id=197093 Reviewed by Chris Dumez. Add a test that does two loads. The first load shouldUseCredentialStorage returns true and we provide a persistent credential. The second load shouldUseCredentialStorage returns false and we verify that a challenge is received with no suggested credential. We also need to make the TCPServer able to handle more than one connection because we need these two loads to come from the same protection space, and our current Cocoa implementation of NetworkSession uses two NSURLSessions that don't share a connection cache, one for loads with credentials and one for loads without credentials, so there are two TCP connections to the same server in this test. * TestWebKitAPI/TCPServer.cpp: (TestWebKitAPI::TCPServer::TCPServer): (TestWebKitAPI::TCPServer::~TCPServer): (TestWebKitAPI::TCPServer::socketBindListen): (TestWebKitAPI::TCPServer::waitForAndReplyToRequests): Deleted. * TestWebKitAPI/TCPServer.h: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/BasicProposedCredentialPlugIn.mm: Added. (-[BasicProposedCredentialPlugIn webProcessPlugIn:didCreateBrowserContextController:]): * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: (respondWithChallengeThenOK): (TestWebKitAPI::TEST): (-[ProposedCredentialDelegate webView:didFinishNavigation:]): (-[ProposedCredentialDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]): (TEST): 2019-04-22 Chris Dumez Delayed WebProcessLaunch may break the _relatedWebView SPI https://bugs.webkit.org/show_bug.cgi?id=197160 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-04-22 Dean Johnson Use curl to download packages for webkitpy autoinstaller https://bugs.webkit.org/show_bug.cgi?id=197164 Reviewed by Darin Adler. * Scripts/webkitpy/common/system/autoinstall.py: (AutoInstaller._download): Use curl(1) to download packages necessary for webkitpy/thirdparty/autoinstalled since Python2's urllib2 module can result in unnecessary errors which are not present when using curl(1). 2019-04-22 Chris Dumez Unreviewed, rolling out r244502. Caused crashes on the bots Reverted changeset: "Delayed WebProcessLaunch may break the _relatedWebView SPI" https://bugs.webkit.org/show_bug.cgi?id=197160 https://trac.webkit.org/changeset/244502 2019-04-22 Ryan Haddad Unreviewed, rolling out r244437. Still breaks internal tests. Reverted changeset: "InjectedBundle parameters often need initialization function called before unarchiving" https://bugs.webkit.org/show_bug.cgi?id=189709 https://trac.webkit.org/changeset/244437 2019-04-22 Aakash Jain [ews-build] Use singular verb in failure description in case of single api test failure https://bugs.webkit.org/show_bug.cgi?id=197013 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (AnalyzeAPITestsResults.analyzeResults): 2019-04-22 Chris Dumez Delayed WebProcessLaunch may break the _relatedWebView SPI https://bugs.webkit.org/show_bug.cgi?id=197160 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-04-22 Carlos Garcia Campos REGRESSION(r241289): [GTK] accessibility/removed-continuation-element-causes-crash.html and accessibility/removed-anonymous-block-child-causes-crash.html crashes https://bugs.webkit.org/show_bug.cgi?id=194630 Reviewed by Michael Catanzaro. Return early from getAttributeSet() is passed in accessible is nullptr. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: 2019-04-21 Wenson Hsieh Defer EditorState updates until the next layer tree flush in a few additional circumstances https://bugs.webkit.org/show_bug.cgi?id=197145 Reviewed by Darin Adler. Adjusts several editing API tests to wait for a presentation update following a selection change, programmatic focus, or showing the font manager. * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewTargetForAction.mm: (TEST): * TestWebKitAPI/Tests/mac/FontManagerTests.mm: (TestWebKitAPI::TEST): 2019-04-21 Brian Burg WebDriver: add hooks to make it possible to easily run WPT WebDriver web server by itself https://bugs.webkit.org/show_bug.cgi?id=197125 Reviewed by Darin Adler. Sometimes I want to run wptserve independently of tests. Make it easier to script that using this class rather than making our own ./wpt serve invocation. * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py: (WebDriverW3CWebServer): (WebDriverW3CWebServer.document_root): Expose this to clients. (WebDriverW3CWebServer.wait): Add a method that blocks until the server dies. (WebDriverW3CWebServer.__enter__): (WebDriverW3CWebServer.__exit__): Make it possible to use the web server with a 'with' statement. 2019-04-20 Don Olmstead [CMake][Win] Use target oriented design for WebKitLegacy https://bugs.webkit.org/show_bug.cgi?id=197112 Reviewed by Konstantin Tokarev. Fix includes and libraries for DumpRenderTree after changes to WebKitLegacy targets. * DumpRenderTree/CMakeLists.txt: * DumpRenderTree/PlatformWin.cmake: * DumpRenderTree/win/EventSender.cpp: 2019-04-20 Aakash Jain Update text for old EWS submit button https://bugs.webkit.org/show_bug.cgi?id=197140 Reviewed by Alexey Proskuryakov. * QueueStatusServer/templates/statusbubble.html: 2019-04-20 Aakash Jain [ews-app] New EWS should poll bugzilla more frequently https://bugs.webkit.org/show_bug.cgi?id=197138 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/ews-app/ews/fetcher.py: (FetchLoop.__init__): 2019-04-20 Aakash Jain [ews-app] Submit to EWS buttons are not aligned properly with status-bubbles https://bugs.webkit.org/show_bug.cgi?id=197139 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/ews-app/ews/templates/statusbubble.html: * QueueStatusServer/templates/statusbubble.html: 2019-04-20 Chris Dumez Unreviewed, fix iOS build with recent SDKs. * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: 2019-04-19 Keith Miller Add script to merge run_benchmark jsons https://bugs.webkit.org/show_bug.cgi?id=197107 Reviewed by Michael Saboff. The script basically recursively decends through all json objects until it gets to an array or JSON primitive and concats or takes the first value, respectively. This patch also adds +x bits to the compare-results script so it can be run directly from the command line. I had to add a new line so that svn will accept the change... yay svn! * Scripts/compare-results: * Scripts/merge-result-jsons: Added. (readJSONFile): (deepAppend): (mergeJSONs): (main): 2019-04-18 Ryosuke Niwa Crash in FrameLoader::stopAllLoaders via [WebView dealloc] inside ~ObjCEventListener https://bugs.webkit.org/show_bug.cgi?id=197079 Reviewed by Darin Adler. Added a regression test. It hits a slightly different backtrace but of the same class of issues. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitLegacy/mac/DeallocWebViewInEventListener.mm: Added. 2019-04-18 Commit Queue Unreviewed, rolling out r244434. https://bugs.webkit.org/show_bug.cgi?id=197089 caused 1 API test failure (Requested by zalan on #webkit). Reverted changeset: "Regression (r244291): Broken API Test AutoLayoutRenderingProgressRelativeOrdering" https://bugs.webkit.org/show_bug.cgi?id=196948 https://trac.webkit.org/changeset/244434 2019-04-18 Wenson Hsieh Add new compatibility mode API on WKNavigation https://bugs.webkit.org/show_bug.cgi?id=197069 Reviewed by Tim Horton. Add a block property for -didCommitNavigation to TestNavigationDelegate. * TestWebKitAPI/cocoa/TestNavigationDelegate.h: * TestWebKitAPI/cocoa/TestNavigationDelegate.mm: (-[TestNavigationDelegate webView:didCommitNavigation:]): 2019-04-18 Don Olmstead [CMake] Make WebCore headers copies https://bugs.webkit.org/show_bug.cgi?id=182512 Reviewed by Alex Christensen. Added WebCorePrivateFrameworkHeaders as a dependency of TestWebKitAPI for all ports. WebCore now uses WebCore_PRIVATE_INCLUDE_DIRECTORIES for all ports. Any includes of WebCore headers using "*.h" were modified to * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt: * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npapi.h: * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npfunctions.h: * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npruntime.h: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformWin.cmake: * TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp: * TestWebKitAPI/Tests/WebCore/gstreamer/GstMappedBuffer.cpp: * WebKitTestRunner/win/PlatformWebViewWin.cpp: 2019-04-18 Jer Noble Add support for parsing FairPlayStreaming PSSH boxes. https://bugs.webkit.org/show_bug.cgi?id=197064 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebCore/ISOBox.cpp: (TestWebKitAPI::TEST): 2019-04-18 Brent Fulgham InjectedBundle parameters often need initialization function called before unarchiving https://bugs.webkit.org/show_bug.cgi?id=189709 Reviewed by Ryosuke Niwa. * TestWebKitAPI/cocoa/WebProcessPlugIn/WebProcessPlugIn.mm: (-[WebProcessPlugIn additionalClassesForParameterCoder]): Added. 2019-04-18 Zalan Bujtas Regression (r244291): Broken API Test AutoLayoutRenderingProgressRelativeOrdering https://bugs.webkit.org/show_bug.cgi?id=196948 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm: (TEST): The expected order of incoming events is 1. didInvalidateIntrinsicContentSize 2. didFirstLayout At setRenderingProgressDidChange, we already check if didInvalidateIntrinsicContentSize comes in first. However it's not guaranteed that the milestone event is delayed until after TestWebKitAPI::Util::run() is finished (and remember, all we care about is ordering). 2019-04-18 Ryan Haddad Unreviewed, rolling out r244299. Breaks internal tests. Reverted changeset: "InjectedBundle parameters often need initialization function called before unarchiving" https://bugs.webkit.org/show_bug.cgi?id=189709 https://trac.webkit.org/changeset/244299 2019-04-18 Yusuke Suzuki [WTF] StringBuilder should set correct m_is8Bit flag when merging https://bugs.webkit.org/show_bug.cgi?id=197053 Reviewed by Saam Barati. * TestWebKitAPI/Tests/WTF/StringBuilder.cpp: (TestWebKitAPI::TEST): 2019-04-17 Tim Horton [iOS Sim Debug] REGRESSION (r244151) TestWebKitAPI.WebKit.OverrideViewportArguments is failing (197028) https://bugs.webkit.org/show_bug.cgi?id=197028 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/OverrideViewportArguments.mm: (TEST): Liberal application of waitForNextPresentationUpdate works around a race where if the page rapidly changes its viewport arguments (or an API client rapidly changes its viewport arguments), we'd get stuck thinking that the user had intentionally zoomed the page, and stop resetting the initial scale. This deserves a separate bug, but no need to keep the test failing while we think about it. 2019-04-17 Tim Horton REGRESSION (r241988): Switching tabs is slow https://bugs.webkit.org/show_bug.cgi?id=197037 Reviewed by Simon Fraser. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/ReparentWebViewTimeout.mm: Added. (TEST): * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[TestWKWebView addToTestWindow]): Add a test that hangs without this fix. 2019-04-17 Truitt Savell Unreviewed, rolling out r244400. Caused testing to exit early with assertionon Debug WK2 Reverted changeset: "UI↔Web deadlock when printing with a JavaScript alert visible" https://bugs.webkit.org/show_bug.cgi?id=196839 https://trac.webkit.org/changeset/244400 2019-04-17 Brady Eidson Link clicks in PDFs shouldn't send referrer headers. and https://bugs.webkit.org/show_bug.cgi?id=196980 Reviewed by Tim Horton. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm: Added. (putPDFBytesCallback): (emptyReleaseInfoCallback): (createPDFWithLinkToURL): (TEST): 2019-04-17 Tim Horton UI↔Web deadlock when printing with a JavaScript alert visible https://bugs.webkit.org/show_bug.cgi?id=196839 Reviewed by Andy Estes. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewPrintFormatter.mm: Added. (-[PrintOnAlertUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): (TEST): 2019-04-17 Alex Christensen WKRetainPtr's adoption constructor should be private https://bugs.webkit.org/show_bug.cgi?id=197019 Reviewed by Tim Horton. * DumpRenderTree/mac/DumpRenderTree.mm: (dumpFramesAsText): * TestWebKitAPI/InjectedBundleController.cpp: (TestWebKitAPI::InjectedBundleController::initialize): * TestWebKitAPI/PlatformUtilities.cpp: (TestWebKitAPI::Util::createContextWithInjectedBundle): (TestWebKitAPI::Util::createInitializationDictionaryForInjectedBundleTest): (TestWebKitAPI::Util::createContextForInjectedBundleTest): (TestWebKitAPI::Util::toWK): * TestWebKitAPI/Tests/CustomProtocolsSyncXHRTest.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic_Bundle.cpp: (TestWebKitAPI::DOMWindowExtensionBasic::initialize): * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionNoCache.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionNoCache_Bundle.cpp: (TestWebKitAPI::DOMWindowExtensionNoCache::initialize): * TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/DidNotHandleKeyDown.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache_Bundle.cpp: (TestWebKitAPI::didRemoveFrameFromHierarchyCallback): * TestWebKitAPI/Tests/WebKit/DocumentStartUserScriptAlertCrash.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/DocumentStartUserScriptAlertCrash_Bundle.cpp: (TestWebKitAPI::DocumentStartUserScriptAlertCrashTest::initialize): * TestWebKitAPI/Tests/WebKit/EnumerateMediaDevices.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/EvaluateJavaScript.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/EventModifiers.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/FailedLoad.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/Find.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/FindMatches.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/FirstMeaningfulPaintMilestone.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/Geolocation.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/GetInjectedBundleInitializationUserDataCallback.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle_Bundle.cpp: (TestWebKitAPI::HitTestResultNodeHandleTest::getContextMenuFromDefaultMenu): * TestWebKitAPI/Tests/WebKit/InjectedBundleBasic.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior_Bundle.cpp: (TestWebKitAPI::InjectedBundleNoDisableOverrideBuiltinsBehaviorTest::initialize): (TestWebKitAPI::InjectedBundleDisableOverrideBuiltinsBehaviorTest::initialize): * TestWebKitAPI/Tests/WebKit/InjectedBundleFrameHitTest.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/InjectedBundleFrameHitTest_Bundle.cpp: (TestWebKitAPI::InjectedBundleFrameHitTestTest::frameLoadFinished): * TestWebKitAPI/Tests/WebKit/InjectedBundleInitializationUserDataCallbackWins.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/InjectedBundleMakeAllShadowRootsOpen.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/InjectedBundleMakeAllShadowRootsOpen_Bundle.cpp: (TestWebKitAPI::InjectedBundleMakeAllShadowRootOpenTest::initialize): * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp: (TestWebKitAPI::loadAlternateHTMLString): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/LoadCanceledNoServerRedirectCallback.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp: (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader): * TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp: (TestWebKitAPI::buildAndPerformTest): * TestWebKitAPI/Tests/WebKit/ModalAlertsSPI.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/MouseMoveAfterCrash.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/PasteboardNotifications.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/PreventEmptyUserAgent.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ProcessDidTerminate.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/SpacebarScrolling.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/StopLoadingDuringDidFailProvisionalLoad.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/UserMedia.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/WKPreferences.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent.cpp: (TestWebKitAPI::didReceiveMessageFromInjectedBundle): * TestWebKitAPI/Tests/WebKit/mac/AttributedSubstringForProposedRangeWithImage.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/mac/EditorCommands.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/mac/InjectedBundleAppleEvent.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm: * TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (TEST): * TestWebKitAPI/Tests/mac/FirstResponderScrollingPosition.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm: (TestWebKitAPI::FullscreenZoomInitialFrame::initializeView): * WebKitTestRunner/InjectedBundle/EventSendingController.cpp: (WTR::getMenuItemTitleCallback): (WTR::createMouseMessageBody): (WTR::EventSendingController::mouseDown): (WTR::EventSendingController::mouseUp): (WTR::EventSendingController::mouseMoveTo): (WTR::EventSendingController::mouseForceClick): (WTR::EventSendingController::startAndCancelMouseForceClick): (WTR::EventSendingController::mouseForceDown): (WTR::EventSendingController::mouseForceUp): (WTR::EventSendingController::mouseForceChanged): (WTR::EventSendingController::leapForward): (WTR::EventSendingController::scheduleAsynchronousClick): (WTR::createKeyDownMessageBody): (WTR::EventSendingController::keyDown): (WTR::EventSendingController::scheduleAsynchronousKeyDown): (WTR::EventSendingController::mouseScrollBy): (WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases): (WTR::EventSendingController::continuousMouseScrollBy): (WTR::EventSendingController::addTouchPoint): (WTR::EventSendingController::updateTouchPoint): (WTR::EventSendingController::setTouchModifier): (WTR::EventSendingController::setTouchPointRadius): (WTR::EventSendingController::touchStart): (WTR::EventSendingController::touchMove): (WTR::EventSendingController::touchEnd): (WTR::EventSendingController::touchCancel): (WTR::EventSendingController::clearTouchPoints): (WTR::EventSendingController::releaseTouchPoint): (WTR::EventSendingController::cancelTouchPoint): * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didCreatePage): (WTR::InjectedBundle::didReceiveMessage): (WTR::InjectedBundle::didReceiveMessageToPage): (WTR::InjectedBundle::booleanForKey): (WTR::InjectedBundle::done): (WTR::InjectedBundle::dumpToStdErr): (WTR::InjectedBundle::outputText): (WTR::InjectedBundle::postNewBeforeUnloadReturnValue): (WTR::InjectedBundle::postAddChromeInputField): (WTR::InjectedBundle::postRemoveChromeInputField): (WTR::InjectedBundle::postFocusWebView): (WTR::InjectedBundle::postSetBackingScaleFactor): (WTR::InjectedBundle::postSetWindowIsKey): (WTR::InjectedBundle::postSetViewSize): (WTR::InjectedBundle::postSimulateWebNotificationClick): (WTR::InjectedBundle::postSetAddsVisitedLinks): (WTR::InjectedBundle::setGeolocationPermission): (WTR::InjectedBundle::setMockGeolocationPosition): (WTR::InjectedBundle::setMockGeolocationPositionUnavailableError): (WTR::InjectedBundle::isGeolocationProviderActive const): (WTR::InjectedBundle::imageCountInGeneralPasteboard const): (WTR::InjectedBundle::setUserMediaPersistentPermissionForOrigin): (WTR::InjectedBundle::userMediaPermissionRequestCountForOrigin const): (WTR::InjectedBundle::resetUserMediaPermissionRequestCountForOrigin): (WTR::InjectedBundle::setCustomPolicyDelegate): (WTR::InjectedBundle::setHidden): (WTR::InjectedBundle::setCacheModel): (WTR::InjectedBundle::shouldProcessWorkQueue const): (WTR::InjectedBundle::processWorkQueue): (WTR::InjectedBundle::queueBackNavigation): (WTR::InjectedBundle::queueForwardNavigation): (WTR::InjectedBundle::queueLoad): (WTR::InjectedBundle::queueLoadHTMLString): (WTR::InjectedBundle::queueReload): (WTR::InjectedBundle::queueLoadingScript): (WTR::InjectedBundle::queueNonLoadingScript): * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::frameToStr): (WTR::InjectedBundlePage::InjectedBundlePage): (WTR::dumpFrameDescriptionSuitableForTestResult): (WTR::dumpFrameScrollPosition): (WTR::dumpDescendantFrameScrollPositions): (WTR::dumpFrameText): (WTR::dumpDescendantFramesText): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::shouldDumpPixels const): (WTR::TestRunner::setDumpPixels): (WTR::TestRunner::whatToDump const): (WTR::TestRunner::setWhatToDump): (WTR::TestRunner::setWaitUntilDone): (WTR::TestRunner::shouldWaitUntilDone const): (WTR::TestRunner::setShouldDumpFrameLoadCallbacks): (WTR::TestRunner::shouldDumpFrameLoadCallbacks): (WTR::TestRunner::clearAllDatabases): (WTR::TestRunner::setIDBPerOriginQuota): (WTR::TestRunner::originsWithApplicationCache): (WTR::TestRunner::setCanOpenWindows): (WTR::TestRunner::setXSSAuditorEnabled): (WTR::TestRunner::setMediaDevicesEnabled): (WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): (WTR::TestRunner::setWebRTCUnifiedPlanEnabled): (WTR::TestRunner::setCustomUserAgent): (WTR::TestRunner::setWebAPIStatisticsEnabled): (WTR::TestRunner::setModernMediaControlsEnabled): (WTR::TestRunner::setWebGL2Enabled): (WTR::TestRunner::setWritableStreamAPIEnabled): (WTR::TestRunner::setReadableByteStreamAPIEnabled): (WTR::TestRunner::setEncryptedMediaAPIEnabled): (WTR::TestRunner::setAllowsAnySSLCertificate): (WTR::TestRunner::setPluginsEnabled): (WTR::TestRunner::setValueForUser): (WTR::TestRunner::setAudioResult): (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const): (WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation): (WTR::TestRunner::setAlwaysAcceptCookies): (WTR::TestRunner::setOnlyAcceptFirstPartyCookies): (WTR::TestRunner::isDoingMediaCapture const): (WTR::TestRunner::queueLoad): (WTR::TestRunner::setRejectsProtectionSpaceAndContinueForAuthenticationChallenges): (WTR::TestRunner::setHandlesAuthenticationChallenges): (WTR::TestRunner::setShouldLogCanAuthenticateAgainstProtectionSpace): (WTR::TestRunner::setShouldLogDownloadCallbacks): (WTR::TestRunner::setAuthenticationUsername): (WTR::TestRunner::setAuthenticationPassword): (WTR::TestRunner::secureEventInputIsEnabled const): (WTR::TestRunner::setBlockAllPlugins): (WTR::TestRunner::setPluginSupportedMode): (WTR::TestRunner::setShouldDecideNavigationPolicyAfterDelay): (WTR::TestRunner::setShouldDecideResponsePolicyAfterDelay): (WTR::TestRunner::setNavigationGesturesEnabled): (WTR::TestRunner::setIgnoresViewportScaleLimits): (WTR::TestRunner::setShouldDownloadUndisplayableMIMETypes): (WTR::TestRunner::setShouldAllowDeviceOrientationAndMotionAccess): (WTR::TestRunner::terminateNetworkProcess): (WTR::TestRunner::terminateServiceWorkerProcess): (WTR::TestRunner::runUIScript): (WTR::TestRunner::setStatisticsDebugMode): (WTR::TestRunner::setStatisticsPrevalentResourceForDebugMode): (WTR::TestRunner::setStatisticsLastSeen): (WTR::TestRunner::setStatisticsPrevalentResource): (WTR::TestRunner::setStatisticsVeryPrevalentResource): (WTR::TestRunner::dumpResourceLoadStatistics): (WTR::TestRunner::isStatisticsPrevalentResource): (WTR::TestRunner::isStatisticsVeryPrevalentResource): (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder): (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder): (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo): (WTR::TestRunner::setStatisticsHasHadUserInteraction): (WTR::TestRunner::isStatisticsHasHadUserInteraction): (WTR::TestRunner::setStatisticsGrandfathered): (WTR::TestRunner::isStatisticsGrandfathered): (WTR::TestRunner::setStatisticsSubframeUnderTopFrameOrigin): (WTR::TestRunner::setStatisticsSubresourceUnderTopFrameOrigin): (WTR::TestRunner::setStatisticsSubresourceUniqueRedirectTo): (WTR::TestRunner::setStatisticsSubresourceUniqueRedirectFrom): (WTR::TestRunner::setStatisticsTopFrameUniqueRedirectTo): (WTR::TestRunner::setStatisticsTopFrameUniqueRedirectFrom): (WTR::TestRunner::setStatisticsCrossSiteLoadWithLinkDecoration): (WTR::TestRunner::setStatisticsTimeToLiveUserInteraction): (WTR::TestRunner::installStatisticsDidScanDataRecordsCallback): (WTR::TestRunner::statisticsProcessStatisticsAndDataRecords): (WTR::TestRunner::statisticsUpdateCookieBlocking): (WTR::TestRunner::statisticsSubmitTelemetry): (WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned): (WTR::TestRunner::setStatisticsIsRunningTest): (WTR::TestRunner::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval): (WTR::TestRunner::setStatisticsNotifyPagesWhenTelemetryWasCaptured): (WTR::TestRunner::setStatisticsMinimumTimeBetweenDataRecordsRemoval): (WTR::TestRunner::setStatisticsGrandfatheringTime): (WTR::TestRunner::setStatisticsMaxStatisticsEntries): (WTR::TestRunner::setStatisticsPruneEntriesDownTo): (WTR::TestRunner::statisticsClearInMemoryAndPersistentStore): (WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): (WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval): (WTR::TestRunner::statisticsDeleteCookiesForHost): (WTR::TestRunner::setStatisticsCacheMaxAgeCap): (WTR::TestRunner::statisticsResetToConsistentState): (WTR::TestRunner::setStorageAccessAPIEnabled): (WTR::TestRunner::getAllStorageAccessEntries): (WTR::TestRunner::addMockMediaDevice): (WTR::TestRunner::clearMockMediaDevices): (WTR::TestRunner::removeMockMediaDevice): (WTR::TestRunner::resetMockMediaDevices): (WTR::TestRunner::connectMockGamepad): (WTR::TestRunner::disconnectMockGamepad): (WTR::TestRunner::setMockGamepadDetails): (WTR::TestRunner::setMockGamepadAxisValue): (WTR::TestRunner::setMockGamepadButtonValue): (WTR::TestRunner::removeAllSessionCredentials): (WTR::TestRunner::clearDOMCache): (WTR::TestRunner::clearDOMCaches): (WTR::TestRunner::hasDOMCache): (WTR::TestRunner::domCacheSize): (WTR::TestRunner::setAllowStorageQuotaIncrease): (WTR::TestRunner::getApplicationManifestThen): (WTR::TestRunner::injectUserScript): (WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting): (WTR::TestRunner::setWebAuthenticationMockConfiguration): (WTR::TestRunner::addTestKeyToKeychain): (WTR::TestRunner::cleanUpKeychain): (WTR::TestRunner::keyExistsInKeychain): (WTR::TestRunner::setCanHandleHTTPSServerTrustEvaluation): (WTR::TestRunner::canDoServerTrustEvaluationInNetworkProcess): (WTR::TestRunner::serverTrustEvaluationCallbackCallsCount): (WTR::TestRunner::setShouldDismissJavaScriptAlertsAsynchronously): (WTR::TestRunner::setAdClickAttributionOverrideTimerForTesting): (WTR::TestRunner::setAdClickAttributionConversionURLForTesting): * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::parseStringTestHeaderValueAsRelativePath): (WTR::updateTestOptionsFromTestHeader): (WTR::TestController::runTest): (WTR::TestController::didReceiveLiveDocumentsList): (WTR::TestController::didReceiveMessageFromInjectedBundle): (WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): (WTR::TestController::didFinishNavigation): (WTR::TestController::didReceiveAuthenticationChallenge): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): (WTR::TestInvocation::uiScriptDidComplete): (WTR::TestInvocation::didReceiveAllStorageAccessEntries): * WebKitTestRunner/WebNotificationProvider.cpp: (WTR::WebNotificationProvider::closeWebNotification): * WebKitTestRunner/WorkQueueManager.cpp: (WTR::ScriptItem::ScriptItem): (WTR::WorkQueueManager::queueLoad): (WTR::WorkQueueManager::queueLoadHTMLString): 2019-04-17 Alex Christensen Add a comment to make my test from r244139 less mysterious. https://bugs.webkit.org/show_bug.cgi?id=196744 As suggested by Darin Adler. * TestWebKitAPI/Tests/WebKitCocoa/BundleRetainPagePlugIn.mm: (-[BundleRetainPagePlugIn webProcessPlugIn:didCreateBrowserContextController:]): 2019-04-17 Chris Dumez Remember device orientation permission for the duration of the browsing session https://bugs.webkit.org/show_bug.cgi?id=196992 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm: (-[DeviceOrientationPermissionUIDelegate _webView:shouldAllowDeviceOrientationAndMotionAccessRequestedByFrame:decisionHandler:]): (TEST): 2019-04-17 Aakash Jain [ews-app] Clicking 'submit to new ews' doesn't reload status-bubble https://bugs.webkit.org/show_bug.cgi?id=196675 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/submittoews.py: (SubmitToEWS): Added @xframe_options_exempt similar to statusbubble.py 2019-04-16 Wenson Hsieh [iOS] [WebKit2] Add support for honoring -[UIMenuItem dontDismiss] https://bugs.webkit.org/show_bug.cgi?id=196919 Reviewed by Tim Horton. Add iOS support for several new testing hooks. See below for more detail. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::isDismissingMenu const): Add a new script controller method to query whether the platform menu (on iOS, the callout bar) is done dismissing. We consider the menu to be dismissing in between the `-WillHide` and `-DidHide` notifications sent by UIKit when dismissing the callout bar (i.e. UIMenuController). * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::isDismissingMenu const): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessageToPage): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setAllowedMenuActions): Add a new helper method to specify a list of allowed actions when bringing up the menu. On iOS, in the case of actions supported by the platform, this matches against method selector names (for instance, "SelectAll", or "Copy", or "Paste"). In the case of the custom actions installed via `installCustomMenuAction`, we instead match against the name of the custom action. (WTR::TestRunner::installCustomMenuAction): Add a new helper method to install a custom action for the context menu (on iOS, this is the callout bar). This takes the name of the action (which appears in a button in the callout bar), whether the action should cause the callout bar to automatically dismiss, and finally, a JavaScript callback that is invoked when the action is triggered. (WTR::TestRunner::performCustomMenuAction): Invoked when the custom menu action is triggered. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::installCustomMenuAction): (WTR::TestController::setAllowedMenuActions): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): (WTR::TestInvocation::performCustomMenuAction): Add plumbing to call back into the injected bundle when performing the custom action. * WebKitTestRunner/TestInvocation.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::installCustomMenuAction): (WTR::TestController::setAllowedMenuActions): * WebKitTestRunner/cocoa/TestRunnerWKWebView.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: (-[TestRunnerWKWebView initWithFrame:configuration:]): (-[TestRunnerWKWebView becomeFirstResponder]): (-[TestRunnerWKWebView _addCustomItemToMenuControllerIfNecessary]): Helper method that converts web view's current custom menu action info into a UIMenuItem, and adds it to the shared menu controller. This is also invoked when the web view becomes first responder, which matches behavior in the Mail app on iOS. (-[TestRunnerWKWebView installCustomMenuAction:dismissesAutomatically:callback:]): (-[TestRunnerWKWebView setAllowedMenuActions:]): (-[TestRunnerWKWebView resetCustomMenuAction]): (-[TestRunnerWKWebView performCustomAction:]): (-[TestRunnerWKWebView canPerformAction:withSender:]): (-[TestRunnerWKWebView _willHideMenu]): (-[TestRunnerWKWebView _didHideMenu]): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): Reset both any custom installed actions on the shared menu controller, as well as the list of allowed actions, if specified. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::isDismissingMenu const): 2019-04-16 Megan Gardner Allow sharing from imageSheet on an image document https://bugs.webkit.org/show_bug.cgi?id=196891 Reviewed by Tim Horton. Test to make sure that the correct imageURL is extracted from an image element. * TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm: (TestWebKitAPI::TEST): 2019-04-16 Alex Christensen REGRESSION(r244162) Clearing website data from ephemeral WKWebsiteDataStore should finish instead of asserting or hanging https://bugs.webkit.org/show_bug.cgi?id=196995 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TEST): 2019-04-16 Chris Dumez URL set by document.open() is not communicated to the UIProcess https://bugs.webkit.org/show_bug.cgi?id=196941 Reviewed by Geoff Garen. Add API test coverage. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/open-window-then-write-to-it.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm: (-[OpenWindowThenDocumentOpenUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]): (TEST): 2019-04-16 Commit Queue Unreviewed, rolling out r244321. https://bugs.webkit.org/show_bug.cgi?id=196968 Causing all WK2 Debug builds to exit early after Assertion failures. (Requested by ShawnRoberts on #webkit). Reverted changeset: "URL set by document.open() is not communicated to the UIProcess" https://bugs.webkit.org/show_bug.cgi?id=196941 https://trac.webkit.org/changeset/244321 2019-04-15 Aakash Jain Regression (r244291): Broken API Test AutoLayoutRenderingProgressRelativeOrdering https://bugs.webkit.org/show_bug.cgi?id=196948 Reviewed by Zalan Bujtas. * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm: (TEST): Disabling the test for now to keep infrastructure happy, while the root-cause is being investigated. 2019-04-15 Chris Dumez URL set by document.open() is not communicated to the UIProcess https://bugs.webkit.org/show_bug.cgi?id=196941 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/open-window-then-write-to-it.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm: (-[OpenWindowThenDocumentOpenUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]): (TEST): 2019-04-15 Dean Johnson Using Tools/Scripts/clean-webkit should not install requests https://bugs.webkit.org/show_bug.cgi?id=196940 Reviewed by Lucas Forschler. * Scripts/webkitpy/common/system/autoinstall.py: Drive-by fix for no logging handlers existing, depending on the path autoinstalled is run through. * Scripts/webkitpy/port/base.py: Import webkitpy.results.upload.Upload only where it's needed. (Port.configuration_for_upload): (Port.commits_for_upload): 2019-04-15 Alex Christensen Add a DiagnosticLogging method taking an arbitrary dictionary of values. https://bugs.webkit.org/show_bug.cgi?id=196773 Reviewed by Jer Noble. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDiagnosticLogging.mm: (-[TestLoggingDelegate _webView:logDiagnosticMessage:description:valueDictionary:]): (TEST): 2019-04-15 Aakash Jain ews-build should clearly indicate flaky test failures https://bugs.webkit.org/show_bug.cgi?id=196947 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (AnalyzeAPITestsResults.analyzeResults): 2019-04-15 Brent Fulgham InjectedBundle parameters often need initialization function called before unarchiving https://bugs.webkit.org/show_bug.cgi?id=189709 Reviewed by Ryosuke Niwa. * TestWebKitAPI/cocoa/WebProcessPlugIn/WebProcessPlugIn.mm: (-[WebProcessPlugIn additionalClassesForParameterCoder]): Added. 2019-04-12 Ryosuke Niwa HashTable::removeIf always shrinks the hash table by half even if there is nothing left https://bugs.webkit.org/show_bug.cgi?id=196681 Reviewed by Darin Adler. Added tests. * TestWebKitAPI/Tests/WTF/HashSet.cpp: (WTF_HashSet.RemoveIf): (WTF_HashSet.RemoveIfShrinkToBestSize): 2019-04-15 John Wilander Send delayed Ad Click Attribution conversion requests to the click source https://bugs.webkit.org/show_bug.cgi?id=196838 Reviewed by Chris Dumez and Youenn Fablet. This patch adds test infrastructure to override the default behavior in WebKit::NetworkAdClickAttribution. * TestWebKitAPI/Tests/WebCore/AdClickAttribution.cpp: (TestWebKitAPI::TEST): * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::dumpAdClickAttribution): (WTR::TestRunner::clearAdClickAttribution): (WTR::TestRunner::setAdClickAttributionOverrideTimerForTesting): (WTR::TestRunner::setAdClickAttributionConversionURLForTesting): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::setAdClickAttributionOverrideTimerForTesting): (WTR::TestController::setAdClickAttributionConversionURLForTesting): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2019-04-15 Aakash Jain [ews-app] status-bubble should display position in queue https://bugs.webkit.org/show_bug.cgi?id=196607 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._build_bubble): (StatusBubble._queue_position): Method to calculate patch's position in queue. 2019-04-15 Aakash Jain [ews-build] Do not run clean build by default on EWS builders https://bugs.webkit.org/show_bug.cgi?id=196897 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (ApplyPatch.start): Do not create .buildbot-patched file. This is a special file for Buildbot and if this file is present, during the Source checkout, Buildbot cleans the working directory completely (including removing untracked directories like WebKitBuild). (CheckOutSource.__init__): Pass method=clean so that Buildbot clean the working directory. This does not remove untracked files/directories (like WebKitBuild). 2019-04-15 Per Arne Vollan TestRunner::notifyDone() should be safely reentrant https://bugs.webkit.org/show_bug.cgi?id=196898 Reviewed by Darin Adler. It is currently possible that TestRunner::notifyDone() will call itself, since notifyDone() will force a repaint, which can start executing JavaScript, which may call notifyDone() again. This can lead to test failures and flakiness. Fix this by setting the m_waitToDump flag before calling the dump() method. * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::notifyDone): (TestRunner::forceImmediateCompletion): * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::notifyDone): (TestRunner::forceImmediateCompletion): 2019-04-15 Philippe Normand [GTK][WPE] Add enable-media websetting https://bugs.webkit.org/show_bug.cgi?id=196863 Reviewed by Michael Catanzaro. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettings): Add test for the enable-media web-setting. 2019-04-14 Wenson Hsieh API test WKAttachmentTests.AddAttachmentToConnectedImageElement is a flaky failure on Mac Release builds https://bugs.webkit.org/show_bug.cgi?id=196905 Reviewed by Tim Horton. This flaky test exercises a race condition between when attachment insertion updates are dispatched from the web process to the UI process, and when script is executed via -[WKWebView evaluateJavaScript:completionHandler:]. Since attachment insertion and removal updates from the web process to the UI process are scheduled on a zero- delay timer, we end up with this sequence of events in the problematic (failure) case: (a) [UI] Run script #1 (which calls `HTMLAttachmentElement.getAttachmentIdentifier`) ...IPC from UI to web process... (b) [Web] Evaluate script #1 in the web process, which schedules attachment updates on a zero-delay timer ...IPC from web to UI process... (c) [UI] Invoke completion handler for script #1 (d) [UI] Run script #2 (which calls `document.querySelector('img').attachmentIdentifier`) ...IPC from UI to web process... (e) [Web] Evaluate script #2 in the web process (f) [Web] Zero-delay timer fires and dispatches attachment updates to the UI process ...which means that script #2 will complete before the UI process has received the attachment updates sent in step (f). However, in the case where the flaky test succeeds, the zero-delay timer in (f) fires *before* script #2 is run in step (e). This patch fixes the flaky test by waiting until attachment insertion updates are guaranteed to be received in the UI process by waiting on a script message posted by the web process, after attachment updates are dispatched. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): 2019-04-14 Aakash Jain Disable Flaky API Test WKAttachmentTests.AddAttachmentToConnectedImageElement https://bugs.webkit.org/show_bug.cgi?id=196909 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): 2019-04-13 Tadeu Zagallo CodeCache should check that the UnlinkedCodeBlock was successfully created before caching it https://bugs.webkit.org/show_bug.cgi?id=196880 Reviewed by Yusuke Suzuki. Add a new function for bytecode cache tests that does not forceDiskCache for the second run: runBytecodeCacheNoAssetion. This is necessary for the test added in this patch, since the code is invalid and therefore won't be cached. It should also be useful for tests that evaluate dynamically generated code. * Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper.sh: * Scripts/run-jsc-stress-tests: 2019-04-12 Eric Carlson Update AudioSession route sharing policy https://bugs.webkit.org/show_bug.cgi?id=196776 Reviewed by Jer Noble. * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm: (TestWebKitAPI::routeSharingPolicyLongFormVideo): (TestWebKitAPI::routeSharingPolicyLongFormAudio): (TestWebKitAPI::TEST): 2019-04-12 Wenson Hsieh [iOS] Software keyboard is shown too frequently on some websites https://bugs.webkit.org/show_bug.cgi?id=195856 Reviewed by Darin Adler. Add support for attaching or detaching the hardware keyboard on iOS in layout tests. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::setHardwareKeyboardAttached): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::setHardwareKeyboardAttached): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig: Additionally link against GraphicsServices in WebKitTestRunner. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::UIScriptController::setHardwareKeyboardAttached): 2019-04-12 Ludovico de Nittis [GTK][WPE] Fix pacman install-dependencies packages https://bugs.webkit.org/show_bug.cgi?id=196817 Reviewed by Žan Doberšek. python3-setuptools is called python-setuptools ruby-highline is only available on AUR libv4l-devel is incorporated in v4l-utils * gtk/install-dependencies: * wpe/install-dependencies: 2019-04-11 Carlos Garcia Campos [GTK] REGRESSION(r243860): Many tests failing https://bugs.webkit.org/show_bug.cgi?id=196791 Reviewed by Joanmarie Diggs. Rework the accessibility unit test to use DBus for the communication with the server. This way we can load multiple documents and check that accessibility hierarchy is updated after a navigation. * TestWebKitAPI/Tests/WebKitGtk/AccessibilityTestServer.cpp: (loadChangedCallback): * TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp: (AccessibilityTest::AccessibilityTest): (AccessibilityTest::~AccessibilityTest): (AccessibilityTest::loadHTMLAndWaitUntilFinished): (AccessibilityTest::findTestServerApplication): (AccessibilityTest::findDocumentWeb): (AccessibilityTest::findRootObject): (AccessibilityTest::waitUntilChildrenRemoved): (AccessibilityTest::ensureProxy): (testAtspiBasicHierarchy): (beforeAll): (afterAll): 2019-04-11 Aakash Jain [ews-build] Handle bug titles with unicode characters https://bugs.webkit.org/show_bug.cgi?id=196802 Reviewed by Dewei Zhu. * BuildSlaveSupport/ews-build/steps.py: (ValidatePatch._is_bug_closed): 2019-04-11 Michael Saboff Improve the Inline Cache Stats code https://bugs.webkit.org/show_bug.cgi?id=196836 Reviewed by Saam Barati. Added a new script to consolidate and arrange the output of --useICStats option. This script merges the output from every group into one large table and sorts it from most common to least common. It also counts the slow path GetById and PutById variants and then calculates the percentage of gets or puts for each unique base,property pair compared to all the gets and puts. Put together, this is useful to see what property accesses are not getting cached. * Scripts/ic-stats.py: Added. (ICStats): (ICStats.__init__): (ICStats.parse): (ICStats.dumpStats): (usage): 2019-04-10 Alex Christensen WKNavigationResponse._downloadAttribute should be nil when no download attribute is present https://bugs.webkit.org/show_bug.cgi?id=196809 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm: (TEST): 2019-04-10 Said Abou-Hallawa requestAnimationFrame should execute before the next frame https://bugs.webkit.org/show_bug.cgi?id=177484 Reviewed by Simon Fraser. Add trace points for the page RenderingUpdate. * Tracing/SystemTracePoints.plist: 2019-04-10 Fujii Hironori [Win] Use a bundled vswhere.exe instead of downloading by update-vswhere.py https://bugs.webkit.org/show_bug.cgi?id=196760 Reviewed by Don Olmstead. vswhere.exe has been bundled since Visual Studio 2017 version 15.2. We shouldn't download vswhere.exe. * Scripts/build-jsc: Do not call update-vswhere.py. * Scripts/build-webkit: Ditto. * Scripts/update-vswhere.py: Removed. * Scripts/webkitdirs.pm: (requireModulesForVSWhere): Deleted. (pickCurrentVisualStudioInstallation): Deleted. (visualStudioInstallDirVSWhere): Return the latest installed VS installation path by using the bundled vswhere.exe. (setupCygwinEnv): Removed a unused variable $visualStudioPath. (visualStudioInstallDirFallback): Removed. 2019-04-10 Aakash Jain [ews-build] PrintConfiguration should display Xcode version instead of SDKVersion https://bugs.webkit.org/show_bug.cgi?id=196780 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/ews-build/steps.py: * BuildSlaveSupport/ews-build/steps_unittest.py: 2019-04-10 Alex Christensen Add SPI WKNavigationResponse._downloadAttribute https://bugs.webkit.org/show_bug.cgi?id=196755 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm: (-[NavigationResponseTestDelegate navigationResponse]): (-[NavigationResponseTestDelegate waitForNavigationResponseCallback]): (-[NavigationResponseTestDelegate waitForNavigationFinishedCallback]): (-[NavigationResponseTestDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): (-[NavigationResponseTestDelegate webView:didFinishNavigation:]): (-[NavigationResponseTestDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): (readRequest): (writeResponse): (TEST): 2019-04-10 Tim Horton Add modern API for overriding the page's specified viewport configuration https://bugs.webkit.org/show_bug.cgi?id=167734 Reviewed by Simon Fraser. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/OverrideViewportArguments.mm: Added. 2019-04-10 Tadeu Zagallo Add support for incremental bytecode cache updates https://bugs.webkit.org/show_bug.cgi?id=195000 Reviewed by Filip Pizlo. Exit when the initial run to generate bytecode fails. * Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper.sh: 2019-04-10 Alex Christensen RemoteObjectRegistry message receiver should be removed when WebPage::close is called instead of waiting until dealloc https://bugs.webkit.org/show_bug.cgi?id=196744 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/BundleRetainPagePlugIn.mm: (-[BundleRetainPagePlugIn webProcessPlugIn:didCreateBrowserContextController:]): 2019-04-10 Wenson Hsieh Add a way to opt into modern compatibility mode in layout tests https://bugs.webkit.org/show_bug.cgi?id=196770 Reviewed by Antoine Quint. Add a new test option to enable modern compatibility mode in layout tests. * WebKitTestRunner/TestController.cpp: (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): (WTR::TestController::enableModernCompatibilityMode): 2019-04-10 Andy Estes Try to fix the 32-bit watchOS build. * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[TestWKWebView evaluateJavaScriptAndWaitForInputSessionToChange:]): 2019-04-10 Antoine Quint Enable Pointer Events on watchOS https://bugs.webkit.org/show_bug.cgi?id=196771 Reviewed by Dean Jackson. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-04-10 Philippe Normand Unreviewed. Fix WPE accessibility tests after r244059. We are failing to load the injected bundle due to undefined symbol AccessibilityUIElement::replaceTextInRange(). * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp: (WTR::AccessibilityUIElement::replaceTextInRange): 2019-04-10 Takashi Komori [WinCairo][MiniBrowser] Pull down menu "Disable JavaScript" doesn't work. https://bugs.webkit.org/show_bug.cgi?id=196727 Reviewed by Fujii Hironori. * MiniBrowser/win/WebKitBrowserWindow.cpp: (WebKitBrowserWindow::create): 2019-04-09 Aakash Jain [ews-build] Add unit tests for PrintConfiguration https://bugs.webkit.org/show_bug.cgi?id=196752 Reviewed by Dewei Zhu. * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests. 2019-04-09 Keith Rollin Unreviewed build maintenance -- update .xcfilelists. * DumpRenderTree/DerivedSources-input.xcfilelist: * DumpRenderTree/DerivedSources-output.xcfilelist: 2019-04-09 Zalan Bujtas [AutoSizing] Avoid making text paragraphs scroll horizontally when there is a wide table https://bugs.webkit.org/show_bug.cgi?id=196743 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm: expected behavior change. (TEST): 2019-04-09 Youenn Fablet Close service worker database on network process suspension https://bugs.webkit.org/show_bug.cgi?id=196623 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2019-04-09 Daniel Bates [iPad] Should open popover when the spacebar is pressed https://bugs.webkit.org/show_bug.cgi?id=196360 Reviewed by Brent Fulgham. Add testing infrastructure to support waiting for a popover to be presented or dismissed. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::isShowingPopover const): Added. (WTR::UIScriptController::platformSetWillPresentPopoverCallback): Added. (WTR::UIScriptController::platformSetDidDismissPopoverCallback): Added. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptContext.h: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::setWillPresentPopoverCallback): Added. (WTR::UIScriptController::willPresentPopoverCallback const): Added. (WTR::UIScriptController::setDidDismissPopoverCallback): Added. (WTR::UIScriptController::didDismissPopoverCallback const): Added. (WTR::UIScriptController::isShowingPopover const): Added. (WTR::UIScriptController::platformSetWillPresentPopoverCallback): Added. (WTR::UIScriptController::platformSetDidDismissPopoverCallback): Added. * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: (-[TestRunnerWKWebView initWithFrame:configuration:]): Update some state. (-[TestRunnerWKWebView resetInteractionCallbacks]): Ditto. (-[TestRunnerWKWebView _willPresentPopover]): Added. (-[TestRunnerWKWebView _didDismissPopover]): Added. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::isShowingPopover const): Added. (WTR::UIScriptController::platformSetWillPresentPopoverCallback): Added. (WTR::UIScriptController::platformSetDidDismissPopoverCallback): Added. 2019-04-09 Alex Christensen Clicking "Go Back" from a safe browsing warning from an iframe should navigate the WKWebView back to the previous page https://bugs.webkit.org/show_bug.cgi?id=196665 Reviewed by Geoff Garen. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (goBack): (+[SimpleLookupContext sharedLookupContext]): (-[SimpleLookupContext lookUpURL:completionHandler:]): (TEST): (+[Simple3LookupContext sharedLookupContext]): Deleted. (-[Simple3LookupContext lookUpURL:completionHandler:]): Deleted. 2019-04-09 John Wilander Pick up Ad Click Attribution conversions in NetworkResourceLoader::willSendRedirectedRequest() https://bugs.webkit.org/show_bug.cgi?id=196558 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WebCore/AdClickAttribution.cpp: (TestWebKitAPI::TEST): Added tests of WebCore::AdClickAttribution::parseConversionRequest(). 2019-04-09 Don Olmstead [CMake] Apple builds should use ICU_INCLUDE_DIRS https://bugs.webkit.org/show_bug.cgi?id=196720 Reviewed by Konstantin Tokarev. * TestWebKitAPI/PlatformMac.cmake: 2019-04-09 Jonathan Bedard iOS 12 Simulator Release WK2 frequently timing out while running layout tests https://bugs.webkit.org/show_bug.cgi?id=196694 Rubber-stamped by Aakash Jain. * Scripts/webkitpy/port/image_diff.py: (ImageDiffer.diff_image): If the ImageDiff process has data, kill it before running again. * Scripts/webkitpy/port/server_process.py: (ServerProcess.has_available_stdout): Check if stdout has data in it. (ServerProcess._wait_for_data_and_update_buffers_using_select): (ServerProcess._wait_for_data_and_update_buffers_using_win32_apis): * Scripts/webkitpy/port/server_process_mock.py: (MockServerProcess.has_available_stdout): * Scripts/webkitpy/port/server_process_unittest.py: (TestServerProcess.serial_test_basic): 2019-04-09 Jer Noble Test for: 196095 Inband Text Track cues interspersed with Data cues can display out of order. https://bugs.webkit.org/show_bug.cgi?id=196097 Reviewed by Eric Carlson. Drive-by bug fix: allow tests to play audio without a user gesture by default. * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebPreferencesToConsistentValues): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): 2019-04-09 Pablo Saavedra [JSCOnly] Add an i386 JSCOnly EWS that runs tests https://bugs.webkit.org/show_bug.cgi?id=196690 Reviewed by Michael Catanzaro. * QueueStatusServer/config/queues.py: * Scripts/webkitpy/common/config/ews.json: * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: (test_ews_name): 2019-04-09 Chris Dumez Loads using loadHTMLString() cause flashing when process-swapping https://bugs.webkit.org/show_bug.cgi?id=196714 Reviewed by Antti Koivisto. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-04-09 Carlos Garcia Campos Unreviewed. Fix ATK accessibility tests after r244059. We are failing to load the injected bundle due to undefined symbol AccessibilityUIElement::replaceTextInRange(). * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: (WTR::AccessibilityUIElement::replaceTextInRange): 2019-04-08 Fujii Hironori AX: Support API: accessibilityReplaceRange:withText https://bugs.webkit.org/show_bug.cgi?id=196636 Unreviewed build fix for Windows port. * WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp: (WTR::AccessibilityUIElement::replaceTextInRange): Added. 2019-04-08 Don Olmstead [CMake][WinCairo] Separate copied headers into different directories https://bugs.webkit.org/show_bug.cgi?id=196655 Reviewed by Michael Catanzaro. * DumpRenderTree/CMakeLists.txt: * MiniBrowser/win/CMakeLists.txt: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformWin.cmake: 2019-04-08 Jonathan Bedard Log stack-trace for run-webkit-tests when interrupted https://bugs.webkit.org/show_bug.cgi?id=176393 Reviewed by Lucas Forschler. * Scripts/webkitpy/common/interrupt_debugging.py: Added. (log_stack_trace): Given a Python frame object, log a stack trace to the provided file. (StackTraceFileContext): Context which allows stack-traces to be printed to stderr or to a file. (log_stack_trace_on_term): Attach a listener to SIGTERM so that a stack-trace can be logged when a program is terminated. (log_stack_trace_on_ctrl_c): Attach a listener to SIGINT so that a stack-trace can be logged when a program is CTRL+Ced. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (main): Set handlers to log stack trace on interruption. 2019-04-08 Fujii Hironori AX: Support API: accessibilityReplaceRange:withText https://bugs.webkit.org/show_bug.cgi?id=196636 Unreviewed build fix for Windows port. * DumpRenderTree/AccessibilityUIElement.cpp: (AccessibilityUIElement::replaceTextInRange): Changed the return value type from void to bool. 2019-04-08 Aakash Jain [ews-build] Scripts using Buildbot API have CORS error https://bugs.webkit.org/show_bug.cgi?id=196709 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/ews-build/master.cfg: Set allowed_origins appropriately. 2019-04-08 Chris Fleizach AX: Support API: accessibilityReplaceRange:withText https://bugs.webkit.org/show_bug.cgi?id=196636 Reviewed by Daniel Bates. * DumpRenderTree/AccessibilityUIElement.cpp: (replaceTextInRangeCallback): (AccessibilityUIElement::replaceTextInRange): (AccessibilityUIElement::getJSClass): * DumpRenderTree/AccessibilityUIElement.h: * DumpRenderTree/ios/AccessibilityUIElementIOS.mm: (AccessibilityUIElement::replaceTextInRange): * DumpRenderTree/mac/AccessibilityUIElementMac.mm: (AccessibilityUIElement::replaceTextInRange): * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::AccessibilityUIElement::replaceTextInRange): * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::AccessibilityUIElement::replaceTextInRange): 2019-04-08 Wenson Hsieh [iOS] Do not allow starting selection drags when selection views are not visible https://bugs.webkit.org/show_bug.cgi?id=196686 Reviewed by Tim Horton. Adjust some existing API tests to make the web view become first responder before trying to begin dragging, and also add some new API tests to cover scenarios where the web view is not first responder. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/cocoa/DragAndDropSimulator.h: Add a switch to optionally make the web view first responder when starting the simulated drag. * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[DragAndDropSimulator initWithWebView:]): (-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]): 2019-04-08 Justin Fan [Web GPU] Fix Web GPU experimental feature on iOS https://bugs.webkit.org/show_bug.cgi?id=196632 Reviewed by Myles C. Maxfield. Properly make Web GPU available on iOS 11+. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-04-08 Aakash Jain [ews-build] Do not upload archive when Compile Fails https://bugs.webkit.org/show_bug.cgi?id=196674 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/ews-build/factories.py: (BuildFactory.__init__): Remove steps which require dynamic decision about whether to run or not. * BuildSlaveSupport/ews-build/steps.py: (CompileWebKit.evaluateCommand): Dynamically decide which steps to run based on compile status. (CompileWebKitToT.evaluateCommand): Explicitly override Compile.evaluateCommand so that it doesn't inherit CompileWebKit.evaluateCommand which dynamically adds more steps. 2019-04-08 Guillaume Emont Enable DFG on MIPS https://bugs.webkit.org/show_bug.cgi?id=196689 Reviewed by Žan Doberšek. Since the bytecode change, we enabled the baseline JIT on mips in r240432, but DFG is still missing. With this change, all tests are passing on a ci20 board. * Scripts/run-jsc-stress-tests: Enable DFG tests on MIPS. 2019-04-08 Philippe Normand [Flatpak] Second run update-webkitwpe-flatpak fails https://bugs.webkit.org/show_bug.cgi?id=192702 Reviewed by Carlos Garcia Campos. * flatpak/flatpakutils.py: (FlatpakObject.flatpak): Fix typo. (FlatpakPackage.install): When installing, also update to the configured remote commit. * flatpak/org.webkit.WebKit.yaml: Update GNOME 3.28 SDK/runtime hashes. 2019-04-05 Sergio Villar Senin [GTK][WPE] outlook.live.com displays old-fashioned UI https://bugs.webkit.org/show_bug.cgi?id=196642 Reviewed by Carlos Garcia Campos. * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp: (TestWebKitAPI::TEST): New Mac platform quirk test. 2019-04-07 Commit Queue Unreviewed, rolling out r243956. https://bugs.webkit.org/show_bug.cgi?id=196688 Broke API Test SafeBrowsing.WKWebViewGoBackIFrame (Requested by aakashjain on #webkit). Reverted changeset: "Clicking "Go Back" from a safe browsing warning from an iframe should navigate the WKWebView back to the previous page" https://bugs.webkit.org/show_bug.cgi?id=196665 https://trac.webkit.org/changeset/243956 2019-04-06 Ryosuke Niwa Added tests for WeakHashSet::computesEmpty and WeakHashSet::computeSize https://bugs.webkit.org/show_bug.cgi?id=196669 Reviewed by Geoffrey Garen. Added three new unit tests for WeakHashSet. * TestWebKitAPI/Tests/WTF/WeakPtr.cpp: (WTF_WeakPtr.WeakHashSetConstObjects): (WTF_WeakPtr.WeakHashSetComputesEmpty): (WTF_WeakPtr.WeakHashSetComputeSize): 2019-04-06 Wenson Hsieh Hide next and previous form control buttons when WKWebView is editable https://bugs.webkit.org/show_bug.cgi?id=196672 Reviewed by Tim Horton. Add a new API test. * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: (-[TestWKWebView lastTrailingBarButtonGroup]): (TestWebKitAPI::TEST): * TestWebKitAPI/ios/UIKitSPI.h: 2019-04-05 Yongjun Zhang We should pass minimumEffectiveDeviceWidth to web process on new page creation. https://bugs.webkit.org/show_bug.cgi?id=196077 Reviewed by Chris Dumez. Add an API test to verify the minimumEffectDeviceWidth is passed to web content process on new web view. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-04-05 Saam Barati Make compare-results understand MotionMark https://bugs.webkit.org/show_bug.cgi?id=196666 Reviewed by Yusuke Suzuki. * Scripts/compare-results: (PLT5Results): (detectMotionMark): (detectMotionMark1_1): (motionMarkResults): (motionMark1_1Results): (detectBenchmark): (biggerIsBetter): (main): 2019-04-05 Alex Christensen Clicking "Go Back" from a safe browsing warning from an iframe should navigate the WKWebView back to the previous page https://bugs.webkit.org/show_bug.cgi?id=196665 Reviewed by Geoff Garen. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (goBack): (+[SimpleLookupContext sharedLookupContext]): (-[SimpleLookupContext lookUpURL:completionHandler:]): (TEST): (+[Simple3LookupContext sharedLookupContext]): Deleted. (-[Simple3LookupContext lookUpURL:completionHandler:]): Deleted. 2019-04-05 Aakash Jain [ews-build] Add configuration and architecture for windows builders https://bugs.webkit.org/show_bug.cgi?id=196660 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/config.json: 2019-04-05 Jonathan Bedard webkitpy: Don't run subsequent rounds if interrupted https://bugs.webkit.org/show_bug.cgi?id=196646 Reviewed by Aakash Jain. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.run): Bail out if interrupted. 2019-04-05 Sihui Liu Test sessionStorage in PSON private browsing mode https://bugs.webkit.org/show_bug.cgi?id=196561 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-04-05 Commit Queue Unreviewed, rolling out r243833. https://bugs.webkit.org/show_bug.cgi?id=196645 This change breaks build of WPE and GTK ports (Requested by annulen on #webkit). Reverted changeset: "[CMake][WTF] Mirror XCode header directories" https://bugs.webkit.org/show_bug.cgi?id=191662 https://trac.webkit.org/changeset/243833 2019-04-04 Simon Fraser Simple iframe scrolling test fails to get a composited scrolling frame in WebKitTestRunnerApp https://bugs.webkit.org/show_bug.cgi?id=196635 Reviewed by Antti Koivisto. InjectedBundle::beginTesting() calling WKBundleSetAsyncFrameScrollingEnabled() makes it impossible for a test to enable async frame scrolling via: so remove it and have TestController::resetPreferencesToConsistentValues() set the default value. Test: scrollingcoordinator/ios/programmatic-frame-scroll.html * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): 2019-04-04 Alexey Proskuryakov Use a correct LC_RPATH when building with ASan https://bugs.webkit.org/show_bug.cgi?id=196576 Reviewed by David Kilzer. * asan/asan.xcconfig: As a temporary hack, just force LC_RPATH on all binaries, so that ../Frameworks is checked. This is simpler and more reliable than updating each SPC service xcconfig. 2019-04-04 Aakash Jain Disable Flaky API Test TestWebKitAPI.WebKit.FocusTextInputContext https://bugs.webkit.org/show_bug.cgi?id=196629 Reviewed by Lucas Forschler. * TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm: 2019-04-04 Aakash Jain [ews-app] while waiting in queue status-bubble for testers queues should display build information from builder queue https://bugs.webkit.org/show_bug.cgi?id=196618 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble): Added QUEUE_TRIGGERS. (StatusBubble._build_bubble): Get the build from builder if tester has not started the build yet. (StatusBubble._get_parent_queue): Get the name of the parent (builder) queue. (StatusBubble.get_latest_build_for_queue): If the queue doesn't have any build yet, return build information from its parent(builder). 2019-04-04 Aakash Jain [ews-app] Status-bubble steps are sometimes displayed in reverse order https://bugs.webkit.org/show_bug.cgi?id=196625 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._steps_messages): Explicitly specify order_by('uid'). 2019-04-04 Aakash Jain Disable Flaky API Test TestWebKitAPI.KeyboardInputTests.KeyboardTypeForInput https://bugs.webkit.org/show_bug.cgi?id=196630 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: 2019-04-04 Youenn Fablet Pass storage quota parameters from UIProcess to NetworkProcess as part of WebsiteDataStore parameters https://bugs.webkit.org/show_bug.cgi?id=196543 Reviewed by Alex Christensen. * WebKitTestRunner/TestController.cpp: (WTR::TestController::generatePageConfiguration): 2019-04-04 Aakash Jain [ews-app] Status bubble should not display skipped buildbot steps https://bugs.webkit.org/show_bug.cgi?id=196584 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: 2019-04-04 Aakash Jain [ews-app] configure localhost as BUILDBOT_SERVER_HOST in testing mode https://bugs.webkit.org/show_bug.cgi?id=196620 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/config.py: 2019-04-04 Per Arne Vollan [Win] DumpRenderTreeWatchDog.py is not checked into source https://bugs.webkit.org/show_bug.cgi?id=196567 Reviewed by Lucas Forschler. This script is used on Win EWS bots to terminate hanging DRT processes. * EWSTools/dumprendertreewatchdog.py: Added. 2019-04-04 Chris Dumez Unreviewed, roll out r243858 which made tests time out. Disable new API tests on Windows instead. * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp: (TestWebKitAPI::TEST): 2019-04-03 Carlos Garcia Campos [ATK] Cleanup WebPageAccessibilityObjectAtk https://bugs.webkit.org/show_bug.cgi?id=196537 Reviewed by Michael Catanzaro. Also consider files under atk directories as exceptions for GObject conventions. * Scripts/webkitpy/style/checkers/cpp.py: (check_identifier_name_in_declaration): 2019-04-03 Fujii Hironori The page's focusedFrame / frameSetLargestFrame do not get cleared on process swap or crash https://bugs.webkit.org/show_bug.cgi?id=196588 Unreviewed build fix for Windows port. error C3861: 'kill': identifier not found * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp: (TestWebKitAPI::TEST): Replaced kill with WKPageTerminate. 2019-04-03 Aakash Jain [ews-build] Cancel build and similar operations should have authentication https://bugs.webkit.org/show_bug.cgi?id=196520 Reviewed by Dewei Zhu. * BuildSlaveSupport/ews-build/master.cfg: Configure authentication using admin's username and password from environment variables. 2019-04-03 Aakash Jain [ews-build] Do not trigger queues which are not in production yet https://bugs.webkit.org/show_bug.cgi?id=196581 Reviewed by Dewei Zhu. * BuildSlaveSupport/ews-build/config.json: 2019-04-03 Chris Dumez Unreviewed, fix typo in the name of API test added in r243848. * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp: (TestWebKitAPI::TEST): 2019-04-03 Chris Dumez The page's focusedFrame / frameSetLargestFrame do not get cleared on process swap or crash https://bugs.webkit.org/show_bug.cgi?id=196588 Reviewed by Ryosuke Niwa. Add API test coverage. * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp: (TestWebKitAPI::nullJavaScriptCallback): (TestWebKitAPI::didCrashCheckFrames): (TestWebKitAPI::TEST): 2019-04-03 Jonathan Bedard run-webkit-tests: Upload test results (new results database) https://bugs.webkit.org/show_bug.cgi?id=196577 Reviewed by Lucas Forschler. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.run): Upload results after each device shard, since the configuration will be different for each device. (Manager._results_to_upload_json_trie): Convert a TestRunResults object to a trie to be uploaded to a results database. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): Add new 'Upload Options' and prepare 'Results JSON Options' for deprecation. 2019-04-03 Myles C. Maxfield -apple-trailing-word is needed for browser detection https://bugs.webkit.org/show_bug.cgi?id=196575 Unreviewed. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-04-03 Don Olmstead [CMake][WTF] Mirror XCode header directories https://bugs.webkit.org/show_bug.cgi?id=191662 Reviewed by Konstantin Tokarev. Use WTFFramework as a dependency and include frameworks/WTF.cmake for AppleWin internal builds. * CMakeLists.txt: * DumpRenderTree/CMakeLists.txt: * DumpRenderTree/PlatformWin.cmake: * MiniBrowser/win/CMakeLists.txt: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformWin.cmake: * WebKitTestRunner/PlatformGTK.cmake: * WebKitTestRunner/PlatformWin.cmake: 2019-04-03 Aakash Jain [ews-app] Status bubble should not display certain infrastructure status messages https://bugs.webkit.org/show_bug.cgi?id=196550 Reviewed by Lucas Forschler. Do not display the steps which are un-needed for end-user. This information is still avaiable if the user click on the bubble and look at the Buildbot build. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._steps_messages): (StatusBubble._should_display_step): Method to decide whether to display the step or not. 2019-04-03 Aakash Jain [ews-build] Use https for sending data to ews-app https://bugs.webkit.org/show_bug.cgi?id=196492 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/events.py: 2019-04-03 Myles C. Maxfield Remove support for -apple-trailing-word https://bugs.webkit.org/show_bug.cgi?id=196525 Reviewed by Zalan Bujtas. This CSS property is nonstandard and not used. * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-04-03 Youenn Fablet Add a test for DOMCache on multiple browsing in case of private browsing https://bugs.webkit.org/show_bug.cgi?id=196524 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: (-[SWMessageHandlerForCacheStorage userContentController:didReceiveScriptMessage:]): 2019-04-03 Jonathan Bedard [ews] Clean out ~/Library/Logs/CoreSimulator/ on reboot https://bugs.webkit.org/show_bug.cgi?id=196540 Reviewed by Aakash Jain. * EWSTools/start-queue-mac.sh: Remove CoreSimulator logs. 2019-04-03 Wenson Hsieh Add plumbing for a compatibility mode preference in WebKit https://bugs.webkit.org/show_bug.cgi?id=196005 Reviewed by Tim Horton. Add new API tests. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/ios/PreferredCompatibilityMode.mm: Added. 2019-04-03 Claudio Saavedra [WPE][GTK] Update libsrtp dependency package for Debian https://bugs.webkit.org/show_bug.cgi?id=196528 Reviewed by Frédéric Wang. * gtk/install-dependencies: * wpe/install-dependencies: 2019-04-02 Fujii Hironori [WK2] Add support for Window's beforeprint / afterprint events https://bugs.webkit.org/show_bug.cgi?id=196478 Unreviewed build fix for MSVC. > WebKitTestRunner\TestController.cpp(267): error C2397: conversion from 'double' to 'float' requires a narrowing conversion And, there is a style guideline. * WebKitTestRunner/TestController.cpp: (WTR::printFrame): Use int and float literals. 2019-04-02 Aakash Jain [ews-build] Reassign bots to queues * BuildSlaveSupport/ews-build/config.json: Reassigned ews150 and ews152. 2019-04-02 Chris Dumez [WK2] Add support for Window's beforeprint / afterprint events https://bugs.webkit.org/show_bug.cgi?id=196478 Reviewed by Alex Christensen. Add minimal implementation for printFrame in WebKitTestRunner. * WebKitTestRunner/TestController.cpp: (WTR::printFrame): (WTR::TestController::createOtherPage): (WTR::TestController::createWebViewWithOptions): 2019-04-02 Aakash Jain [ews-app] Status bubble hover over message should clearly indicate that build is in-progress https://bugs.webkit.org/show_bug.cgi?id=196491 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: 2019-04-02 Aakash Jain [ews-build] Configure buildbot try credentials in environment variables https://bugs.webkit.org/show_bug.cgi?id=196501 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/loadConfig.py: Read credentials from environment variables. * BuildSlaveSupport/ews-app/ews/common/buildbot.py: Rename BUILDBOT_PB_USERNAME to BUILDBOT_TRY_USERNAME. * BuildSlaveSupport/ews-app/ews/config.py: Ditto. 2019-04-02 Wenson Hsieh REGRESSION (r243726): Crash at unrecognized selector: -[WKWebpagePreferences webpagePreferences] https://bugs.webkit.org/show_bug.cgi?id=196496 Reviewed by Chris Dumez. Add new API tests (see WebKit ChangeLog for more detail). * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (-[WebsitePoliciesNavigationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): (TEST): 2019-04-02 David Kilzer Rename CLANG_ADDRESS_SANITIZER Xcode variable to ENABLE_ADDRESS_SANITIZER Reviewed by Alexey Proskuryakov. * asan/asan.xcconfig: Change CLANG_ADDRESS_SANITIZER to ENABLE_ADDRESS_SANITIZER. 2019-04-02 Fujii Hironori [CMake] WEBKIT_MAKE_FORWARDING_HEADERS shouldn't use POST_BUILD to copy generated headers https://bugs.webkit.org/show_bug.cgi?id=182757 Reviewed by Don Olmstead. * TestWebKitAPI/PlatformGTK.cmake: Removed the workaround of using an intermediate target. * TestWebKitAPI/PlatformWPE.cmake: Ditto. 2019-04-01 Jonathan Bedard run-api-tests: Upload test results https://bugs.webkit.org/show_bug.cgi?id=196323 Reviewed by Lucas Forschler. * Scripts/webkitpy/api_tests/manager.py: (Manager): (Manager.run): Upload results to a results database. * Scripts/webkitpy/api_tests/run_api_tests.py: (parse_args): Add upload arguments. * Scripts/webkitpy/port/base.py: (Port): (Port.configuration_for_upload): Creates a configuration dictionary for uploading results. (Port.commits_for_upload): Create a list of commits from the WebKit repository tests are run from along with commits from any other associated repositories. * Scripts/webkitpy/port/device.py: (Device): (Device.build_version): Access build_versoin of underlying platform device. * Scripts/webkitpy/port/ios_simulator_unittest.py: (IOSSimulatorTest): (IOSSimulatorTest.test_configuration_for_upload): * Scripts/webkitpy/port/device_port.py: (DevicePort): (DevicePort.configuration_for_upload): Devices are unique because their configuration is not the same as the machine uploading results. * Scripts/webkitpy/port/mac.py: (MacPort): (MacPort.configuration_for_upload): Define SDK in upload configuration for Mac. * Scripts/webkitpy/port/mac_unittest.py: (MacTest): (MacTest.test_configuration_for_upload): * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDeviceManager._create_device_with_runtime): (SimulatedDevice.__init__): Create simulated device with a build_version. * Scripts/webkitpy/xcode/simulated_device_unittest.py: (test_existing_simulator): 2019-04-01 Aakash Jain Remove extra newline characters (Follow-up fix to r243707) * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: 2019-04-01 Aakash Jain [ews-app] Use API_KEY to accept results data https://bugs.webkit.org/show_bug.cgi?id=196461 Reviewed by Dewei Zhu. * BuildSlaveSupport/ews-app/ews/views/results.py: (Results.post): Validate EWS_API_KEY before accepting any data. * BuildSlaveSupport/ews-build/events.py: (Events.sendData): Send EWS_API_KEY if available along with event data. 2019-04-01 Wenson Hsieh Unable to copy and paste a PDF from Notes into Mail compose body https://bugs.webkit.org/show_bug.cgi?id=196442 Reviewed by Tim Horton. Add new API tests to exercise pasting CNContact and MKMapItem-backed item providers. Additionally, adjust an existing test that pastes a PDF file as an attachment to not require UIPreferredPresentationStyleAttachment to be specified on the item providers. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::mapItemForTesting): (TestWebKitAPI::contactItemForTesting): 2019-04-01 Tim Horton Make UIWKDocumentContext rects per-character instead of per-word https://bugs.webkit.org/show_bug.cgi?id=196459 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm: (TEST): Adjust test results due to switching to per-character rects. 2019-04-01 Chris Dumez UIProcess crash when a prewarmed process is terminated https://bugs.webkit.org/show_bug.cgi?id=196451 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm: (TEST): 2019-04-01 Aakash Jain [ews-app] Display OS and Xcode configuration in status-bubble's hover-over message https://bugs.webkit.org/show_bug.cgi?id=196449 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble.get_os_details): Method to get OS and Xcode details. (StatusBubble._build_bubble): Moved the timestamp logic to common method. (StatusBubble.get_build_timestamp): Method to get the timestamp to display for the build. 2019-04-01 Aakash Jain [ews-build] Remove force schedulers from OpenSource EWS Buildbot https://bugs.webkit.org/show_bug.cgi?id=196444 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/loadConfig.py: Remove ForceSchedulers. 2019-04-01 Alex Christensen Add SPI to canonicalize NSURLs with WTF::URL https://bugs.webkit.org/show_bug.cgi?id=196415 Reviewed by Darin Adler. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitLegacy/mac/URLCanonicalization.mm: Added. (TestWebKitAPI::TEST): 2019-04-01 Zan Dobersek [WPE] EventSenderProxy constructor is called before a PlatformWindow is usable https://bugs.webkit.org/show_bug.cgi?id=196441 Reviewed by Carlos Garcia Campos. Don't cache the wpe_view_backend object that might not exist yet at the time of EventSenderProxy constructor invocation, but instead retrieve that object whenever it's required for event dispatching. This should avoid crashes in this constructor now that it's invoked before any PlatformWindow has been set up (as changed in r243496). * WebKitTestRunner/EventSenderProxy.h: * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp: (WTR::viewBackend): (WTR::EventSenderProxy::EventSenderProxy): (WTR::EventSenderProxy::mouseDown): (WTR::EventSenderProxy::mouseUp): (WTR::EventSenderProxy::mouseMoveTo): (WTR::EventSenderProxy::mouseScrollBy): (WTR::EventSenderProxy::keyDown): (WTR::EventSenderProxy::prepareAndDispatchTouchEvent): 2019-03-31 Fujii Hironori [Win][WebKit] MiniBrowser should support high DPI display https://bugs.webkit.org/show_bug.cgi?id=196391 Reviewed by Alex Christensen. * MiniBrowser/win/WebKitBrowserWindow.cpp: (WebKitBrowserWindow::WebKitBrowserWindow): Call resetZoom to set the page zoom factor. (WebKitBrowserWindow::resetZoom): Changed the default page zoom factor from 1 to the device scale factor. * MiniBrowser/win/stdafx.h: Define WEBCORE_EXPORT. 2019-03-31 Sam Weinig Remove more i386 specific configurations https://bugs.webkit.org/show_bug.cgi?id=196430 Reviewed by Alexey Proskuryakov. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: ENABLE_WEB_AUTHN_macosx and ENABLE_WEB_RTC_macosx can now be enabled unconditionally on macOS. 2019-03-31 Andy Estes [iOS] WebKit should consult the navigation response policy delegate before previewing a QuickLook document https://bugs.webkit.org/show_bug.cgi?id=196433 Reviewed by Tim Horton. Enhanced API test coverage to include all navigation response policy decisions in both linked-before and linked-on-or-after modes. Also added new expectations for all tests. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/ios/PreviewConverter.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp. (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm: (readFile): (-[QuickLookDelegate initWithExpectedFileURL:responsePolicy:]): (-[QuickLookDelegate initWithExpectedFileURL:previewMIMEType:responsePolicy:]): (-[QuickLookDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): (-[QuickLookDelegate _webView:didStartLoadForQuickLookDocumentInMainFrameWithFileName:uti:]): (-[QuickLookDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]): (-[QuickLookDelegate webView:didFailProvisionalNavigation:withError:]): (-[QuickLookDelegate _webViewWebProcessDidCrash:]): (-[QuickLookDelegate _downloadDidStart:]): (-[QuickLookDelegate _download:didReceiveResponse:]): (-[QuickLookDelegate _download:didReceiveData:]): (-[QuickLookDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]): (-[QuickLookDelegate _downloadDidFinish:]): (-[QuickLookDelegate _download:didFailWithError:]): (-[QuickLookDelegate _downloadDidCancel:]): (-[QuickLookDelegate verifyDownload]): (runTest): (runTestDecideBeforeLoading): (runTestDecideAfterLoading): (TEST): (-[QuickLookAsyncDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): (-[QuickLookPasswordDelegate _webViewDidRequestPasswordForQuickLookDocument:]): (-[QuickLookFrameLoadDelegate webView:didFinishLoadForFrame:]): (-[QuickLookNavigationDelegate _webView:didStartLoadForQuickLookDocumentInMainFrameWithFileName:uti:]): Deleted. (-[QuickLookNavigationDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]): Deleted. (-[QuickLookNavigationDelegate webView:didFinishNavigation:]): Deleted. (-[QuickLookAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): Deleted. (-[QuickLookAsyncNavigationDelegate _webView:didStartLoadForQuickLookDocumentInMainFrameWithFileName:uti:]): Deleted. (-[QuickLookAsyncNavigationDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]): Deleted. (-[QuickLookAsyncNavigationDelegate webView:didFinishNavigation:]): Deleted. (-[QuickLookDecidePolicyDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): Deleted. (-[QuickLookDecidePolicyDelegate webView:didFailProvisionalNavigation:withError:]): Deleted. (-[QuickLookDecidePolicyDelegate _webViewWebProcessDidCrash:]): Deleted. (-[QuickLookPasswordNavigationDelegate _webViewDidRequestPasswordForQuickLookDocument:]): Deleted. 2019-03-30 Dominik Infuehr [CMake] add testdfg as target with build-jsc https://bugs.webkit.org/show_bug.cgi?id=196393 Reviewed by Saam Barati. Added testdfg as one of the targets to build when using CMake. * Scripts/build-jsc: 2019-03-29 Myles C. Maxfield Delete WebMetal implementation in favor of WebGPU https://bugs.webkit.org/show_bug.cgi?id=195418 Reviewed by Dean Jackson. * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (resetWebPreferencesToConsistentValues): * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm: Removed. * TestWebKitAPI/Tests/WebCore/mac/GPULegacyBuffer.mm: Removed. * TestWebKitAPI/Tests/WebCore/mac/GPULegacyCommandQueue.mm: Removed. * TestWebKitAPI/Tests/WebCore/mac/GPULegacyDevice.mm: Removed. * TestWebKitAPI/Tests/WebCore/mac/GPULegacyFunction.mm: Removed. * TestWebKitAPI/Tests/WebCore/mac/GPULegacyLibrary.mm: Removed. * TestWebKitAPI/Tests/WebCore/mac/GPULegacyTest.h: Removed. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setWebMetalEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: 2019-03-29 Chris Dumez REGRESSION (r243523): Six form-related watchOS layout tests are timing out https://bugs.webkit.org/show_bug.cgi?id=196405 Reviewed by Wenson Hsieh. Add a shouldPresentPopovers=false WebKitTestRunner option to cause WKTR to swizzle the popover presentation methods to be no-ops. Use this in the new test added in r243523 so that we do not swizzle those methods for all tests. This is needed because those WatchOS tests rely on the popover getting presented and interactive. * WebKitTestRunner/TestController.cpp: (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformInitialize): (WTR::TestController::platformResetStateToConsistentValues): 2019-03-29 Takashi Komori [Curl] Add Server Trust Evaluation Support. https://bugs.webkit.org/show_bug.cgi?id=191646 Reviewed by Fujii Hironori. Implemented MiniBrowser UI for asking if user trusts the server. * MiniBrowser/win/Common.cpp: (askServerTrustEvaluation): (replaceString): * MiniBrowser/win/Common.h: * MiniBrowser/win/MiniBrowserLib.rc: * MiniBrowser/win/MiniBrowserLibResource.h: * MiniBrowser/win/WebKitBrowserWindow.cpp: (createPEMString): (WebKitBrowserWindow::didReceiveAuthenticationChallenge): (WebKitBrowserWindow::canTrustServerCertificate): * MiniBrowser/win/WebKitBrowserWindow.h: 2019-03-29 Cathie Chen Implement ResizeObserver. https://bugs.webkit.org/show_bug.cgi?id=157743 Reviewed by Simon Fraser. Support resizeObserverEnabled webPreferences. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * DumpRenderTree/win/DumpRenderTree.cpp: (enableExperimentalFeatures): * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-03-28 John Wilander Resource Load Statistics: IPC to the WebsiteDataStore in the UI process from NetworkProcess::deleteWebsiteDataForRegistrableDomains() https://bugs.webkit.org/show_bug.cgi?id=196281 Reviewed by Alex Christensen. This patch adds the function isStatisticsHasLocalStorage() to the TestRunner. With it, the page can query the WebsiteDataStore in the UI process to make sure that it sees LocalStorage. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::isStatisticsHasLocalStorage): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::isStatisticsHasLocalStorage): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2019-03-28 Jiewen Tan API::Data::createWithoutCopying should do a null check before calling CFRelease https://bugs.webkit.org/show_bug.cgi?id=196276 Reviewed by Alex Christensen. Add an API test that will pass a nil to API::Data::createWithoutCopying via NavigationState::NavigationClient::webCryptoMasterKey. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/navigation-client-default-crypto.html: * TestWebKitAPI/Tests/WebKitCocoa/WebCryptoMasterKey.mm: Added. (-[WebCryptoMasterKeyNavigationDelegate _webCryptoMasterKeyForWebView:]): (-[WebCryptoMasterKeyNavigationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): (TestWebKitAPI::TEST): 2019-03-28 Michael Catanzaro [WPE][GTK] webkit_web_resource_get_data_finish can return NULL without setting error https://bugs.webkit.org/show_bug.cgi?id=186276 Reviewed by Carlos Garcia Campos. * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp: (webViewLoadChanged): (testWebResourceGetDataError): (testWebResourceGetDataEmpty): (beforeAll): (webViewloadChanged): Deleted. 2019-03-27 Andy Estes REGRESSION (r242686): package-root creates roots with broken symlinks in WebKit.framework/XPCServices/ https://bugs.webkit.org/show_bug.cgi?id=196317 Reviewed by Dan Bernstein. package-root copies built products into a staging directory using ditto(1), which does not follow symbolic links as it traverses a directory. Now that the files in WebKit.framework/XPCServices/ are symbolic links to a location outside of the framework itself, these become broken links when ditto'd into the staging directory. To account for this, change package-root to copy using cp(1) in a mode that follows symlinks. * Scripts/package-root: 2019-03-27 Aakash Jain [ews-app] Update display text of Submit for ews analysis https://bugs.webkit.org/show_bug.cgi?id=196309 Reviewed by Dewei Zhu. * BuildSlaveSupport/ews-app/ews/templates/statusbubble.html: 2019-03-27 David Kilzer run-webkit-tests should check for leaks in WebKit processes Reviewed by Ryosuke Niwa. This works by doing the following: - Add a "#LIST CHILD PROCESSES" command to WebKitTestRunnner. The list of child processes are returned one per line: process.name: pid - Run the "#LIST CHILD PROCESSES" command just before the "#CHECK FOR WORLD LEAKS" command, and store the list of child processes on the ServerProcess object. - When the `--leaks` switch is handled, run check_for_leaks() on each child process after the main test harness. * DumpRenderTree/mac/DumpRenderTree.mm: (handleControlCommand): - Use strncmp() instead of strcmp(). - Add support for handling "#LIST CHILD PROCESSES" command. * Scripts/webkitpy/port/base.py: (Port.check_for_leaks): * Scripts/webkitpy/port/darwin.py: (DarwinPort.check_for_leaks): - Rename redundant 'process_pid' argument to 'process_id'. * Scripts/webkitpy/port/driver.py: (Driver.do_post_tests_work): - Restructure the logic since "#CHECK FOR WORLD LEAKS" is no longer the only command this sends to WebKitTestRunner. - If the `--leaks` switch is present, send the "#LIST CHILD PROCESSES" to WebKitTestRunner and store the result using Port.set_webkit_processes(). (Driver._parse_child_processes_output): - Add helper method to parse list of child process names and process IDs returned from WebKitTestRunner. * Scripts/webkitpy/port/ios_device.py: (IOSDevicePort.check_for_leaks): - Rename redundant 'process_pid' argument to 'process_id'. * Scripts/webkitpy/port/leakdetector.py: (LeakDetector._parse_leaks_output): - Return early if there is no leaks_output. (LeakDetector.check_for_leaks): - Rename redundant 'process_pid' argument to 'process_id'. * Scripts/webkitpy/port/server_process.py: (ServerProcess.__init__): (ServerProcess.child_processes): (ServerProcess.set_child_processes): - Add instance variable to Port to store list of child process names and process IDs returned from WebKitTestRunner. (ServerProcess._start): - Clear self._child_processes. (ServerProcess.stop): - If self._child_processes is set, call self._port.check_for_leaks() for each child process. * Scripts/webkitpy/port/server_process_unittest.py: (TrivialMockPort.check_for_leaks): - Rename redundant 'process_pid' argument to 'process_id'. * Scripts/webkitpy/port/simulator_process.py: (SimulatorProcess.stop): - If self._child_processes is set, call self._port.check_for_leaks() for each child process. * Scripts/webkitpy/port/watch_device.py: (WatchDevicePort.check_for_leaks): - Rename redundant 'process_pid' argument to 'process_id'. * WebKitTestRunner/TestController.cpp: (WTR::TestController::dumpResponse): - Extract method from findAndDumpWorldLeaks() so that it may be reused by findAndDumpWebKitProcessIdentifiers(). (WTR::TestController::findAndDumpWebKitProcessIdentifiers): - Add method to output process name and process ID of both the WebContent and Networking processes. (WTR::TestController::findAndDumpWorldLeaks): - Fix missing newline in output when there were no abandoned documents. - Call dumpResponse() for extracted code. (WTR::TestController::handleControlCommand): - Restructure the logic for "#CHECK FOR WORLD LEAKS". - Use strncmp() instead of strcmp(). - Call findAndDumpWebKitProcessIdentifiers() when "#LIST CHILD PROCESSES" command is sent. * WebKitTestRunner/TestController.h: (WTR::TestController::dumpResponse): (WTR::TestController::findAndDumpWebKitProcessIdentifiers): - Declare methods. 2019-03-27 Carlos Garcia Campos Unreviewed. Add GLib API test cases after r243434. * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp: (testWebViewActiveURI): (serverCallback): * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp: (sendRequestCallback): 2019-03-27 Carlos Garcia Campos Geolocation request not complete when watch request was started in a different web process https://bugs.webkit.org/show_bug.cgi?id=195996 Reviewed by Alex Christensen. Add a test case. * TestWebKitAPI/Tests/WebKit/Geolocation.cpp: (TestWebKitAPI::runJavaScriptAlert): (TestWebKitAPI::TEST): 2019-03-26 Keith Rollin Update the way generate-xcfilelists returns strings from functions https://bugs.webkit.org/show_bug.cgi?id=195975 Reviewed by Dean Jackson. There are places where generate-xcfilelists executes assignments with statements like: FOO=$(some_function) where "some_function" return a string by echoing it. E.g. some_function() { echo "Hello, World" } This is a common idiom, but it has a problem if "some_function" needs to call "exit" in an attempt to halt the entire script right then and there. Since "some_function" is called inside of $(), it's being executed in a sub-shell. Calling exit in that sub-shell simply exits that shell; it doesn't not exit the outer shell in which the main part of the script is still running. As such, the main script keeps executing when the intent was for the script to halt. The solution to this is to use a different idiom for returning strings. The one we now is to pass in the name of the variable to receive the string result: some_function() { variable_name=$1 eval $variable_name ="Hello, World" } The call site now looks like some_function FOO Because there's no invocation of a sub-shell, some_function can now call "exit" if it wants to, and the entire script will exit at that point. * Scripts/generate-xcfilelists: 2019-03-26 Chris Dumez Add basic layout test coverage for File Picker on iOS https://bugs.webkit.org/show_bug.cgi?id=196265 Reviewed by Wenson Hsieh. Add layout test infrastructure to test the file picker on iOS. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::dismissFilePicker): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::dismissFilePicker): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::createWebViewWithOptions): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/ios/TestControllerIOS.mm: (overridePresentViewController): (WTR::TestController::platformInitialize): * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::dismissFilePicker): 2019-03-26 Wenson Hsieh Implement async paste method on UIWKInteractionViewProtocol https://bugs.webkit.org/show_bug.cgi?id=196267 Reviewed by Tim Horton. Add a new test to exercise the new SPI. Additionally, add staging forward declarations for -pasteWithCompletionHandler:, and remove some old existing staging declarations for other bits of UIKit SPI that are now a part of all iOS 12 internal SDKs. * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: While we're here, also change a few iOS 11.3 checks to just be about PLATFORM(IOS) (since we don't build for iOS prior to 12, these version checks are effectively only about iOS vs. tvOS or watchOS). * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm: * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[DragAndDropSimulator _sendQueuedAdditionalItemRequest]): * TestWebKitAPI/ios/UIKitSPI.h: 2019-03-26 Aakash Jain [ews-build] Use PostgreSQL for ews.webkit.org database https://bugs.webkit.org/show_bug.cgi?id=196270 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews-app/settings.py: 2019-03-26 Jonathan Bedard [ews] Reset simctl states on reboot https://bugs.webkit.org/show_bug.cgi?id=196260 Rubber-stamped by Aakash Jain. * EWSTools/start-queue-mac.sh: 2019-03-26 Aakash Jain [ews-build] Use PostgreSQL for ews-build database https://bugs.webkit.org/show_bug.cgi?id=196229 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/master.cfg: 2019-03-26 Aakash Jain [ews-build] Get master_hostname dynamically in master.cfg https://bugs.webkit.org/show_bug.cgi?id=196255 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/master.cfg: Get hostname dynamically. Also do not send events data in test mode. 2019-03-26 Aakash Jain [ews-app] Set db_constraint to False for Foreign Keys https://bugs.webkit.org/show_bug.cgi?id=196252 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/build.py: * BuildSlaveSupport/ews-app/ews/models/step.py: 2019-03-26 Aakash Jain [ews-build] is_test_mode_enabled should default to True https://bugs.webkit.org/show_bug.cgi?id=196248 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/master.cfg: Reverse the environment variable used to decide is_test_mode_enabled. 2019-03-26 Aakash Jain [ews-app] Add webkitperl to ENABLED_QUEUES https://bugs.webkit.org/show_bug.cgi?id=196253 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: 2019-03-25 Alexey Proskuryakov Address NSWindow sometimes using WebKitTestRunnerEvent too early https://bugs.webkit.org/show_bug.cgi?id=196211 rdar://problem/49110552 Reviewed by Tim Horton. * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Make sure that EventSenderProxy always exists when running tests. We used to create it when resetting before the first test, which is a bit too late. * WebKitTestRunner/TestController.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): (WTR::TestController::platformCreateOtherPage): (WTR::TestController::finishCreatingPlatformWebView): * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::PlatformWebView): Moved some code that made NSWindow use NSEvent during web view creation. We may need to move more if some other case us found, but this is enough for now. 2019-03-26 Carlos Garcia Campos Unreviewed. Fix typo in GLib geolocation API after r243285. gelocation -> geolocation. * TestWebKitAPI/Tests/WebKitGLib/TestGeolocationManager.cpp: (testGeolocationManagerWatchPosition): 2019-03-25 Alex Christensen Do not terminate the NetworkProcess if a third party application sends a NSCredential with a SecIdentityRef https://bugs.webkit.org/show_bug.cgi?id=196213 Reviewed by Geoff Garen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: Added. (credentialWithIdentityAndKeychainPath): (-[ChallengeDelegate webView:didFinishNavigation:]): (-[ChallengeDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]): (TestWebKitAPI::TEST): 2019-03-25 Alex Christensen Expected shouldn't assume its contained types are copyable https://bugs.webkit.org/show_bug.cgi?id=195986 Reviewed by JF Bastien. * TestWebKitAPI/Tests/WTF/Expected.cpp: (TestWebKitAPI::NonCopyable::operator== const): (TestWebKitAPI::NonCopyable::operator!= const): (TestWebKitAPI::TEST): 2019-03-25 Tim Horton Remove some now-unnecessary dynamic class lookup https://bugs.webkit.org/show_bug.cgi?id=196237 Reviewed by Simon Fraser. * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm: (makeRequest): (TEST): 2019-03-25 Fujii Hironori Unreviewed, rolling out r243450. AppleWin and WinCairo port builds get broken. Reverted changeset: "Add test for fix of #196095" https://bugs.webkit.org/show_bug.cgi?id=196097 https://trac.webkit.org/changeset/243450 2019-03-25 Commit Queue Unreviewed, rolling out r243465. https://bugs.webkit.org/show_bug.cgi?id=196226 the test doesn't build (Requested by thorton on #webkit). Reverted changeset: "Do not terminate the NetworkProcess if a third party application sends a NSCredential with a SecIdentityRef" https://bugs.webkit.org/show_bug.cgi?id=196213 https://trac.webkit.org/changeset/243465 2019-03-25 Alex Christensen Do not terminate the NetworkProcess if a third party application sends a NSCredential with a SecIdentityRef https://bugs.webkit.org/show_bug.cgi?id=196213 Reviewed by Geoff Garen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: Added. (credentialWithIdentityAndKeychainPath): (-[ChallengeDelegate webView:didFinishNavigation:]): (-[ChallengeDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]): (TestWebKitAPI::TEST): 2019-03-25 Aakash Jain [ews-build] Gracefully handle missing patch_id in events https://bugs.webkit.org/show_bug.cgi?id=196216 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/events.py: 2019-03-25 Aakash Jain [ews-build] use lz4 compression for improving buildbot performance https://bugs.webkit.org/show_bug.cgi?id=196155 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/master.cfg: 2019-03-25 Wenson Hsieh Pull some API testing helper methods out of TestWKWebView https://bugs.webkit.org/show_bug.cgi?id=196212 Reviewed by Tim Horton. Refactor some more API testing utility methods, so that they can be used in tests that do not use TestWKWebView. * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[WKWebView loadTestPageNamed:]): (-[WKWebView synchronouslyLoadHTMLString:baseURL:]): (-[WKWebView synchronouslyLoadHTMLString:]): (-[WKWebView synchronouslyLoadTestPageNamed:]): (-[TestWKWebView loadTestPageNamed:]): Deleted. (-[TestWKWebView synchronouslyLoadHTMLString:baseURL:]): Deleted. (-[TestWKWebView synchronouslyLoadHTMLString:]): Deleted. (-[TestWKWebView synchronouslyLoadTestPageNamed:]): Deleted. 2019-03-25 Jer Noble Test for: 196095 Inband Text Track cues interspersed with Data cues can display out of order. https://bugs.webkit.org/show_bug.cgi?id=196097 Reviewed by Eric Carlson. Drive-by bug fix: allow tests to play audio without a user gesture by default. * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebPreferencesToConsistentValues): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): 2019-03-25 Wenson Hsieh Pull IPadUserInterfaceSwizzler out into a separate header file https://bugs.webkit.org/show_bug.cgi?id=196193 Reviewed by Anders Carlsson. Pull the IPadUserInterfaceSwizzler helper class out into a separate file, so that it may be used in other API tests. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/ios/ActionSheetTests.mm: (TestWebKitAPI::IPadUserInterfaceSwizzler::IPadUserInterfaceSwizzler): Deleted. (TestWebKitAPI::IPadUserInterfaceSwizzler::padUserInterfaceIdiom): Deleted. * TestWebKitAPI/ios/IPadUserInterfaceSwizzler.h: Added. (TestWebKitAPI::IPadUserInterfaceSwizzler::IPadUserInterfaceSwizzler): (TestWebKitAPI::IPadUserInterfaceSwizzler::padUserInterfaceIdiom): 2019-03-25 Gyuyoung Kim Remove NavigatorContentUtils in WebCore/Modules https://bugs.webkit.org/show_bug.cgi?id=196070 Reviewed by Alex Christensen. NavigatorContentUtils was to support the custom scheme spec [1]. However, in WebKit side, no port has supported the feature in WebKit layer after EFL port was removed. So there has been the only IDL implementation of the NavigatorContentUtils in WebCore. So we don't need to keep the implementation in WebCore anymore. [1] https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-03-24 Andy Estes [watchOS] Remove unused Proximity Networking code https://bugs.webkit.org/show_bug.cgi?id=196188 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm: (TEST): 2019-03-23 Keith Miller Refactor clz/ctz and fix getLSBSet. https://bugs.webkit.org/show_bug.cgi?id=196162 Reviewed by Saam Barati. Add tests for clz, ctz, getLSBSet, and getMSBSet. * TestWebKitAPI/Tests/WTF/MathExtras.cpp: (TestWebKitAPI::TEST): 2019-03-23 Carlos Garcia Campos [GTK][WPE] check-webkit-style doesn't complain about identifiers with underscores in files under glib, gtk or wpe dirs https://bugs.webkit.org/show_bug.cgi?id=196143 Reviewed by Michael Catanzaro. Fix the check for the exception of identifiers starting with webkit_ in files under glib, gtk or wpe directories. * Scripts/webkitpy/style/checkers/cpp.py: (check_identifier_name_in_declaration): * Scripts/webkitpy/style/checkers/cpp_unittest.py: (WebKitStyleTest.test_names): 2019-03-22 Philippe Normand [Flatpak] Manifest expanding fails for qt WPE extension https://bugs.webkit.org/show_bug.cgi?id=196148 Reviewed by Alex Christensen. * flatpak/flatpakutils.py: (expand_submodules_recurse): The last recurse manifest expand iteration might lead to a single module so take it into account and don't try to recurse further. 2019-03-22 Chris Dumez [ iOS Simulator] REGRESSION (r241821) Layout Test platform/ipad/fast/viewport/viewport-unchanged-by-minimum-effective-width-if-not-ignore-meta-viewport.html is a flaky failure on bots https://bugs.webkit.org/show_bug.cgi?id=195348 Reviewed by Alex Christensen. Make sure webView.configuration.preferences._shouldIgnoreMetaViewport gets reset to NO when test.options().shouldIgnoreMetaViewport is false. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformConfigureViewForTest): 2019-03-22 Chris Dumez Prewarmed processes should be usable with any website data store https://bugs.webkit.org/show_bug.cgi?id=196104 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm: (runInitialWarmedProcessUsedTest): (TEST): 2019-03-22 David Kilzer Back out local changes to Alex's Subversion working directory They were accidentally committed. * Scripts/webkitpy/common/system/abstractexecutive.py: (AbstractExecutive.wait_newest): * Scripts/webkitpy/common/system/executive.py: (Executive.running_pids): * Scripts/webkitpy/common/system/executive_mock.py: (MockExecutive.running_pids): * Scripts/webkitpy/common/system/executive_unittest.py: (ExecutiveTest.serial_test_running_pids): * Scripts/webkitpy/port/darwin.py: (DarwinPort.check_for_leaks): * Scripts/webkitpy/port/leakdetector.py: (LeakDetector.check_for_leaks): - This was the hack attached to Bug 193772. * WebKitTestRunner/mac/WebKitTestRunnerEvent.mm: (+[WebKitTestRunnerEvent mouseLocation]): - This works around a crash on an internal build. 2019-03-22 Tim Horton Fix the build after r243354 https://bugs.webkit.org/show_bug.cgi?id=196138 * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm: (TEST): * TestWebKitAPI/ios/UIKitSPI.h: 2019-03-21 Tim Horton Adopt UIWKDocumentContext https://bugs.webkit.org/show_bug.cgi?id=196040 Reviewed by Ryosuke Niwa. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm: Added. (makeRequest): (-[TestWKWebView synchronouslyRequestDocumentContext:]): (-[TestWKWebView synchronouslyAdjustSelectionWithDelta:]): (applyStyle): (TEST): Add tests for UIWKDocumentContext. * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm: (TEST): (recursiveFindWKContentView): Deleted. * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: (recursiveFindWKContentView): (-[TestWKWebView wkContentView]): * TestWebKitAPI/ios/UIKitSPI.h: Share the WKContentView finding code between tests. 2019-03-21 Simon Fraser [iOS WK2] Turn on async overflow scrolling by default https://bugs.webkit.org/show_bug.cgi?id=196011 rdar://problem/48453859 Reviewed by Antti Koivisto. Explicitly turn off the async overflow scrolling internal feature for tests by default, since so many basic layout tests have different results when compositing is triggered for overflow. Individual tests will re-enable with . * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): 2019-03-21 Aakash Jain [ews-build] Retry API test in case of failures https://bugs.webkit.org/show_bug.cgi?id=196004 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (UnApplyPatchIfRequired.doStepIf): Updated doStepIf to include patchFailedAPITests. (CompileWebKitToT.doStepIf): Ditto. (RunAPITests.evaluateCommand): Check if tests failed and retry them if required. (ReRunAPITests): Re-run API tests. (ReRunAPITests.evaluateCommand): Check if tests failed and retry on clean build if required. (RunAPITestsWithoutPatch): Run API tests without patch. (RunAPITestsWithoutPatch.doStepIf): (RunAPITestsWithoutPatch.hideStepIf): (RunAPITestsWithoutPatch.evaluateCommand): (AnalyzeAPITestsResults): Analyze API test results from previous runs. (AnalyzeAPITestsResults.start): (AnalyzeAPITestsResults.analyzeResults): Analyze API test results. (AnalyzeAPITestsResults.getBuildStepByName): Search for a build step by name. (AnalyzeAPITestsResults.getTestsResults): Get the test results from previous API tesst steps. * BuildSlaveSupport/ews-build/steps_unittest.py: Monkey patched FakeBuild. 2019-03-21 Aakash Jain [ews-build] Update queues configurations https://bugs.webkit.org/show_bug.cgi?id=196074 Reviewed by Dewei Zhu. * BuildSlaveSupport/ews-build/config.json: Updated queues from iOS11 to iOS12, added new bots, reassigned bots for various builders, moved few builders to another scheduler. 2019-03-21 Aakash Jain [ews-app] Generate status-bubble hover-over messages (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=195680 Unreviewed infrastructure fix. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._build_bubble): Do not append to details_message in the cases in which it wasn't defined earlier. 2019-03-21 Andy Estes [iOS] Apple Pay should be available in documents with no user agent scripts https://bugs.webkit.org/show_bug.cgi?id=196061 Reviewed by Brady Eidson. Added API tests and related infrastructure. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/ApplePay.mm: Added. (-[TestApplePayScriptMessageHandler initWithExpectation:]): (-[TestApplePayScriptMessageHandler userContentController:didReceiveScriptMessage:]): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/apple-pay-active-session.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/apple-pay-availability-in-iframe.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/apple-pay-availability.html: Added. * TestWebKitAPI/cocoa/TestProtocol.mm: (-[TestProtocol startLoading]): * TestWebKitAPI/cocoa/WebProcessPlugIn/WebProcessPlugInWithInternals.h: Added. * TestWebKitAPI/cocoa/WebProcessPlugIn/WebProcessPlugInWithInternals.mm: Added. (-[WebProcessPlugInWithInternals webProcessPlugIn:didCreateBrowserContextController:]): (-[WebProcessPlugInWithInternals webProcessPlugInBrowserContextController:didClearWindowObjectForFrame:inScriptWorld:]): 2019-03-21 Jonathan Bedard REGRESSSION (r243297): webkitpy tests broken https://bugs.webkit.org/show_bug.cgi?id=196108 Reviewed by Aakash Jain. r243297 updated contributors.json, which broke a few unit tests. * Scripts/webkitpy/tool/bot/irc_command_unittest.py: (IRCCommandTest.test_whois): * Scripts/webkitpy/tool/commands/suggestnominations_unittest.py: 2019-03-21 Chris Dumez WebKit should throw when trying to create a WKWebView with a related view that is using a different data store https://bugs.webkit.org/show_bug.cgi?id=196041 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm: (TEST): 2019-03-21 Alex Christensen Add SPI to inform applications of WKContentRuleList actions https://bugs.webkit.org/show_bug.cgi?id=195965 Reviewed by Geoff Garen. * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: (TestWebKitAPI::allActionsForResourceLoad): (TestWebKitAPI::testRequest): (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: (Notification::description): (Notification::operator== const): (toVector): (-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]): (-[ContentRuleListNotificationDelegate _webView:contentRuleListWithIdentifier:performedActionOnURL:blockedLoad:blockedCookies:madeHTTPS:notifications:]): (makeContentRuleList): (TEST): (makeWarnContentRuleList): Deleted. 2019-03-21 Timothy Hatcher Style check error "WK_MAC_TBA is neither a version number nor WK_IOS_TBA" is confusing. https://bugs.webkit.org/show_bug.cgi?id=196088 Reviewed by Brian Burg. Fix the error messages used when looking for macos(WK_IOS_TBA) or ios(WK_MAC_TBA). Support checks when only one platform is specified. Also deprecate macosx() and force the use of macos() instead. * Scripts/webkitpy/style/checkers/cpp.py: (check_min_versions_of_wk_api_available): * Scripts/webkitpy/style/checkers/cpp_unittest.py: (WebKitStyleTest.test_min_versions_of_wk_api_available): 2019-03-21 Alexey Proskuryakov Update status inactive committers' status to 'contributor'. * Scripts/webkitpy/common/config/contributors.json: 2019-03-21 Xan Lopez [JSC][x86] Drop support for x87 floating point https://bugs.webkit.org/show_bug.cgi?id=194853 Reviewed by Don Olmstead. Force SSE2 on x86/32bit builds. * Scripts/webkitdirs.pm: (generateBuildSystemFromCMakeProject): 2019-03-21 Carlos Garcia Campos [GLIB] User data not correctly passed to callback of functions and constructors with no parameters https://bugs.webkit.org/show_bug.cgi?id=196073 Reviewed by Michael Catanzaro. Add test cases to check functions and constructors with no arguments but receiving user data. * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: (checkUserData): (testJSCFunction): (fooCreateWithUserData): (testJSCClass): 2019-03-21 Carlos Garcia Campos Unreviewed. Fix GTK build with GLib < 2.58 after r243285. Add g_assert_cmpfloat_with_epsilon macro if not defined. * TestWebKitAPI/glib/WebKitGLib/TestMain.h: 2019-03-21 Carlos Garcia Campos [GTK][WPE] Add API to provide geolocation information https://bugs.webkit.org/show_bug.cgi?id=195940 Reviewed by Michael Catanzaro. Add a new test to check the new API. * TestWebKitAPI/Tests/WebKitGLib/TestGeolocationManager.cpp: Added. (testGeolocationManagerCurrentPosition): (testGeolocationManagerWatchPosition): (beforeAll): (afterAll): * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: (testWebViewGeolocationPermissionRequests): Stop using ENABLE(GEOLOCATION) conditionals for geolocation tests. (beforeAll): Ditto. * TestWebKitAPI/glib/CMakeLists.txt: 2019-03-21 Carlos Garcia Campos [GLib] Returning G_TYPE_OBJECT from a method does not work https://bugs.webkit.org/show_bug.cgi?id=195574 Reviewed by Michael Catanzaro. Add new test cases to check the behavior of constructors and functions returning GObject and boxed types. * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: (getGFile): (getParent): (createGString): (getGString): (getGStringCopyWillRaise): (getGStringCopy): (getGStringStr): (getGStringLen): (freeGString): (testJSCClass): 2019-03-20 Saam Barati DFG::AbstractValue::validateOSREntry is wrong when isHeapTop and the incoming value is Empty https://bugs.webkit.org/show_bug.cgi?id=195721 Reviewed by Filip Pizlo. * Scripts/run-javascriptcore-tests: 2019-03-20 Simon Fraser Rename ENABLE_ACCELERATED_OVERFLOW_SCROLLING macro to ENABLE_OVERFLOW_SCROLLING_TOUCH https://bugs.webkit.org/show_bug.cgi?id=196049 Reviewed by Tim Horton. This macro is about the -webkit-overflow-scrolling CSS property, not accelerated overflow scrolling in general, so rename it. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-03-20 Daniel Bates REGRESSION (r243153): [iOS] TestWebKitAPI.FocusPreservationTests.ChangingFocusedNodeResetsFocusPreservationState is failing https://bugs.webkit.org/show_bug.cgi?id=196031 Reviewed by Tim Horton. The test incorrectly assumes that calling -[WKWebView resignFirstResponder] is identical to dismissing the picker. * TestWebKitAPI/Tests/ios/FocusPreservationTests.mm: (TestWebKitAPI::TEST): 2019-03-20 Chris Dumez Regression(PSON): ViewGestureController is not properly notified of process swaps on iOS https://bugs.webkit.org/show_bug.cgi?id=196029 Reviewed by Tim Horton. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-03-20 Aakash Jain [ews-build] Improve failure summary string for ApplyPatch step https://bugs.webkit.org/show_bug.cgi?id=195995 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/ews-build/steps.py: (ApplyPatch.getResultSummary): Override getResultSummary. 2019-03-20 Joanmarie Diggs AX: Implement support for new meter ARIA role https://bugs.webkit.org/show_bug.cgi?id=195966 Reviewed by Chris Fleizach. Update Core role for ATK_ROLE_LEVEL_BAR from AXProgressIndicator to AXLevelIndicator. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: 2019-03-19 Jiewen Tan [WebAuthN] Implement FIDO AppID extension https://bugs.webkit.org/show_bug.cgi?id=143491 Reviewed by Brent Fulgham. Add a test that covers the new flag of convertToU2fSignCommand. * TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/FidoTestData.h: * TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp: (TestWebKitAPI::TEST): 2019-03-19 Keith Rollin Add support for more platforms to generate-xcfilelists https://bugs.webkit.org/show_bug.cgi?id=195977 Reviewed by Alexey Proskuryakov. generate-xcfilelists incorrectly complains when involved with building WebKit for iphonesimulator: $ make debug SDKROOT=iphonesimulator.internal -C Internal/ … ### (die get_canonical_platform_name main main) Unrecognized platform name: iphonesimulator Address this by teaching generate-xcfilelists about more platforms. * Scripts/generate-xcfilelists: 2019-03-19 John Wilander Resource Load Statistics (experimental): Clear non-cookie website data for sites that have been navigated to, with link decoration, by a prevalent resource https://bugs.webkit.org/show_bug.cgi?id=195923 Reviewed by Alex Christensen. This patch does the following to the TestRunner: - Adds setStatisticsCrossSiteLoadWithLinkDecoration(). - Makes setStatisticsTimeToLiveUserInteraction() wait for completion. - Makes statisticsProcessStatisticsAndDataRecords() wait for completion. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setStatisticsCrossSiteLoadWithLinkDecoration): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::setStatisticsCrossSiteLoadWithLinkDecoration): (WTR::TestController::setStatisticsTimeToLiveUserInteraction): (WTR::TestController::statisticsProcessStatisticsAndDataRecords): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2019-03-19 Christopher Reid [CMake] Support more clang and gcc sanitizers https://bugs.webkit.org/show_bug.cgi?id=195956 Reviewed by Michael Catanzaro. * Scripts/webkitdirs.pm: Updating ENABLE_ADDRESS_SANITIZER to ENABLE_SANITIZERS=address 2019-03-19 Aakash Jain [ews-build] Improve summary for PrintConfiguration step https://bugs.webkit.org/show_bug.cgi?id=195945 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (PrintConfiguration.getResultSummary): Override getResultSummary. 2019-03-19 Aakash Jain [ews-build] Improve summary for CheckOutSource step https://bugs.webkit.org/show_bug.cgi?id=195963 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (CheckOutSource.getResultSummary): 2019-03-19 Daniel Bates [iOS] Focus not preserved when switching between tabs https://bugs.webkit.org/show_bug.cgi?id=195820 Reviewed by Brent Fulgham. Add tests to ensure that we restore focus when resigning and becoming first responder. * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: (TestWebKitAPI::TEST): 2019-03-19 Alex Christensen Make WTFLogChannelState and WTFLogLevel enum classes https://bugs.webkit.org/show_bug.cgi?id=195904 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebCore/Logging.cpp: (TestWebKitAPI::TEST_F): 2019-03-19 Xabier Rodriguez Calvar [GStreamer][EME] Backported mssdemux protection data crash fix https://bugs.webkit.org/show_bug.cgi?id=195918 Reviewed by Philippe Normand. * gstreamer/jhbuild.modules: * gstreamer/patches/gst-plugins-bad-0005-mssdemux-fix-protection-data-double-free.patch: Added. 2019-03-19 Michael Catanzaro Unreviewed, rolling out r243132. Broke GTK build Reverted changeset: "Make WTFLogChannelState and WTFLogLevel enum classes" https://bugs.webkit.org/show_bug.cgi?id=195904 https://trac.webkit.org/changeset/243132 2019-03-19 Zan Dobersek Unreviewed follow-up to r243073, fixing WPE MiniBrowser launching. * Scripts/webkitdirs.pm: (builtDylibPathForName): Adjust the shared library name that's changed with the API version bump in r243073. 2019-03-18 Alex Christensen Make WTFLogChannelState and WTFLogLevel enum classes https://bugs.webkit.org/show_bug.cgi?id=195904 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebCore/Logging.cpp: (TestWebKitAPI::TEST_F): 2019-03-18 Alex Christensen Disable flaky test added in r2431100 https://webkit.org/b/195785 * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (TestWebKitAPI::TEST): Apparently bots don't hit 150kb/s as reliably as I do locally. Can't say I'm too surprised. 2019-03-18 Timothy Hatcher WKWebView.GetContentsShouldReturnAttributedString is crashing on iOS Simulator. https://bugs.webkit.org/show_bug.cgi?id=195916 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewGetContents.mm: (TEST(WKWebView, GetContentsShouldReturnAttributedString): Fix iOS code path to pass. 2019-03-18 Alexey Proskuryakov Add a secondary e-mail address for Fujii Hironori to make tools happier. * Scripts/webkitpy/common/config/contributors.json: 2019-03-18 Alex Christensen Implement DownloadMonitor to prevent long-running slow downloads from background apps https://bugs.webkit.org/show_bug.cgi?id=195785 Reviewed by Geoffrey Garen. * TestWebKitAPI/TCPServer.cpp: Added. (TestWebKitAPI::TCPServer::TCPServer): (TestWebKitAPI::TCPServer::~TCPServer): (TestWebKitAPI::TCPServer::socketBindListen): (TestWebKitAPI::TCPServer::waitForAndReplyToRequests): * TestWebKitAPI/TCPServer.h: Added. (TestWebKitAPI::TCPServer::port const): * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (-[DownloadMonitorTestDelegate _downloadDidStart:]): (-[DownloadMonitorTestDelegate _downloadDidCancel:]): (-[DownloadMonitorTestDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]): (-[DownloadMonitorTestDelegate _download:didReceiveData:]): (TestWebKitAPI::respondSlowly): (TestWebKitAPI::webViewWithDownloadMonitorSpeedMultiplier): (TestWebKitAPI::downloadAtRate): (TestWebKitAPI::TEST): 2019-03-18 Saam Barati Add a plan file for JetStream 2 https://bugs.webkit.org/show_bug.cgi?id=190734 Reviewed by Mark Lam. * Scripts/webkitpy/benchmark_runner/data/plans/jetstream2.plan: Added. 2019-03-18 Chris Dumez Delay WebProcess launch until a load is triggered in a Web view https://bugs.webkit.org/show_bug.cgi?id=195758 Reviewed by Geoff Garen. Add API test coverage. Also update some existing API tests to not expect constructing a WKWebView to launch both a WebProcess and a NetworkProcess. * TestWebKitAPI/Tests/WebKit/NetworkProcessCrashWithPendingConnection.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/mac/GetBackingScaleFactor.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm: (TEST): (testDidResignInputElementStrongPasswordAppearanceAfterEvaluatingJavaScript): 2019-03-18 Xan Lopez [CMake] Prevent potential warning when determining $architecture https://bugs.webkit.org/show_bug.cgi?id=195891 Reviewed by Michael Catanzaro. It's possible for generateBuildSystemForCMakeProject to be called before determineArchitecture() is ever called. This will make the first eq check with $architecture to be bogus (and print a warning). Change that to an eq check with architecture(), which implicitly calls determineArchitecture() if needed, and change all the other similar cases in the method in the same way to prevent future bugs like this one. * Scripts/webkitdirs.pm: (generateBuildSystemFromCMakeProject): 2019-03-18 Adrian Perez de Castro [WPE] Tarballs generated with “make dist” cannot build documentation https://bugs.webkit.org/show_bug.cgi?id=195885 Reviewed by Carlos Garcia Campos. * wpe/manifest.txt.in: Add missing Tools/glib/common.py file to be included in release tarballs. 2019-03-18 Adrian Perez de Castro [GTK][WPE] Cryptic error from Tools/gtkdoc/generate-gtkdoc https://bugs.webkit.org/show_bug.cgi?id=195883 Reviewed by Carlos Garcia Campos. * gtkdoc/gtkdoc.py: (GTKDoc._run_command): When commands fail to run, include the full command line for the program invocation and the output it has generated on the standard error stream. 2019-03-18 Adrian Perez de Castro [WPE] Bump dependencies to wpe-1.0 and wpebackend-fdo-1.0 https://bugs.webkit.org/show_bug.cgi?id=195786 Reviewed by Philippe Normand. * flatpak/org.webkit.WPEModules.yaml: Use libwpe 1.1.90 and wpebackend-fdo 1.1.91. * wpe/jhbuild.modules: Ditto. 2019-03-16 Aakash Jain [ews-build] Don't run clean builds on EWS builders https://bugs.webkit.org/show_bug.cgi?id=195851 Reviewed by Geoffrey Garen. * BuildSlaveSupport/ews-build/factories.py: 2019-03-16 Sihui Liu REGRESSION (r243019): Failing API test: WebKit.WebsiteDataStoreCustomPathsWithoutPrewarming https://bugs.webkit.org/show_bug.cgi?id=195849 Reviewed by Chris Dumez. We should expect IDB database files to be at path IndexedDB/v1/ after r243019. * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (runWebsiteDataStoreCustomPaths): 2019-03-15 Jonathan Bedard webkitpy: Upload test results https://bugs.webkit.org/show_bug.cgi?id=195755 Reviewed by Aakash Jain. Establish a new format for uploading results that is not tied to layout tests, apply that format to webkitpy tests. * Scripts/webkitpy/common/checkout/scm/git.py: (Git.native_branch): Return what branch the current checkout is on. * Scripts/webkitpy/common/checkout/scm/scm_mock.py: * Scripts/webkitpy/common/checkout/scm/scm_unittest.py: * Scripts/webkitpy/common/checkout/scm/svn.py: (SVN.native_branch): Ditto. * Scripts/webkitpy/common/system/platforminfo.py: (PlatformInfo.build_version): Return a build version for Mac. * Scripts/webkitpy/common/system/platforminfo_mock.py: (MockPlatformInfo.__init__): (MockPlatformInfo.build_version): * Scripts/webkitpy/results: Added. * Scripts/webkitpy/results/__init__.py: Added. * Scripts/webkitpy/results/options.py: Added. (upload_options): OptParse list for upload options. * Scripts/webkitpy/results/upload.py: Added. (Upload): Class which enforces the upload format expected by the results server. (Upload.Expectations): (Upload.create_configuration): (Upload.create_commit): (Upload.create_details): (Upload.create_run_stats): (Upload.create_test_result): (Upload.__init__): (Upload.Encoder): Encode Upload object as json. (Upload.upload): Upload results to the results server, returning 'True' if the upload is successful. * Scripts/webkitpy/results/upload_unittest.py: Added. * Scripts/webkitpy/test/main.py: (Tester._parse_args): Add upload arguments. (Tester._run_tests): Allow results to be uploaded. * Scripts/webkitpy/test/runner.py: (Runner.__init__): Record which tests were run, rather than just counting them. (Runner.handle): * Scripts/webkitpy/test/runner_unittest.py: (RunnerTest.test_run): * Scripts/webkitpy/thirdparty/__init__.py: (AutoinstallImportHook.find_module): Add requests auto-install. (AutoinstallImportHook._install_requests): * Scripts/webkitpy/tool/commands/queues_unittest.py: (PatchProcessingQueueTest.test_upload_results_archive_for_patch): Update os name for testing. 2019-03-15 Wenson Hsieh [iOS] Crash under -[TestRunnerWKWebView _didShowMenu] while running layout tests on iOS simulator https://bugs.webkit.org/show_bug.cgi?id=195810 Reviewed by Tim Horton. Ensure that the process of resetting web view state between tests doesn't also invoke testing callbacks registered by the previous layout test. This fixes an occasional crash when hiding the callout menu after ending certain layout tests. * WebKitTestRunner/cocoa/TestRunnerWKWebView.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: (-[TestRunnerWKWebView dealloc]): (-[TestRunnerWKWebView resetInteractionCallbacks]): Pull logic to reset all of TestRunnerWKWebView's callback handler blocks into a separate helper method; use this helper method when destroying the web view, and when resetting state between tests. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): Hide the callout menu *after* clearing out interaction callbacks registered on the web view. 2019-03-15 Sihui Liu [ Mojave WK1 ] Layout Test storage/indexeddb/database-odd-names.html is failing https://bugs.webkit.org/show_bug.cgi?id=190350 Reviewed by Geoffrey Garen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/IndexedDB.sqlite3: * TestWebKitAPI/Tests/WebKitCocoa/IndexedDB.sqlite3-shm: * TestWebKitAPI/Tests/WebKitCocoa/IndexedDB.sqlite3-wal: * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName-1.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName-2.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBFileName.mm: Added. (-[IndexedDBFileNameMessageHandler userContentController:didReceiveScriptMessage:]): (runTest): (createDirectories): (TEST): * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/StoreBlobThenDelete.mm: (TEST): 2019-03-15 Timothy Hatcher Add support to WebPage for getting the contents as an attributed string. https://bugs.webkit.org/show_bug.cgi?id=195636 rdar://problem/45055697 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewGetContents.mm: (TEST(WKWebView, GetContentsShouldReturnAttributedString): Added. 2019-03-15 Chris Dumez [PSON] Make sure the WebProcessCache is leverage when relaunching a process after termination https://bugs.webkit.org/show_bug.cgi?id=195747 Reviewed by Geoff Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-03-15 Shawn Roberts Unreviewed, rolling out r242952. Causing API failures on iOS Simulator Reverted changeset: "[PSON] Make sure the WebProcessCache is leverage when relaunching a process after termination" https://bugs.webkit.org/show_bug.cgi?id=195747 https://trac.webkit.org/changeset/242952 2019-03-14 Fujii Hironori [Win][MinBrowser][WK2] Implement createNewPage of WKPageUIClient to open a new window https://bugs.webkit.org/show_bug.cgi?id=195740 Reviewed by Ross Kirsling. window.open doesn't work for WebKitBrowserWindow because it is not implemented yet. 1. Implemented createNewPage callback of WKPageUIClient. 2. Changed MainWindow to take a BrowserWindow factory function instead of BrowserWindowType to be flexible to create BrowserWindow with extra settings. 3. Renamed MainWindow::BrowserWindowType to BrowserWindowType because it is not relevant with MainWindow anymore. * MiniBrowser/win/Common.cpp: (parseCommandLine): * MiniBrowser/win/Common.h: (CommandLineOptions::CommandLineOptions): * MiniBrowser/win/MainWindow.cpp: (MainWindow::MainWindow): (MainWindow::create): (MainWindow::init): (MainWindow::WndProc): * MiniBrowser/win/MainWindow.h: * MiniBrowser/win/PrintWebUIDelegate.cpp: (PrintWebUIDelegate::createWebViewWithRequest): * MiniBrowser/win/WebKitBrowserWindow.cpp: (WebKitBrowserWindow::create): Moved WKPageConfigurationRef related code from WebKitBrowserWindow::WebKitBrowserWindow. (WebKitBrowserWindow::WebKitBrowserWindow): Added a WKPageConfigurationRef parameter. (WebKitBrowserWindow::updateProxySettings): (WebKitBrowserWindow::createNewPage): * MiniBrowser/win/WebKitBrowserWindow.h: * MiniBrowser/win/WinMain.cpp: (wWinMain): 2019-03-14 Simon Fraser Make it possible to test scrolling tree layer manipulation more easily https://bugs.webkit.org/show_bug.cgi?id=195780 Reviewed by Tim Horton. Add a boolean attribute 'scrollUpdatesDisabled' on UIScriptController that cuts off communication of scrolling tree scrolls back to the web process (in RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll()). This allows tests to trigger scrolls which run the scrolling tree layer positioning logic, but never get another commit from the web process that might mask scrolling tree bugs. WKWebView's testing protocol get @property _scrollingUpdatesDisabledForTesting, whose getters and setters are overridden by TestRunnerWKWebView. Plumbing via PageClient and WebPageProxy makes this flag reachable by RemoteScrollingCoordinatorProxy. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::scrollUpdatesDisabled const): (WTR::UIScriptController::setScrollUpdatesDisabled): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::scrollUpdatesDisabled const): (WTR::UIScriptController::setScrollUpdatesDisabled): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: (-[TestRunnerWKWebView _scrollingUpdatesDisabledForTesting]): (-[TestRunnerWKWebView _setScrollingUpdatesDisabledForTesting:]): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::scrollUpdatesDisabled const): (WTR::UIScriptController::setScrollUpdatesDisabled): 2019-03-14 Youenn Fablet Move IDB storage in private browsing mode to NetworkProcess https://bugs.webkit.org/show_bug.cgi?id=195602 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm: (TEST): 2019-03-14 Aakash Jain [ews-build] Make descriptionDone messages more readable https://bugs.webkit.org/show_bug.cgi?id=195760 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: * BuildSlaveSupport/ews-build/steps_unittest.py: 2019-03-14 Aakash Jain [ews-build] Generate status-bubble hover-over messages https://bugs.webkit.org/show_bug.cgi?id=195680 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble): (StatusBubble._build_bubble): Generate bubble['details_message'] which would be displayed on hover-over. (StatusBubble._iso_time): (StatusBubble._steps_messages): Returns status messages from steps to be displayed in hover-over message. (StatusBubble._most_recent_step_message): Returns status message from most recent step. 2019-03-14 Aakash Jain [ews-app] Gracefully handle the case when state_string is None https://bugs.webkit.org/show_bug.cgi?id=195753 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/build.py: * BuildSlaveSupport/ews-app/ews/models/step.py: 2019-03-14 Aakash Jain [ews-app] Status bubble display pending for currently running build step https://bugs.webkit.org/show_bug.cgi?id=195744 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/events.py: (Events.stepStarted): If state_string is pending, replace it with step name. 2019-03-14 Chris Dumez Add WebsitePolicy for the client to specify the device orientation & motion access policy https://bugs.webkit.org/show_bug.cgi?id=195750 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (-[WebsitePoliciesDeviceOrientationDelegate initWithDeviceOrientationAccessPolicy:]): (-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): (-[WebsitePoliciesDeviceOrientationUIDelegate _webView:shouldAllowDeviceOrientationAndMotionAccessRequestedByFrame:decisionHandler:]): 2019-03-14 Chris Dumez [PSON] Make sure the WebProcessCache is leverage when relaunching a process after termination https://bugs.webkit.org/show_bug.cgi?id=195747 Reviewed by Geoff Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-03-13 Wenson Hsieh Make -[_WKAttachment setFileWrapper:contentType:completion:] robust when given a nil completion handler https://bugs.webkit.org/show_bug.cgi?id=195725 Reviewed by Tim Horton. Test that we don't crash when changing the file wrapper of an invalid attachment, if the given completion handler is nil. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): 2019-03-13 Sam Weinig Add utility function to allow easy reverse range-based iteration of a container https://bugs.webkit.org/show_bug.cgi?id=195542 Reviewed by Antti Koivisto. * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/IteratorRange.cpp: Added. (TestWebKitAPI::TEST): Add test to ensure WTF::makeReversedRange() works correctly and uses the correct types. 2019-03-13 Chris Dumez Use a ServiceWorker process per registrable domain https://bugs.webkit.org/show_bug.cgi?id=195649 Reviewed by Youenn Fablet. Update API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2019-03-13 Chris Dumez REGRESSION(PSON, r240660): Navigation over process boundary is flashy when using Cmd-left/right arrow to navigate https://bugs.webkit.org/show_bug.cgi?id=195684 Reviewed by Antti Koivisto. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-03-13 Aakash Jain [ews-app] Remove unused patch view https://bugs.webkit.org/show_bug.cgi?id=195669 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/urls.py: * BuildSlaveSupport/ews-app/ews/views/patch.py: Removed. 2019-03-13 Aakash Jain [ews-app] Use Buildbot result code variables https://bugs.webkit.org/show_bug.cgi?id=195668 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/ews-app/ews/common/buildbot.py: (Buildbot): Added Buildbot result code variables. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._build_bubble): Used Buildbot result code variables. 2019-03-13 Thibault Saunier [Flatpak] Expand submodule recursively https://bugs.webkit.org/show_bug.cgi?id=195672 Building WPE with flatpak was impossible without that as it was raising an exception. Also update wpebackend-fdo to match what is built in jhbuild Reviewed by Philippe Normand. * flatpak/flatpakutils.py: (expand_submodules_recurse): (expand_manifest): * flatpak/org.webkit.WPEModules.yaml: 2019-03-13 Aakash Jain [ews-app] status bubble should be hidden for certain builds https://bugs.webkit.org/show_bug.cgi?id=194597 Reviewed by Dewei Zhu. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._build_bubble): (StatusBubble._should_show_bubble_for_build): Hide bubble for builds which were skipped because the patch didn't have relevant changes. (StatusBubble._should_show_bubble_for_queue): Hide bubbles for queues which are not deployed in production yet. 2019-03-12 Ross Kirsling [Win] Fix a slew of simple clang-cl warnings. https://bugs.webkit.org/show_bug.cgi?id=195652 Reviewed by Don Olmstead. * WebKitTestRunner/win/PlatformWebViewWin.cpp: (WTR::PlatformWebView::windowSnapshotImage): -Wunused-variable 2019-03-12 Justin Fan [Web GPU] Update GPURenderPipelineDescriptor and add GPUColorStateDescriptor.format https://bugs.webkit.org/show_bug.cgi?id=195518 Reviewed by Myles C. Maxfield. * DumpRenderTree/DerivedSources-input.xcfilelist: * DumpRenderTree/DerivedSources-output.xcfilelist: 2019-03-12 Commit Queue Unreviewed, rolling out r242825. https://bugs.webkit.org/show_bug.cgi?id=195648 "Broke webkitpy tests with my change to lldb_dump_class_layout.py" (Requested by rmorisset on #webkit). Reverted changeset: "Alter Tools/Scripts/dump-class-layout to be able to dump all classes with suspicious padding" https://bugs.webkit.org/show_bug.cgi?id=195573 https://trac.webkit.org/changeset/242825 2019-03-12 Aakash Jain [ews-build] Show status bubbles while the patch is waiting in queue https://bugs.webkit.org/show_bug.cgi?id=195618 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble): Added ALL_QUEUES and ENABLED_QUEUES. Only certain queues are enabled in initial deployment. (StatusBubble._build_bubble): Display bubble even when build hasn't started. (StatusBubble.get_latest_build_for_queue): Get latest build for a given queue. (StatusBubble.get_builds_for_queue): Get all builds for a given queue. (StatusBubble._should_show_bubble_for): Display bubble for only ENABLED_QUEUES for now. (StatusBubble._build_bubbles_for_patch): 2019-03-12 Robin Morisset Alter Tools/Scripts/dump-class-layout to be able to dump all classes with suspicious padding https://bugs.webkit.org/show_bug.cgi?id=195573 Reviewed by Simon Fraser. Also modified the script so that when multiple types match a given name it shows them all and not arbitrarily pick one. * Scripts/dump-class-layout: (main): * lldb/lldb_dump_class_layout.py: (ClassLayout.__init__): (ClassLayout._compute_padding_recursive): (LLDBDebuggerInstance.dump_layout_for_classname): (LLDBDebuggerInstance): (LLDBDebuggerInstance.dump_all_wasteful_layouts): (LLDBDebuggerInstance.layout_for_classname): Deleted. 2019-03-12 Chris Dumez Device Orientation access permission should be denied unless explicitly granted by the client https://bugs.webkit.org/show_bug.cgi?id=195625 Reviewed by Youenn Fablet. add API test coverage. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm: Added. (-[DeviceOrientationMessageHandler userContentController:didReceiveScriptMessage:]): (-[DeviceOrientationPermissionUIDelegate initWithHandler:]): (-[DeviceOrientationPermissionUIDelegate _webView:shouldAllowDeviceOrientationAndMotionAccessRequestedByFrame:decisionHandler:]): (runDeviceOrientationTest): (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (-[WebsitePoliciesDeviceOrientationUIDelegate _webView:shouldAllowDeviceOrientationAndMotionAccessRequestedByFrame:decisionHandler:]): 2019-03-12 Jer Noble Flaky API Test TestWebKitAPI.WebKitLegacy.ScrollingDoesNotPauseMedia https://bugs.webkit.org/show_bug.cgi?id=195137 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm: (TestWebKitAPI::TEST): 2019-03-12 Aakash Jain [ews-build] Change urls from uat to production https://bugs.webkit.org/show_bug.cgi?id=195566 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/config.py: * BuildSlaveSupport/ews-build/events.py: * BuildSlaveSupport/ews-build/steps.py: 2019-03-12 Aakash Jain [ews-build] change max_builds for local-worker to 1 https://bugs.webkit.org/show_bug.cgi?id=195568 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/loadConfig.py: 2019-03-12 Tim Horton Fix the build * TestRunnerShared/spi/PencilKitTestSPI.h: * TestWebKitAPI/ios/PencilKitTestSPI.h: 2019-03-12 Michael Catanzaro [WPE][GTK] Load events may occur in unexpected order when JS redirects page before subresource load finishes https://bugs.webkit.org/show_bug.cgi?id=194131 Reviewed by Michael Catanzaro. * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp: (uriChanged): (testUnfinishedSubresourceLoad): (serverCallback): (beforeAll): 2019-03-11 Alex Christensen WTF::Expected should use std::addressof instead of operator& https://bugs.webkit.org/show_bug.cgi?id=195604 Reviewed by Myles Maxfield. * TestWebKitAPI/Tests/WTF/Expected.cpp: (TestWebKitAPI::Unique::Unique): (TestWebKitAPI::Unique::operator&): (TestWebKitAPI::TEST): 2019-03-11 Ross Kirsling Add Optional to Forward.h. https://bugs.webkit.org/show_bug.cgi?id=195586 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebCore/ApduTest.cpp: * TestWebKitAPI/Tests/WebCore/FidoHidMessageTest.cpp: Remove unnecessary includes from headers. 2019-03-11 Simon Fraser Add testing API to hit-test and scroll overflow scrollers https://bugs.webkit.org/show_bug.cgi?id=195278 Reviewed by Antti Koivisto. Add UIScriptController::immediateScrollElementAtContentPointToOffset() to enable testing of the view hit-testing code path, and immediate scrolling of overflow:scroll. Tests: scrollingcoordinator/ios/scroll-element-at-point.html * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::immediateScrollElementAtContentPointToOffset): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::immediateScrollElementAtContentPointToOffset): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::enclosingScrollViewIncludingSelf): (WTR::UIScriptController::immediateScrollElementAtContentPointToOffset): 2019-03-11 Tim Horton API test WebKit.RequestTextInputContext fails on iOS https://bugs.webkit.org/show_bug.cgi?id=195585 Reviewed by Wenson Hsieh and Simon Fraser. * TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm: (applyStyle): (TEST): Add a viewport, so that the coordinates match up on iOS. Scroll by moving the UIScrollView's contentOffset. 2019-03-11 Chris Dumez Assert in WebPageProxy::suspendCurrentPageIfPossible() https://bugs.webkit.org/show_bug.cgi?id=195506 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-03-11 Shawn Roberts Adding myself to contributors.json Unreviewed, addming myself to contributors.json . * Scripts/webkitpy/common/config/contributors.json: 2019-03-11 Alex Christensen Add a WKContentRuleList variant that uses copied memory instead of mmap'd shared memory for class A containerized apps https://bugs.webkit.org/show_bug.cgi?id=195511 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm: (-[TestSchemeHandlerSubresourceShouldBeBlocked webView:startURLSchemeTask:]): (-[TestSchemeHandlerSubresourceShouldBeBlocked webView:stopURLSchemeTask:]): (TEST_F): 2019-03-11 Chris Dumez Regression(r242664) WebKit.WebsitePoliciesDeviceOrientationEventEnabled API test is timing out https://bugs.webkit.org/show_bug.cgi?id=195561 Reviewed by Youenn Fablet. Make sure the JS in the test requests for permission to receive device orientation events. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: 2019-03-11 Youenn Fablet Allow storage quota increase by default in WTR https://bugs.webkit.org/show_bug.cgi?id=195541 Reviewed by Geoffrey Garen. Allow storage quota increase by default in WTR. Move from testRunner.allowStorageQuotaIncrease to testRunner.setAllowStorageQuotaIncrease. Use this for tests that explicitly need cache increase. Instead of increasing quota by 2, make sure the next request is granted by adding all given parameters. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setAllowStorageQuotaIncrease): (WTR::TestRunner::allowCacheStorageQuotaIncrease): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::setAllowStorageQuotaIncrease): (WTR::TestController::allowCacheStorageQuotaIncrease): Deleted. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::TestController::setAllowStorageQuotaIncrease): (WTR::TestController::allowCacheStorageQuotaIncrease): Deleted. * WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm: (-[TestWebsiteDataStoreDelegate requestStorageSpace:frameOrigin:quota:currentSize:spaceRequired:decisionHandler:]): 2019-03-11 Xan Lopez [CMake] Build 32bit binaries on Linux/64bit when the --32-bit is passed to build-jsc https://bugs.webkit.org/show_bug.cgi?id=194147 Reviewed by Michael Saboff. To make --32-bit work correctly on Linux/64bit we need to: - Set FORCE_32BIT on, which will be read by CMake to set WTF_CPU correctly. Ideally we'd just redefine CMAKE_SYSTEM_PROCESSOR, but unfortunately CMake only allows us to do this during crosscompilation, which is overkill here. - Set CMAKE_PREFIX_PATH and CMAKE_LIBRARY_ARCHITECTURE so that the pkg-config detection module uses the x86 .pc files instead of the x86_64 ones. - Set the -m32 flags for the compiler. * Scripts/webkitdirs.pm: (generateBuildSystemFromCMakeProject): 2019-03-08 Dewei Zhu Add MotionMark-1.1 plan file for run-benchmark script. https://bugs.webkit.org/show_bug.cgi?id=195481 Rubber-stamped by Darin Adler. Run-benchmark script should support MontionMark-1.1. * Scripts/webkitpy/benchmark_runner/data/plans/motionmark1.1.plan: Added. 2019-03-11 Aakash Jain [ews-app] Add support for submit-to-ews url https://bugs.webkit.org/show_bug.cgi?id=195477 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/fetcher.py: * BuildSlaveSupport/ews-app/ews/templates/statusbubble.html: * BuildSlaveSupport/ews-app/ews/templates/submittoews.html: Copied from QueueStatusServer/templates/submittoews.html. * BuildSlaveSupport/ews-app/ews/urls.py: * BuildSlaveSupport/ews-app/ews/views/submittoews.py: Added. 2019-03-11 Ryan Haddad Unreviewed, rolling out r242688, r242643, r242624. Caused multiple layout test failures and crashes on iOS and macOS. Reverted changeset: "requestAnimationFrame should execute before the next frame" https://bugs.webkit.org/show_bug.cgi?id=177484 https://trac.webkit.org/changeset/242624/webkit * Tracing/SystemTracePoints.plist: 2019-03-11 John Wilander Resource Load Statistics: Make it possible exclude localhost from classification https://bugs.webkit.org/show_bug.cgi?id=195474 Reviewed by Brent Fulgham. This patch allows for localhost to be excluded from classification and treatment as a prevalent resource. The WebKit Tools change adds a new function called testRunner.setStatisticsIsRunningTest() which can be used to control this behavior. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setStatisticsIsRunningTest): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::setStatisticsIsRunningTest): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2019-03-11 Aakash Jain [ews-build] Disable waterfall and console view for ews-build.webkit.org https://bugs.webkit.org/show_bug.cgi?id=195560 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/master.cfg: 2019-03-11 Alex Christensen Unreviewed, rolling out r242698. API test crashes on bots. Reverted changeset: "Add a WKContentRuleList variant that uses copied memory instead of mmap'd shared memory for class A containerized apps" https://bugs.webkit.org/show_bug.cgi?id=195511 https://trac.webkit.org/changeset/242698 2019-03-11 Michael Catanzaro [WPE] Enable web process sandbox https://bugs.webkit.org/show_bug.cgi?id=195169 Reviewed by Daniel Bates. * wpe/install-dependencies: * wpe/jhbuild.modules: 2019-03-11 Aakash Jain [ews-app] Use port 17000 for worker communication https://bugs.webkit.org/show_bug.cgi?id=195558 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/master.cfg: 2019-03-11 Aakash Jain [ews-build] unit-tests fail when passwords.json is missing https://bugs.webkit.org/show_bug.cgi?id=195557 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/loadConfig.py: (loadBuilderConfig): * BuildSlaveSupport/ews-build/loadConfig_unittest.py: (ConfigDotJSONTest.test_configuration): * BuildSlaveSupport/ews-build/master.cfg: 2019-03-11 Truitt Savell Unreviewed, rolling out r242702. Broke High Sierra builders. Reverted changeset: "Add utility function to allow easy reverse range-based iteration of a container" https://bugs.webkit.org/show_bug.cgi?id=195542 https://trac.webkit.org/changeset/242702 2019-03-11 Sam Weinig Add utility function to allow easy reverse range-based iteration of a container https://bugs.webkit.org/show_bug.cgi?id=195542 Reviewed by Antti Koivisto. * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/IteratorRange.cpp: Added. (TestWebKitAPI::TEST): Add test to ensure WTF::makeReversedRange() works correctly and uses the correct types. 2019-03-10 Alex Christensen Add a WKContentRuleList variant that uses copied memory instead of mmap'd shared memory for class A containerized apps https://bugs.webkit.org/show_bug.cgi?id=195511 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm: (-[TestSchemeHandlerSubresourceShouldBeBlocked webView:startURLSchemeTask:]): (-[TestSchemeHandlerSubresourceShouldBeBlocked webView:stopURLSchemeTask:]): (TEST_F): 2019-03-10 Tim Horton Add SPI to retrieve the set of text inputs in a given rect, and later focus one https://bugs.webkit.org/show_bug.cgi?id=195499 Reviewed by Darin Adler. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm: Added. (-[WKWebView synchronouslyRequestTextInputContextsInRect:]): (-[WKWebView synchronouslyFocusTextInputContext:]): (applyStyle): (applyIframe): (TEST): Add some tests for this SPI. 2019-03-10 Yusuke Suzuki [WTF] Align assumption in RunLoopWin to the other platform's RunLoop https://bugs.webkit.org/show_bug.cgi?id=181151 Reviewed by Don Olmstead. * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformWin.cmake: Enable TestWTF RunLoop tests in all platforms. * TestWebKitAPI/Tests/WTF/RunLoop.cpp: (TestWebKitAPI::DerivedOneShotTimer::DerivedOneShotTimer): (TestWebKitAPI::DerivedOneShotTimer::fired): (TestWebKitAPI::TEST): Only a few platforms support nested RunLoop. (TestWebKitAPI::DerivedRepeatingTimer::DerivedRepeatingTimer): (TestWebKitAPI::DerivedRepeatingTimer::fired): 2019-03-10 David Quesada ASSERT(m_downloads.isEmpty()) fails in DownloadProxyMap::~DownloadProxyMap() https://bugs.webkit.org/show_bug.cgi?id=152480 Reviewed by Chris Dumez. Add a unit test based on Daniel Bates's test case that starts a download, ensures there are no additional references to the process pool besides the one held by the download, waits for the download to finish (in the sense that the DownloadProxyMap is done tracking the DownloadProxy), and doesn't crash. For good measure, also check that the process pool has been deallocated at the end of the test. The test wouldn't be meaningful if the process pool were still alive. * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (-[WaitUntilDownloadCanceledDelegate _downloadDidStart:]): (-[WaitUntilDownloadCanceledDelegate _downloadDidCancel:]): The download will be canceled because the delegate does not implement the method to decide the download's destination, so this is where we know the DownloadProxyMap is done with the DownloadProxy. (TEST): 2019-03-08 Chris Dumez Add support for Device Orientation / Motion permission API https://bugs.webkit.org/show_bug.cgi?id=195329 Reviewed by Geoffrey Garen. Add test infrastructure to help test the Device Orientation / Motion permission API. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setShouldAllowDeviceOrientationAndMotionAccess): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::shouldAllowDeviceOrientationAndMotionAccess): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::resetStateToConsistentValues): (WTR::TestController::handleDeviceOrientationAndMotionAccessRequest): * WebKitTestRunner/TestController.h: (WTR::TestController::setShouldAllowDeviceOrientationAndMotionAccess): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): 2019-03-08 Saam barati Add a compare-results script to compare benchmark results https://bugs.webkit.org/show_bug.cgi?id=195486 Reviewed by Geoffrey Garen. This patch adds a script to compare benchmark results using Welch's two-tailed t test. Initially, this patch only reasons about PLT5/JetStream2/Speedometer2. It will be easy to extend it to learn about our other benchmarks. * Scripts/compare-results: Added. (readJSONFile): (detectJetStream2): (JetStream2Results): (detectSpeedometer2): (Speedometer2Results): (detectPLT5): (PLT5Results): (detectBenchmark): (biggerIsBetter): (ttest): (getOptions): (main): 2019-03-08 Stephanie Lewis Ensure old tab state is cleared between iterations of run-benchmark https://bugs.webkit.org/show_bug.cgi?id=195393 Reviewed by Dewei Zhu. a) ensure the default to restore state is not set b) terminate Safari correctly c) Set the system default to ignore Persistent State in Safari * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py: (OSXBrowserDriver): fix terminate processes to call terminate before killing. (OSXBrowserDriver.prepare_env): (OSXBrowserDriver.restore_env): (OSXBrowserDriver.close_browsers): (OSXBrowserDriver._terminate_processes): * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: add bundle id (OSXChromeDriver): (OSXChromeCanaryDriver): * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py: ditto (OSXFirefoxDriver): (OSXFirefoxNightlyDriver): * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: add preferences to not restore state, bundle id (OSXSafariDriver): (OSXSafariDriver.prepare_env): 2019-03-08 Diego Pino Garcia [GTK] Several InputMethodFilter tests are failing https://bugs.webkit.org/show_bug.cgi?id=195408 Reviewed by Carlos Garcia Campos. * TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp: Regressed in r241751. Hexadecimal values of keycodes are expressed now in upper letters. Composited characters should be cast to UTF8 strings. (TestWebKitAPI::TEST): 2019-03-07 Tomas Popela [GTK] Make Tools/gtkdoc python3 compatible https://bugs.webkit.org/show_bug.cgi?id=195359 Reviewed by Carlos Garcia Campos. * gtkdoc/generate-gtkdoc: ConfigParser was reworked in Python 3.2 so we have adapt the code to work with Python 2 and 3. (get_gtkdoc_module_paths): The iteritems() was removed in Python 3, so let's use items() that's available in Python 2 and 3. (get_generator_for_config): * gtkdoc/gtkdoc.py: (GTKDoc._run_command): The sys.stdout.write() is expecting str in Python 3 and not bytes (that are coming from stdout.encode()). Use sys.stdout.buffer.write() for passing the bytes there. 2019-03-07 Fujii Hironori [Win] Remove -DUCHAR_TYPE=wchar_t stopgap and learn to live with char16_t. https://bugs.webkit.org/show_bug.cgi?id=195346 Unreviewed build fix for clang-cl. * DumpRenderTree/win/DumpRenderTree.cpp: (setApplicationId): Replaced calling String::charactersWithNullTermination with String::wideCharacters to get wchar_t. 2019-03-07 Said Abou-Hallawa requestAnimationFrame should execute before the next frame https://bugs.webkit.org/show_bug.cgi?id=177484 Reviewed by Simon Fraser. Add trace points for the page RenderingUpdate. * Tracing/SystemTracePoints.plist: 2019-03-07 Zalan Bujtas [ContentChangeObserver] Add a setting to be able to turn content change observation on/off https://bugs.webkit.org/show_bug.cgi?id=195353 Reviewed by Simon Fraser. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetPreferencesToConsistentValues): 2019-03-07 John Wilander Resource Load Statistics: Make it possible to purge only script-accessible cookies https://bugs.webkit.org/show_bug.cgi?id=195383 Reviewed by Brent Fulgham. This patch adds test infrastructure to purge only script-accessible cookies, including a new testRunner function called statisticsDeleteCookiesForHost().git a * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::statisticsDeleteCookiesForHost): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::statisticsDeleteCookiesForHost): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2019-03-07 Commit Queue Unreviewed, rolling out r242354. https://bugs.webkit.org/show_bug.cgi?id=195402 breaks layout tests in all configurations (Requested by zdobersek on #webkit). Reverted changeset: "[WPE] Enable web process sandbox" https://bugs.webkit.org/show_bug.cgi?id=195169 https://trac.webkit.org/changeset/242354 2019-03-06 Ross Kirsling [Win] Remove -DUCHAR_TYPE=wchar_t stopgap and learn to live with char16_t. https://bugs.webkit.org/show_bug.cgi?id=195346 Reviewed by Fujii Hironori. * TestWebKitAPI/Tests/WTF/StringOperators.cpp: (TestWebKitAPI::TEST): Delete wchar tests -- these are MSVC-only and we won't be using String::operator+ going forward anyway. * DumpRenderTree/win/DumpRenderTree.cpp: (findFontFallback): (addFontFallbackIfPresent): (removeFontFallbackIfPresent): (main): * TestWebKitAPI/win/PlatformUtilitiesWin.cpp: (TestWebKitAPI::Util::moduleDirectory): (TestWebKitAPI::Util::createInjectedBundlePath): Use wchar helpers as needed. 2019-03-06 Rob Buis Consider supporting the `referrerpolicy` attribute. https://bugs.webkit.org/show_bug.cgi?id=179053 Reviewed by Darin Adler. Add a runtime flag for referrerpolicy attribute. * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): 2019-03-05 Daniel Bates Update expected API test result following r242379 (https://bugs.webkit.org/show_bug.cgi?id=195125) Update expected x-coordinate of selection rect now that the left padding of a textarea is sized in ems (so dependent on the font size) just like the left padding of a text field. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: (TestWebKitAPI::TEST): 2019-03-05 David Quesada [WK2] It should be possible to follow links with 'download' attributes https://bugs.webkit.org/show_bug.cgi?id=195145 rdar://problem/48462642 Reviewed by Alex Christensen. Add a unit test to verify that activating links with 'download' attributes now navigates to the linked resource, rather than starts downloading it. Add another to verify that it is still possible to explicitly download the link via the 'Download' navigation action policy. * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (-[DownloadAttributeTestDelegate init]): (-[DownloadAttributeTestDelegate waitForDidFinishNavigation]): (-[DownloadAttributeTestDelegate waitForDownloadDidStart]): (-[DownloadAttributeTestDelegate webView:didFinishNavigation:]): (-[DownloadAttributeTestDelegate webView:didStartProvisionalNavigation:]): (-[DownloadAttributeTestDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): (-[DownloadAttributeTestDelegate _downloadDidStart:]): (TEST): * WebKitTestRunner/TestController.cpp: (WTR::TestController::decidePolicyForNavigationAction): * WebKitTestRunner/TestController.h: 2019-03-05 Takashi Komori [Curl] Implement Cookie Accept Policy. https://bugs.webkit.org/show_bug.cgi?id=191645 Reviewed by Fujii Hironori. * TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp: (TestWebKitAPI::Curl::TEST_F): 2019-03-05 Youenn Fablet Rename requestCacheStorageSpace to requestStorageSpace https://bugs.webkit.org/show_bug.cgi?id=195282 Reviewed by Chris Dumez. * WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm: (-[TestWebsiteDataStoreDelegate requestStorageSpace:frameOrigin:quota:currentSize:spaceRequired:decisionHandler:]): (-[TestWebsiteDataStoreDelegate requestCacheStorageSpace:frameOrigin:quota:currentSize:spaceRequired:decisionHandler:]): Deleted. 2019-03-05 Brady Eidson Correctly handle sandbox extensions when the same WKWebView loads multiple file:// URLs. and https://bugs.webkit.org/show_bug.cgi?id=195291 Reviewed by Tim Horton. Loading a file: URL into a WKWebView and then loading another file: url from a completely different directory into that same WKWebView should work. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/LoadFileURL.mm: Added. 2019-02-28 Ryosuke Niwa Add WeakHashSet https://bugs.webkit.org/show_bug.cgi?id=195152 Reviewed by Antti Koivisto. Added tests for WeakHashSet. * TestWebKitAPI/Tests/WTF/WeakPtr.cpp: (TestWebKitAPI::Base::Base): Moved. (TestWebKitAPI::Derived::foo): Moved. (WTF::WeakReference): Added to track the number of live WeakReference. (WTF::WeakReference::WeakReference): (WTF::WeakReference::~WeakReference): (TestWebKitAPI::computeSizeOfWeakHashSet): Added. 2019-03-04 Chris Dumez Do not share WebProcesses between private and regular sessions https://bugs.webkit.org/show_bug.cgi?id=195189 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: 2019-03-04 Michael Catanzaro [WPE] Enable web process sandbox https://bugs.webkit.org/show_bug.cgi?id=195169 Reviewed by Daniel Bates. * wpe/install-dependencies: * wpe/jhbuild.modules: 2019-03-04 Carlos Garcia Campos [GLib] Returning G_TYPE_OBJECT from a constructor does not work https://bugs.webkit.org/show_bug.cgi?id=195206 Reviewed by Žan Doberšek. Add a new test case. * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: (testJSCClass): 2019-03-04 Charlie Turner [WPE] Inline wl_array_for_each to workaround C++ compatibility issue https://bugs.webkit.org/show_bug.cgi?id=194898 Reviewed by Žan Doberšek. * wpe/backends/WindowViewBackend.cpp: wl_array_for_each relies on a GCC extension that permits arithmetic on void* pointer. Inline the macro until this issue is fixed upstream. 2019-03-03 Tim Horton Rid the world of WK_API_ENABLED https://bugs.webkit.org/show_bug.cgi?id=195263 Reviewed by Dan Bernstein. List of changed files elided because it's useless. 2019-03-03 Ross Kirsling Unreviewed follow-up to r242292. By Darin's suggestion, adopt an approach that uses EXPECT_STREQ without scattering utf8().data() everywhere. * TestWebKitAPI/Tests/WebKit/EnvironmentUtilitiesTest.cpp: (TestWebKitAPI::testStrip): Renamed from strip. (TestWebKitAPI::TEST): 2019-03-03 Michael Catanzaro Unreviewed, remove accidentally-committed URLHelpers.cpp test This test isn't built by any port and was committed in r240962 by mistake. See bug #174816 and bug #194272 for details. * TestWebKitAPI/Tests/WTF/URLHelpers.cpp: Removed. 2019-03-03 Tim Horton Remove some more unused 32-bit code https://bugs.webkit.org/show_bug.cgi?id=195255 Reviewed by Darin Adler. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/TestNetscapePlugIn/Tests/mac/SupportsCarbonEventModel.cpp: Removed. * DumpRenderTree/TestNetscapePlugIn/main.cpp: (NPP_New): (NPP_HandleEvent): (handleEventCarbon): Deleted. 2019-03-02 Ross Kirsling Unreviewed follow-up to r242292. Keep EXPECT_STREQ in tests per Darin's request. * TestWebKitAPI/Tests/WebKit/EnvironmentUtilitiesTest.cpp: (TestWebKitAPI::TEST): 2019-03-01 Darin Adler Finish removing String::format https://bugs.webkit.org/show_bug.cgi?id=194893 Reviewed by Daniel Bates. ' * Tools/TestWebKitAPI/Tests/WTF/StringConcatenate.cpp: Add tests for pad(). 2019-03-01 Alex Christensen Add setters on WKWebsiteDataStore for sourceApplicationBundleIdentifier and sourceApplicationSecondaryIdentifier https://bugs.webkit.org/show_bug.cgi?id=195229 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): 2019-03-01 Simon Fraser Add a system trace scope for event region building https://bugs.webkit.org/show_bug.cgi?id=195226 Reviewed by Jon Lee. This trace scope measures the time spend converting element rects into Region objects, which can be large on some pages. The value for "Display Refresh Dispatch to main thread" was wrong and I fixed it. * Tracing/SystemTracePoints.plist: 2019-03-01 Ross Kirsling EnvironmentUtilities::stripValuesEndingWithString isn't thread-safe https://bugs.webkit.org/show_bug.cgi?id=194612 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKit/EnvironmentUtilitiesTest.cpp: Just test the new string-processing function and don't touch the actual environment. (Test cases are all as before, but based on operator== instead of strcmp.) 2019-03-01 Aakash Jain [ews-app] Update primary keys for handling multiple Buildbot instances https://bugs.webkit.org/show_bug.cgi?id=195120 Reviewed by Stephanie Lewis. Use a new primary key uid for build and step tables. Previous primary keys build_id and step_id were not enough to handle multiple buildbot instances. This new primary key uid would be generated by a combination of buildbot_instance_id and current primary key. e.g.: buildbot_instance_id + build_id * BuildSlaveSupport/ews-app/ews/models/build.py: Added new primary key uid. * BuildSlaveSupport/ews-app/ews/models/step.py: Ditto. * BuildSlaveSupport/ews-app/ews/models/buildbotinstance.py: Generate uid and instance_id. * BuildSlaveSupport/ews-app/ews/views/results.py: Updated to receive hostname in events. * BuildSlaveSupport/ews-build/events.py: Send hostname along-with events. * BuildSlaveSupport/ews-build/master.cfg: Ditto. 2019-03-01 Don Olmstead [WinCairo] Enable service worker https://bugs.webkit.org/show_bug.cgi?id=188318 Reviewed by Youenn Fablet. * DumpRenderTree/DumpRenderTreePrefix.h: * TestWebKitAPI/PlatformWin.cmake: * TestWebKitAPI/win/TestWebKitAPIPrefix.h: * WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.h: * WebKitTestRunner/WebKitTestRunnerPrefix.h: 2019-03-01 Justin Fan [Web GPU] 32-bit builds broken by attempt to disable WebGPU on 32-bit https://bugs.webkit.org/show_bug.cgi?id=195191 Rubber-stamped by Dean Jackson. Dropping support for 32-bit entirely, so I'm intentionally leaving 32-bit broken. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-03-01 Yusuke Suzuki Unreviewed, fix lldb webkitpy tests https://bugs.webkit.org/show_bug.cgi?id=194375 Since we changed the value of Is8Bit flag in StringImpl, we change lldb webkitpy tests accordingly. * lldb/lldb_webkit.py: (WTFStringImplProvider.is_8bit): 2019-02-28 David Quesada Expose APINavigationAction.shouldPerformDownload() on WKNavigationAction https://bugs.webkit.org/show_bug.cgi?id=195121 rdar://problem/48450302 Reviewed by Alex Christensen. Add API tests for -WKNavigationAction._shouldPerformDownload in various configurations where the 'download' attribute is absent, blank, or populated with a filename, and where the anchor element is same-origin or cross-origin (meaning the 'download' attribute shouldn't be honored). * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/NavigationAction.mm: Added. (-[NavigationActionTestDelegate init]): (-[NavigationActionTestDelegate navigationAction]): (-[NavigationActionTestDelegate waitForNavigationActionCallback]): (-[NavigationActionTestDelegate waitForDidFinishNavigation]): (-[NavigationActionTestDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): (-[NavigationActionTestDelegate webView:didFinishNavigation:]): (TEST): 2019-02-28 Antoine Quint Enable the Pointer Events runtime flag by default https://bugs.webkit.org/show_bug.cgi?id=195156 Reviewed by Dean Jackson. * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): 2019-02-28 Wenson Hsieh Several PasteImage API tests are flaky https://bugs.webkit.org/show_bug.cgi?id=195160 Reviewed by Tim Horton. Some of these tests, such as PasteTIFFImage, don't wait for the inserted image element to finish loading before querying the image element's size; a few other tests, such as PastePNGFile, are racy since they may begin listening for a "load" event after image load is already complete. To address this, make these tests first register a "load" event handler, then run script to insert an image element into the document, and finally wait until the load event is observed before checking image size. * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm: 2019-02-28 Chris Dumez Flaky API Test: TestWebKitAPI.ProcessSwap.PageZoomLevelAfterSwap https://bugs.webkit.org/show_bug.cgi?id=195107 Reviewed by Alex Christensen. Give some time for the zoom level to get restored. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-28 Sihui Liu Stop using legacy IDB path by default when creating WebProcessPool from websiteDataStore https://bugs.webkit.org/show_bug.cgi?id=194958 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBUserDelete.mm: (TEST): 2019-02-28 Aakash Jain [ews-app] Update method to save build to handle builder_display_name https://bugs.webkit.org/show_bug.cgi?id=195047 Reviewed by Dewei Zhu. * BuildSlaveSupport/ews-app/ews/models/build.py: Updated to handle builder_name and builder_display_name. * BuildSlaveSupport/ews-app/ews/views/results.py: Ditto. 2019-02-28 Justin Fan [Web GPU] Enable Web GPU only on 64-bit https://bugs.webkit.org/show_bug.cgi?id=195139 Because Metal is only supported on 64 bit apps. Unreviewed build fix. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-02-27 Youenn Fablet Flaky API Test: TestWebKitAPI.ServiceWorkers.ServiceWorkerAndCacheStorageSpecificDirectories https://bugs.webkit.org/show_bug.cgi?id=194959 Reviewed by Chris Dumez. Spin loop until getting the condition to remove flakiness. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2019-02-27 Aakash Jain [ews-build] Buildbot should include builder_display_name in the build events https://bugs.webkit.org/show_bug.cgi?id=195045 Reviewed by Dewei Zhu. * BuildSlaveSupport/ews-build/events.py: (Events.buildStarted): Included builder_display_name in event data. Also renamed buildername to builder_name to be consistent in naming style. (Events.buildFinished): Ditto. 2019-02-27 Chris Dumez Flaky API Test: TestWebKitAPI.ProcessSwap.SessionStorage https://bugs.webkit.org/show_bug.cgi?id=194480 Reviewed by Brady Eidson. Update existing API test to make it more likely to reproduce the issue. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-27 Brady Eidson Universal links from Google search results pages don't open the app. and https://bugs.webkit.org/show_bug.cgi?id=195126 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WebKitCocoa/ShouldOpenExternalURLsInNewWindowActions.mm: * TestWebKitAPI/cocoa/TestNavigationDelegate.h: * TestWebKitAPI/cocoa/TestNavigationDelegate.mm: (-[TestNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): 2019-02-27 Chris Dumez Flaky API Test: TestWebKitAPI.ProcessSwap.NumberOfCachedProcesses https://bugs.webkit.org/show_bug.cgi?id=195102 Reviewed by Geoffrey Garen. If the number of processes is not yet what we expect, wait a bit and check again to give processes some time to exit. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-27 Chris Dumez Flaky API Test: TestWebKitAPI.ProcessSwap.NavigateToDataURLThenBack https://bugs.webkit.org/show_bug.cgi?id=194545 Reviewed by Brady Eidson. Make sure the test navigates forward and then back only once. Previously, navigating back would trigger a navigation again in a timer. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-13 Ryan Haddad High Sierra Debug JSC test queue should use faster hardware https://bugs.webkit.org/show_bug.cgi?id=194603 Rubber-stamped by Alexey Proskuryakov. Adjust queues to free up faster hardware for use on the High Sierra Debug JSC queue. * BuildSlaveSupport/build.webkit.org-config/config.json: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: (BubbleQueueServer): * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: (WebKitBuildbot): * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: * QueueStatusServer/config/queues.py: * Scripts/webkitpy/common/config/ews.json: * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: (test_ews_name): 2019-02-27 John Wilander Adopt WebCore::RegistrableDomain in WebCore::ResourceLoadStatistics and WebKit::NetworkProcessProxy https://bugs.webkit.org/show_bug.cgi?id=195071 Reviewed by Alex Christensen and Brent Fulgham. * TestWebKitAPI/Tests/WebCore/AdClickAttribution.cpp: (TestWebKitAPI::createURL): Convenience function. (TestWebKitAPI::TEST): WebCore::AdClickAttribution now takes a URL when creating Source and Destination. * TestWebKitAPI/Tests/WebCore/RegistrableDomain.cpp: (TestWebKitAPI::TEST): WebCore::AdClickAttribution now takes a URL when creating Source and Destination. 2019-02-27 Antoine Quint Support Pointer Events on macOS https://bugs.webkit.org/show_bug.cgi?id=195008 Reviewed by Dean Jackson. * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): Enable the PointerEvents runtime feature in DumpRenderTree such that tests targeting WK1 may test the Pointer Events feature. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-02-26 Mark Lam Remove remaining poisoning code. https://bugs.webkit.org/show_bug.cgi?id=194138 Reviewed by Saam Barati. * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/Poisoned.cpp: Removed. * TestWebKitAPI/Tests/WTF/PoisonedRef.cpp: Removed. * TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp: Removed. * TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp: Removed. * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp: Removed. * TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp: Removed. 2019-02-26 Alex Christensen Move ephemeral local storage from WebProcess to UIProcess https://bugs.webkit.org/show_bug.cgi?id=195074 Reviewed by Geoff Garen. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-20 Jer Noble [Cocoa] Media elements will restart network buffering just before suspending https://bugs.webkit.org/show_bug.cgi?id=193691 Reviewed by Eric Carlson. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm: Added. (TEST): 2019-02-26 Takashi Komori [Curl] Load HTTP body of 401 response when AuthenticationChange is cancelled. https://bugs.webkit.org/show_bug.cgi?id=191652 Reviewed by Alex Christensen. Fix WinCairo MiniBrowser behavior of authentication dialog. * MiniBrowser/win/WebKitBrowserWindow.cpp: (WebKitBrowserWindow::didReceiveAuthenticationChallenge): 2019-02-26 Youenn Fablet WebPageProxy should nullify m_userMediaPermissionRequestManager after resetting the media state https://bugs.webkit.org/show_bug.cgi?id=195028 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-26 Philippe Normand [WPE] Add API for webview background color configuration https://bugs.webkit.org/show_bug.cgi?id=192305 Reviewed by Michael Catanzaro. * MiniBrowser/wpe/main.cpp: (main): Add a new option to configure the webview background color. Example: --bg-color=transparent. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: (testWebViewBackgroundColor): Enable background color API tests for WPE. (beforeAll): Ditto. 2019-02-25 Yongjun Zhang scalableNativeWebpageParameters() is not preserved on new page navigation. https://bugs.webkit.org/show_bug.cgi?id=194892 Reviewed by Wenson Hsieh. Allow UIScriptController to set WKWebView's _allowsViewportShrinkToFit property with a new `setAllowsViewportShrinkToFit` method. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::setAllowsViewportShrinkToFit): * DumpRenderTree/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::allowsViewportShrinkToFit): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::setAllowsViewportShrinkToFit): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/UIScriptControllerCocoa.mm: (WTR::UIScriptController::setAllowsViewportShrinkToFit): 2019-02-25 Aakash Jain [ews-app] Add model for handling multiple Buildbot instances https://bugs.webkit.org/show_bug.cgi?id=194863 Reviewed by Stephanie Lewis. * BuildSlaveSupport/ews-app/ews/models/buildbotinstance.py: Added. 2019-02-25 Aakash Jain [ews-app] Remove BuilderMapping table https://bugs.webkit.org/show_bug.cgi?id=194961 Reviewed by Stephanie Lewis. Store builder name directly in build table, instead of having a separate table for it. * BuildSlaveSupport/ews-app/ews/models/__init__.py: * BuildSlaveSupport/ews-app/ews/models/build.py: * BuildSlaveSupport/ews-app/ews/models/buildermapping.py: Removed. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: 2019-02-25 John Wilander Introduce and adopt new class RegistrableDomain for eTLD+1 https://bugs.webkit.org/show_bug.cgi?id=194791 Reviewed by Alex Christensen, Fujii Hironori, and Brent Fulgham. This patch adds an API test and replaces two instances of "TopPrivatelyOwnedDomains" with "RegistrableDomains" in message names. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/AdClickAttribution.cpp: (TestWebKitAPI::TEST): Changed two strings to make sure the registrable domains are still considered invalid and pass the test. * TestWebKitAPI/Tests/WebCore/RegistrableDomain.cpp: Added. (TestWebKitAPI::TEST): * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessageToPage): 2019-02-25 Adrian Perez de Castro [WPE] Bump WPEBackend-fdo requirement to API version 1.0 https://bugs.webkit.org/show_bug.cgi?id=195001 Reviewed by Carlos Garcia Campos. API version 1.0 always includes the functionality previously guarded with WPE_BACKEND_CHECK_VERSION(): remove the guards and always use the new functions unconditionally. * TestWebKitAPI/glib/WebKitGLib/TestMain.h: (Test::createWebViewBackend): Remove usage of WPE_BACKEND_CHECK_VERSION(). * TestWebKitAPI/glib/WebKitGLib/wpe/WebViewTestWPE.cpp: (WebViewTest::showInWindow): Ditto. (WebViewTest::hideView): Ditto. * wpe/backends/HeadlessViewBackend.cpp: (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): Ditto. * wpe/backends/ViewBackend.cpp: (WPEToolingBackends::ViewBackend::ViewBackend): Use libWPEBackend-fdo-1.0 as library name. * wpe/backends/WindowViewBackend.cpp: (WPEToolingBackends::WindowViewBackend::WindowViewBackend): Remove usage of WPE_BACKEND_CHECK_VERSION(). * wpe/jhbuild.modules: Build a version WPEBackend-fdo with the updated API version. 2019-02-25 Thibault Saunier [Flatpak] Add support for flatpak > 1.1.2 https://bugs.webkit.org/show_bug.cgi?id=194088 Flatpak 1.2 is now out so we need to support that version now. Reviewed by Michael Catanzaro. * flatpak/flatpakutils.py: (check_flatpak): (FlatpakPackages.__init__): (FlatpakPackages.__detect_packages): (FlatpakPackages.__detect_packages.in): (FlatpakRepos.update): 2019-02-25 Zan Dobersek [WPE] Bump WPEBackend-fdo Jhbuild package to latest changes https://bugs.webkit.org/show_bug.cgi?id=194998 Reviewed by Carlos Garcia Campos. * wpe/jhbuild.modules: Bump the WPEBackend-fdo package, converting it to a Git checkout and using the latest commit containing various fixes and improvements. 2019-02-24 Michael Catanzaro [WPE][GTK] Remove user agent quirk for washingtonpost.com https://bugs.webkit.org/show_bug.cgi?id=194981 Reviewed by Žan Doberšek. * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp: (TestWebKitAPI::TEST): 2019-02-23 Keith Miller Add new mac target numbers https://bugs.webkit.org/show_bug.cgi?id=194955 Reviewed by Tim Horton. * DumpRenderTree/mac/Configurations/Base.xcconfig: * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: * MiniBrowser/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/Base.xcconfig: 2019-02-22 Basuke Suzuki [WinCairo] Enable wk1/wk2 suffix for platform search path. https://bugs.webkit.org/show_bug.cgi?id=194846 Reviewed by Don Olmstead. Added _search_paths() and _port_specific_expectations_files() for WinCairoPort. * Scripts/webkitpy/port/win.py: (WinCairoPort.default_baseline_search_path): (WinCairoPort): (WinCairoPort._port_specific_expectations_files): (WinCairoPort._search_paths): 2019-02-22 Tim Horton ProcessSwap.PageOverlayLayerPersistence fails on iOS and in debug builds https://bugs.webkit.org/show_bug.cgi?id=194963 Reviewed by Dean Jackson. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Do a `contains` check instead of `equals`, because in debug builds we put the GraphicsLayer pointer in a prefix. 2019-02-22 Wenson Hsieh [iOS] Callout menu overlaps in-page controls when editing a comment in github.com's issue tracker https://bugs.webkit.org/show_bug.cgi?id=194873 Reviewed by Tim Horton. Add a couple of UIScriptController methods to make callout menu testing on iOS easier (see below). * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::menuRect const): (WTR::UIScriptController::isShowingMenu const): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::menuRect const): Add a function to query the bounds of the callout menu in content coordinates. (WTR::UIScriptController::isShowingMenu const): Add a function to query whether the callout menu is shown (i.e., has finished its appearance animation). * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.h: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::rectForMenuAction const): (WTR::UIScriptController::menuRect const): (WTR::UIScriptController::isShowingMenu const): (WTR::findViewInHierarchyOfType): Deleted. 2019-02-22 Chris Dumez Regression(PSON) Unable to preview password-protected documents on iCloud.com https://bugs.webkit.org/show_bug.cgi?id=194954 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[PSONNavigationDelegate _webViewDidRequestPasswordForQuickLookDocument:]): (-[PSONNavigationDelegate _webView:didStartLoadForQuickLookDocumentInMainFrameWithFileName:uti:]): (-[PSONNavigationDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]): 2019-02-22 Chris Dumez REGRESSION(PSON) Scroll position is sometimes not restored on history navigation https://bugs.webkit.org/show_bug.cgi?id=194924 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-22 Chris Dumez Unreviewed, disable API test added in r241928 on iOS. The cache is not enabled on devices with less than 3GB of RAM. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-21 Simon Fraser Hardcode Visual Viewports on everywhere except iOS WK1 https://bugs.webkit.org/show_bug.cgi?id=194928 Reviewed by Zalan Bujtas. Remove the WK1 and WK2 preferences and MiniBrowser menu item for "visual viewports", change the default value of the Setting to 'true', and hardcode WebView on iOS to set it to false. The setting has shipped for several years and there's no need to turn it off now. Similarly, disable the "Visual Viewport API" on iOS WK1, since it makes no sense if Visual Viewports are not enabled. Remove the "visualViewportEnabled" flag and unused code paths from scrolling tree code that only runs in WK2 * MiniBrowser/mac/SettingsController.h: * MiniBrowser/mac/SettingsController.m: (-[SettingsController init]): (-[SettingsController _populateMenu]): (-[SettingsController validateMenuItem:]): (-[SettingsController visualViewportEnabled]): Deleted. (-[SettingsController toggleVisualViewportEnabled:]): Deleted. * MiniBrowser/mac/WK1BrowserWindowController.m: (-[WK1BrowserWindowController didChangeSettings]): * MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController didChangeSettings]): 2019-02-21 Ryosuke Niwa Discard cached processes when clearing website data store https://bugs.webkit.org/show_bug.cgi?id=194894 Reviewed by Chris Dumez. Added a test case. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (TestWebKitAPI.ProcessSwap.NumberOfCachedProcesses): Added. 2019-02-21 Alex Christensen Clicking "Go Back" on a safe browsing warning before a WKWebView has loaded any page should request to close the WKWebView https://bugs.webkit.org/show_bug.cgi?id=194914 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (-[SafeBrowsingNavigationDelegate webViewDidClose:]): (TEST): (-[SafeBrowsingNavigationDelegate _webViewDidClickGoBackFromSafeBrowsingWarning:]): Deleted. 2019-02-21 David Kilzer Leak of CFErrorRef objects (1.92 Kbytes) in com.apple.WebKit.WebContent.Development running WebKit layout tests on iOS Simulator Reviewed by Myles Maxfield. * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm: (WTR::activateSystemCoreWebFonts): Log `error` to console if CTFontManagerRegisterFontsForURL() fails (macOS only). Update to use ARC-compliant cast. (WTR::activateFonts): Change `0` to `nullptr`. Update to use ARC-compliant cast. (WTR::installFakeHelvetica): Log `error` to console if CTFontManagerRegisterFontsForURL() fails, but only on supported platforms (macOS Mojave/iOS 12 and newer, not iOS Simulator). Call CFRelease() on `error` to fix the leak. Update to use ARC-compliant cast. (WTR::uninstallFakeHelvetica): Update to use ARC-compliant cast. 2019-02-21 Chris Dumez Flaky API Test: TestWebKitAPI.ProcessSwap.SuspendedPageLimit https://bugs.webkit.org/show_bug.cgi?id=194481 Reviewed by Alex Christensen. Give the processes a chance to shutdown and wait until we reached the expected number of processes. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-21 Tim Horton Fix the macOS build * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-21 Tim Horton Fix ProcessSwap.PageOverlayLayerPersistence on macOS * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: I am a backwards. 2019-02-21 Tim Horton Fix ProcessSwap.PageOverlayLayerPersistence on macOS * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: We can't find the UI-side layer on macOS because we don't use UI-side compositing. We could force on UI-side compositing, but I feel like the test might be more valuable exercising the normal path on each platform (though the original bug was also UI-side specific). Though we can't validate that the overlay layer was installed successfully, there are layout tests that do that. 2019-02-21 Tim Horton Crash under RemoteLayerTreePropertyApplier::applyProperties when reattaching to old process https://bugs.webkit.org/show_bug.cgi?id=194845 Reviewed by Antti Koivisto. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-21 Zalan Bujtas [LFC][Floats] Add support for placing formatting roots in-between floats. https://bugs.webkit.org/show_bug.cgi?id=194902 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-21 Adrian Perez de Castro [WPE] Do not hardcode WPEBackend-fdo library name for linking tests https://bugs.webkit.org/show_bug.cgi?id=194901 Unreviewed build fix. * TestWebKitAPI/PlatformWPE.cmake: Set TestWebKitAPIBase to be linked against the detected ${WPEBACKEND_FDO_LIBRARIES} instead of hardcoding WPEBackend-fdo-0.1 as library name. 2019-02-21 Rob Buis Update MIME type parser https://bugs.webkit.org/show_bug.cgi?id=180526 Reviewed by Darin Adler. Add tests involving leading and trailing whitespace, non-token characters and quoted strings. * TestWebKitAPI/Tests/WebCore/ParsedContentType.cpp: (TestWebKitAPI::TEST): 2019-02-20 Don Olmstead [CMake][Win] Only build DumpRenderTree when WebKit Legacy is enabled https://bugs.webkit.org/show_bug.cgi?id=194884 Reviewed by Michael Catanzaro. * PlatformWin.cmake: 2019-02-20 Chris Dumez Add API test for https://bugs.webkit.org/show_bug.cgi?id=194847 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-20 Chris Dumez Regression(PSON) "Reload without content extensions" does not work when the main resource is blocked https://bugs.webkit.org/show_bug.cgi?id=194872 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-20 Jer Noble Add a git utility method that allows the caller to determine if a specific commitish is within a specified range of commits. https://bugs.webkit.org/show_bug.cgi?id=191332 Reviewed by Dean Jackson. * Scripts/git-is-in-range: Added. 2019-02-20 Andy Estes [Xcode] Add SDKVariant.xcconfig to various Xcode projects https://bugs.webkit.org/show_bug.cgi?id=194869 Rubber-stamped by Jer Noble. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * ImageDiff/ImageDiff.xcodeproj/project.pbxproj: * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: 2019-02-20 Chris Dumez Regression(PSON) Crash under WebKit::WebPageProxy::decidePolicyForNavigationActionSync https://bugs.webkit.org/show_bug.cgi?id=194857 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-20 Chris Dumez [WKTR] Avoid starting new NetworkProcesses unnecessarily when running the layout tests https://bugs.webkit.org/show_bug.cgi?id=194829 Reviewed by Alexey Proskuryakov. Every time the TestOptions were changing we were creating both a new Web view and a new WKContext, which would start a new Network process. In most cases, we only need to contruct a new Web view and we do can keep reusing the same WKContext. This patch implements this optimization and thus avoids spinning a lot of new Network processes while running the layout tests. * WebKitTestRunner/TestController.cpp: (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::createWebViewWithOptions): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::ContextOptions::hasSameInitializationOptions const): (WTR::TestOptions::ContextOptions::shouldEnableProcessSwapOnNavigation const): (WTR::TestOptions::hasSameInitializationOptions const): (WTR::TestOptions::shouldEnableProcessSwapOnNavigation const): Deleted. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformAddTestOptions const): 2019-02-20 Adrian Perez de Castro [WPE][GTK] Enable support for CONTENT_EXTENSIONS https://bugs.webkit.org/show_bug.cgi?id=167941 Reviewed by Carlos Garcia Campos. * MiniBrowser/gtk/main.c: (filterSavedCallback): Added. (main): Support loading a JSON rule set file for content filtering. * MiniBrowser/wpe/main.cpp: (filterSavedCallback): Added. (main): Support loading a JSON rule set file for content filtering. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentFilterStore.cpp: Added. (WTF::refGPtr): Added locally for WebKitUserContentFilter, as it would not be used anywhere else. (WTF::derefGPtr): Ditto. (testEmptyStore): (testSaveInvalidFilter): (testSaveLoadFilter): (testSavedFilterIdentifierMatch): (testRemoveFilter): (testSaveMultipleFilters): (testSaveFilterFromFile): (testFilterPersistence): (beforeAll): (afterAll): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp: (removeOldInjectedContentAndResetLists): Also reset content filters. (isCSSBlockedForURLAtPath): Added. Tests whether the test filter, which blocks a CSS style sheet, has blocked the load of the CSS by looking at the resulting style of the element affected by the style sheet. (getUserContentFilter): Added. Stores the test filter in a WebKitUserContentFilterStore and returns it to be used by tests. (testUserContentManagerContentFilter): Added. Tests whether adding and removing a filter from the WebKitUserContentManager results in the a CSS style sheet being blocked. (serverCallback): Add support for serving a CSS style sheet for testing. (beforeAll): Add call to testUserContentManagerContentFilter(). * TestWebKitAPI/glib/CMakeLists.txt: Added TestWebKitUserContentFilterStore. 2019-02-19 Keith Rollin Add timing information to build output https://bugs.webkit.org/show_bug.cgi?id=194839 Reviewed by Alexey Proskuryakov. Configure xcodebuild with -ShowBuildOperationDuration, causing it to emit each project's build time to its output. E.g., ** BUILD SUCCEEDED ** [0.132 sec] * Scripts/webkitdirs.pm: (XcodeOptions): 2019-02-19 Truitt Savell Unreviewed, rolling out r241784. Broke all OpenSource builds. Reverted changeset: "Web Inspector: Improve ES6 Class instances in Heap Snapshot instances view" https://bugs.webkit.org/show_bug.cgi?id=172848 https://trac.webkit.org/changeset/241784 2019-02-19 Zalan Bujtas [LFC][Floats] Remove redundant intersecting logic https://bugs.webkit.org/show_bug.cgi?id=194804 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-19 Dean Jackson Clean-up output from generate-xcfilelists so it can be filtered https://bugs.webkit.org/show_bug.cgi?id=194795 Reviewed by Joseph Pecoraro (and Keith Rollin). Replace the "..." with "GXCF:" in generate-xcfilelists output, and make a slight tweak to filter-build-webkit so such lines are marked as plain. * Scripts/filter-build-webkit: * Scripts/generate-xcfilelists: 2019-02-19 Pablo Saavedra pytest is not correctly auto-installed https://bugs.webkit.org/show_bug.cgi?id=194707 Reviewed by Carlos Garcia Campos. * Scripts/webkitpy/thirdparty/__init__.py: (AutoinstallImportHook._install_pytest): 2019-02-18 Chris Dumez REGRESSION (PSON): Can't access optumbank.com from myuhc.com https://bugs.webkit.org/show_bug.cgi?id=194797 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-18 Wenson Hsieh [iOS] Support pasting item-provider-backed data on the pasteboard as attachment elements https://bugs.webkit.org/show_bug.cgi?id=194670 Reviewed by Tim Horton. Remove code and tests for subresource URL replacement, and also add a new test to verify that copied data can be pasted in an editable area as attachment elements. * TestWebKitAPI/Tests/WebKitCocoa/BundleEditingDelegatePlugIn.mm: (-[BundleEditingDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]): (-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:replacementURLForResource:mimeType:]): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::InjectedBundlePage): 2019-02-18 Alex Christensen Fix API test after r241728 ​https://bugs.webkit.org/show_bug.cgi?id=194723 * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (TEST): The test should check the default preference value, not make sure the preference is NO after setting it to YES :/ 2019-02-18 Daniel Bates [iOS] Keyups for non-modifier keys identified as "Dead" when not focused in a content-editable element https://bugs.webkit.org/show_bug.cgi?id=192824 Reviewed by Wenson Hsieh. Fix a bug where the wrong usage code was used for F13 thru F24. * WebKitTestRunner/ios/HIDEventGenerator.mm: (keyCodeForDOMFunctionKey): 2019-02-18 Tadeu Zagallo Bytecode cache should a have a boot-specific validation https://bugs.webkit.org/show_bug.cgi?id=194769 Reviewed by Keith Miller. Add test for WTF::bootSessionUUIDString() * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/UUID.cpp: Added. (TEST): 2019-02-18 Alex Christensen Disable safe browsing in WKWebView and remove its WKPreferences API https://bugs.webkit.org/show_bug.cgi?id=194723 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (TEST): (safeBrowsingView): Make tests use SPI instead of API. 2019-02-17 Fujii Hironori Use dumpJSConsoleLogInStdErr=true webkit-test-runner option for non-imported tests instead of using DumpJSConsoleLogInStdErr expectation in TestExpectations https://bugs.webkit.org/show_bug.cgi?id=194586 Reviewed by Ross Kirsling. * DumpRenderTree/win/DumpRenderTree.cpp: (runTest): Pass true to setDumpJSConsoleLogInStdErr if options.dumpJSConsoleLogInStdErr is true. * Scripts/webkitpy/port/driver.py: (Driver._command_from_driver_input): Convert Cygwin absolute path of tests to Windows path. 2019-02-17 David Kilzer Unreviewed, rolling out r241620. "Causes use-after-free crashes running layout tests with ASan and GuardMalloc." (Requested by ddkilzer on #webkit.) Reverted changeset: "[WTF] Add environment variable helpers" https://bugs.webkit.org/show_bug.cgi?id=192405 https://trac.webkit.org/changeset/241620 2019-02-16 Zalan Bujtas [LFC] RenderImage's default intrinsic size is 0. https://bugs.webkit.org/show_bug.cgi?id=194745 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-16 Zalan Bujtas [LFC][BFC] Add support for block replaced intrinsic width. https://bugs.webkit.org/show_bug.cgi?id=194705 Reviewed by Simon Fraser. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-16 Zalan Bujtas [LFC] Apply min/max width constraints to preferred width computation https://bugs.webkit.org/show_bug.cgi?id=194739 Reviewed by Simon Fraser. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-15 Ross Kirsling [WTF] Add environment variable helpers https://bugs.webkit.org/show_bug.cgi?id=192405 Reviewed by Michael Catanzaro. * DumpRenderTree/mac/DumpRenderTree.mm: (libraryPathForDumpRenderTree): * DumpRenderTree/win/DumpRenderTree.cpp: (libraryPathForDumpRenderTree): * TestRunnerShared/IOSLayoutTestCommunication.cpp: (setUpIOSLayoutTestCommunication): * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: (beforeAll): * TestWebKitAPI/glib/WebKitGLib/TestMain.cpp: (main): * TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp: (WebKitTestBus::run): * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp: (WTR::getOutputDir): (WTR::initializeFontConfigSetting): * WebKitTestRunner/InjectedBundle/gtk/InjectedBundleGtk.cpp: (WTR::InjectedBundle::platformInitialize): * WebKitTestRunner/InjectedBundle/gtk/InjectedBundleUtilities.cpp: (WTR::topLevelPath): * WebKitTestRunner/InjectedBundle/wpe/ActivateFontsWPE.cpp: (WTR::topLevelPath): (WTR::getOutputDir): (WTR::activateFonts): * WebKitTestRunner/TestController.cpp: (WTR::TestController::libraryPathForTesting): (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::decideDestinationWithSuggestedFilename): (WTR::TestController::platformAdjustContext): * WebKitTestRunner/TestController.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::cocoaPlatformInitialize): (WTR::TestController::platformAdjustContext): * WebKitTestRunner/gtk/main.cpp: (main): * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::configureContentExtensionForTest): * WebKitTestRunner/wpe/main.cpp: (main): Utilize WTF::Environment where possible. 2019-02-15 Wenson Hsieh [iOS] WKWebView callout bar is missing Change Writing Direction item https://bugs.webkit.org/show_bug.cgi?id=190015 Reviewed by Tim Horton. Make an existing API test that exercises platform SPI to change the inline text writing direction run only on macOS, and add a new API test that uses similarly named SPI on iOS to change the base writing direction. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm: (TestWebKitAPI::TEST): 2019-02-15 Chris Dumez Regression(PSON) Navigating quickly back and forth can lead to getting 'about:blank' in the backforward list https://bugs.webkit.org/show_bug.cgi?id=194717 Reviewed by Brady Eidson. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-15 Youenn Fablet Make navigator.mediaDevices SecureContext https://bugs.webkit.org/show_bug.cgi?id=194666 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebKitCocoa/UserMediaDisabled.mm: (MediaCaptureDisabledTest::loadTestAndWaitForMessage): (TEST_F): 2019-02-15 Brian Burg [Mac] WebInspectorUI.framework does not need to be soft-linked anymore https://bugs.webkit.org/show_bug.cgi?id=194411 Reviewed by Joseph Pecoraro. Remove unnecessary soft linking macro usage. * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::inspectorTestStubURL): (SOFT_LINK_STAGED_FRAMEWORK): Deleted. * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm: (WTR::TestRunner::inspectorTestStubURL): 2019-02-15 Commit Queue Unreviewed, rolling out r241559 and r241566. https://bugs.webkit.org/show_bug.cgi?id=194710 Causes layout test crashes under GuardMalloc (Requested by ryanhaddad on #webkit). Reverted changesets: "[WTF] Add environment variable helpers" https://bugs.webkit.org/show_bug.cgi?id=192405 https://trac.webkit.org/changeset/241559 "Unreviewed build fix for WinCairo Debug after r241559." https://trac.webkit.org/changeset/241566 2019-02-15 Zalan Bujtas [LFC] Out-of-flow box is never a float box https://bugs.webkit.org/show_bug.cgi?id=194704 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-10 Darin Adler Replace more uses of String::format with StringConcatenate (mostly non-Apple platform-specific cases) https://bugs.webkit.org/show_bug.cgi?id=194487 Reviewed by Daniel Bates. * DumpRenderTree/win/DumpRenderTree.cpp: (applicationId): Use makeString instead of String::format. (main): Ditto. * TestWebKitAPI/win/PlatformUtilitiesWin.cpp: (TestWebKitAPI::Util::createURLForResource): Ditto. * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp: (WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks): Ditto. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: (WTR::attributeSetToString): Use StringBuilder functions directly instead of g_strconcat. (WTR::attributesOfElement): Use StringBuilder functions directly instead of String::format. (WTR::createStringWithAttributes): Use appendLiteral. (WTR::AccessibilityUIElement::helpText const): Ditto. (WTR::AccessibilityUIElement::attributedStringForRange): Use StringBuilder functions directly instead of using String::format. (WTR::AccessibilityUIElement::url): Use makeString instead of String::format. (WTR::stringAtOffset): Use StringBuilder::appendNumber instead of String::format. 2019-02-15 Truitt Savell Unreviewed, rolling out r241564. Caused 50+ Timeouts on Mac WK2, mostly in the http/ directory Reverted changeset: "[Mac] WebInspectorUI.framework does not need to be soft- linked anymore" https://bugs.webkit.org/show_bug.cgi?id=194411 https://trac.webkit.org/changeset/241564 2019-02-15 Saam barati [WebAssembly] Write a new register allocator for Air O0 and make BBQ use it https://bugs.webkit.org/show_bug.cgi?id=194036 Reviewed by Yusuke Suzuki. * Scripts/run-jsc-stress-tests: 2019-02-14 Tim Horton Fix the build. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::drawSquareInEditableImage): * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::drawSquareInEditableImage): 2019-02-14 Tim Horton Fix the build. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::drawSquareInEditableImage): * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::drawSquareInEditableImage): 2019-02-14 Brian Burg [Mac] WebInspectorUI.framework does not need to be soft-linked anymore https://bugs.webkit.org/show_bug.cgi?id=194411 Reviewed by Joseph Pecoraro. Remove unnecessary soft linking macro usage. * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::inspectorTestStubURL): (SOFT_LINK_STAGED_FRAMEWORK): Deleted. * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm: (WTR::TestRunner::inspectorTestStubURL): 2019-02-14 Aakash Jain [ews-app] status bubble should fetch builder name info from BuilderMapping table https://bugs.webkit.org/show_bug.cgi?id=194599 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._build_bubble): 2019-02-14 Aakash Jain [ews-app] Set Foreign Key in Django build model https://bugs.webkit.org/show_bug.cgi?id=194667 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/build.py: (Build): 2019-02-14 Ross Kirsling [WTF] Add environment variable helpers https://bugs.webkit.org/show_bug.cgi?id=192405 Reviewed by Michael Catanzaro. * DumpRenderTree/mac/DumpRenderTree.mm: (libraryPathForDumpRenderTree): * DumpRenderTree/win/DumpRenderTree.cpp: (libraryPathForDumpRenderTree): * TestRunnerShared/IOSLayoutTestCommunication.cpp: (setUpIOSLayoutTestCommunication): * TestWebKitAPI/Tests/WebKit/EnvironmentUtilitiesTest.cpp: (TestWebKitAPI::strip): * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: (beforeAll): * TestWebKitAPI/glib/WebKitGLib/TestMain.cpp: (main): * TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp: (WebKitTestBus::run): * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp: (WTR::getOutputDir): (WTR::initializeFontConfigSetting): * WebKitTestRunner/InjectedBundle/gtk/InjectedBundleGtk.cpp: (WTR::InjectedBundle::platformInitialize): * WebKitTestRunner/InjectedBundle/gtk/InjectedBundleUtilities.cpp: (WTR::topLevelPath): * WebKitTestRunner/InjectedBundle/wpe/ActivateFontsWPE.cpp: (WTR::topLevelPath): (WTR::getOutputDir): (WTR::activateFonts): * WebKitTestRunner/TestController.cpp: (WTR::TestController::libraryPathForTesting): (WTR::TestController::generateContextConfiguration const): (WTR::TestController::generatePageConfiguration): (WTR::TestController::decideDestinationWithSuggestedFilename): (WTR::TestController::platformAdjustContext): * WebKitTestRunner/TestController.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::cocoaPlatformInitialize): (WTR::TestController::platformAdjustContext): * WebKitTestRunner/gtk/main.cpp: (main): * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::configureContentExtensionForTest): * WebKitTestRunner/wpe/main.cpp: (main): Utilize WTF::Environment where possible. 2019-02-14 Chris Dumez [PSON] Introduce a WebContent Process cache https://bugs.webkit.org/show_bug.cgi?id=194594 Reviewed by Geoff Garen. Update API tests to turn on the WebContent Process cache. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-14 Jiewen Tan Unreviewed, build fix after r241480 * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[DragAndDropSimulator initWithWebViewFrame:configuration:]): (-[DragAndDropSimulator initWithWebView:]): 2019-02-14 Chris Fleizach AX: ARIA Reflection was disabled in error https://bugs.webkit.org/show_bug.cgi?id=194647 Reviewed by Ryosuke Niwa. Remove test override now that this feature should be enabled by default. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): 2019-02-14 Commit Queue Unreviewed, rolling out r241486. https://bugs.webkit.org/show_bug.cgi?id=194655 causing API failures in builds (Requested by ShawnRoberts on #webkit). Reverted changeset: "[Cocoa] Media elements will restart network buffering just before suspending" https://bugs.webkit.org/show_bug.cgi?id=193691 https://trac.webkit.org/changeset/241486 2019-02-14 Zalan Bujtas [LFC][BFC][MarginCollapse] Replaced boxes don't collapse through their margins https://bugs.webkit.org/show_bug.cgi?id=194622 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-14 Zalan Bujtas [LFC] Shrink-to-fit-width should be constrained by min/max width https://bugs.webkit.org/show_bug.cgi?id=194653 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-13 Ryosuke Niwa Crash in WKBundleFrameGetParentFrame when called inside didRemoveFrameFromHierarchy https://bugs.webkit.org/show_bug.cgi?id=194641 Reviewed by Geoffrey Garen. Added a call to WKBundleFrameGetParentFrame to an existing test for didRemoveFrameFromHierarchy so that the test would fail without this fix. * TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache_Bundle.cpp: (TestWebKitAPI::didRemoveFrameFromHierarchyCallback): 2019-02-13 Aakash Jain [ews-app] Change log level for a log statement Unreviewed minor fix. * BuildSlaveSupport/ews-app/ews/models/patch.py: (Patch.save_patch): 2019-02-13 Jer Noble [Cocoa] Media elements will restart network buffering just before suspending https://bugs.webkit.org/show_bug.cgi?id=193691 Reviewed by Eric Carlson. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm: Added. (TEST): 2019-02-13 Aakash Jain [ews-app] Fetch builder id to name mapping https://bugs.webkit.org/show_bug.cgi?id=194355 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/common/buildbot.py: (Buildbot.get_builder_id_to_name_mapping): (Buildbot._get_display_name_from_builder_name): 2019-02-12 Jiewen Tan Further restricting webarchive loads https://bugs.webkit.org/show_bug.cgi?id=194567 Reviewed by Youenn Fablet. Besides adding API tests, this patch also enhances DragAndDropSimulator to allow navigations on drop. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/LoadWebArchive.mm: Added. (-[TestLoadWebArchiveNavigationDelegate webView:didFinishNavigation:]): (-[TestLoadWebArchiveNavigationDelegate webView:didFailProvisionalNavigation:withError:]): (-[TestLoadWebArchiveNavigationDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/mac/helloworld.webarchive: Added. * TestWebKitAPI/Tests/mac/load-web-archive-1.html: Added. * TestWebKitAPI/Tests/mac/load-web-archive-2.html: Added. * TestWebKitAPI/cocoa/DragAndDropSimulator.h: * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm: (-[DragAndDropSimulator initWithWebViewFrame:configuration:]): (-[DragAndDropSimulator _webView:dragDestinationActionMaskForDraggingInfo:]): 2019-02-13 John Wilander Store Ad Click Attribution requests in the network process https://bugs.webkit.org/show_bug.cgi?id=194510 Reviewed by Alex Christensen and Daniel Bates. This patch adds two TestRunner functions: - dumpAdClickAttribution() - clearAdClickAttribution() They call into the network process to dump and clear Ad Click Attribution state, respectively. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::dumpAdClickAttribution): (WTR::TestRunner::clearAdClickAttribution): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): (WTR::AdClickAttributionStringResultCallbackContext::AdClickAttributionStringResultCallbackContext): (WTR::adClickAttributionStringResultCallback): (WTR::TestController::dumpAdClickAttribution): (WTR::AdClickAttributionVoidCallbackContext::AdClickAttributionVoidCallbackContext): (WTR::adClickAttributionVoidCallback): (WTR::TestController::clearAdClickAttribution): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::dumpResults): (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): (WTR::TestInvocation::dumpAdClickAttribution): * WebKitTestRunner/TestInvocation.h: 2019-02-13 Aakash Jain [ews-app] Generate status-bubble https://bugs.webkit.org/show_bug.cgi?id=194572 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._build_bubble): (StatusBubble._should_show_bubble_for): (StatusBubble._build_bubbles_for_patch): 2019-02-13 Aakash Jain [ews-app] Add status bubble html template https://bugs.webkit.org/show_bug.cgi?id=194571 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/templates: Added. * BuildSlaveSupport/ews-app/ews/templates/statusbubble.html: Copied from QueueStatusServer/templates/statusbubble.html. 2019-02-12 Chris Dumez Regression(PSON) MESSAGE_CHECK() hit under WebPageProxy::didFailProvisionalLoadForFrameShared() https://bugs.webkit.org/show_bug.cgi?id=194568 Reviewed by Ryosuke Niwa. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[PSONNavigationDelegate webView:didStartProvisionalNavigation:]): 2019-02-12 Jonathan Bedard webkitpy: Remove bug_dummy from parsed test expectations https://bugs.webkit.org/show_bug.cgi?id=194562 Reviewed by Lucas Forschler. * Scripts/webkitpy/layout_tests/models/test_expectations.py: (TestExpectationParser): (TestExpectationParser.expectation_for_skipped_test): Remove DUMMY_BUG_MODIFIER from skipped tests. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: 2019-02-12 Aakash Jain [ews-app] Add method to fetch patch https://bugs.webkit.org/show_bug.cgi?id=194518 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/patch.py: (Patch.get_patch): 2019-02-12 Zalan Bujtas [LFC] Expand tests coverage (60 new tests -> 860) Unreviewed test gardening (run-singly, --child-processes=1). * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-12 Wenson Hsieh Allow pages to trigger programmatic paste from script on iOS https://bugs.webkit.org/show_bug.cgi?id=194271 Reviewed by Tim Horton. Add support for interacting with the callout bar on iOS during layout tests. See below for more detail. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::platformSetDidShowMenuCallback): (WTR::UIScriptController::platformSetDidHideMenuCallback): (WTR::UIScriptController::rectForMenuAction const): Add new mechanisms to make it possible to interact with and query the state of the callout menu on iOS. This includes determining the rect (in content view coordinates) of the menu's controls, and callbacks to register for when the menu is shown or hidden. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptContext.h: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::setDidShowMenuCallback): (WTR::UIScriptController::didShowMenuCallback const): (WTR::UIScriptController::setDidHideMenuCallback): (WTR::UIScriptController::didHideMenuCallback const): (WTR::UIScriptController::platformSetDidShowMenuCallback): (WTR::UIScriptController::platformSetDidHideMenuCallback): (WTR::UIScriptController::rectForMenuAction const): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: Add a new test option to determine whether DOM paste is enabled. DOM paste is currently enabled everywhere by default, but these new programmatic paste tests require it to be disabled in order for confirmation UI to show. (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/UIScriptControllerCocoa.mm: (WTR::UIScriptController::calendarType const): (WTR::UIScriptController::platformUndoManager const): * WebKitTestRunner/cocoa/TestRunnerWKWebView.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: (-[TestRunnerWKWebView initWithFrame:configuration:]): (-[TestRunnerWKWebView dealloc]): (-[TestRunnerWKWebView _didShowMenu]): (-[TestRunnerWKWebView _didHideMenu]): Listen to when the callout bar is presented and dismissed, and invoke testing callbacks as needed. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::handleMenuWillHideNotification): (WTR::handleMenuDidHideNotification): (WTR::TestController::platformInitialize): (WTR::TestController::platformDestroy): (WTR::TestController::platformResetStateToConsistentValues): Additionally ensure that any callout menu presented by a previous layout test is dismissed before running the next test by hiding the callout bar if necessary, and then waiting for the "DidHide" notification. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::forEachViewInHierarchy): (WTR::findViewInHierarchyOfType): Move `forEachViewInHierarchy` so that we can use it throughout the file, and then add some additional helper functions that dig through a given view's hierarchy in search of a view of a given class. (WTR::UIScriptController::selectionStartGrabberViewRect const): (WTR::UIScriptController::selectionEndGrabberViewRect const): (WTR::UIScriptController::selectionCaretViewRect const): (WTR::UIScriptController::selectionRangeViewRects const): (WTR::UIScriptController::platformSetDidShowMenuCallback): (WTR::UIScriptController::platformSetDidHideMenuCallback): Tweak these to use `platformContentView` instead of grabbing the content view from WKWebView directly. (WTR::UIScriptController::rectForMenuAction const): Add a new UIScriptController method to get the rect of the action in the contextual menu (on iOS, this is the callout bar) whose label matches the given string. (WTR::UIScriptController::platformContentView const): Add a `platformContentView()` helper on UIScriptController so that we can stop grabbing the value for key "_currentContentView" from various places in this file. Additionally, rewrite `platformUndoManager()` in terms of this new helper, and move the code out from iOS/macOS-specific files into UIScriptControllerCocoa. (WTR::UIScriptController::platformUndoManager const): Deleted. * WebKitTestRunner/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::platformContentView const): (WTR::UIScriptController::platformUndoManager const): Deleted. 2019-02-12 Jonathan Bedard webkitpy: No option to only show unexpected failures in results.html for iPad https://bugs.webkit.org/show_bug.cgi?id=194554 Rubber-stamped by Aakash Jain. Just because a TestExpecations file does not exist for a specific platform does not mean that TestExpecations are not being used, given that platforms inherit test expectations. * Scripts/webkitpy/port/base.py: (Port.uses_test_expectations_file): Check all possible locations of a TestExpectations file. * Scripts/webkitpy/port/base_unittest.py: (PortTest.test_uses_test_expectations_file): 2019-02-12 Alex Christensen Remove setDefersLoading infrastructure from WebKit2 https://bugs.webkit.org/show_bug.cgi?id=194506 Reviewed by Brady Eidson. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setDefersLoading): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: 2019-02-12 Alex Christensen WebPage::close needs to remove all message receivers associated with that WebPage, not WebPage::~WebPage https://bugs.webkit.org/show_bug.cgi?id=194522 Reviewed by Chris Dumez. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/BundleRetainPagePlugIn.mm: Added. (-[BundleRetainPagePlugIn webProcessPlugIn:didCreateBrowserContextController:]): * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-12 Andy Estes [iOSMac] Enable Parental Controls Content Filtering https://bugs.webkit.org/show_bug.cgi?id=194521 Reviewed by Tim Horton. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-02-12 Zalan Bujtas [LFC][IFC] Add intrinsic width support for float boxes. https://bugs.webkit.org/show_bug.cgi?id=194528 Reviewed by Antti Koivisto. Expand tests coverage (2 new tests -> 800). (This is the correct test ordering --runs-singly --child-processes=1) * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-12 Rob Buis Implement serializing in MIME type parser https://bugs.webkit.org/show_bug.cgi?id=193909 Reviewed by Darin Adler. Add various tests involving upper case, non-ASCII, control/null characters, various HTTP whitespace, single quotes and an unpaired surrogate. * TestWebKitAPI/Tests/WebCore/ParsedContentType.cpp: (TestWebKitAPI::escapeNonASCIIPrintableCharacters): (TestWebKitAPI::serializeIfValid): (TestWebKitAPI::TEST): 2019-02-11 Myles C. Maxfield [Cocoa] Ask platform for generic font family mappings https://bugs.webkit.org/show_bug.cgi?id=187723 Reviewed by Brent Fulgham. Allow testing infrastructure to use fonts that are returned from CTFontDescriptorCreateForCSSFamily(). * DumpRenderTree/mac/DumpRenderTree.mm: (allowedFontFamilySet): * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::allowedFontFamilySet): 2019-02-11 Adrian Perez de Castro [GTK][WPE] Add content extensions support in WKTR and unskip layout tests https://bugs.webkit.org/show_bug.cgi?id=193622 Reviewed by Michael Catanzaro. This adds support for loading content extension rule sets from the JSON files which accompany the corresponding layout test, using the C API. The Cocoa specific parts of WKTR for this could be removed, but that is left for a follow-up patch with cleanups. * Scripts/webkitperl/FeatureList.pm: Add an option to toggle CONTENT_EXTENSIONS. * WebKitTestRunner/TestController.cpp: (WTR::testPath): Subtract one from the length when constructing the result std::string to avoid having the null-terminator copied into the result. (WTR::TestController::configureViewForTest): Call configureContentExtensionForTest() as part of the preparations to run a test. (WTR::ContentExtensionStoreCallbackContext::ContentExtensionStoreCallbackContext): Added. (WTR::contentExtensionStoreCallback): Added. (WTR::contentExtensionJSONPath): Used to calculate the path to the JSON rule set to be used for content extensions test. (WTR::TestController::configureContentExtensionForTest): Added, handles enabling content extensions and compiling the JSON rule set for tests involving content extensions. (WTR::TestController::resetContentExtensions): Removes the content extension built for testing and disables content extensions. (WTR::TestController::resetPreferencesToConsistentValues): Add a call to resetContentExtensions(). (WTR::TestController::userContentController): Added implementation for ports other than Cocoa. * WebKitTestRunner/TestController.h: Add declarations for resetContentExtensions(), configureContentExtensionForTest(), and userContentController(). 2019-02-11 Daniel Bates [iOS] Mouse/Touch/Pointer events are missing modifier keys https://bugs.webkit.org/show_bug.cgi?id=191446 Reviewed by Tim Horton. Add support infrastructure for testing touch and stylus taps when holding modifier keys. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::singleTapAtPointWithModifiers): Added. (WTR::UIScriptController::stylusTapAtPointWithModifiers): Added. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::singleTapAtPointWithModifiers): Added. (WTR::UIScriptController::stylusTapAtPointWithModifiers): Added. * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::arrayLength): (WTR::parseModifierArray): (WTR::UIScriptController::singleTapAtPoint): Implemented in terms of singleTapAtPointWithModifiers(). (WTR::UIScriptController::singleTapAtPointWithModifiers): Added. (WTR::UIScriptController::stylusTapAtPoint): Implemented in terms of stylusTapAtPointWithModifiers(). (WTR::UIScriptController::stylusTapAtPointWithModifiers): Added. 2019-02-11 Commit Queue Unreviewed, rolling out r241272 and r241276. https://bugs.webkit.org/show_bug.cgi?id=194514 Broke the Apple Internal build and the fix requires human intervention :( (Requested by dydz on #webkit). Reverted changesets: "[iOS] Mouse/Touch/Pointer events are missing modifier keys" https://bugs.webkit.org/show_bug.cgi?id=191446 https://trac.webkit.org/changeset/241272 "Fix internal iOS build after r241272" https://bugs.webkit.org/show_bug.cgi?id=191446 https://trac.webkit.org/changeset/241276 2019-02-11 Truitt Savell Unreviewed, rolling out r241269. Caused 5 layout tests crashes on Mac WK1 Reverted changeset: "DumpRenderTree should report unknown options" https://bugs.webkit.org/show_bug.cgi?id=191303 https://trac.webkit.org/changeset/241269 2019-02-11 Wenson Hsieh fast/forms/ios/force-gregorian-calendar-for-credit-card-expiry.html does not work on iPad https://bugs.webkit.org/show_bug.cgi?id=194313 Reviewed by Tim Horton. Add a helper to determine whether the web view is presenting modal UI. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::isPresentingModally const): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::isPresentingModally const): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/UIScriptControllerCocoa.mm: (WTR::UIScriptController::calendarType const): Deleted. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::isPresentingModally const): (WTR::UIScriptController::calendarType const): * WebKitTestRunner/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::calendarType const): 2019-02-11 Joseph Pecoraro GCHeapInspector: Show the retained sizes in more places https://bugs.webkit.org/show_bug.cgi?id=194464 Reviewed by Simon Fraser. * GCHeapInspector/gc-heap-inspector.html: * GCHeapInspector/script/interface.js: (HeapInspectorUtils.humanReadableSize): (HeapInspectorUtils.spanForNode.let.nodeHTML.node.className.span): (HeapInspectorUtils.spanForNode.span.span): (HeapSnapshotInspector.prototype.buildAllObjectsByType): (HeapSnapshotInspector.prototype.buildRoots): 2019-02-11 Daniel Bates [iOS] Mouse/Touch/Pointer events are missing modifier keys https://bugs.webkit.org/show_bug.cgi?id=191446 Reviewed by Tim Horton. Add support infrastructure for testing touch and stylus taps when holding modifier keys. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::singleTapAtPointWithModifiers): Added. (WTR::UIScriptController::stylusTapAtPointWithModifiers): Added. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::singleTapAtPointWithModifiers): Added. (WTR::UIScriptController::stylusTapAtPointWithModifiers): Added. * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::arrayLength): (WTR::parseModifierArray): (WTR::UIScriptController::singleTapAtPoint): Implemented in terms of singleTapAtPointWithModifiers(). (WTR::UIScriptController::singleTapAtPointWithModifiers): Added. (WTR::UIScriptController::stylusTapAtPoint): Implemented in terms of stylusTapAtPointWithModifiers(). (WTR::UIScriptController::stylusTapAtPointWithModifiers): Added. 2019-02-11 Darshan Kadu DumpRenderTree should report unknown options https://bugs.webkit.org/show_bug.cgi?id=191303 Reviewed by Frédéric Wang. Added RELEASE_ASSERT_NOT_REACHED for DumpRenderTree/TestOptions.cpp to report unknown options. Added and assigned test options which are currently used in tests. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): 2019-02-11 Truitt Savell Unreviewed, rolling out r241229. Revision broke internal builds for watchOS. Reverted changeset: "[Cocoa] Ask platform for generic font family mappings" https://bugs.webkit.org/show_bug.cgi?id=187723 https://trac.webkit.org/changeset/241229 2019-02-11 Takashi Komori [WinCairo][MiniBrowser] Basic authentication always fails. https://bugs.webkit.org/show_bug.cgi?id=194496 Reviewed by Don Olmstead. * MiniBrowser/win/DialogHelper.h: (Dialog::getText): 2019-02-11 Philippe Normand [GStreamer] GstMappedBuffer testsuite build fails https://bugs.webkit.org/show_bug.cgi?id=194495 Reviewed by Carlos Garcia Campos. Fix the build by explicitely adding the gstreamer1.0-audio include directories to the include path. * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/PlatformWPE.cmake: 2019-02-04 Carlos Garcia Campos [GTK][WPE] Add enable-javascript-markup setting https://bugs.webkit.org/show_bug.cgi?id=193439 Reviewed by Michael Catanzaro. Add test cases to check the new setting. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettings): (testWebKitSettingsJavaScriptMarkup): (beforeAll): 2019-02-10 Darin Adler Switch uses of StringBuilder with String::format for hex numbers to use HexNumber.h instead https://bugs.webkit.org/show_bug.cgi?id=194485 Reviewed by Daniel Bates. * WebKitTestRunner/TestController.cpp: Removed unnecessary include of HexNumber.h. 2019-02-09 Benjamin Poulain Add more tests for clampTo<>() https://bugs.webkit.org/show_bug.cgi?id=194462 Reviewed by Geoffrey Garen. Darin suggested to test the very last floating point number at the boundaries when truncating to integer. I added test for max/min and max-1/min-1. * TestWebKitAPI/Tests/WTF/MathExtras.cpp: (TestWebKitAPI::TEST): 2019-02-09 Darin Adler Eliminate unnecessary String temporaries by using StringConcatenateNumbers https://bugs.webkit.org/show_bug.cgi?id=194021 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp: (TestWebKitAPI::TEST): Change tests to use EXPECT_STREQ so failure messages are easier to understand. Updated tests for changes to FormattedNumber::fixedPrecision. 2019-02-09 Zalan Bujtas [LFC][IFC] Add intrinsic width support for basic inline containers https://bugs.webkit.org/show_bug.cgi?id=194473 Reviewed by Antti Koivisto. Expand tests coverage (11 new tests -> 798) * LayoutReloaded/misc/LFC-passing-tests.txt: not sure why run-singly keeps producing different ordering. 2019-02-09 Benjamin Poulain Fix MiniBrowser's entitlements https://bugs.webkit.org/show_bug.cgi?id=192431 Reviewed by Joseph Pecoraro. MiniBrowser's Extensions Manager was broken. The entitlement was missing for opening files, making it impossible to load any extension. * MiniBrowser/MiniBrowser.entitlements: 2019-02-08 Myles C. Maxfield [Cocoa] Ask platform for generic font family mappings https://bugs.webkit.org/show_bug.cgi?id=187723 Reviewed by Brent Fulgham. Allow testing infrastructure to use fonts that are returned from CTFontDescriptorCreateForCSSFamily(). * DumpRenderTree/mac/DumpRenderTree.mm: (allowedFontFamilySet): * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::allowedFontFamilySet): 2019-02-08 Alexander Mikhaylenko [GTK] Implement back/forward touchpad gesture https://bugs.webkit.org/show_bug.cgi?id=193919 Reviewed by Michael Catanzaro. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettings): Add a test for 'enable-back-forward-navigation-gestures' property. 2019-02-08 Alex Christensen Add SPI to use networking daemon instead of XPC service https://bugs.webkit.org/show_bug.cgi?id=194427 Reviewed by Geoffrey Garen * MiniBrowser/MiniBrowser.entitlements: 2019-02-08 Aakash Jain [ews-build] Ensure that every builder in config.json has short name https://bugs.webkit.org/show_bug.cgi?id=194461 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/loadConfig.py: * BuildSlaveSupport/ews-build/loadConfig_unittest.py: Updated unit-tests. 2019-02-08 Aakash Jain [ews-build] Add short name to config.json https://bugs.webkit.org/show_bug.cgi?id=194456 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/config.json: Added short name. * BuildSlaveSupport/ews-build/loadConfig.py: (loadBuilderConfig): Set the short name as the builder description. 2019-02-08 Jonathan Bedard webkitpy: CrashLogs.find_all_logs may return a string or a dictionary https://bugs.webkit.org/show_bug.cgi?id=194418 Reviewed by Lucas Forschler. Do not include errors trying when finding crashlogs at the end of a run-webkit-tests run since we don't process those errors. * Scripts/webkitpy/port/darwin.py: (DarwinPort._look_for_all_crash_logs_in_log_dir): * Scripts/webkitpy/port/ios_device.py: (IOSDevicePort._look_for_all_crash_logs_in_log_dir): * Scripts/webkitpy/port/watch_device.py: (WatchDevicePort._look_for_all_crash_logs_in_log_dir): 2019-02-08 Beth Dakin Add afterScreenUpdates to WKSnapshotConfiguration https://bugs.webkit.org/show_bug.cgi?id=194362 -and corresponding- Please add an "after screen updates" property to WKSnapshotConfiguration (to solve blank snapshots) Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm: (TEST): 2019-02-08 Benjamin Poulain clampTo(): do not convert the input to double when dealing with integers https://bugs.webkit.org/show_bug.cgi?id=194263 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WTF/MathExtras.cpp: (TestWebKitAPI::testClampFloatingPointToFloatingPoint): (TestWebKitAPI::testClampFloatingPointToInteger): (TestWebKitAPI::testClampSameSignIntegers): (TestWebKitAPI::testClampUnsignedToSigned): (TestWebKitAPI::testClampSignedToUnsigned): 2019-02-07 Jonathan Bedard webkitpy: Respect --dedicated-simulators flag https://bugs.webkit.org/show_bug.cgi?id=194416 Reviewed by Lucas Forschler. * Scripts/webkitpy/port/device_port.py: (DevicePort.supported_device_types): If --dedicated-simulators is passed, all available devices can be safely ignored. 2019-02-07 Keith Rollin Remove extra copy of 100x100-red.tga https://bugs.webkit.org/show_bug.cgi?id=194371 Reviewed by Said Abou-Hallawa. In order to help it pass its tests, Bug 194190 added a second copy of the file 100x100-red.tga. However, it turns out that this additional file wasn't actually needed, and that that sole previous copy was sufficient. At the same time, this second copy -- which was copied to the same location in the build output as the first copy -- now caused XCBuild to complain because there were two production rules for the same output file. Address this by removing the newly-added extra copy. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/100x100-red.tga: Removed. 2019-02-07 Alex Christensen Deprecate WKBundlePageSetDefersLoading https://bugs.webkit.org/show_bug.cgi?id=191394 Reviewed by Dean Jackson. * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setDefersLoading): 2019-02-07 Zalan Bujtas [LFC][Out-of-flow] Use the containing block's padding width when computing min/max width. https://bugs.webkit.org/show_bug.cgi?id=194391 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-06 Keith Rollin Remove Info.plist from MobileMiniBrowser.framework's Copy Bundle Resources phase https://bugs.webkit.org/show_bug.cgi?id=193975 Reviewed by Tim Horton. The MobileMiniBrowser.framework's Copy Bundle Resources phase copies the Info.plist file into the bundle. This step is not necessary as the implicit "bundle up all the build products into a framework" build phase does this already. Having the Copy Bundle Resources phase do this causes a conflict under XCBuild, which objects to two build phases producing the same file (Info.plist). Address this by removing Info.plist from the Copy Bundle Resources phase. * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: 2019-02-06 Keith Rollin Really enable the automatic checking and regenerations of .xcfilelists during builds https://bugs.webkit.org/show_bug.cgi?id=194357 Reviewed by Chris Dumez. Bug 194124 was supposed to enable the automatic checking and regenerating of .xcfilelist files during the build. While related changes were included in that patch, the change to actually enable the operation somehow was omitted. This patch actually enables the operation. The check-xcfilelist.sh scripts now check WK_DISABLE_CHECK_XCFILELISTS, and if it's "1", opts-out the developer from the checking. * DumpRenderTree/Scripts/check-xcfilelists.sh: * WebKitTestRunner/Scripts/check-xcfilelists.sh: 2019-02-06 David Kilzer WTR::InjectedBundlePage::willSendRequestForFrame() leaks a WKDataRef Reviewed by Alexey Proskuryakov. * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::willSendRequestForFrame): Use WKRetainPtr<> to avoid leaking the WKDataRef. 2019-02-06 Michael Catanzaro Unreviewed, fix a typo * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp: 2019-02-06 Olivier Blin [GTK][WPE] force libpsl build to use ICU in jhbuild https://bugs.webkit.org/show_bug.cgi?id=194288 Reviewed by Carlos Garcia Campos. * gtk/jhbuild.modules: Require ICU for libpsl build in jhbuild, like done in WPE. 2019-02-06 Michael Catanzaro REGRESSION(r240785): [SOUP] Broke cookie persistent storage https://bugs.webkit.org/show_bug.cgi?id=194209 Reviewed by Carlos Garcia Campos. Enhance TestCookieManager to ensure this doesn't happen again. * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp: (testCookieManagerPersistentStorage): (beforeAll): 2019-02-05 Wenson Hsieh Rename TestOptions.ignoreSynchronousMessagingTimeoutsForTesting https://bugs.webkit.org/show_bug.cgi?id=194324 Reviewed by Andy Estes. Rename ignoreSynchronousMessagingTimeoutsForTesting to just ignoreSynchronousMessagingTimeouts. The -ForTesting part of the name is already implicit, since this is in testing code in TestOptions. * WebKitTestRunner/TestController.cpp: (WTR::TestController::generateContextConfiguration const): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): 2019-02-05 Aakash Jain [ews-build] Allow * as platform for builders and workers https://bugs.webkit.org/show_bug.cgi?id=188533 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/loadConfig.py: (checkWorkersAndBuildersForConsistency): 2019-02-05 Aakash Jain [ews-build] Add few bots to config.json https://bugs.webkit.org/show_bug.cgi?id=194304 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/config.json: 2019-02-05 Keith Rollin Enable the automatic checking and regenerations of .xcfilelists during builds https://bugs.webkit.org/show_bug.cgi?id=194124 Reviewed by Tim Horton. Bug 193790 add a facility for checking -- during build time -- that any needed .xcfilelist files are up-to-date and for updating them if they are not. This facility was initially opt-in by setting WK_ENABLE_CHECK_XCFILELISTS until other pieces were in place and until the process seemed robust. Its now time to enable this facility and make it opt-out. If there is a need to disable this facility, set and export WK_DISABLE_CHECK_XCFILELISTS=1 in your environment before running `make` or `build-webkit`, or before running Xcode from the command line. Additionally, remove the step that generates a list of source files going into the UnifiedSources build step. It's only necessarily to specify Sources.txt and SourcesCocoa.txt as inputs. * Scripts/generate-xcfilelists: 2019-02-05 Olivier Blin [GTK][WPE] force libpsl build to use ICU in jhbuild https://bugs.webkit.org/show_bug.cgi?id=194288 Reviewed by Philippe Normand. In jhbuild, libpsl depends on ICU, but its configure script may decide to use libidn instead of ICU. This can cause build failures if libidn is detected but libunistring is not available. Make sure that ICU is used for runtime and builtin PSL data. * gtk/jhbuild.modules: * wpe/jhbuild.modules: 2019-02-05 Aakash Jain [ews-app] Modified timestamp should be updated on updating data https://bugs.webkit.org/show_bug.cgi?id=194295 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/build.py: * BuildSlaveSupport/ews-app/ews/models/buildermapping.py: * BuildSlaveSupport/ews-app/ews/models/step.py: 2019-02-05 Ryan Haddad Unreviewed, rolling out r240742. Causes crashes on iOS simulator. Reverted changeset: "[iOS] Keyups for non-modifier keys identified as "Dead" when not focused in a content-editable element" https://bugs.webkit.org/show_bug.cgi?id=192824 https://trac.webkit.org/changeset/240742 2019-02-05 Jonathan Bedard run-webkit-tests emits message "...running None" when running tests https://bugs.webkit.org/show_bug.cgi?id=194133 Reviewed by Lucas Forschler. * Scripts/webkitpy/xcode/device_type.py: (DeviceType.__str__): Use both version mapping tables and use just the variant name if no version name is available. * Scripts/webkitpy/xcode/device_type_unittest.py: (DeviceTypeTest): (DeviceTypeTest.test_unmapped_version): Test case where the version does not have an associated named. 2019-02-05 Olivier Blin [WPE] require python3-setuptools for meson build in jhbuild https://bugs.webkit.org/show_bug.cgi?id=194287 Reviewed by Philippe Normand. python3-setuptools is needed to build meson in jhbuild. It is already required by the GTK port. * wpe/install-dependencies: 2019-02-05 Aakash Jain [ews-app] Add method to save BuilderMapping to database https://bugs.webkit.org/show_bug.cgi?id=194264 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/buildermapping.py: (BuilderMapping.__str__): (BuilderMapping): (BuilderMapping.save_mapping): (BuilderMapping.update_mapping): (BuilderMapping.get_existing_mapping): (BuilderMapping.is_valid_mapping): 2019-02-05 Aakash Jain [ews-app] Add timestamp fields for BuilderMappings https://bugs.webkit.org/show_bug.cgi?id=194266 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/buildermapping.py: (BuilderMapping): 2019-02-04 Ms2ger [GTK][WPE] Need a function to convert internal URI to display ("pretty") URI https://bugs.webkit.org/show_bug.cgi?id=174816 Reviewed by Michael Catanzaro. Add tests for webkit_uri_for_display(). * TestWebKitAPI/Tests/WebKitGLib/TestWebKitURIUtilities.cpp: Added. (testURIForDisplayUnaffected): (testURIForDisplayAffected): (beforeAll): (afterAll): * TestWebKitAPI/glib/CMakeLists.txt: 2019-02-04 Jonathan Bedard webkitpy: Precedence of booted devices should match precedence in DEFAULT_DEVICE_TYPES https://bugs.webkit.org/show_bug.cgi?id=194158 Rubber-stamped by Aakash Jain. * Scripts/webkitpy/port/device_port.py: (DevicePort.supported_device_types): Sort supported device types by the DEFAULT_DEVICE_TYPES. 2019-02-04 Said Abou-Hallawa [CG] Enable setAdditionalSupportedImageTypes for WK1 https://bugs.webkit.org/show_bug.cgi?id=194190 Reviewed by Tim Horton. Add a test similar to the one under WebKit Cocoa but make it create a WebView instead of a WKWebView. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/mac/100x100-red.tga: Added. * TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.html: Added. * TestWebKitAPI/Tests/mac/AdditionalSupportedImageTypes.mm: Added. (-[AdditionalSupportedImageTypesTest webView:didFinishLoadForFrame:]): (TestWebKitAPI::runTest): (TestWebKitAPI::TEST): 2019-02-04 Zalan Bujtas [First paint] Adjust "finishedParsingMainDocument" flag by taking deferred and async scripts into account. https://bugs.webkit.org/show_bug.cgi?id=194168 Reviewed by Simon Fraser. Test if the firstVisuallyNoneEmpty milestone fires before the deferred script's post-message. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/FirstVisuallyNonEmptyMilestoneWithDeferredScript.mm: Added. (-[FirstPaintMessageHandler userContentController:didReceiveScriptMessage:]): (-[RenderingProgressNavigationDelegate _webView:renderingProgressDidChange:]): (TEST): * TestWebKitAPI/Tests/WebKit/deferred-script-load.html: Added. * TestWebKitAPI/Tests/WebKit/deferred-script.js: Added. 2019-02-04 Dean Johnson REGRESSION (r237269): webkit-patch what-broke is broken https://bugs.webkit.org/show_bug.cgi?id=193025 Reviewed by Aakash Jain. * Scripts/webkitpy/common/host.py: (Host.buildbot): (Host.bugzilla): Renamed to 'buildbot'. 2019-02-04 Wenson Hsieh [iOS] API test WKAttachmentTests.InsertAndRemoveDuplicateAttachment is failing after r240902 https://bugs.webkit.org/show_bug.cgi?id=194207 Reviewed by Tim Horton. Fix this API test by making it robust against smart paste on iOS. Currently, this test pastes an attachment element and assumes that the pasted attachment is adjacent to the original one. However, after enabling smart paste, we now insert an extra space in between. Instead of executing "DeleteBackward" twice to test removing the attachment elements, we delete backwards once to remove the pasted attachment, and move the selection to the start and delete forwards to remove the original attachment. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): 2019-02-04 Youenn Fablet Capture state should be managed consistently when doing process swapping https://bugs.webkit.org/show_bug.cgi?id=194122 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[GetUserMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]): (-[GetUserMediaUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]): (-[GetUserMediaUIDelegate _webView:mediaCaptureStateDidChange:]): * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::isDoingMediaCapture const): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::isDoingMediaCapture const): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::isDoingMediaCapture const): 2019-02-03 Fujii Hironori [Win] WebKitTestRunners is failing to create the IndexedDB directory. https://bugs.webkit.org/show_bug.cgi?id=194142 Reviewed by Ross Kirsling. There three 'separator' variables in TestController.cpp. Renamed it 'pathSeparator', and unified them. * WebKitTestRunner/TestController.cpp: (WTR::TestController::generateContextConfiguration const): (WTR::createTestURL): (WTR::TestController::platformAdjustContext): 2019-02-03 Simon Fraser Make setNeedsLayout on the root more explicitly about triggering its side-effects https://bugs.webkit.org/show_bug.cgi?id=194198 Reviewed by Antti Koivisto. No need to set the banner heights on navigation now, since Page stores them. * MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController webView:didFinishNavigation:]): 2019-02-03 John Wilander Parse and handle Ad Click Attribution attributes in HTMLAnchorElement::handleClick() https://bugs.webkit.org/show_bug.cgi?id=194104 Reviewed by Chris Dumez, Daniel Bates, and Darin Adler. * TestWebKitAPI/Tests/WebCore/AdClickAttribution.cpp: (TestWebKitAPI::TEST): Changed numeric types from unsigned short to uint32_t. 2019-02-02 David Kilzer Leak of NSArray (4.25 Kbytes) in com.apple.WebKit.WebContent running WebKit layout tests on iOS Simulator Reviewed by Alexey Proskuryakov. * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm: (WTR::uninstallFakeHelvetica): Pass nullptr into CTFontManagerUnregisterFontsForURLs() to ignore any errors. 2019-02-02 Zalan Bujtas [LFC] Initialize ICB's style with fixed width/height. https://bugs.webkit.org/show_bug.cgi?id=194188 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-02 Zalan Bujtas [LFC] Add missing case to out-of-flow non-replaced horizontal used margin value computation https://bugs.webkit.org/show_bug.cgi?id=194185 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-12-16 Darin Adler Convert additional String::format clients to alternative approaches https://bugs.webkit.org/show_bug.cgi?id=192746 Reviewed by Alexey Proskuryakov. * WebKitTestRunner/TestController.cpp: (WTR::originUserVisibleName): Use makeString and reduce the use of std::string as an intermediate in code that ultimately constructs a WTF::String. (WTR::userMediaOriginHash): Use makeString. (WTR::TestController::didNavigateWithNavigationData): More of the same. (WTR::TestController::didPerformClientRedirect): Ditto. (WTR::TestController::didPerformServerRedirect): Ditto. (WTR::TestController::didUpdateHistoryTitle): Ditto. 2019-02-01 Aakash Jain [ews-build] Add unit test to verify builder keys https://bugs.webkit.org/show_bug.cgi?id=194152 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/loadConfig_unittest.py: (ConfigDotJSONTest.test_builder_keys): Added unit-test. 2019-02-01 Zalan Bujtas [LFC] Expand tests coverage (12 new tests -> 787) Unreviewed test gardening. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-01 Zalan Bujtas [LFC] Fix statically positioned replaced out-of-flow horizontal geometry https://bugs.webkit.org/show_bug.cgi?id=194163 Reviewed by Simon Fraser. 775 * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-01 Wenson Hsieh [iOS] Consistent 1 sec hang when triggering modal alerts while handling synchronous touch events https://bugs.webkit.org/show_bug.cgi?id=194140 Reviewed by Tim Horton. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setShouldDismissJavaScriptAlertsAsynchronously): Add a new TestRunner hook to make modal JavaScript alerts dismiss asynchronously. This is used by the new layout test to induce an IPC deadlock when presenting a modal alert during touch start. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::runJavaScriptAlert): Add a client callback function for running JavaScript alerts. (WTR::TestController::createOtherPage): (WTR::TestController::generateContextConfiguration const): Add a test option to disable IPC timeouts for a layout test. This forces the test to reliably time out without the fix in this patch. (WTR::TestController::createWebViewWithOptions): Plumb TestOptions to generateContextConfiguration. (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): (WTR::updateTestOptionsFromTestHeader): (WTR::TestController::setShouldDismissJavaScriptAlertsAsynchronously): (WTR::TestController::handleJavaScriptAlert): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): 2019-02-01 Chris Dumez REGRESSION: Flaky ASSERTION FAILED: m_uncommittedState.state == State::Committed on http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.html https://bugs.webkit.org/show_bug.cgi?id=193740 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-02-01 Aakash Jain [ews-app] Add display name field to BuilderMapping model https://bugs.webkit.org/show_bug.cgi?id=194153 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/buildermapping.py: (BuilderMapping): 2019-02-01 Youenn Fablet API Test broken: TestWebKitAPI.WebKit2.GetUserMediaReprompt https://bugs.webkit.org/show_bug.cgi?id=194155 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebKit/getUserMedia.html: Revert use of async functions as it seems it cannot be evaluated from TestWebKitAPI. Keep calling enumerateDevices to continue cover https://bugs.webkit.org/show_bug.cgi?id=194106. 2019-02-01 Zalan Bujtas [LFC] Adjust replaced element's intrinsic ratio https://bugs.webkit.org/show_bug.cgi?id=194154 Reviewed by Antti Koivisto. 761 * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-01 Carlos Garcia Campos [WPE] Show test results in minibrowser https://bugs.webkit.org/show_bug.cgi?id=194150 Reviewed by Žan Doberšek. * Scripts/webkitpy/port/wpe.py: (WPEPort.show_results_html_file): 2019-02-01 Carlos Garcia Campos [WPE] MiniBrowser: add ky bindings for back/forward navigation https://bugs.webkit.org/show_bug.cgi?id=194151 Reviewed by Žan Doberšek. ALT + <- go back ALT + -> go forward * MiniBrowser/wpe/main.cpp: (main): 2019-02-01 Zalan Bujtas [LFC] Set intrinsic size on Layout::Replaced https://bugs.webkit.org/show_bug.cgi?id=194139 Reviewed by Antti Koivisto. 744 * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-02-01 Carlos Garcia Campos [WPE] MiniBrowser: use g_file_new_for_commandline_arg https://bugs.webkit.org/show_bug.cgi?id=194146 Reviewed by Xabier Rodriguez-Calvar. It allows to open relative paths. * MiniBrowser/wpe/main.cpp: (main): 2019-01-31 Ryan Haddad Update flakiness dashboard configuration after recent queue changes https://bugs.webkit.org/show_bug.cgi?id=194127 Rubber-stamped by Aakash Jain. Apple Windows queues were updated in r237755, and Sierra was removed in r239859. * TestResultServer/static-dashboards/builders.jsonp: 2019-01-31 Youenn Fablet Add an API test to cover UIClient checkUserMediaPermissionForOrigin being nullptr https://bugs.webkit.org/show_bug.cgi?id=194106 Reviewed by Ryosuke Niwa. * TestWebKitAPI/Tests/WebKit/UserMedia.cpp: (TestWebKitAPI::didFinishNavigation): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/getUserMedia.html: 2019-01-31 Chris Dumez Page zoom level is lost after a process swap or a crash https://bugs.webkit.org/show_bug.cgi?id=194105 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[PSONNavigationDelegate webView:didCommitNavigation:]): 2019-01-31 Alex Christensen Revert r238819 which is unneeded and caused a performance regression. https://bugs.webkit.org/show_bug.cgi?id=192272 * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm: (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]): (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]): Deleted. 2019-01-31 Jiewen Tan Formalize WebKitAdditions mechanism of LoadOptimizer https://bugs.webkit.org/show_bug.cgi?id=193886 Reviewed by Brent Fulgham. * MiniBrowser/MiniBrowser.entitlements: Make com.apple.security.temporary-exception.mach-lookup.global-name an array. 2019-01-31 Zalan Bujtas [LFC] Margin before/after/start/end initial value is 0 and not auto. https://bugs.webkit.org/show_bug.cgi?id=194090 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-31 Zalan Bujtas [LFC] Use the used margin values in outOfFlowReplacedHorizontalGeometry consistently https://bugs.webkit.org/show_bug.cgi?id=194074 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-31 Zalan Bujtas [LFC][BFC] Add support for block level replaced box. https://bugs.webkit.org/show_bug.cgi?id=194071 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-31 Fujii Hironori Fix WebKitTestRunner's testPath with Windows full paths https://bugs.webkit.org/show_bug.cgi?id=194012 Reviewed by Alex Christensen. updateTestOptionsFromTestHeader failed to open test files because testPath returned wrong file paths. It returned a path "/C:/..." if a URL "file:///C:/..." was given. * WebKitTestRunner/TestController.cpp: (WTR::testPath): Removed the first '/' if the path starts with something like "/C:/". 2019-01-31 Carlos Garcia Campos [WPE] Bump font related dependencies to match the GTK+ port https://bugs.webkit.org/show_bug.cgi?id=194017 Reviewed by Žan Doberšek. * wpe/jhbuild.modules: * wpe/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added. * wpe/patches/icudata-stdlibs.patch: Added. 2019-01-30 Ryosuke Niwa Enable swipe tests on iOS https://bugs.webkit.org/show_bug.cgi?id=194076 Reviewed by Geoffrey Garen. Removed the superflous call to prepareForAsyncTask and asyncTaskComplete as it causes a debug assertion failure in runUIScript. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::beginBackSwipe): (WTR::UIScriptController::completeBackSwipe): 2019-01-30 Keith Rollin Use correct printf format specifier https://bugs.webkit.org/show_bug.cgi?id=194062 Reviewed by Alexey Proskuryakov. LayoutTestSpellChecker.mm is trying to format a variable of type NSTextCheckingType with %tu (unsigned ptrdiff_t), when the type is actually an unsigned long long. Fix this by formatting with %llu. * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm: (-[LayoutTestTextCheckingResult description]): 2019-01-30 Ryosuke Niwa REGRESSION(r240541): WebKit.WebsitePoliciesCustomJavaScriptUserAgent is failing since introduction on iOS https://bugs.webkit.org/show_bug.cgi?id=193979 Reviewed by Wenson Hsieh. Fix the test for iOS. Make the test work with iOS UA string. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: 2019-01-30 Ryan Haddad Replace High Sierra LLINT CLoop bot due to hardware failure https://bugs.webkit.org/show_bug.cgi?id=194066 Reviewed by Aakash Jain. * BuildSlaveSupport/build.webkit.org-config/config.json: 2019-01-30 Keith Rollin [NSDragItem init] is unavailable https://bugs.webkit.org/show_bug.cgi?id=194059 Reviewed by Wenson Hsieh. [NSDragItem init] is marked as NS_UNAVAILABLE. This affects DumpRenderTree and TestWebKitAPI, which both try to create an NSDragItem in a manner that invokes this method. Address this by using -initWithPasteboardWriter instead. Note that the parameter passed to initWithPasteboardWriter is likely incorrect. In both cases, the object passed does not conform to NSPasteboardWriting. However, with this fix, we're no worse off than before, and can now perform builds with newer compilers and SDKs until a real fix can be crafted. That work is tracked in https://bugs.webkit.org/show_bug.cgi?id=194060 * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm: (-[DumpRenderTreeDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]): * TestWebKitAPI/mac/TestDraggingInfo.mm: (-[TestDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]): 2019-01-30 Daniel Bates [iOS] Keyups for non-modifier keys identified as "Dead" when not focused in a content-editable element https://bugs.webkit.org/show_bug.cgi?id=192824 Reviewed by Wenson Hsieh. Fix a bug where the wrong usage code was used for F13 thru F24. * WebKitTestRunner/ios/HIDEventGenerator.mm: (keyCodeForDOMFunctionKey): 2019-01-30 Chris Dumez Regression(PSON) Load hang can occur on history navigation https://bugs.webkit.org/show_bug.cgi?id=194030 Reviewed by Antti Koivisto. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-01-30 Zalan Bujtas [LFC] Expand tests coverage. Unreviewed test gardening. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-30 Thibault Saunier [Flatpak] Add openjpeg support https://bugs.webkit.org/show_bug.cgi?id=194019 Reviewed by Michael Catanzaro. * flatpak/org.webkit.CommonModules.yaml: 2019-01-30 Commit Queue Unreviewed, rolling out r240708. https://bugs.webkit.org/show_bug.cgi?id=194022 It broke WPE build (Requested by KaL on #webkit). Reverted changeset: "[WPE] Bump font related dependencies to match the GTK+ port" https://bugs.webkit.org/show_bug.cgi?id=194017 https://trac.webkit.org/changeset/240708 2019-01-30 Zalan Bujtas [LFC][IFC] nextBreakablePosition returns the same position on hyphen characters https://bugs.webkit.org/show_bug.cgi?id=194001 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-30 Zalan Bujtas [LFC] Use the used margin values in outOfFlowReplacedVerticalGeometry consistently https://bugs.webkit.org/show_bug.cgi?id=194020 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-30 Chris Fleizach AX: Support color well on iOS https://bugs.webkit.org/show_bug.cgi?id=194010 Reviewed by Joanmarie Diggs. * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::AccessibilityUIElement::stringAttributeValue): 2019-01-30 Carlos Garcia Campos [WPE] Bump font related dependencies to match the GTK+ port https://bugs.webkit.org/show_bug.cgi?id=194017 Reviewed by Žan Doberšek. * wpe/jhbuild.modules: * wpe/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added. * wpe/patches/icudata-stdlibs.patch: Added. 2019-01-29 Alexey Proskuryakov [Mac] Update window scale API usage https://bugs.webkit.org/show_bug.cgi?id=193991 rdar://problem/47614795 Reviewed by Tim Horton. * DumpRenderTree/mac/DumpRenderTree.mm: (changeWindowScaleIfNeeded): * DumpRenderTree/mac/DumpRenderTreeWindow.h: * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::changeWindowScaleIfNeeded): 2019-01-29 Chris Dumez REGRESSION: ProcessSwap.DoSameSiteNavigationAfterCrossSiteProvisionalLoadStarted Failing on iOS https://bugs.webkit.org/show_bug.cgi?id=193977 Reviewed by Geoff Garen. Update API test to address flakiness on iOS. Instead of doing the last navigation after receiving the didStartProvisionalLoad, do we right after we answer the navigation policy request. Flakiness was due to the previous provisional committing *before* we make the last load. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-01-29 Youenn Fablet Adopt new SPI to evaluate server certificate trust https://bugs.webkit.org/show_bug.cgi?id=193355 Reviewed by Alex Christensen. Add infrastructure to handle HTTPS server trust evaluation testing. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setCanHandleHTTPSServerTrustEvaluation): (WTR::TestRunner::canDoServerTrustEvaluationInNetworkProcess): (WTR::TestRunner::serverTrustEvaluationCallbackCallsCount): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::didReceiveAuthenticationChallenge): (WTR::TestController::canDoServerTrustEvaluationInNetworkProcess const): * WebKitTestRunner/TestController.h: (WTR::TestController::serverTrustEvaluationCallbackCallsCount const): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::canDoServerTrustEvaluationInNetworkProcess const): 2019-01-29 Aakash Jain [ews-build] Add build step to print bot Configuration https://bugs.webkit.org/show_bug.cgi?id=193887 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (PrintConfiguration): Build step to print configuration. * BuildSlaveSupport/ews-build/factories.py: 2019-01-29 Chris Dumez Regression (r240046): [PSON] Spurious changes to [WKWebView url] and [WKWebView loading] after [WKWebView loadRequest] https://bugs.webkit.org/show_bug.cgi?id=193967 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[PSONLoadingObserver observeValueForKeyPath:ofObject:change:context:]): 2019-01-29 Aakash Jain [ews-app] Handle incoming results data https://bugs.webkit.org/show_bug.cgi?id=193973 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/results.py: 2019-01-29 Aakash Jain [ews-app] Make the results url generic https://bugs.webkit.org/show_bug.cgi?id=193928 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/urls.py: 2019-01-29 Aakash Jain [ews-build] Configure buildbot to send events to ews-app https://bugs.webkit.org/show_bug.cgi?id=193968 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/events.py: Added. * BuildSlaveSupport/ews-build/master.cfg: 2019-01-29 Keith Rollin Add .xcfilelists to Run Script build phases https://bugs.webkit.org/show_bug.cgi?id=193792 Reviewed by Alex Christensen. As part of supporting XCBuild, update the necessary Run Script build phases in their Xcode projects to refer to their associated .xcfilelist files. Note that the addition of these files bumps the Xcode project version number to something that's Xcode 10 compatible. This change means that older versions of the Xcode IDE can't read these projects. Nor can it fully load workspaces that refer to these projects (the updated projects are shown as non-expandable placeholders). `xcodebuild` can still build these projects; it's just that the IDE can't open them. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: 2019-01-29 John Wilander Add data abstraction and validation for Ad Click Attribution https://bugs.webkit.org/show_bug.cgi?id=193916 Reviewed by Daniel Bates, Brent Fulgham, and Alex Christensen. Ad click attribution has two steps. First, the storage of an ad campaign ID for a click that takes the user to a destination site. Second, a conversion on the destination site that can be attributed to the ad click. This patch adds a class that represents a request for ad click attribution. Validation makes sure that the bits of entropy reported through this mechanism is limited. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/AdClickAttribution.cpp: Added. (TestWebKitAPI::TEST): 2019-01-29 Chris Dumez REGRESSION (PSON): Twitter link gets stuck at t.co after navigating back in tab https://bugs.webkit.org/show_bug.cgi?id=193932 Reviewed by Brady Eidson. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-01-29 Zalan Bujtas Adding new passing LFC tests. Unreviewed test gardening. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-29 Zalan Bujtas [LFC][BFC][MarginCollapsing] Remove incorrect downcast https://bugs.webkit.org/show_bug.cgi?id=193964 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-29 Zalan Bujtas [LFC][BFC] Do not ignore next sibling box while laying out BFC. https://bugs.webkit.org/show_bug.cgi?id=193954 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-29 Carlos Garcia Campos WebDriver: add support for running subtests https://bugs.webkit.org/show_bug.cgi?id=193904 Reviewed by Michael Catanzaro. pytest already supports it by passing test.py::subtest, so we can do the same. * Scripts/webkitpy/webdriver_tests/pytest_runner.py: (get_item_name): Made this global. (CollectRecorder.__init__): Receive the parameter to ignore. (CollectRecorder.pytest_collectreport): Collect also the subtests. (TestExpectationsMarker.pytest_collection_modifyitems): Use get_item_name(). (collect): Add parameter to ignore. * Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py: (WebDriverSeleniumExecutor.collect): Pass the driver name as parameter to ignore. * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py: (WebDriverTestRunnerSelenium.collect_tests): Handle subtest name in test path. (WebDriverTestRunnerSelenium.run): Ditto. * Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py: (WebDriverTestRunnerW3C.collect_tests): Ditto. (WebDriverTestRunnerW3C.run): Ditto. 2019-01-28 Ryosuke Niwa User agent string override for navigator.userAgent should be site specific quirks https://bugs.webkit.org/show_bug.cgi?id=193950 Reviewed by Brent Fulgham. Updated per the _WKWebsitePolicies rename. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (-[CustomJavaScriptUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): 2019-01-28 Ross Kirsling Remove unnecessary `using namespace WTF`s (or at least restrict their scope). https://bugs.webkit.org/show_bug.cgi?id=193941 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WTF/ConcurrentPtrHashSet.cpp: * TestWebKitAPI/Tests/WTF/Condition.cpp: * TestWebKitAPI/Tests/WTF/Lock.cpp: * TestWebKitAPI/Tests/WTF/MetaAllocator.cpp: * TestWebKitAPI/Tests/WTF/ParkingLot.cpp: * TestWebKitAPI/Tests/WTF/RedBlackTree.cpp: * TestWebKitAPI/Tests/WTF/ScopedLambda.cpp: * TestWebKitAPI/Tests/WTF/Time.cpp: * TestWebKitAPI/Tests/WTF/UniqueArray.cpp: * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp: * TestWebKitAPI/Tests/WebCore/Logging.cpp: * WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm: 2019-01-28 Yusuke Suzuki Unreviewed, reorder my emails to fix autocomplete in bugzilla * Scripts/webkitpy/common/config/contributors.json: 2019-01-28 Andy Estes [watchOS] Enable Parental Controls content filtering https://bugs.webkit.org/show_bug.cgi?id=193939 Reviewed by Ryosuke Niwa. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-01-28 David Kilzer REGRESSION (r236481): Move soft-linking of LocalAuthentication.framework out of LocalAuthenticationSoftLink.h Reviewed by Jiewen Tan. * Scripts/webkitpy/style/checkers/cpp.py: (check_language): Add LocalAuthentication to `frameworks_with_soft_links`. 2019-01-28 Fujii Hironori [Win][WebKitTestRunner] Error: test and reference images have different sizes. Test image is 784x561, reference image is 800x600 https://bugs.webkit.org/show_bug.cgi?id=193891 Reviewed by Ross Kirsling. There were three problems in window sizes of WebView and the host window. 1. The sizes of pixel image output were incorrect. 2. The host window is going to appear after window.resize was invoked. 3. window.resize resized only the host window, not WebView. This change solves them with a following approach. a. PlatformWebView::PlatformWebView creates the initial host window as zero size. b. Changes the host window style from WS_OVERLAPPEDWINDOW to WS_POPUP as well as DumpRenderTree in order to match the client area and the window area. c. PlatformWebView::resizeTo simply calls PlatformWebView::setWindowFrame as well as Mac port and GTK port. d. PlatformWebView::setWindowFrame changes both window sizes. e. PlatformWebView::setWindowFrame moves the host window to the out side of screen if m_options.shouldShowWebView. * WebKitTestRunner/win/PlatformWebViewWin.cpp: (WTR::PlatformWebView::PlatformWebView): Create the host window and WebView as zero size. Use WS_POPUP instead of WS_OVERLAPPEDWINDOW. (WTR::PlatformWebView::resizeTo): Calls PlatformWebView::setWindowFrame. (WTR::PlatformWebView::setWindowFrame): Change both window sizes. 2019-01-28 Aakash Jain [ews-app] Add method to save Step data to database https://bugs.webkit.org/show_bug.cgi?id=193890 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/step.py: (Step.save_step): Method to save step data. (Step.update_step): Method to update step data. (Step.get_existing_step): Method to fetch existing step from database. (Step.is_valid_result): Method to validate valid step result. 2019-01-28 Aakash Jain [ews-app] Add method to save Build data to database https://bugs.webkit.org/show_bug.cgi?id=193735 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/build.py: (Build.save_build): Method to save build information to database. (Build.get_existing_build): Method to fetch existing build from database. (Build.is_valid_result): Method to validate build result. * BuildSlaveSupport/ews-app/ews/common/util.py: (is_valid_int_id): Method to validate valid id. 2019-01-28 Chris Dumez Regression(PSON) Crash under WebPageProxy::didStartProgress() https://bugs.webkit.org/show_bug.cgi?id=193915 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-01-28 Aakash Jain [ews-app] Rename id variables https://bugs.webkit.org/show_bug.cgi?id=193883 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/build.py: * BuildSlaveSupport/ews-app/ews/models/buildermapping.py: * BuildSlaveSupport/ews-app/ews/models/step.py: * BuildSlaveSupport/ews-app/ews/urls.py: * BuildSlaveSupport/ews-app/ews/views/patch.py: * BuildSlaveSupport/ews-app/ews/views/results.py: * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: 2019-01-28 Aakash Jain [ews-app] Allow certain fields to be empty https://bugs.webkit.org/show_bug.cgi?id=193892 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/build.py: * BuildSlaveSupport/ews-app/ews/models/step.py: 2019-01-28 Rob Buis Update MIME type parser https://bugs.webkit.org/show_bug.cgi?id=180526 Reviewed by Frédéric Wang. * TestWebKitAPI/Tests/WebCore/ParsedContentType.cpp: (TestWebKitAPI::TEST): 2019-01-28 Zalan Bujtas [LFC][MarginCollapsing][Quirks] Quirk margin values get propagated through margin collapsing https://bugs.webkit.org/show_bug.cgi?id=193896 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-12-15 Darin Adler Replace many uses of String::format with more type-safe alternatives https://bugs.webkit.org/show_bug.cgi?id=192742 Reviewed by Mark Lam. * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::cacheTestRunnerCallback): Use makeString. * WebKitTestRunner/TestController.cpp: (WTR::TestController::didReceiveAuthenticationChallenge): Use makeString. (WTR::TestController::downloadDidFail): Use an ASCIILiteral via the _s syntax. 2019-01-27 Jiewen Tan Use a load optimizer for some sites https://bugs.webkit.org/show_bug.cgi?id=193881 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/TestLoadOptimizer.mm: Added. 2019-01-27 Chris Fleizach AX: Introduce a static accessibility tree https://bugs.webkit.org/show_bug.cgi?id=193348 Reviewed by Ryosuke Niwa. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-01-26 Zalan Bujtas [LFC] The default values for top/bottom in contentHeightForFormattingContextRoot should not be 0. https://bugs.webkit.org/show_bug.cgi?id=193867 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-26 Zalan Bujtas [LFC][BFC] Ignore last inflow child's collapsed through margin after when computing containing block's height. https://bugs.webkit.org/show_bug.cgi?id=193865 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-25 Ryosuke Niwa Need a mechanism to override navigator.userAgent https://bugs.webkit.org/show_bug.cgi?id=193762 Reviewed by Brent Fulgham. Added test cases for _WKWebsitePolicies.customJavaScriptUserAgent. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (-[CustomJavaScriptUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): (-[CustomJavaScriptUserAgentDelegate webView:didFinishNavigation:]): 2019-01-25 Dean Jackson REGRESSION: Some USDz from 3rd party websites don't go directly to AR QL https://bugs.webkit.org/show_bug.cgi?id=193831 Reviewed by Chris Dumez. Two new tests that exercise cross-origin and same-origin System Previews. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-01-25 Keith Rollin Update Xcode projects with "Check .xcfilelists" build phase https://bugs.webkit.org/show_bug.cgi?id=193790 Reviewed by Alex Christensen. Support for XCBuild includes specifying inputs and outputs to various Run Script build phases. These inputs and outputs are specified as .xcfilelist files. Once created, these .xcfilelist files need to be kept up-to-date. In order to check that they are up-to-date or not, add an Xcode build step that invokes an external script that performs the checking. If the .xcfilelists are found to be out-of-date, update them, halt the build, and instruct the developer to restart the build with up-to-date files. At this time, the checking and regenerating is performed only if the WK_ENABLE_CHECK_XCFILELISTS environment variable is set to 1. People who want to use this facility can set this variable and test out the checking/regenerating. Once it seems like there are no egregious issues that upset a developer's workflow, we'll unconditionally enable this facility. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/Scripts/check-xcfilelists.sh: Added. * WebKitTestRunner/Scripts/check-xcfilelists.sh: Added. * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: 2019-01-25 Keith Rollin Update Xcode projects with "Apply Configuration to XCFileLists" build target https://bugs.webkit.org/show_bug.cgi?id=193781 Reviewed by Alex Christensen. Part of generating the .xcfilelists used as part of adopting XCBuild includes running `make DerivedSources.make` from a standalone script. It’s important for this invocation to have the same environment as when the actual build invokes `make DerivedSources.make`. If the environments are different, then the two invocations will provide different results. In order to get the same environment in the standalone script, have the script launch xcodebuild targeting the "Apply Configuration to XCFileLists" build target, which will then re-invoke our standalone script. The script is now running again, this time in an environment with all workspace, project, target, xcconfig and other environment variables established. The "Apply Configuration to XCFileLists" build target accomplishes this task via a small embedded shell script that consists only of: eval "${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}" The process that invokes "Apply Configuration to XCFileLists" first sets WK_SUBLAUNCH_SCRIPT_PARAMETERS to an array of commands to be evaluated and exports it into the shell environment. When xcodebuild is invoked, it inherits the value of this variable and can `eval` the contents of that variable. Our external standalone script can then set WK_SUBLAUNCH_SCRIPT_PARAMETERS to the path to itself, along with a set of command-line parameters needed to restart itself in the appropriate state. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: 2019-01-25 Alex Christensen Add SPI to inform an application that "Go Back" has been clicked from a safe browsing warning https://bugs.webkit.org/show_bug.cgi?id=193802 Reviewed by Andy Estes. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (-[SafeBrowsingNavigationDelegate _webViewDidClickGoBackFromSafeBrowsingWarning:]): (TEST): 2019-01-25 Daniel Bates [iOS] uiController.keyDown() does not translate Control modified key https://bugs.webkit.org/show_bug.cgi?id=192898 Reviewed by Wenson Hsieh. Implement uiController.keyDown() in terms of HIDEventGenerator so that UIKit performs key translation, as applicable. Among other cases, key translation occurs when performing a Control key modified key sequence. Writing uiController.keyDown() in terms of HIDEventGenerator also makes the behavior of uiController.keyDown() more closely match the behavior of a human pressing down and releasing key(s) using a hardware keyboard. * WebKitTestRunner/ios/HIDEventGenerator.h: * WebKitTestRunner/ios/HIDEventGenerator.mm: (-[HIDEventGenerator sendMarkerHIDEventWithCompletionBlock:]): Renamed; formerly named _sendMarkerHIDEventWithCompletionBlock. (-[HIDEventGenerator touchDown:touchCount:completionBlock:]): (-[HIDEventGenerator liftUp:touchCount:completionBlock:]): (-[HIDEventGenerator stylusDownAtPoint:azimuthAngle:altitudeAngle:pressure:completionBlock:]): (-[HIDEventGenerator stylusMoveToPoint:azimuthAngle:altitudeAngle:pressure:completionBlock:]): (-[HIDEventGenerator stylusUpAtPoint:completionBlock:]): (-[HIDEventGenerator stylusTapAtPoint:azimuthAngle:altitudeAngle:pressure:completionBlock:]): (-[HIDEventGenerator sendTaps:location:withNumberOfTouches:completionBlock:]): (-[HIDEventGenerator longPress:completionBlock:]): (-[HIDEventGenerator dragWithStartPoint:endPoint:duration:completionBlock:]): Update code for above renaming. (hidUsageCodeForCharacter): Translate \b to a backspace and teach this function to recognize the DumpRenderTree EventSender-compatible modifier key names (e.g. "metaKey"). (-[HIDEventGenerator keyDown:]): Added. (-[HIDEventGenerator keyUp:]): Added. (-[HIDEventGenerator keyPress:completionBlock:]): (-[HIDEventGenerator eventDispatchThreadEntry:]): (-[HIDEventGenerator _sendMarkerHIDEventWithCompletionBlock:]): Deleted; renamed to sendMarkerHIDEventWithCompletionBlock. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::parseModifierArray): Modified to return a vector of strings that represent the modifier keys to press. (WTR::UIScriptController::keyDown): Write in terms of HIDEventGenerator. (WTR::parseModifier): Deleted. 2019-01-25 Keith Rollin Complete the implementation of generate-xcfilelists https://bugs.webkit.org/show_bug.cgi?id=193782 Reviewed by Alex Christensen. A preliminary version of generate-xcfilelists was added in r238008. This patch updates that script in order to: - Support checking of .xcfilelists - Perform better execution of `make DerivedSources.make` by relaunching generate-xcfilelists under xcodebuild - Support incremental generation and checking of .xcfilelists - Support supplementary .xcfilelists files from WebKitAdditions - Support being wrapped by parallel version of generate-xcfilelists in Internal that adds support for (re)generating WebKit projects in that repo. - Support builds that have been performed in WebKitBuild as well as ~/Library/Developer/code/DerivedData - Increase robustness and debugging facilities. * Scripts/generate-xcfilelists: 2019-01-25 Brent Fulgham Activate the WebResourceLoadStatisticsStore in the NetworkProcess and deactivate it in the UIProcess. https://bugs.webkit.org/show_bug.cgi?id=193297 Unreviewed test case fix. These test cases require ResourceLoadStatistics to be active, so the feature must be turned on. Previously, the default data store turned the feature on automatically, allowing these tests to pass. * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm: (TEST): 2019-01-25 Keith Rollin Update existing .xcfilelists https://bugs.webkit.org/show_bug.cgi?id=193791 Reviewed by Alex Christensen. Many .xcfilelist files were added in r238824 in order to support XCBuild. Update these with recent changes to the set of build files and with the current generate-xcfilelist script. * DumpRenderTree/DerivedSources-input.xcfilelist: * DumpRenderTree/DerivedSources-output.xcfilelist: * WebKitTestRunner/DerivedSources-input.xcfilelist: * WebKitTestRunner/DerivedSources-output.xcfilelist: 2019-01-25 Keith Rollin Fix missing dependencies in extract-dependencies-from-makefile https://bugs.webkit.org/show_bug.cgi?id=193783 Reviewed by Alex Christensen. The extract-dependencies-from-makefile script generates .xcfilelists for XCBuild by invoking a makefile in --debug mode, parsing the dependency information in the output, and extracting information regarding targets and dependents. However, the way `make` emits this dependency information is not rigorous, and so we need to determine what lines to look for and parse by trial and error. This approach didn't coriginally atch all the information we needed to collect, so update the script to look for the additional lines we now know to look for. * Scripts/extract-dependencies-from-makefile: (Parser): (Parser.addTarget): (Parser.addPrereq): (Parser.doParse): 2019-01-25 Brent Fulgham Activate the WebResourceLoadStatisticsStore in the NetworkProcess and deactivate it in the UIProcess. https://bugs.webkit.org/show_bug.cgi?id=193297 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKit Cocoa/ResourceLoadStatistics.mm: Revise tests to ensure a running NetworkProcess before attempting ResourceLoadStatistics operations. * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::installStatisticsDidScanDataRecordsCallback): Simplify test configuration by activating the message used to trigger the callback when it is set. 2019-01-25 Alex Christensen WKWebView.goBack should reload if there is a safe browsing warning https://bugs.webkit.org/show_bug.cgi?id=193805 Reviewed by Geoff Garen. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (+[Simple3LookupContext sharedLookupContext]): (-[Simple3LookupContext lookUpURL:completionHandler:]): (-[WKWebViewGoBackNavigationDelegate webView:didFinishNavigation:]): (TEST): 2019-01-25 Chris Dumez Regression(PSON) cross-site provisional page is not canceled if a new same-site one is started https://bugs.webkit.org/show_bug.cgi?id=193788 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[PSONNavigationDelegate webView:didStartProvisionalNavigation:]): 2019-01-25 Jonathan Bedard webkitpy: Missing PID in crashlog name should not be fatal (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=193771 Unreviewed infrastructure fix. * Scripts/webkitpy/port/darwin.py: (DarwinPort._merge_crash_logs): Correct syntax for catching multiple exception types. 2019-01-25 Alexey Proskuryakov * Scripts/webkitpy/common/config/contributors.json: Removing a stray comma. 2019-01-25 Alexey Proskuryakov Add contributors.json entries for Ling Ho and for a new bot watchers group. * Scripts/webkitpy/common/config/contributors.json: 2019-01-25 Chris Dumez Regression(PSON?) Crash under NavigationState::NavigationClient::decidePolicyForNavigationAction() https://bugs.webkit.org/show_bug.cgi?id=193779 Reviewed by Antti Koivisto. Add API test that quickly navigates forward to a previous process without waiting for it to suspend. I suspect the crash could have been happening due to receiving leftover IPC from the process' previous page when reconnecting the it for the forward navigation. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-01-25 Wenson Hsieh Need a way for JavaScript (or bundle) code to participate in undo https://bugs.webkit.org/show_bug.cgi?id=190009 Reviewed by Ryosuke Niwa. Add UIScriptController helpers to grab the platform undo and redo action labels. Currently only implemented for Cocoa platforms in WebKit2. See other ChangeLogs for more detail. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::lastUndoLabel const): (WTR::UIScriptController::firstRedoLabel const): (WTR::UIScriptController::platformUndoManager const): * DumpRenderTree/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::lastUndoLabel const): (WTR::UIScriptController::firstRedoLabel const): (WTR::UIScriptController::platformUndoManager const): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::lastUndoLabel const): (WTR::UIScriptController::firstRedoLabel const): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/UIScriptControllerCocoa.mm: (WTR::UIScriptController::lastUndoLabel const): (WTR::UIScriptController::firstRedoLabel const): * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::platformUndoManager const): * WebKitTestRunner/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::platformUndoManager const): 2019-01-25 Zalan Bujtas [LFC][BFC][MarginCollapsing] Add "clear" to static position computation. https://bugs.webkit.org/show_bug.cgi?id=193824 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-24 Ryan Haddad Update macOS JSC bot configurations https://bugs.webkit.org/show_bug.cgi?id=193739 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/config.json: Remove 32-bit BuildAndTest queue. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: (BubbleQueueServer): Move JSC EWS to Mojave section. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: (WebKitBuildbot): Remove 32-bit BuildAndTest queue from dashboard. * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Update unit test. 2019-01-24 Fujii Hironori [Win][WebKitTestRunner] Implement EventSenderProxy https://bugs.webkit.org/show_bug.cgi?id=193755 Reviewed by Don Olmstead. * WebKitTestRunner/EventSenderProxy.h: Removed unused members m_buttonState and m_mouseButtonsCurrentlyDown. * WebKitTestRunner/win/EventSenderProxyWin.cpp: (WTR::EventSenderProxy::dispatchMessage): (WTR::EventSenderProxy::EventSenderProxy): (WTR::EventSenderProxy::mouseDown): (WTR::EventSenderProxy::mouseUp): (WTR::EventSenderProxy::mouseMoveTo): (WTR::EventSenderProxy::mouseScrollBy): (WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): 2019-01-24 Ross Kirsling Unreviewed fix for API test failure after r240437. TestWTF.WTF.StringOperators apparently can't deal with another test using String::operator+. This is fine... * TestWebKitAPI/Tests/WTF/FileSystem.cpp: 2019-01-24 Jonathan Bedard [webkitdirs] iosSimulatorApplicationsPath may not have iOS.simruntime in its path https://bugs.webkit.org/show_bug.cgi?id=193787 Reviewed by Alexey Proskuryakov. * Scripts/webkitdirs.pm: (iosSimulatorApplicationsPath): Pick from available runtime directories. 2019-01-24 Truitt Savell Unreviewed, rolling out r240446. Casued 5 API failures Reverted changeset: "Activate the WebResourceLoadStatisticsStore in the NetworkProcess and deactivate it in the UIProcess." https://bugs.webkit.org/show_bug.cgi?id=193297 https://trac.webkit.org/changeset/240446 2019-01-24 Zalan Bujtas DidFirstVisuallyNonEmptyLayout milestone should always fire at some point. https://bugs.webkit.org/show_bug.cgi?id=193741 Reviewed by Antti Koivisto and Simon Fraser. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp: (TestWebKitAPI::TEST): 2019-01-24 Brent Fulgham Activate the WebResourceLoadStatisticsStore in the NetworkProcess and deactivate it in the UIProcess. https://bugs.webkit.org/show_bug.cgi?id=193297 Reviewed by Alex Christensen. * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::installStatisticsDidScanDataRecordsCallback): Simplify test configuration by activating the message used to trigger the callback when it is set. 2019-01-24 John Wilander Add Ad Click Attribution as an internal/experimental feature https://bugs.webkit.org/show_bug.cgi?id=193685 Reviewed by Brent Fulgham. Added test option adClickAttributionEnabled. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): 2019-01-24 Antti Koivisto [PSON] Flash on back navigation on Mac https://bugs.webkit.org/show_bug.cgi?id=193716 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Closing of the previous page is delayed so waiting for didFinishNavigation is not sufficient to guarantee we have received all the messages. Wait for them. 2019-01-24 Chris Dumez Regression(PSON) Back/Forward list items' URL sometimes gets replaced with the URL of a subframe https://bugs.webkit.org/show_bug.cgi?id=193761 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-01-24 Jonathan Bedard webkitpy: Missing PID in crashlog name should not be fatal https://bugs.webkit.org/show_bug.cgi?id=193771 If we can't determine the PID of a crashlog, just ignore the crashlog instead of raising an exception. Reviewed by Lucas Forschler. * Scripts/webkitpy/port/darwin.py: (DarwinPort._merge_crash_logs): 2019-01-24 Michael Catanzaro test_exporter.py: webkitpy.common.system.executive.ScriptError from create_branch_with_patch https://bugs.webkit.org/show_bug.cgi?id=193746 Reviewed by Youenn Fablet. It calls 'git apply --index --abort', but --abort is not a valid argument to 'git apply', so we'd best just not call it. * Scripts/webkitpy/w3c/test_exporter.py: (WebPlatformTestExporter.create_branch_with_patch): 2019-01-24 Ross Kirsling Move FileSystem to WTF https://bugs.webkit.org/show_bug.cgi?id=193602 Reviewed by Yusuke Suzuki. * DumpRenderTree/win/DumpRenderTree.cpp: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/PlatformJSCOnly.cmake: * TestWebKitAPI/PlatformPlayStation.cmake: * TestWebKitAPI/PlatformWPE.cmake: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/FileSystem.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/FileSystem.cpp. * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp: * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp: * TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp: * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: * TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp: * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm: * TestWebKitAPI/win/PlatformUtilitiesWin.cpp: 2019-01-24 Philippe Normand [WPE] Remove hard dependency on subprocess32 for the API tests Rubber-stamped by Carlos Garcia Campos. * glib/api_test_runner.py: (TestRunner._run_test_qt): Lazily import subprocess32 and check its presence only when running WPEQt tests. 2019-01-24 Carlos Garcia Campos [GLIB] Expose JavaScriptCore options in GLib public API https://bugs.webkit.org/show_bug.cgi?id=188742 Reviewed by Michael Catanzaro. Add a test for the new API. * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: (testsJSCOptions): (main): 2019-01-24 Carlos Garcia Campos [GTK][WPE] Support JPEG 2000 images https://bugs.webkit.org/show_bug.cgi?id=186272 Reviewed by Žan Doberšek. Add OpenJPEG to jhbuild since 2.2.0 version is required and it's not available in debian stable. * gtk/jhbuild.modules: * wpe/jhbuild.modules: 2019-01-23 David Kilzer check-webkit-style should warn when using soft-linking macros in a header Reviewed by Darin Adler. * Scripts/webkitpy/style/checkers/cpp.py: (check_language): Add softlink/header check by refactoring the softlink/framework check. (CppChecker): Enable softlink/header check by default. * Scripts/webkitpy/style/checkers/cpp_unittest.py: (CppStyleTest.test_softlink_framework): Rename from CppStyleTest.test_softlink() and change test framework name in case AVFoundation gets its own AVFoundationSoftLink.{h,mm} files. Set file_name for macros that only appear in headers. (CppStyleTest.test_softlink_header): Add tests for using soft-link macros in headers. 2019-01-23 Chris Dumez Deprecate API to limit the maximum number of WebProcesses https://bugs.webkit.org/show_bug.cgi?id=193725 Reviewed by Geoff Garen. Update existing API tests to stop using deprecated API. * MiniBrowser/mac/AppDelegate.m: (defaultConfiguration): * TestWebKitAPI/Tests/WebKit/UserMedia.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: * TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm: (TEST): 2019-01-23 Aakash Jain [ews-app] Rename ews model buildermappings to buildermapping https://bugs.webkit.org/show_bug.cgi?id=193729 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/buildermapping.py: Renamed from Tools/BuildSlaveSupport/ews-app/ews/models/buildermappings.py. (BuilderMapping): Renamed BuildMappings to BuilderMapping. * BuildSlaveSupport/ews-app/ews/models/__init__.py: Ditto. 2019-01-23 Aakash Jain [ews-app] Rename ews model steps to step https://bugs.webkit.org/show_bug.cgi?id=193697 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/step.py: Renamed from Tools/BuildSlaveSupport/ews-app/ews/models/steps.py. (Step): Renamed Steps to Step. 2019-01-23 Sihui Liu Clean up IndexedDB files between tests https://bugs.webkit.org/show_bug.cgi?id=192796 Reviewed by Geoffrey Garen. * DumpRenderTree/mac/DumpRenderTree.mm: (runTest): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): (WTR::RemoveAllIndexedDatabasesCallbackContext::RemoveAllIndexedDatabasesCallbackContext): (WTR::RemoveAllIndexedDatabasesCallback): (WTR::TestController::ClearIndexedDatabases): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2019-01-23 Aakash Jain [ews-app] Rename ews model Builds to Build https://bugs.webkit.org/show_bug.cgi?id=193695 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/build.py: Renamed from Tools/BuildSlaveSupport/ews-app/ews/models/builds.py. (Build): Renamed Builds to Build. 2019-01-23 Jonathan Bedard webkitpy: Wait longer when launching WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=193734 Reviewed by Aakash Jain. * Scripts/webkitpy/port/simulator_process.py: (SimulatorProcess._start): Increase timeout from 6 seconds to 15 seconds. 2019-01-23 Wenson Hsieh [iOS] fast/events/touch/ios/hover-when-style-change-is-async.html times out https://bugs.webkit.org/show_bug.cgi?id=193182 Reviewed by Tim Horton. This test was timing out because one of its preceding tests (drag-to-autoscroll-in-single-line-editable.html) long presses and drags to select text, but does not end the touch by lifting up; subsequently, the tap gesture recognizer isn't fired when simulating a tap in hover-when-style-change-is-async.html. To fix this, tweak the test runner to make it safe for tests to end while touching the web view without preventing later tests from recognizing gestures. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): Cancel all touches in the UIApplication when resetting to a consistent state between tests. 2019-01-23 Jonathan Bedard webkitpy: Use correct config for --iphone-simulator and --ipad-simulator https://bugs.webkit.org/show_bug.cgi?id=193722 Reviewed by Lucas Forschler. iPhone and iPad ports should both use the iOS config. * Scripts/webkitpy/port/ios_simulator.py: (IPhoneSimulatorPort.__init__): (IPadSimulatorPort.__init__): 2019-01-23 Rob Buis Update MIME type parser https://bugs.webkit.org/show_bug.cgi?id=180526 Reviewed by Frédéric Wang. Add unit tests for both parse modes of ParsedContentType. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/ParsedContentType.cpp: Added. (TestWebKitAPI::TEST): 2019-01-22 Aakash Jain [ews-app] fetch loop should not stop on network issues https://bugs.webkit.org/show_bug.cgi?id=193666 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/fetcher.py: (FetchLoop.run): Ensure that fetch loop doesn't exit on any exception. 2019-01-22 Wenson Hsieh [iOS] Multiple WKWebViewAutofillTests are flaky failures https://bugs.webkit.org/show_bug.cgi?id=189165 Reviewed by Tim Horton. These tests are currently flaky because they expect an invocation of "Element.blur()" in the web process to immediately dispatch an IPC message to notify the UI process that the element has been blurred. In particular, the -textInputHasAutofillContext helper assumes that waiting for the next remote layer tree commit in the UI process in sufficient to ensure that any previous action that blurred the focused element in the web process would make its way to the UI process by the time the layer tree commit is finished. However, WebPage::elementDidBlur sends its IPC message to the UI process asynchronously, using callOnMainThread. This means that if a layer tree flush was already scheduled in the web process before the element was blurred, the element blur IPC message to the UI process will lose the race against the layer tree commit, and the test will fail because it asks for -_autofillContext too early. To fix this, we tweak these tests to actually wait until the intended input session change triggered by script is handled in the UI process. * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm: Tweak some of these tests to wait for input session changes before checking for the presence of an autofill context. The only exception is an existing test that doesn't allow programmatic focus to begin input sessions by default; to fix this test, we simply wait for _WKInputDelegate to be invoked, instead of waiting for a new input session. (-[AutofillTestView textInputHasAutofillContext]): Remove the incorrect presentation update here. This helper now assumes that the UI process is up to date. * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: (nextInputSessionChangeCount): Monotonically increasing identifier that's incremented whenever an input session is started in the UI process. This includes changing the focused element from one to another. (-[TestWKWebView initWithFrame:configuration:addToWindow:]): (-[TestWKWebView didStartFormControlInteraction]): (-[TestWKWebView didEndFormControlInteraction]): (-[TestWKWebView evaluateJavaScriptAndWaitForInputSessionToChange:]): Add a helper to evaluate JavaScript and wait for this script to cause some change in the input session. This handles three cases: (1) changing focus from an element that doesn't require an input session to one that does, (2) changing focus between elements that require input sessions, and (3) changing focus from an input session that doesn't require an input session to one that doesn't. 2019-01-22 David Kilzer check-webkit-style reports false-positive whitespace/init warning in C++ initialization parameters Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/style/checkers/cpp.py: (check_member_initialization_list): - Don't report missing whitespace around colon if the colon at the start of the line is formatted correctly. * Scripts/webkitpy/style/checkers/cpp_unittest.py: (WebKitStyleTest.test_member_initialization_list): - Add a test for a missing permutation of existing tests. - Add a test this false-positive. - Add blank lines between subtests to make them easier to read. 2019-01-22 Aakash Jain [build.webkit.org] Unit-test failure after r237113 https://bugs.webkit.org/show_bug.cgi?id=193669 Reviewed by Michael Catanzaro. * BuildSlaveSupport/build.webkit.org-config/factories.py: (Factory.__init__): Properly check for --no-experimental-features flag when additionalArguments has multiple or zero flags. 2019-01-22 Tadeu Zagallo Cache bytecode to disk https://bugs.webkit.org/show_bug.cgi?id=192782 Reviewed by Keith Miller. Add test helper to execute bytecode-cache tests: it executes each test twice, the first with JSC_diskCachePath set to a temporary directory and second with JSC_forceDiskCache=true (in addition to the cache path) to guarantee that only the disk cache is being used and no new UnlinkedCodeBlocks are being created. * Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper.sh: Added. * Scripts/run-jsc-stress-tests: 2019-01-22 Oriol Brufau [css-logical] Implement flow-relative margin, padding and border shorthands https://bugs.webkit.org/show_bug.cgi?id=188697 Reviewed by Simon Fraser and Antti Koivisto. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): Allow tests to enable the CSSLogicalEnabled flag in WK1. * Scripts/webkitpy/style/checkers/jsonchecker.py: (JSONCSSPropertiesChecker.check_codegen_properties): Allow CSS property definitions to have a 'runtime-flag' parameter which disables the property when the specified runtime flag is disabled. 2019-01-21 Fujii Hironori [GTK][WPE] libgcrypt-1.7.6 can't be compiled on Ubuntu 18.10 https://bugs.webkit.org/show_bug.cgi?id=193643 Reviewed by Michael Catanzaro. * gtk/jhbuild.modules: Bumped to libgcrypt-1.8.4. * wpe/jhbuild.modules: Ditto. 2019-01-21 Zalan Bujtas [LFC][Floats] Take float top position into account when computing containing block height. https://bugs.webkit.org/show_bug.cgi?id=193655 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-21 David Kilzer Switch remaining VideoToolbox soft-linking in WebCore over to VideoToolboxSoftLink.{cpp,h} Reviewed by Alex Christensen. - Now checks for local soft-linking of all frameworks that have their own *SoftLinking.{cpp,h,mm} files. - Changes softlink/uikit warning to softlink/framework. * Scripts/webkitpy/style/checkers/cpp.py: (check_language): (CppChecker): * Scripts/webkitpy/style/checkers/cpp_unittest.py: (CppStyleTest): 2019-01-20 Saam Barati Rollout r240210: It broke tests on iOS https://bugs.webkit.org/show_bug.cgi?id=193640 Unreviewed. * Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper: * Scripts/run-jsc-stress-tests: 2019-01-20 chris fleizach AX: Support returning relative frames for accessibility https://bugs.webkit.org/show_bug.cgi?id=193414 Reviewed by Zalan Bujtas. * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue): * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::attributesOfElement): (WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue): 2019-01-20 Yusuke Suzuki Unreviewed, add my new email address * Scripts/webkitpy/common/config/contributors.json: 2019-01-19 Zalan Bujtas [LFC][BFC] 's overflow property value is propagated to viewport https://bugs.webkit.org/show_bug.cgi?id=193617 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-20 Michael Catanzaro Unreviewed, rolling out r240209. Broke GTK/WPE injected bundle Reverted changeset: "AX: Support returning relative frames for accessibility" https://bugs.webkit.org/show_bug.cgi?id=193414 https://trac.webkit.org/changeset/240209 2019-01-12 Dan Bernstein [Cocoa] Avoid importing directly from subumbrella frameworks https://bugs.webkit.org/show_bug.cgi?id=186016 Reviewed by Sam Weinig. * DumpRenderTree/cg/PixelDumpSupportCG.cpp: Include CoreServices.h instead of a LaunchServices header. * DumpRenderTree/mac/Configurations/BaseTarget.xcconfig: Removed -iframework options from OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS. * DumpRenderTree/mac/LayoutTestHelper.m: Import ApplicationServices.h instead of ColorSync.h when using SDKs earlier than 10.13. * TestWebKitAPI/Configurations/Base.xcconfig: Removed -iframework options from OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS. * WebKitTestRunner/Configurations/BaseTarget.xcconfig: Removed -iframework options from OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS. * WebKitTestRunner/cg/TestInvocationCG.cpp: Include CoreServices.h instead of a LaunchServices header. 2019-01-20 Tadeu Zagallo Cache bytecode to disk https://bugs.webkit.org/show_bug.cgi?id=192782 Reviewed by Keith Miller. Add test helper to execute bytecode-cache tests: it executes each test twice, the first with JSC_diskCachePath set to a temporary directory and second with JSC_forceDiskCache=true (in addition to the cache path) to guarantee that only the disk cache is being used and no new UnlinkedCodeBlocks are being created. * Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper: Added. * Scripts/run-jsc-stress-tests: 2019-01-20 chris fleizach AX: Support returning relative frames for accessibility https://bugs.webkit.org/show_bug.cgi?id=193414 Reviewed by Zalan Bujtas. * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue): * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::attributesOfElement): (WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue): 2019-01-20 Antoine Quint Add a POINTER_EVENTS feature flag https://bugs.webkit.org/show_bug.cgi?id=193577 Unreviewed. Also enable Pointer Events for iosmac. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-01-19 Zalan Bujtas [LFC][Floats] Ensure that floats in FloatingContext::m_floats are always horizontally ordered. https://bugs.webkit.org/show_bug.cgi?id=193613 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-19 Antoine Quint Add a POINTER_EVENTS feature flag https://bugs.webkit.org/show_bug.cgi?id=193577 Reviewed by Dean Jackson. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-01-18 Zhifei FANG Disable the run-jsc-stress-test remote host key check [second round]. https://bugs.webkit.org/show_bug.cgi?id=192988 Reviewed by Dewei Zhu. * Scripts/run-jsc-stress-tests: 2019-01-18 Aakash Jain [build.webkit.org] unit-test failure Builder GTK Linux 32-bit Release doesn't exist https://bugs.webkit.org/show_bug.cgi?id=193597 Reviewed by Lucas Forschler. * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: 2019-01-18 Aakash Jain [build.webkit.org] api tests failures are incorrectly named as unit test failures https://bugs.webkit.org/show_bug.cgi?id=193595 Reviewed by Lucas Forschler. * BuildSlaveSupport/build.webkit.org-config/factories.py: Renamed RunUnitTests to RunAPITests. * BuildSlaveSupport/build.webkit.org-config/steps.py: Ditto. * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Ditto. 2019-01-18 Chris Dumez Regression(PSON) Content blockers are sometimes lost on back navigation cross-site https://bugs.webkit.org/show_bug.cgi?id=193588 Reviewed by Alex Christensen. Add layout test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-01-18 Jer Noble SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds https://bugs.webkit.org/show_bug.cgi?id=189553 Reviewed by Tim Horton. Add a check-webkit-style check that ensures all SDKVariant.xcconfig files match. * ContentExtensionTester/Configurations/Base.xcconfig: * ContentExtensionTester/Configurations/SDKVariant.xcconfig: Added. * DumpRenderTree/mac/Configurations/Base.xcconfig: * DumpRenderTree/mac/Configurations/SDKVariant.xcconfig: Added. * ImageDiff/cg/Configurations/Base.xcconfig: * ImageDiff/cg/Configurations/SDKVariant.xcconfig: Added. * MiniBrowser/Configurations/Base.xcconfig: * MiniBrowser/Configurations/SDKVariant.xcconfig: Added. * MobileMiniBrowser/Configurations/Base.xcconfig: * MobileMiniBrowser/Configurations/SDKVariant.xcconfig: Added. * Scripts/webkitpy/style/checker.py: (_all_categories): (FileType): (CheckerDispatcher._file_type): (CheckerDispatcher._create_checker): * Scripts/webkitpy/style/checkers/sdkvariant.py: Added. (SDKVariantChecker): (SDKVariantChecker.__init__): (SDKVariantChecker.check): * TestWebKitAPI/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/SDKVariant.xcconfig: Added. * WebEditingTester/Configurations/Base.xcconfig: * WebEditingTester/Configurations/SDKVariant.xcconfig: Added. * WebKitLauncher/Configurations/SDKVariant.xcconfig: Added. * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/SDKVariant.xcconfig: Added. * lldb/lldbWebKitTester/Configurations/Base.xcconfig: * lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig: Added. 2019-01-18 David Kilzer Switch remaining UIKit soft-linking in WebCore, WebKitLegacy over to UIKitSoftLink.{cpp,h} Reviewed by Alex Christensen. Make sure no one re-introduces UIKit soft-linking by adding a style rule. * Scripts/webkitpy/style/checkers/cpp.py: (check_language): Add softlink/uikit check. (CppChecker): Enable softlink/uikit check. * Scripts/webkitpy/style/checkers/cpp_unittest.py: (CppStyleTest): Add test for softlink/uikit. 2019-01-18 Joanmarie Diggs [GTK] install-dependencies tool looks for libunistring-dev for dnf https://bugs.webkit.org/show_bug.cgi?id=193584 Change "-dev" to "-devel". Reviewed by Michael Catanzaro. * gtk/install-dependencies: 2019-01-18 Jonathan Bedard webkitpy: Add iPhone and iPad ports https://bugs.webkit.org/show_bug.cgi?id=193537 Reviewed by Lucas Forschler. Add --iphone-simulator and --ipad-simulator commands to run-webkit-tests which separate iPhone and iPad into separate ports. Note that this separation is optional, the --ios-simulator command remains. * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (RunTest.test_device_type_test_division): Drive-by fix. (RunTest.test_device_type_specific_listing): Ditto. (RunTest.test_ipad_test_division): (RunTest): (RunTest.test_ipad_listing): * Scripts/webkitpy/port/factory.py: (platform_options): Add --iphone-simulator and --ipad-simulator flags. (PortFactory): * Scripts/webkitpy/port/ios_simulator.py: (IPhoneSimulatorPort): (IPadSimulatorPort): 2019-01-18 Chris Dumez Regression(PSON) Scroll position is not always restored properly when navigating back https://bugs.webkit.org/show_bug.cgi?id=193578 Reviewed by Tim Horton. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-01-18 Youenn Fablet Add a new SPI to request for cache storage quota increase https://bugs.webkit.org/show_bug.cgi?id=193323 Reviewed by Alex Christensen. Implement WebsiteDataStore quota delegate to handle quota requests. By default, do not update quota. Update quota if test calls the new testRunner.allowCacheStorageQuotaIncrease method. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::allowCacheStorageQuotaIncrease): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::allowCacheStorageQuotaIncrease): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (-[CacheStorageQuotaManager init]): (-[CacheStorageQuotaManager _requestCacheStorageSpace:frameOrigin:quota:currentSize:spaceRequired:decisionHandler:]): (WTR::initializeWebViewConfiguration): (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::TestController::allowCacheStorageQuotaIncrease): 2019-01-18 Aakash Jain [ews-build] Pass owner to the triggered builds https://bugs.webkit.org/show_bug.cgi?id=193574 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/factories.py: (BuildFactory.propertiesToPassToTriggers): 2019-01-18 Aakash Jain [ews-app] Send patch author as a build property https://bugs.webkit.org/show_bug.cgi?id=193560 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/fetcher.py: (BugzillaPatchFetcher.fetch): 2019-01-18 Jonathan Bedard webkitpy: Implement device type specific expected results (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=192162 Unreviewed infrastructure fix. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.run): Don't boot a device if no tests are available to run on it. 2019-01-18 Jonathan Bedard webkitpy: Implement device type specific expected results (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=192162 Unreviewed infrastructure fix. * Scripts/webkitpy/api_tests/manager.py: (Manager._initialize_devices): Use DEVICE_TYPE when running API tests. 2019-01-18 Jonathan Bedard webkitpy: Implement device type specific expected results (Part 2) https://bugs.webkit.org/show_bug.cgi?id=192162 Rubber-stamped by Aakash Jain. This change uses device_type to select a different set of TestExpectation files based on the type of device running tests. This requires multiple baseline search paths to be used in a single instantiation of run-webkit-tests. Note that while multiple baseline search paths are used, any single test will only ever be run on a single device type. * Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py: (LayoutTestFinder.find_tests): Pass device_type through. * Scripts/webkitpy/layout_tests/controllers/layout_test_finder_unittest.py: (LayoutTestFinderTests.test_touched_but_skipped_test): Allow device_type to be passed in. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.__init__): Make _expectations an OrderedDict indexed by device_type, add current_device_type. (Manager._collect_tests): Pass device type to test finder. (Manager._needs_web_platform_test): (Manager._prepare_lists): Index _expectations by device type. (Manager._test_input_for_file): (Manager._test_is_slow): Ditto. (Manager._test_should_dump_jsconsolelog_in_stderr): (Manager._test_should_dump_jsconsolelog_in_stderr): Ditto. (Manager._get_test_inputs): (Manager._update_worker_count): (Manager._set_up_run): Use current_device_type instead of passing device_type in. (Manager.run): Re-write function to gather and parse expectations from multiple baseline search paths. In the event that a test can be run on multiple device types, the first device in the device type list which is eligible will be the one which runs the test. (Manager._run_test_subset): (Manager._run_tests): Index _expectations by current_device_type. (Manager._print_expectation_line_for_test): Ditto. (Manager._print_expectations_for_subset): Ditto. (Manager.print_expectations): Re-write function to gather and parse expectations from multiple baseline search paths. Unlike run, this function will behave the same regardless of what devices are available. (Manager._custom_device_for_test): Deleted. * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ManagerTest.test_uses_custom_device): Deleted. (ManagerTest.test_uses_custom_device.get_manager): Deleted. * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py: (JSONLayoutResultsGenerator.__init__): Pass expectations as a dictionary indexed by device type. (JSONLayoutResultsGenerator._insert_failure_summaries): The number of fixable tests must take into consideration all of the expectations. * Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py: (FakePort.skipped_layout_tests): Allow device_type to be passed in. * Scripts/webkitpy/layout_tests/models/test_expectations.py: (TestExpectations.__init__): Allow device_type to be passed through. (TestExpectations.parse_all_expectations): Pick expectations_dict by device type. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Allow device_type to be passed in. * Scripts/webkitpy/layout_tests/models/test_run_results.py: (summarize_results): * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py: (summarized_results): Expectations are stored in a dictionary indexed by device_type. When determining the expectation a test ran with, one must check all expectations to find the first non-skip expectation. * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (RunTest.test_device_type_test_division): (RunTest): (RunTest.test_device_type_specific_listing): * Scripts/webkitpy/port/base.py: (Port): Add default values for DEVICE_TYPE and DEFAULT_DEVICE_TYPES. (Port.supported_device_types): The result of this function will change based on what devices are available. * Scripts/webkitpy/port/device_port.py: (DevicePort._device_type_with_version): Replace DEFAULT_DEVICE_TYPE with DEVICE_TYPE. (DevicePort.default_child_processes): DEVICE_TYPE is a general type, so the built-in comparison of the DeviceType object can be used. (DevicePort.supported_device_types): Generates a list of device types determined by the available devices, if there are any, or the DEFAULT_DEVICE_TYPES of the port. * Scripts/webkitpy/port/ios.py: (IOSPort): Change DEFAULT_DEVICE_TYPE to DEVICE_TYPE. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort): Set the DEFAULT_DEVICE_TYPES to the devices currently used to run layout tests. * Scripts/webkitpy/port/watch.py: (WatchPort): Change DEFAULT_DEVICE_TYPE to DEVICE_TYPE. * Scripts/webkitpy/port/watch_simulator.py: (WatchSimulatorPort): Set the DEFAULT_DEVICE_TYPES to the device currently used to run layout tests. * Scripts/webkitpy/xcode/device_type.py: (DeviceType): (DeviceType.__hash__): Allow DeviceType to be used as a dictionary index. 2019-01-18 Philippe Normand [WPE] run-qt-wpe-minibrowser needlessly expects a --wpe argument https://bugs.webkit.org/show_bug.cgi?id=193575 Reviewed by Michael Catanzaro. Allow the script to run without explicit port argument because it's specific to the WPE port anyway. * Scripts/run-qt-wpe-minibrowser: Manually insert --wpe in argv and simplify the rest of the code accordingly. 2019-01-18 Charlie Turner [GStreamer][EME][ClearKey] Request keys from CDMInstance rather than passing via bus messages https://bugs.webkit.org/show_bug.cgi?id=192229 Reviewed by Xabier Rodriguez-Calvar. * MiniBrowser/wpe/main.cpp: (main): Enable encrypted-media by default. 2019-01-18 Philippe Normand [Flatpak] Missing KeyboardInterrupt exception handler https://bugs.webkit.org/show_bug.cgi?id=193570 Reviewed by Michael Catanzaro. * flatpak/flatpakutils.py: (WebkitFlatpak.run_in_sandbox): Basic KeyboardInterrupt handling. 2019-01-18 Zalan Bujtas [LFC][BFC][MarginCollapsing] Collapsing through should not ignore floats. https://bugs.webkit.org/show_bug.cgi?id=193564 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-18 Zalan Bujtas [LFC] Do not skip float boxes that are not part of the current formatting context when computing bottom. https://bugs.webkit.org/show_bug.cgi?id=193562 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-18 Zalan Bujtas [LFC][BFC] Check for inflow children while computing height for block formatting context roots. https://bugs.webkit.org/show_bug.cgi?id=193555 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-18 Philippe Normand [WPE] Add Qt extension https://bugs.webkit.org/show_bug.cgi?id=191464 Reviewed by Carlos Garcia Campos. MiniBrowser and API tests for the WPE Qt API. To run the MiniBrowser a new script is introduced. Example invocation: $ run-qt-wpe-minibrowser -platform wayland https://webkit.org Also note-worthy is the introduction of the python2-subprocess32 dependency to run the GLib API tests. * MiniBrowser/wpe/CMakeLists.txt: * MiniBrowser/wpe/qt/CMakeLists.txt: Added. * MiniBrowser/wpe/qt/main.cpp: Added. (main): * MiniBrowser/wpe/qt/main.qml: Added. * MiniBrowser/wpe/qt/qml.qrc: Added. * Scripts/run-gtk-tests: (GtkTestRunner.is_google_test): (GtkTestRunner): (GtkTestRunner.is_qt_test): * Scripts/run-qt-wpe-minibrowser: Added. * Scripts/run-wpe-tests: (WPETestRunner): (WPETestRunner.is_google_test): (WPETestRunner.is_qt_test): * TestWebKitAPI/Tests/WPEQt/TestLoad.cpp: Added. (TestLoad::main): * TestWebKitAPI/Tests/WPEQt/TestLoadHtml.cpp: Added. (TestLoadHtml::main): * TestWebKitAPI/Tests/WPEQt/TestLoadRequest.cpp: Added. (TestLoadRequest::main): * TestWebKitAPI/Tests/WPEQt/TestRunJavaScript.cpp: Added. (TestRunJavaScript::main): * TestWebKitAPI/Tests/WPEQt/WPEQtTest.cpp: Added. (waitForSignal): * TestWebKitAPI/Tests/WPEQt/WPEQtTest.h: Added. (LoadSpy::LoadSpy): (LoadSpy::~LoadSpy): (LoadSpy::onLoadingChanged): (LoadStartedCatcher::LoadStartedCatcher): (LoadStartedCatcher::~LoadStartedCatcher): (LoadStartedCatcher::onLoadingChanged): (waitForLoadSucceeded): (waitForLoadFailed): * TestWebKitAPI/glib/CMakeLists.txt: * flatpak/flatpakutils.py: (WebkitFlatpak.load_from_args): (WebkitFlatpak.__init__): (WebkitFlatpak.clean_args): (WebkitFlatpak.run_in_sandbox): * flatpak/org.webkit.CommonModules.yaml: * flatpak/org.webkit.WPE.yaml: * flatpak/org.webkit.WPEModules.yaml: * flatpak/org.webkit.WPEQT.yaml: Copied from Tools/flatpak/org.webkit.WebKit.yaml. * flatpak/org.webkit.WebKit.yaml: * glib/api_test_runner.py: (TestRunner._run_test_qt): (TestRunner.is_qt_test): (TestRunner._run_test): 2019-01-17 Wenson Hsieh [iOS] Content offset jumps erratically when autoscrolling near scroll view content inset areas https://bugs.webkit.org/show_bug.cgi?id=193494 Reviewed by Simon Fraser and Tim Horton. Add a new test option to add a top content inset to the test runner's WKWebView's scroll view, and automatically scroll to reveal this top content inset area when beginning the test (i.e., scroll to (0, -topContentInset)). * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::contentOffsetX const): (WTR::UIScriptController::contentOffsetY const): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::contentOffsetX const): (WTR::UIScriptController::contentOffsetY const): * TestRunnerShared/UIScriptContext/UIScriptController.h: Also add new UIScriptController methods to ask for the content offset of the platform scroll view. * WebKitTestRunner/TestController.cpp: (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::contentOffsetX const): (WTR::UIScriptController::contentOffsetY const): 2019-01-17 Truitt Savell Unreviewed, rolling out r240124. This commit broke an internal build. Reverted changeset: "SDK_VARIANT build destinations should be separate from non- SDK_VARIANT builds" https://bugs.webkit.org/show_bug.cgi?id=189553 https://trac.webkit.org/changeset/240124 2019-01-17 Alex Christensen Fix string concatenation API test after r239920 https://bugs.webkit.org/show_bug.cgi?id=193551 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp: (TestWebKitAPI::TEST): Cocoa platforms' interpretation of UChar/unsigned short equality is not affected by ICU's recent change of UChar's type in WebKit's build configuration like it apparently is on Linux. 2019-01-17 Aakash Jain [ews-build] validate-patch should handle the case when bug_id is None https://bugs.webkit.org/show_bug.cgi?id=193547 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (ValidatePatch._is_bug_closed): Gracefully handle the case when bug_id is None. (ValidatePatch.start): If bug_id is set as None in build properties, fetch it from the patch. 2019-01-17 Aakash Jain [ews-build] Add patch author information in build https://bugs.webkit.org/show_bug.cgi?id=193465 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (ValidatePatch._is_patch_obsolete): 2019-01-17 Aakash Jain [ews-build] Pass bug_id to the triggered builds https://bugs.webkit.org/show_bug.cgi?id=193548 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/factories.py: (BuildFactory.propertiesToPassToTriggers): 2019-01-17 Jer Noble SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds https://bugs.webkit.org/show_bug.cgi?id=189553 Reviewed by Tim Horton. Add a check-webkit-style check that ensures all SDKVariant.xcconfig files match. * ContentExtensionTester/Configurations/Base.xcconfig: * ContentExtensionTester/Configurations/SDKVariant.xcconfig: Added. * DumpRenderTree/mac/Configurations/Base.xcconfig: * DumpRenderTree/mac/Configurations/SDKVariant.xcconfig: Added. * ImageDiff/cg/Configurations/Base.xcconfig: * ImageDiff/cg/Configurations/SDKVariant.xcconfig: Added. * MiniBrowser/Configurations/Base.xcconfig: * MiniBrowser/Configurations/SDKVariant.xcconfig: Added. * MobileMiniBrowser/Configurations/Base.xcconfig: * MobileMiniBrowser/Configurations/SDKVariant.xcconfig: Added. * Scripts/webkitpy/style/checker.py: (_all_categories): (FileType): (CheckerDispatcher._file_type): (CheckerDispatcher._create_checker): * Scripts/webkitpy/style/checkers/sdkvariant.py: Added. (SDKVariantChecker): (SDKVariantChecker.__init__): (SDKVariantChecker.check): * TestWebKitAPI/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/SDKVariant.xcconfig: Added. * WebEditingTester/Configurations/Base.xcconfig: * WebEditingTester/Configurations/SDKVariant.xcconfig: Added. * WebKitLauncher/Configurations/SDKVariant.xcconfig: Added. * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/SDKVariant.xcconfig: Added. * lldb/lldbWebKitTester/Configurations/Base.xcconfig: * lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig: Added. 2019-01-17 Zalan Bujtas [LFC][BFC] An element with transform is a containing block for positioned descendants. https://bugs.webkit.org/show_bug.cgi?id=193534 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-17 Zalan Bujtas [LFC][BFC][Quirk] Take body padding and border into account when stretching height. https://bugs.webkit.org/show_bug.cgi?id=193528 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-17 Zalan Bujtas [LFC][BFC] For height computation, the bottom edge of the last line box value should include top border/padding https://bugs.webkit.org/show_bug.cgi?id=193520 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-17 Aakash Jain [ews-build] unapply-patch step should not update source https://bugs.webkit.org/show_bug.cgi?id=193234 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (CleanWorkingDirectory): Use clean-webkit script to clean the working directory. (UnApplyPatchIfRequired): Use CleanWorkingDirectory as base class. 2019-01-16 Youenn Fablet Add a new SPI for controlling getUserMedia https://bugs.webkit.org/show_bug.cgi?id=192793 Reviewed by Eric Carlson. * MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController _webView:requestUserMediaAuthorizationForFrame:devices:decisionHandler:]): (-[WK2BrowserWindowController _webView:isMediaCaptureAuthorizedForFrame:decisionHandler:]): * TestWebKitAPI/Tests/WebKit/GetUserMediaNavigation.mm: (-[NavigationWhileGetUserMediaPromptDisplayedUIDelegate _webView:requestMediaCaptureAuthorizationForFrame:devices:decisionHandler:]): * TestWebKitAPI/Tests/WebKit/GetUserMediaReprompt.mm: (-[GetUserMediaRepromptUIDelegate _webView:requestMediaCaptureAuthorizationForFrame:devices:decisionHandler:]): * TestWebKitAPI/Tests/WebKit/MediaStreamTrackDetached.mm: (-[MediaStreamTrackDetachedUIDelegate _webView:requestMediaCaptureAuthorizationForFrame:devices:decisionHandler:]): * TestWebKitAPI/Tests/WebKitCocoa/UserMediaDisabled.mm: (-[UserMediaUIDelegate _webView:requestMediaCaptureAuthorizationForFrame:devices:decisionHandler:]): (-[UserMediaUIDelegate _webView:isMediaCaptureAuthorizedForFrame:decisionHandler:]): * TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm: (-[SimulateFailedSandboxUIDelegate _webView:requestMediaCaptureAuthorizationForFrame:devices:decisionHandler:]): (-[SimulateFailedSandboxUIDelegate _webView:isMediaCaptureAuthorizedForFrame:decisionHandler:]): 2019-01-16 Zalan Bujtas [LFC][BFC] Inflow non-replaced used width should not be negative. https://bugs.webkit.org/show_bug.cgi?id=193495 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-16 Chris Dumez Regression(PSON) View becomes blank after click a cross-site download link https://bugs.webkit.org/show_bug.cgi?id=193361 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[PSONNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): 2019-01-16 Zalan Bujtas [LFC][Out-of-flow] Set used vertical margin values when top/height/bottom are non-auto. https://bugs.webkit.org/show_bug.cgi?id=193470 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-16 Zalan Bujtas [LFC] Adjust margin box verification. https://bugs.webkit.org/show_bug.cgi?id=193482 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-15 Sihui Liu Fix API test WebKit.WebsiteDataStoreCustomPathsWithoutPrewarming after 193354 https://bugs.webkit.org/show_bug.cgi?id=193451 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WebKitCocoa/DuplicateCompletionHandlerCalls.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (runWebsiteDataStoreCustomPaths): 2019-01-15 Jonathan Bedard webkitpy: Support boolean simctl isAvailable https://bugs.webkit.org/show_bug.cgi?id=193472 Reviewed by Ryosuke Niwa. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDeviceManager._create_runtimes): (SimulatedDeviceManager._create_device_with_runtime): 2019-01-15 Chris Dumez Unreviewed, rolling out r239993, r239995, r239997, and r239999. Caused assertions under ViewGestureController::disconnectFromProcess() Reverted changesets: "Regression(PSON) View becomes blank after click a cross-site download link" https://bugs.webkit.org/show_bug.cgi?id=193361 https://trac.webkit.org/changeset/239993 "Unreviewed iOS build fix after r239993." https://trac.webkit.org/changeset/239995 "Fix iOS build after r239993" https://bugs.webkit.org/show_bug.cgi?id=193361 https://trac.webkit.org/changeset/239997 "Unreviewed, revert part of r239997 as it is not needed to fix the build." https://trac.webkit.org/changeset/239999 2019-01-15 Tim Horton Cannot tab out of WKWebView on macOS https://bugs.webkit.org/show_bug.cgi?id=161448 Reviewed by Dean Jackson. Add a test that tabbing into and out of WKWebView works correctly. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm: (WebKit2_CommandBackForwardTest::SetUp): (-[CommandBackForwardOffscreenWindow isKeyWindow]): Deleted. (-[CommandBackForwardOffscreenWindow isVisible]): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/TabOutOfWebView.mm: Added. (-[FocusableView canBecomeKeyView]): (TEST): * TestWebKitAPI/mac/OffscreenWindow.h: Added. * TestWebKitAPI/mac/OffscreenWindow.mm: Added. (-[OffscreenWindow initWithSize:]): (-[OffscreenWindow isKeyWindow]): (-[OffscreenWindow isVisible]): * TestWebKitAPI/mac/PlatformWebViewMac.mm: (TestWebKitAPI::PlatformWebView::initialize): (-[ActiveOffscreenWindow isKeyWindow]): Deleted. (-[ActiveOffscreenWindow isVisible]): Deleted. Factor ActiveOffscreenWindow out into OffscreenWindow and share it. 2019-01-15 Ryan Haddad Adjust the arguments passed to run-javascriptcore-tests for the 32-bit JSC bot https://bugs.webkit.org/show_bug.cgi?id=193459 Reviewed by Mark Lam. * BuildSlaveSupport/build.webkit.org-config/steps.py: (Run32bitJSCTests): This queue should not run JIT, testair, testb3, or testmasm. 2019-01-15 Chris Dumez Regression(PSON) View becomes blank after click a cross-site download link https://bugs.webkit.org/show_bug.cgi?id=193361 Reviewed by Geoff Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[PSONNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): 2019-01-15 Zalan Bujtas [LFC][Out-of-flow] Ignore bottom when the vertical values are over-constrained https://bugs.webkit.org/show_bug.cgi?id=193448 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-15 Jonathan Bedard webkitpy: Implement device type specific expected results (Part 1) https://bugs.webkit.org/show_bug.cgi?id=192162 Reviewed by Lucas Forschler. Device type specific expected results covers two related ideas. The first (covered by this change) is where to search for -expected.* files. The second is which tests to run based on the TestExpectations.txt file. After this change, the baseline search path will be determined by the type of device running a test. Device type will be passed into any function which picks a file based on the baseline search path. * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py: (Worker._update_test_input): Pass device_type to self._port.reference_files(...). * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.run): Print baseline search path for each round of devices. * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner.__init__): Pass device_type into expected_*(...). (SingleTestRunner._expected_driver_output): Ditto. (SingleTestRunner._driver_input): Ditto. * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.print_config): Move printing of baseline search path to a separate function. (Printer.print_baseline_search_path): Moved from Printer.print_config. * Scripts/webkitpy/layout_tests/views/printing_unittest.py: (Testprinter.test_print_config): (Testprinter.test_print_baseline_search_path): * Scripts/webkitpy/port/base.py: (Port.baseline_search_path): Pass device_type through. (Port._expected_baselines_for_suffixes): Ditto. (Port.expected_baselines): Ditto. (Port.expected_filename): Ditto. (Port.expected_checksum): Ditto. (Port.expected_image): Ditto. (Port.expected_audio): Ditto. (Port.expected_text): Ditto. (Port.reference_files): Ditto. (Port.tests): Ditto. (Port._expanded_paths): Ditto. (Port.skipped_layout_tests): Ditto. (Port.expectations_dict): Ditto. (Port._port_specific_expectations_files): Ditto. (Port.expectations_files): Ditto. (Port.test_search_path): Ditto. (Port._tests_for_other_platforms): Ditto. * Scripts/webkitpy/port/base_unittest.py: (PortTest.test_additional_platform_directory): Accept, but do not use, device_type. (PortTest.test_nonexistant_expectations): Ditto. (test_ref_tests_platform_directory): Ditto. * Scripts/webkitpy/port/darwin.py: (DarwinPort._port_specific_expectations_files): Accept device_type. * Scripts/webkitpy/port/driver.py: (DriverProxy): (DriverProxy.host): Expose _target_host for device_type information. * Scripts/webkitpy/port/gtk.py: (GtkPort._port_specific_expectations_files): Accept, but do not use, device_type. * Scripts/webkitpy/port/ios.py: (IOSPort. default_baseline_search_path): Remove memoized, since it does not accept **kwargs. * Scripts/webkitpy/port/mac.py: (MacPort. default_baseline_search_path): Ditto. * Scripts/webkitpy/port/port_testcase.py: (TestWebKitPort._tests_for_other_platforms): Accept, but do not use, device_type. * Scripts/webkitpy/port/test.py: * Scripts/webkitpy/port/watch.py: (WatchPort. default_baseline_search_path): Remove memoized, since it does not accept **kwargs. * Scripts/webkitpy/port/win.py: (WinPort.test_search_path): Accept, but do not use, device_type. * Scripts/webkitpy/port/wpe.py: (WPEPort._port_specific_expectations_files): Ditto. * Scripts/webkitpy/tool/servers/rebaselineserver.py: (get_test_baselines.AllPlatformsPort.baseline_search_path): Ditto. 2019-01-15 Zalan Bujtas [LFC] Use the containing block's padding box to position out-of-flow elements. https://bugs.webkit.org/show_bug.cgi?id=193431 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-14 Tim Horton Move a test implementation file that got misplaced in the Xcode project * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: 2019-01-14 Commit Queue Unreviewed, rolling out r239901, r239909, r239910, r239912, r239913, and r239914. https://bugs.webkit.org/show_bug.cgi?id=193407 These revisions caused an internal failure (Requested by Truitt on #webkit). Reverted changesets: "[Cocoa] Avoid importing directly from subumbrella frameworks" https://bugs.webkit.org/show_bug.cgi?id=186016 https://trac.webkit.org/changeset/239901 "Tried to fix USE(APPLE_INTERNAL_SDK) builds after r239901." https://trac.webkit.org/changeset/239909 "Tried to fix the build." https://trac.webkit.org/changeset/239910 "Fixed iOS builds after r239910." https://trac.webkit.org/changeset/239912 "More build fixing." https://trac.webkit.org/changeset/239913 "Tried to fix USE(APPLE_INTERNAL_SDK) 32-bit builds." https://trac.webkit.org/changeset/239914 2019-01-14 Mark Lam Re-enable ability to build --cloop builds. https://bugs.webkit.org/show_bug.cgi?id=192955 Reviewed by Saam barati and Keith Miller. The --cloop build option was being ignored this whole time since r236381. This patch makes it possible to build CLoop builds again. * Scripts/build-jsc: * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2019-01-14 Jonathan Bedard webkitpy: Expose device_type from host-like objects https://bugs.webkit.org/show_bug.cgi?id=193406 Reviewed by Lucas Forschler. Devices should expose device_type. As a result, all host objects should provide a device_type property, even if they do not yet define a device_type. * Scripts/webkitpy/common/system/systemhost.py: (SystemHost): (SystemHost.device_type): * Scripts/webkitpy/common/system/systemhost_mock.py: (MockSystemHost): (MockSystemHost.device_type): * Scripts/webkitpy/port/device.py: (Device): (Device.device_type): * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDeviceManager._find_exisiting_device_for_request): (SimulatedDeviceManager._disambiguate_device_type): (SimulatedDeviceManager._does_fulfill_request): (SimulatedDeviceManager.device_count_for_type): (SimulatedDeviceManager.initialize_devices): * Scripts/webkitpy/xcode/simulated_device_unittest.py: (test_available_devices): (test_swapping_devices): 2019-01-14 Jonathan Bedard webkitpy: Support alternate simctl device list output (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=193362 Rubber-stamped by Lucas Forschler. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDeviceManager.populate_available_devices): 2019-01-14 Wenson Hsieh [iOS] Expose SPI to access the current sentence boundary and selection state https://bugs.webkit.org/show_bug.cgi?id=193398 Reviewed by Dean Jackson. Add an API test to verify that an SPI client can observe changes in the `@"_selectionAttributes"` key path on WKWebView, and that inserting text, deleting, and changing the selection cause selection attributes to change as expected. * TestWebKitAPI/EditingTestHarness.h: * TestWebKitAPI/EditingTestHarness.mm: (-[EditingTestHarness moveBackward]): (-[EditingTestHarness moveForward]): (-[EditingTestHarness moveForwardAndExpectEditorStateWith:]): Add a couple of new helper methods on EditingTestHarness. * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm: (-[SelectionChangeObserver initWithWebView:]): (-[SelectionChangeObserver webView]): (-[SelectionChangeObserver observeValueForKeyPath:ofObject:change:context:]): (-[SelectionChangeObserver currentSelectionAttributes]): 2019-01-14 Zalan Bujtas [LFC][BFC] Add basic box-sizing support. https://bugs.webkit.org/show_bug.cgi?id=193392 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-14 Charlie Turner [WPE] API test gardening https://bugs.webkit.org/show_bug.cgi?id=193319 Reviewed by Michael Catanzaro. * TestWebKitAPI/glib/TestExpectations.json: Remove some now passing tests. 2019-01-14 Charlie Turner [GStreamer] Add sharedBuffer utility to GstMappedBuffer, and a testsuite https://bugs.webkit.org/show_bug.cgi?id=192977 Reviewed by Carlos Garcia Campos. * TestWebKitAPI/PlatformGTK.cmake: Build the new GStreamer test harness * TestWebKitAPI/PlatformWPE.cmake: Ditto. * TestWebKitAPI/Tests/WebCore/gstreamer/GStreamerTest.cpp: Added. (TestWebKitAPI::GStreamerTest::SetUp): (TestWebKitAPI::GStreamerTest::TearDown): * TestWebKitAPI/Tests/WebCore/gstreamer/GStreamerTest.h: Added. * TestWebKitAPI/Tests/WebCore/gstreamer/GstMappedBuffer.cpp: Added. (TestWebKitAPI::TEST_F): 2019-01-14 Charlie Turner [WPE] Workaround for incorrect template specialization being selected when UChar=char16_t https://bugs.webkit.org/show_bug.cgi?id=193332 Reviewed by Michael Catanzaro. * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp: When UChar is defined as a char16_t, which changed in ICU 59, the StringTypeAdapter overload catches casts to unsigned short. This test is relying on the behaviour that UChar=unsigned short, which doesn't hold across platforms and ICU library versions. The full fix would be a special syntax for literal characters so that these ambiguities do not arise. That work is proposed in https://bugs.webkit.org/show_bug.cgi?id=193101. (TestWebKitAPI::TEST): 2019-01-14 Carlos Garcia Campos Unreviewed. [GTK][WPE] Run distcheck with gtkdoc and MiniBrowser enabled * Scripts/make-dist: (Distcheck.configure): 2019-01-13 Aakash Jain [ews-build] Update macOS queue configurations https://bugs.webkit.org/show_bug.cgi?id=193365 Unreviewed, renamed mac-high-sierra to mac-highsierra to match with build.webkit.org configuration. * BuildSlaveSupport/ews-build/config.json: 2019-01-13 Zalan Bujtas [LFC] Adjust assert for statically positioned fixed elements https://bugs.webkit.org/show_bug.cgi?id=193385 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-13 Philippe Normand [WPE][MiniBrowser] Ephemeral WebContext leaks in automation mode https://bugs.webkit.org/show_bug.cgi?id=193387 Reviewed by Carlos Garcia Campos. * MiniBrowser/wpe/main.cpp: (main): 2019-01-12 Timothy Hatcher Have prefers-color-scheme: light always match on macOS versions before Mojave. https://bugs.webkit.org/show_bug.cgi?id=191655 rdar://problem/46074680 Reviewed by Megan Gardner. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: ENABLE_DARK_MODE_CSS_macosx for all OS versions. * TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm: 2019-01-12 Dan Bernstein [Cocoa] Avoid importing directly from subumbrella frameworks https://bugs.webkit.org/show_bug.cgi?id=186016 Reviewed by Sam Weinig. * DumpRenderTree/cg/PixelDumpSupportCG.cpp: Include CoreServices.h instead of a LaunchServices header. * DumpRenderTree/mac/Configurations/BaseTarget.xcconfig: Removed -iframework options from OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS. * DumpRenderTree/mac/LayoutTestHelper.m: Import ApplicationServices.h instead of ColorSync.h when using SDKs earlier than 10.13. * TestWebKitAPI/Configurations/Base.xcconfig: Removed -iframework options from OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS. * WebKitTestRunner/Configurations/BaseTarget.xcconfig: Removed -iframework options from OTHER_CFLAGS and OTHER_CPLUSPLUSFLAGS. * WebKitTestRunner/cg/TestInvocationCG.cpp: Include CoreServices.h instead of a LaunchServices header. 2019-01-11 John Wilander Compile out Web API Statistics Collection https://bugs.webkit.org/show_bug.cgi?id=193370 Reviewed by Brent Fulgham. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Defined ENABLE_WEB_API_STATISTICS, off by default. 2019-01-11 Carlos Eduardo Ramalho [WPE] Add gtk-doc https://bugs.webkit.org/show_bug.cgi?id=178900 Reviewed by Michael Catanzaro. Add Tools/gtkdoc to manifest.txt.in files. This should have been done in r238853 and caused failure in building WebKitGTK+ unstable release 2.23.2. * gtk/manifest.txt.in: Add Tools/gtkdoc directory. * wpe/manifest.txt.in: Add Tools/gtkdoc directory and uncomment lines to move documentation artifacts. 2019-01-11 Wenson Hsieh [iOS] Precision drop state thrashes when dragging near the top edge of an editable element https://bugs.webkit.org/show_bug.cgi?id=193364 Reviewed by Tim Horton. Add a test to verify that dragging near the top of a textarea element does not flag the drop proposal as precise, whereas dragging near the middle of the textarea does. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: (TestWebKitAPI::TEST): 2019-01-11 Jonathan Bedard webkitpy: Support alternate simctl device list output https://bugs.webkit.org/show_bug.cgi?id=193362 Reviewed by Lucas Forschler. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDeviceManager.populate_available_devices): 2019-01-11 Aakash Jain [ews-build] Update macOS queue configurations https://bugs.webkit.org/show_bug.cgi?id=193365 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/config.json: 2019-01-11 Jonathan Bedard webkitpy: Incorporate device type into baseline search path https://bugs.webkit.org/show_bug.cgi?id=193356 Reviewed by Lucas Forschler. We need a way to include device type in the baseline search path for iOS to support device specific test expectations. * Scripts/webkitpy/port/base.py: (Port.default_baseline_search_path): Allow device type to be passed in. * Scripts/webkitpy/port/gtk.py: (GtkPort.default_baseline_search_path): Ignore device type. * Scripts/webkitpy/port/ios.py: (IOSPort.default_baseline_search_path): Optionally allow device type to be incorporated into the baseline search path. (IOSPort.test_expectations_file_position): Update index for the additional device-type specific baseline search path. * Scripts/webkitpy/port/ios_device_unittest.py: (IOSDeviceTest): * Scripts/webkitpy/port/ios_simulator_unittest.py: (IOSSimulatorTest): * Scripts/webkitpy/port/mac.py: (MacPort.default_baseline_search_path): Ignore device type. * Scripts/webkitpy/port/watch.py: (WatchPort.default_baseline_search_path): Ditto. * Scripts/webkitpy/port/win.py: (WinPort.default_baseline_search_path): Ditto. (WinCairoPort.default_baseline_search_path): Ditto. * Scripts/webkitpy/port/wpe.py: (WPEPort.default_baseline_search_path): Ditto. 2019-01-11 Jonathan Bedard webkitpy: Print abbreviated baseline search path that includes only folders that exist https://bugs.webkit.org/show_bug.cgi?id=193352 Reviewed by Lucas Forschler. * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.print_config): Print list on only baseline search paths which exist. * Scripts/webkitpy/layout_tests/views/printing_unittest.py: (Testprinter.test_print_config): 2019-01-11 Joseph Pecoraro Cleanup possible WK*Copy/Create leaks in WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=193340 Reviewed by David Kilzer. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessageToPage): Pull the strings out into a WKRetainPtr. * WebKitTestRunner/WebNotificationProvider.cpp: (WTR::WebNotificationProvider::closeWebNotification): Adopt the created value into the WKRetainPtr. * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::generateWhitelist): Immediately adopt a created value to avoid potential mistakes. 2019-01-11 Dominik Infuehr Enable DFG on ARM/Linux again https://bugs.webkit.org/show_bug.cgi?id=192496 Reviewed by Yusuke Suzuki. After changing the bytecode format DFG was disabled on all 32-bit architectures. Enable DFG now again on ARM/Linux. Run again JIT-tests on ARM by default. * Scripts/run-jsc-stress-tests: 2019-01-11 Timothy Hatcher Unreviewed, fix #ifdef in API test added in r239851. https://bugs.webkit.org/show_bug.cgi?id=193327 rdar://problem/47093222 * TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle_Bundle.mm: 2019-01-11 Wenson Hsieh Introduce IDL files for runtime-enabled UndoManager and UndoItem JavaScript API https://bugs.webkit.org/show_bug.cgi?id=193109 Reviewed by Ryosuke Niwa. Introduce and respect a test option to enable the UndoManager API. * WebKitTestRunner/TestController.cpp: (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): 2019-01-11 Zalan Bujtas [LFC][BFC][MarginCollapsing] Adjust vertical position when box margin collapses through. https://bugs.webkit.org/show_bug.cgi?id=193346 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-10 Ryan Haddad Unreviewed, fix typo that breaks dashboard link. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: (WebKitBuildbot): 2019-01-10 Ryan Haddad Update macOS queue configurations https://bugs.webkit.org/show_bug.cgi?id=193329 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/config.json: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: (BubbleQueueServer): * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: (WebKitBuildbot): * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css: (table.queue-grid tr.platform.macos-sierra img.logo): Deleted. * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: 2019-01-10 Joseph Pecoraro MiniBrowser should be able to navigate to about:blank https://bugs.webkit.org/show_bug.cgi?id=193345 Reviewed by Simon Fraser. * MiniBrowser/mac/BrowserWindowController.m: (-[BrowserWindowController addProtocolIfNecessary:]): Don't prepend "http://" to "about:" prefixed URLs like "about:blank". * MiniBrowser/mac/WK1BrowserWindowController.m: (-[WK1BrowserWindowController fetch:]): * MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController fetch:]): Clean up the code that uses this to match style. 2019-01-10 Joseph Pecoraro Remove MiniBrowser custom "Process Swap" menu item which does not work https://bugs.webkit.org/show_bug.cgi?id=193344 Reviewed by Simon Fraser. There is a menu item under the Experimental menu that does work. * MiniBrowser/mac/AppDelegate.m: (defaultConfiguration): * MiniBrowser/mac/SettingsController.h: * MiniBrowser/mac/SettingsController.m: (-[SettingsController _populateMenu]): (-[SettingsController validateMenuItem:]): (-[SettingsController processSwapOnNavigationEnabled]): Deleted. (-[SettingsController toggleProcessSwapOnNavigation:]): Deleted. 2019-01-10 Timothy Hatcher Add WKBundlePage SPI to temporarily force light or dark appearance on a page. https://bugs.webkit.org/show_bug.cgi?id=193327 rdar://problem/47093222 Reviewed by Tim Horton. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm: Added. (TestWebKitAPI::didFinishNavigation): (TestWebKitAPI::didReceiveMessageFromInjectedBundle): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle_Bundle.mm: Added. (TestWebKitAPI::ForceLightAppearanceInBundleTest::ForceLightAppearanceInBundleTest): (TestWebKitAPI::ForceLightAppearanceInBundleTest::didCreatePage): (TestWebKitAPI::ForceLightAppearanceInBundleTest::didReceiveMessage): * TestWebKitAPI/Tests/WebKit/mac/dark-mode.html: Added. 2019-01-10 Joseph Pecoraro Leak of WKWebProcessPlugInHitTestResult (160 bytes) in com.apple.WebKit.WebContent running layout tests https://bugs.webkit.org/show_bug.cgi?id=193338 Reviewed by David Kilzer. * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::decidePolicyForNavigationAction): 2019-01-10 Commit Queue Unreviewed, rolling out r239825. https://bugs.webkit.org/show_bug.cgi?id=193330 Broke tests on armv7/linux bots (Requested by guijemont on #webkit). Reverted changeset: "Enable DFG on ARM/Linux again" https://bugs.webkit.org/show_bug.cgi?id=192496 https://trac.webkit.org/changeset/239825 2019-01-10 Zhifei Fang Disable the run-jsc-stress-test remote host key check. https://bugs.webkit.org/show_bug.cgi?id=192988 Reviewed by Alexey Proskuryakov. * Scripts/run-jsc-stress-tests: 2019-01-10 John Wilander Override the session configuration for cookieAcceptPolicy https://bugs.webkit.org/show_bug.cgi?id=190925 Reviewed by Alexey Proskuryakov and Alex Christensen. Test infrastructure for setting a first-party-only cookie policy. * DumpRenderTree/TestRunner.cpp: (setOnlyAcceptFirstPartyCookiesCallback): (TestRunner::staticFunctions): * DumpRenderTree/TestRunner.h: * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setOnlyAcceptFirstPartyCookies): * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::setOnlyAcceptFirstPartyCookies): * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setOnlyAcceptFirstPartyCookies): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2019-01-09 Matt Rajca Put per-document autoplay behavior behind runtime website policies quirk instead of a compile time flag https://bugs.webkit.org/show_bug.cgi?id=193301 Reviewed by Jer Noble. Added API tests. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/autoplaying-multiple-media-elements.html: Added. 2019-01-10 Zalan Bujtas [LFC][BFC][MarginCollapsing] Take collapsed through siblings into account when computing vertical position https://bugs.webkit.org/show_bug.cgi?id=193310 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-10 Dominik Infuehr Enable DFG on ARM/Linux again https://bugs.webkit.org/show_bug.cgi?id=192496 Reviewed by Yusuke Suzuki. After changing the bytecode format DFG was disabled on all 32-bit architectures. Enable DFG now again on ARM/Linux. Run again JIT-tests on ARM by default. * Scripts/run-jsc-stress-tests: 2019-01-09 Fujii Hironori [Win][MiniBrowser] wchar_t strings shouldn't be treated as BSTR https://bugs.webkit.org/show_bug.cgi?id=193271 Reviewed by Brent Fulgham. BSTR is a special data structure created by SysAllocString, not a wchar_t null-terminated string. * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::setDatabaseQuota): Use L"" instead of "" for _bstr_t. * MiniBrowser/win/MiniBrowserWebHost.cpp: (MiniBrowserWebHost::didFinishLoadForFrame): Use _bstr_t to create BSTR from wide string literals. 2019-01-09 Alexey Proskuryakov Tweak wording for build/version_check style checker error https://bugs.webkit.org/show_bug.cgi?id=193256 Reviewed by Tim Horton. * Scripts/webkitpy/style/checkers/cpp.py: (check_os_version_checks): * Scripts/webkitpy/style/checkers/cpp_unittest.py: (WebKitStyleTest.test_os_version_checks): 2019-01-09 Aakash Jain [ews-build] Add link to bug along with bug title https://bugs.webkit.org/show_bug.cgi?id=193293 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (ValidatePatch._is_bug_closed): Fetch bug title from Bugzilla and add it to the build. (ConfigureBuild.add_bug_id_url): Deleted. (ConfigureBuild.getBugURL): Deleted. 2019-01-09 Aakash Jain [ews-build] Use https for ews-build server https://bugs.webkit.org/show_bug.cgi?id=193193 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: 2019-01-09 Aakash Jain [ews-build] Parse and display number of style failures https://bugs.webkit.org/show_bug.cgi?id=193280 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (CheckStyle): Use TestWithFailureCount as base class. (CheckStyle.countFailures): Count the number of style failures. 2019-01-09 Aakash Jain [ews-build] use patch_id instead of ewspatchid https://bugs.webkit.org/show_bug.cgi?id=193235 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/factories.py: Replaced ewspatchid with patch_id. * BuildSlaveSupport/ews-build/steps.py: Ditto. * BuildSlaveSupport/ews-build/steps_unittest.py: Ditto. 2019-01-09 Zalan Bujtas [LFC][BFC][MarginCollapsing] Add support for peculiar cases. https://bugs.webkit.org/show_bug.cgi?id=192625 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2019-01-09 Michael Catanzaro [WPE][GTK] Purge use of g_assert() under TestWebKitAPI https://bugs.webkit.org/show_bug.cgi?id=192841 Reviewed by Carlos Garcia Campos. There are separate g_assert_*() macros for use in tests, which we use inconsistently currently. Use them always. We'll get nicer error messages now when tests fail, and the assertions will now run during tests even if G_DISABLE_ASSERT is used when building. Note that the documentation of g_assert() says that it is not to be used when writing tests. * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: * TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp: (WebKitWebEditorTest::testSelectionChanged): * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp: (WebKitFrameTest::testMainFrame): (WebKitFrameTest::testURI): (WebKitFrameTest::testJavaScriptContext): (WebKitFrameTest::testJavaScriptValues): * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp: (testWebViewAuthenticationRequest): (testWebViewAuthenticationLoadCancelled): (testWebViewAuthenticationFailure): (testWebViewAuthenticationStorage): (ProxyAuthenticationTest::ProxyAuthenticationTest): (testWebViewAuthenticationProxy): (testWebViewAuthenticationProxyHTTPS): * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: (testAutomationSessionRequestSession): * TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp: (testBackForwardListNavigation): (testWebKitWebViewSessionState): (testWebKitWebViewSessionStateWithFormData): * TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp: (ConsoleMessageTest::consoleMessageReceivedCallback): (testWebKitConsoleMessageConsoleAPI): (testWebKitConsoleMessageJavaScriptException): (testWebKitConsoleMessageNetworkError): (testWebKitConsoleMessageSecurityError): * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp: (testCookieManagerAcceptPolicy): (testCookieManagerCookiesChanged): (testCookieManagerPersistentStorage): (testCookieManagerPersistentStorageDeleteAll): (testCookieManagerEphemeral): * TestWebKitAPI/Tests/WebKitGLib/TestDOMElement.cpp: (testWebKitDOMElementAutoFill): * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp: (downloadLocalFileSuccessfully): (createFileAtDestination): (testDownloadOverwriteDestinationDisallowed): (testDownloadLocalFileError): (testDownloadRemoteFile): (testDownloadRemoteFileError): (testWebViewDownloadURI): (testPolicyResponseDownload): (testPolicyResponseDownloadCancel): (testDownloadMIMEType): (contextMenuCallback): (testContextMenuDownloadActions): (testBlobDownload): * TestWebKitAPI/Tests/WebKitGLib/TestEditor.cpp: (testWebKitWebEditorSelectionChanged): * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp: (testWebKitFrameMainFrame): (testWebKitFrameURI): (testWebKitFrameJavaScriptContext): (testWebKitFrameJavaScriptValues): * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp: (LoadStopTrackingTest::loadFailed): (testWebViewTitle): (testURIRequestHTTPHeaders): (testURIRequestHTTPMethod): (testURIResponseHTTPHeaders): (testRedirectToDataURI): * TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp: (testProcessPerWebView): (testWebProcessLimit): * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp: (testWebViewResources): (testWebResourceLoading): (testWebResourceSuggestedFilename): (testWebResourceGetData): (testWebResourceGetDataError): (testWebViewResourcesHistoryCache): (testWebResourceSendRequest): * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp: (testSSL): (testInsecureContent): (testTLSErrorsPolicy): (testTLSErrorsRedirect): (testTLSErrorsHTTPAuth): (testLoadFailedWithTLSErrors): (testSubresourceLoadFailedWithTLSErrors): (httpsServerCallback): * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: (testWebViewCreateNavigationData): (testWebViewJavaScriptDialogs): (testWebViewWindowProperties): (testWebViewMouseTarget): (testWebViewFileChooserRequest): (testWebViewColorChooserRequest): * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp: (testWebExtensionGetTitle): (testDocumentLoadedSignal): (testWebKitWebViewProcessCrashed): (testWebExtensionWindowObjectCleared): (testWebExtensionIsolatedWorld): (permissionRequestCallback): (didAssociateFormControlsCallback): (testWebExtensionFormControlsAssociated): (FormSubmissionTest::FormSubmissionTest): (FormSubmissionTest::testFormSubmissionResult): (testWebExtensionFormSubmissionSteps): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp: (testNotInitialized): (testClearDatabase): (testPrivateBrowsing): (testGetFavicon): (testWebViewFavicon): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp: (testFindControllerTextFound): (testFindControllerTextNotFound): (testFindControllerMatchCount): (testFindControllerMaxMatchCount): (testFindControllerNext): (testFindControllerPrevious): (testFindControllerCountedMatches): (testFindControllerOptions): (testFindControllerHide): (testFindControllerInstance): (testFindControllerGetters): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp: (testNavigationPolicy): (testResponsePolicy): (testNewWindowPolicy): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp: (testSecurityOriginBasicConstructor): (testSecurityOriginURIConstructor): (testSecurityOriginDefaultPort): (testSecurityOriginFileURI): (testOpaqueSecurityOrigin): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettings): (testWebKitSettingsNewWithSettings): (testWebKitSettingsUserAgent): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp: (testWebViewNewWithUserContentManager): (isStyleSheetInjectedForURLAtPath): (isScriptInjectedForURLAtPath): (testUserContentManagerInjectedStyleSheet): (testUserContentManagerInjectedScript): (UserScriptMessageTest::scriptMessageReceived): (UserScriptMessageTest::waitUntilMessageReceived): (UserScriptMessageTest::runJavaScriptFinished): (testUserContentManagerScriptMessageReceived): (testUserContentManagerScriptMessageInWorldReceived): (testUserContentManagerScriptMessageFromDOMBindings): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp: (testWebContextDefault): (testWebContextEphemeral): (testWebContextGetPlugins): (testWebContextURIScheme): (testWebContextSpellChecker): (testWebContextLanguages): (consoleMessageReceivedCallback): (testWebContextSecurityFileXHR): (ProxyTest::ProxyTest): (testWebContextProxySettings): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: (testWebViewWebContext): (testWebViewWebBackend): (testWebViewEphemeral): (testWebViewCustomCharset): (testWebViewSettings): (testWebViewRunJavaScript): (testWebViewCanShowMIMEType): (testWebViewSubmitForm): (testWebViewSave): (testWebViewPageVisibility): (testWebViewSnapshot): (testWebViewNotification): (testWebViewNotificationInitialPermissionAllowed): (testWebViewNotificationInitialPermissionDisallowed): (testWebViewIsPlayingAudio): * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp: (WebsiteDataTest::WebsiteDataTest): (WebsiteDataTest::remove): (WebsiteDataTest::clear): (testWebsiteDataConfiguration): (testWebsiteDataEphemeral): (testWebsiteDataCache): (testWebsiteDataStorage): (testWebsiteDataDatabases): (testWebsiteDataAppcache): (testWebsiteDataCookies): (testWebsiteDataDeviceIdHashSalt): * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp: (emitDocumentLoaded): (emitURIChanged): (sendRequestCallback): (contextMenuCallback): (consoleMessageSentCallback): (emitFormControlsAssociated): (formControlsAssociatedCallback): (emitFormSubmissionEvent): (willSubmitFormCallback): (windowObjectCleared): (methodCallCallback): (registerGResource): (webkit_web_extension_initialize_with_user_data): * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp: (checkLeaks): (WebProcessTest::create): (runTest): * TestWebKitAPI/Tests/WebKitGtk/AutocleanupsTest.cpp: (AutocleanupsTest::testWebProcessAutocleanups): * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp: (WebKitDOMClientRectTest::testDivBoundingClientRectPosition): (WebKitDOMClientRectTest::testDivClientRectsPositionAndLength): * TestWebKitAPI/Tests/WebKitGtk/DOMDOMWindowTest.cpp: (WebKitDOMDOMWindowTest::testSignals): (WebKitDOMDOMWindowTest::testDispatchEvent): (WebKitDOMDOMWindowTest::testGetComputedStyle): * TestWebKitAPI/Tests/WebKitGtk/DOMNodeFilterTest.cpp: (WebKitDOMNodeFilterTest::testTreeWalker): (WebKitDOMNodeFilterTest::testNodeIterator): * TestWebKitAPI/Tests/WebKitGtk/DOMNodeTest.cpp: (WebKitDOMNodeTest::testHierarchyNavigation): (WebKitDOMNodeTest::testInsertion): (WebKitDOMNodeTest::testTagNamesNodeList): (WebKitDOMNodeTest::testTagNamesHTMLCollection): (WebKitDOMNodeTest::testDOMCache): * TestWebKitAPI/Tests/WebKitGtk/DOMXPathNSResolverTest.cpp: (WebKitDOMXPathNSResolverTest::evaluateFooChildTextAndCheckResult): (WebKitDOMXPathNSResolverTest::testXPathNSResolverNative): (WebKitDOMXPathNSResolverTest::testXPathNSResolverCustom): * TestWebKitAPI/Tests/WebKitGtk/TestAutocleanups.cpp: (testUIProcessAutocleanups): (testWebProcessAutocleanups): * TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp: (testContextMenuPopulateMenu): (testContextMenuDismissed): * TestWebKitAPI/Tests/WebKitGtk/TestDOMClientRect.cpp: (testWebKitDOMClientRectDivBoundingClientRectPosition): (testWebKitDOMClientRectDivClientRectsPositionAndLength): * TestWebKitAPI/Tests/WebKitGtk/TestDOMDOMWindow.cpp: (testWebKitDOMDOMWindowSignals): (testWebKitDOMDOMWindowDispatchEvent): (testWebKitDOMDOMWindowGetComputedStyle): * TestWebKitAPI/Tests/WebKitGtk/TestDOMNode.cpp: (testWebKitDOMNodeHierarchyNavigation): (testWebKitDOMNodeInsertion): (testWebKitDOMNodeTagNamesNodeList): (testWebKitDOMNodeTagNamesHTMLCollection): (testWebKitDOMObjectCache): * TestWebKitAPI/Tests/WebKitGtk/TestDOMNodeFilter.cpp: (testWebKitDOMNodeFilterTreeWalker): (testWebKitDOMNodeFilterNodeIterator): * TestWebKitAPI/Tests/WebKitGtk/TestDOMXPathNSResolver.cpp: (testWebKitDOMXPathNSResolverNative): (testWebKitDOMXPathNSResolverCustom): * TestWebKitAPI/Tests/WebKitGtk/TestInspector.cpp: (testInspectorDefault): (testInspectorManualAttachDetach): (testInspectorCustomContainerDestroyed): * TestWebKitAPI/Tests/WebKitGtk/TestInspectorServer.cpp: (startTestServer): (testInspectorServerPageList): * TestWebKitAPI/Tests/WebKitGtk/TestOptionMenu.cpp: (OptionMenuTest::showOptionMenuCallback): (OptionMenuTest::menuCloseCallback): (OptionMenuTest::close): (OptionMenuTest::activateItem): (OptionMenuTest::selectItem): (testOptionMenuSimple): (testOptionMenuGroups): (testOptionMenuActivate): (testOptionMenuSelect): * TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp: (testPrintOperationPrintSettings): (webViewPrintCallback): (testPrintOperationPrint): (testPrintCustomWidget): * TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp: (checkAtspiAccessible): (testAtspiBasicHierarchy): * TestWebKitAPI/Tests/WebKitGtk/TestWebKitVersion.cpp: (testWebKitCheckVersion): * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp: (testWebViewEditorCutCopyPasteNonEditable): (testWebViewEditorCutCopyPasteEditable): (testWebViewEditorSelectAllNonEditable): (testWebViewEditorSelectAllEditable): (loadContentsAndTryToCutSelection): (testWebViewEditorNonEditable): (testWebViewEditorEditable): (testWebViewEditorEditorStateTypingAttributes): (testWebViewEditorInsertImage): (testWebViewEditorCreateLink): * TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp: (loadChangedCallback): (loadFailedCallback): (loadFailedWithTLSErrorsCallback): (LoadTrackingTest::LoadTrackingTest): * TestWebKitAPI/glib/WebKitGLib/TestMain.cpp: (registerGResource): (removeNonEmptyDirectory): * TestWebKitAPI/glib/WebKitGLib/TestMain.h: (Test::adoptView): (Test::~Test): * TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp: (WebKitTestBus::getOrCreateConnection): (WebKitTestBus::createProxy): * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp: (WebKitTestServer::getWebSocketURIForPath const): * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp: (WebViewTest::initializeWebView): (WebViewTest::loadURI): (WebViewTest::loadHtml): (WebViewTest::loadPlainText): (WebViewTest::loadBytes): (WebViewTest::loadRequest): (WebViewTest::loadAlternateHTML): (WebViewTest::goBack): (WebViewTest::goForward): (WebViewTest::goToBackForwardListItem): (resourceGetDataCallback): (WebViewTest::mainResourceData): (WebViewTest::javascriptResultToCString): (WebViewTest::javascriptResultToNumber): (WebViewTest::javascriptResultToBoolean): (WebViewTest::javascriptResultIsNull): (WebViewTest::javascriptResultIsUndefined): (onSnapshotReady): (WebViewTest::runWebProcessTest): * TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp: (WebViewTest::platformInitializeWebView): (WebViewTest::showInWindow): (WebViewTest::showInWindowAndWaitUntilMapped): (WebViewTest::mouseMoveTo): (WebViewTest::emitPopupMenuSignal): (WebViewTest::keyStroke): (WebViewTest::doMouseButtonEvent): 2019-01-09 Philippe Normand [WPE] API tests can't run in flatpak environment https://bugs.webkit.org/show_bug.cgi?id=193242 Reviewed by Michael Catanzaro. * Scripts/run-wpe-tests: Add --wpe to arguments passed to flatpakutils so that it knows which port it's dealing with. * glib/common.py: Remove build_dir globals so that subsequent calls actually take args into account. (library_build_path): (binary_build_path): 2019-01-08 Dean Jackson Blob references for System Previews don't get a correct file extension https://bugs.webkit.org/show_bug.cgi?id=193268 Reviewed by Tim Horton. New test that a Blob download of a USDZ file gets named correctly. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (-[BlobWithUSDZExtensionDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]): (-[BlobWithUSDZExtensionDownloadDelegate _downloadDidFinish:]): (TEST): * TestWebKitAPI/Tests/WebKitCocoa/SystemPreviewBlobNaming.html: Added. 2019-01-08 Jiewen Tan [WebAuthN] Support U2F HID Authenticators on macOS https://bugs.webkit.org/show_bug.cgi?id=191535 Reviewed by Brent Fulgham. This patch: 1) adds support for U2F mocking mechanism; 2) updates tests to reflect U2fCommandConstructor changes. * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/FidoTestData.h: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setWebAuthenticationMockConfiguration): 2019-01-08 Wenson Hsieh [iOS] Dispatch a synthetic mousedown event prior to starting drags https://bugs.webkit.org/show_bug.cgi?id=193229 Reviewed by Tim Horton. Add a cross-platform drag and drop test to verify that calling `preventDefault()` on the mousedown event prevents a drag from starting. * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm: * TestWebKitAPI/Tests/WebKitCocoa/link-and-target-div.html: Tweak this test to make it robust when dragging the link to the target element multiple times in a single test. 2019-01-08 Zhifei Fang Layout test will generate a perf metric file to results dir. https://bugs.webkit.org/show_bug.cgi?id=192030 Reviewed by Aakash Jain. Layout test running time will be collected to a perf metric file. For now, instead of outputing running time of all tests (which is huge), we aggregate them by test directories which are at most two level deep. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._end_test_run): (Manager._output_perf_metrics): (Manager._print_expectation_line_for_test): * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: (add_test_perf_metric): (test_perf_metrics): * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py: (JSONGeneratorTest.test_test_timings_trie): (JSONGeneratorTest): (JSONGeneratorTest.test_test_perf_metrics): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (RebaselineTest.test_reset_results): (RebaselineTest.test_missing_results): (RebaselineTest.test_new_baseline): 2019-01-08 Patrick Griffis [WPE][GTK] Add php-json to install-dependencies https://bugs.webkit.org/show_bug.cgi?id=193233 Reviewed by Michael Catanzaro. * gtk/install-dependencies: * wpe/install-dependencies: 2019-01-08 Chris Dumez Regression(PSON-r239182): Blank view when navigating back and forth between google.com and stack overflow https://bugs.webkit.org/show_bug.cgi?id=193224 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-01-07 David Kilzer Leak of ScrollCompletionCallbackData (16 bytes) in com.apple.WebKit.WebContent running WebKit layout tests Reviewed by Joseph Pecoraro. * WebKitTestRunner/InjectedBundle/EventSendingController.cpp: (WTR::executeCallback): Fix camel case of variable name. (WTR::EventSendingController::callAfterScrollingCompletes): If WKBundlePageRegisterScrollOperationCompletionCallback() returns false, make sure to release the ScrollCompletionCallbackData object. This fixes the leak. 2019-01-07 Fujii Hironori [Win] EWS: wincairo-ews cannot apply a patch with *.png https://bugs.webkit.org/show_bug.cgi?id=193044 Reviewed by Daniel Bates. WinCairo EWS bots are using Windows Perl. Binary files should be opened as binary mode. * Scripts/svn-apply: (handleGitBinaryChange): Use 'binmode' for binary file handles. 2019-01-07 Don Olmstead [CMake] Add ENABLE_CSS_TYPED_OM option https://bugs.webkit.org/show_bug.cgi?id=193216 Reviewed by Michael Catanzaro. * Scripts/webkitperl/FeatureList.pm: 2019-01-07 David Kilzer Prefer RetainPtr to RetainPtr Reviewed by Alex Christensen. * Scripts/webkitpy/style/checker.py: - Ignore use of new runtime/retainptr check in Tools/TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm since it contains tests to ensure RetainPtr is compatible with RetainPtr. * Scripts/webkitpy/style/checkers/cpp.py: (check_language): (CppChecker): - Add checker for use of '*' in RetainPtr<> type. A for loop was used instead of a single regex so that angle brackets could be matched up when checking the type contained within the RetainPtr<> type. * Scripts/webkitpy/style/checkers/cpp_unittest.py: (CppStyleTest): - Add unit test for new runtime/retainptr check. * TestRunnerShared/EventSerialization/mac/EventSerializerMac.h: * TestWebKitAPI/EditingTestHarness.h: - Remove '*' from RetainPtr<> type. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: - Add cf/RetainPtr.cpp back to TestWTFLibrary target! This regressed in r201938. * TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp: (TestWebKitAPI::TEST): - Update tests to match RetainPtr.mm tests (except for the `*SimilarNSType` tests since there is no CF equivalent of RetainPtr and RetainPtr). * TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm: (TestWebKitAPI::TEST): - Update tests to: - Not conflict by name with equivalent CF tests in RetainPtr.cpp. - Add test cases for RetainPtr, RetainPtr and RetainPtr were appropriate. - Add `*SimilarNSType` tests for converting between RetainPtr and RetainPtr. - Change `0` to `nil` as appropriate. - Re-alphabetize the tests by name. - Add Optional> tests. - Add retainPtr() tests. * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm: (-[DownloadProgressTestRunner _download:decideDestinationWithSuggestedFilename:completionHandler:]): * TestWebKitAPI/Tests/WebKitCocoa/IconLoadingDelegate.mm: (TEST): - Remove '*' from RetainPtr<> type. * TestWebKitAPI/Tests/WebKitCocoa/JITEnabled.mm: (TEST(WebKit, JITEnabled)): - Add missing WTFMove(). Apparently a temporary was being created before in the argument list due to mismatched RetainPtr<> types. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm: (TestWebKitAPI::setUpWebViewForTestingVideoControlsManager): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm: (WTR::resourcesDirectoryURL): * WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm: (WTR::InjectedBundle::platformInitialize): * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: - Remove '*' from RetainPtr<> type. 2019-01-07 Eric Carlson A MediaTime timescale must never be zero https://bugs.webkit.org/show_bug.cgi?id=193156 Reviewed by Jer Noble. * TestWebKitAPI/Tests/WTF/MediaTime.cpp: (TestWebKitAPI::TEST): Add tests for zero timescale. 2019-01-07 Youenn Fablet API test broken: TestWebKitAPI.WebKit.CustomDataStorePathsVersusCompletionHandlers https://bugs.webkit.org/show_bug.cgi?id=193175 Reviewed by Chris Dumez. Updated API test as we bumped the SW schema to version 4. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-4.sqlite3: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-3.sqlite3. * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): 2019-01-06 Fujii Hironori [Win][Clang] Fix compilation warnings of MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=193029 Reviewed by Ross Kirsling. * MiniBrowser/win/MiniBrowserWebHost.h: Removed unused m_oldFont and m_URLBarFont. Reorder member variables to fix -Wreorder warning. * MiniBrowser/win/PageLoadTestClient.cpp: (PageLoadTestClient::PageLoadTestClient): Reorder the member initializer list. * MiniBrowser/win/PageLoadTestClient.h: Removed 'virtual' of pageLoadStartedAtTime and pageLoadEndedAtTime. Removed unused m_currentURLIndex. * MiniBrowser/win/WebKitBrowserWindow.cpp: (WebKitBrowserWindow::WebKitBrowserWindow): Initialize navigationClient with '{ }' to fix the missing field warning. * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp: (initDocStruct): Changed the argument type docname to const. 2019-01-06 Jiewen Tan [WebAuthN] Import U2F command/response converters from Chromium https://bugs.webkit.org/show_bug.cgi?id=193150 Reviewed by Brent Fulgham. Adds API tests. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp: (TestWebKitAPI::getTestAttestedCredentialDataBytes): (TestWebKitAPI::getTestAuthenticatorDataBytes): (TestWebKitAPI::getTestAttestationObjectBytes): (TestWebKitAPI::getTestSignResponse): (TestWebKitAPI::getTestU2fRegisterResponse): (TestWebKitAPI::TEST): (TestWebKitAPI::convertToVector): Deleted. * TestWebKitAPI/Tests/WebCore/FidoTestData.h: * TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp: Added. (TestWebKitAPI::constructMakeCredentialRequest): (TestWebKitAPI::constructGetAssertionRequest): (TestWebKitAPI::TEST): 2019-01-05 Oriol Brufau [GTK] Add python3-setuptools, libunistring-dev, bison and flex dependencies https://bugs.webkit.org/show_bug.cgi?id=193136 Reviewed by Michael Catanzaro. * gtk/install-dependencies: Add python3-setuptools, libunistring-dev, bison and flex to install-dependencies, they are needed by update-webkitgtk-libs. 2019-01-05 Aakash Jain Unreviewed follow-up fix to r239650 https://bugs.webkit.org/show_bug.cgi?id=193140 Typecast patch_id to string. * BuildSlaveSupport/ews-build/steps.py: (ValidatePatch._is_patch_obsolete): 2019-01-04 Daniel Bates [lldb-webkit]: Add support for pretty-printing raw bitmask types https://bugs.webkit.org/show_bug.cgi?id=193024 Reviewed by Jer Noble. Add support infrastructure to pretty-print a raw bitmask type. Included is a pretty-printer for the bitmask type WebEventFlags as an example. Exposed a new function lldb_webkit.addSummaryAndSyntheticFormattersForRawBitmaskType() that can be used to register summary and synthetic child formatters for a bitmask type. For example, consider the following enum and bitmask typedefs: typedef enum { A = 1 << 0, B = 1 << 1, C = 1 << 2, } SpecialFlagValues; typedef unsigned SpecialFlags; To teach lldb-webkit how to pretty print SpecialFlags types, add the following code inside __lldb_init_module(): addSummaryAndSyntheticFormattersForRawBitmaskType(debugger, "SpecialFlags", { 1 << 0: "A", 1 << 1: "B", 1 << 2: "C", }) * lldb/lldb_webkit.py: (addSummaryAndSyntheticFormattersForRawBitmaskType): (addSummaryAndSyntheticFormattersForRawBitmaskType.GeneratedRawBitmaskProvider): (addSummaryAndSyntheticFormattersForRawBitmaskType.raw_bitmask_summary_provider): (addSummaryAndSyntheticFormattersForRawBitmaskType.lldb_webkit): A convenience function to dynamically creaste a synthetic formatter class and summary string function for the specified bitmask type and enumerator value to name map. This function register the dynamically created class and function with LLDB. (__lldb_init_module): (FlagEnumerationProvider): (FlagEnumerationProvider._enumerator_value_to_name_map): (FlagEnumerationProvider._bitmask): (FlagEnumerationProvider._update): (FlagEnumerationProvider.has_children): (FlagEnumerationProvider.num_children): (FlagEnumerationProvider.get_child_index): (FlagEnumerationProvider.get_child_at_index): (FlagEnumerationProvider.update): Extract out provider logic from WTFOptionSetProvider into a base class that can be shared. (WTFOptionSetProvider): (WTFOptionSetProvider._enumerator_value_to_name_map): (WTFOptionSetProvider._bitmask): (WTFOptionSetProvider._update): Write in terms of the base class. (RawBitmaskProviderBase): (RawBitmaskProviderBase._enumerator_value_to_name_map): (RawBitmaskProviderBase._bitmask): Added. Base synthetic formatter class for a raw bitmask type. Derived classes are expected to override the class variable ENUMERATOR_VALUE_TO_NAME_MAP with a dictionary of the form: { 1 << 0: "A", 1 << 1: "B", 1 << 2: "C", } It is not necessary to instantiate such a derived class directory. Instead use the convenience function addSummaryAndSyntheticFormattersForRawBitmaskType. (WTFOptionSetProvider.has_children): Deleted. (WTFOptionSetProvider.num_children): Deleted. (WTFOptionSetProvider.get_child_index): Deleted. (WTFOptionSetProvider.get_child_at_index): Deleted. (WTFOptionSetProvider.update): Deleted. 2019-01-04 Aakash Jain [ews-build] Add build step to validate the patch before processing it https://bugs.webkit.org/show_bug.cgi?id=193140 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/factories.py: (Factory.__init__): Added ValidatePatch step. * BuildSlaveSupport/ews-build/steps.py: (ValidatePatch): (ValidatePatch.fetch_data_from_url): Fetch data from a url. (ValidatePatch.get_patch_json): Get patch json data. (ValidatePatch.get_bug_json): Get bug json data. (ValidatePatch.get_bug_id_from_patch): Get bug id from a patch id. (ValidatePatch._is_patch_obsolete): Check if the patch is obsolete. (ValidatePatch._is_patch_review_denied): Check if the patch is marked r-. (ValidatePatch._is_bug_closed): Check if the bug is already closed. (ValidatePatch.skip_build): Skip the build. (ValidatePatch.start): 2019-01-04 Alex Christensen Progress towards fixing Mac CMake build https://bugs.webkit.org/show_bug.cgi?id=193105 Reviewed by Don Olmstead. * TestWebKitAPI/PlatformMac.cmake: 2019-01-04 Alex Christensen Fix API test after r239631 https://bugs.webkit.org/show_bug.cgi?id=193118 * TestWebKitAPI/Tests/WebKit/UserMedia.cpp: (TestWebKitAPI::TEST): This test relied on m_maximumProcessCount being set to 1 in ProcessPoolConfiguration::createWithLegacyOptions. Do the same thing via the API to fix the test. 2019-01-04 Jer Noble [WebKitLegacy] Media playback pauses on scroll https://bugs.webkit.org/show_bug.cgi?id=192829 Reviewed by Eric Carlson. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/StopSuspendResumeAllMedia.mm: Added. (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm: Added. (-[ScrollingDoesNotPauseMediaDelegate webViewDidFinishLoad:]): (-[ScrollingDoesNotPauseMediaDelegate uiWebView:didCommitLoadForFrame:]): (-[ScrollingDoesNotPauseMediaDelegate handleEvent:]): (TestWebKitAPI::TEST): 2019-01-04 Chris Dumez Add support for toggling device orientation API support per site https://bugs.webkit.org/show_bug.cgi?id=193143 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (-[DataMappingSchemeHandler setTaskHandler:]): (-[DataMappingSchemeHandler webView:startURLSchemeTask:]): (-[WebsitePoliciesDeviceOrientationDelegate initWithDeviceOrientationEventEnabled:]): (-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): (-[WebsitePoliciesDeviceOrientationDelegate webView:didFinishNavigation:]): 2019-01-04 Aakash Jain [ews-build] use svn-apply script to apply the patches https://bugs.webkit.org/show_bug.cgi?id=193138 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/factories.py: (Factory.__init__): Add the ApplyPatch step. * BuildSlaveSupport/ews-build/steps.py: (CheckOutSource): Added step name. (CheckOutSource.__init__): Used alwaysUseLatest so that it doesn't apply patch. (ApplyPatch): Build step to apply patch using svn-apply script. (UnApplyPatchIfRequired): (UnApplyPatchIfRequired.__init__): Deleted, since the alwaysUseLatest parameter is now in base class. 2019-01-04 Alex Christensen Deprecate WKContextCreate https://bugs.webkit.org/show_bug.cgi?id=193118 Reviewed by Brady Eidson. * MiniBrowser/win/WebKitBrowserWindow.cpp: (WebKitBrowserWindow::WebKitBrowserWindow): * TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/CookieManager.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/DownloadDecideDestinationCrash.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/EnumerateMediaDevices.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/EvaluateJavaScript.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/EventModifiers.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/FailedLoad.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/Find.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/FindMatches.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/Geolocation.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp: (TestWebKitAPI::loadAlternateHTMLString): * TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp: (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader): * TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp: (TestWebKitAPI::buildAndPerformTest): * TestWebKitAPI/Tests/WebKit/ModalAlertsSPI.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/NavigationClientDefaultCrypto.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/PageGroup.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/PreventEmptyUserAgent.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ProcessDidTerminate.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/UserMedia.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/WebCoreStatisticsWithNoWebProcess.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm: (WebKit2_CommandBackForwardTestWKView::SetUp): * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/SchemeRegistry.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/mac/WebKitAgnosticTest.mm: (TestWebKitAPI::WebKitAgnosticTest::runWebKit2Test): 2019-01-03 Matt Rajca Make DidPlayMediaPreventedFromPlaying autoplay event more generic. https://bugs.webkit.org/show_bug.cgi?id=193128 rdar://34554231 Reviewed by Jer Noble. Today, the "DidPlayMediaPreventedFromPlaying" autoplay event is only sent for media prevented from autoplaying. It could be generalized to a "DidPlayMediaWithUserGesture" event along with a flag that indicates whether or not autoplay was actually prevented. Tests: existing API tests were updated to reflect the new names. New API tests were added for the new case in which the "DidPlayMediaWithUserGesture" event is sent. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/long-test.mp4: Added. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/audio-with-play-button.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/video-with-play-button.html: Added. 2019-01-04 Chris Dumez [PSON] Calling history.back() from inside the load event handler prevents process-swapping https://bugs.webkit.org/show_bug.cgi?id=193120 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-01-04 Chris Dumez Crash under WebProcessPool::addSuspendedPage() https://bugs.webkit.org/show_bug.cgi?id=193110 Reviewed by Youenn Fablet. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2019-01-04 Aakash Jain [ews-build] Check patch relevance before applying the patch https://bugs.webkit.org/show_bug.cgi?id=193102 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/factories.py: (Factory.__init__): Moved CheckPatchRelevance step to base class. 2019-01-04 Aakash Jain [ews-build] Check patch relevance step should print patch id https://bugs.webkit.org/show_bug.cgi?id=193137 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (CheckPatchRelevance.start): Update the status to include patch id. 2019-01-04 Jonathan Bedard webkitpy: Increase simulator teardown timeout https://bugs.webkit.org/show_bug.cgi?id=193141 Rubber-stamped by Aakash Jain. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDeviceManager.tear_down): Use SIMULATOR_BOOT_TIMEOUT. 2019-01-03 Ross Kirsling test262-runner misbehaves when test file YAML has a trailing space https://bugs.webkit.org/show_bug.cgi?id=193053 Reviewed by Yusuke Suzuki. * Scripts/test262/Runner.pm: (parseData): Accept trailing space when parsing a test file's YAML block. 2019-01-03 Michael Catanzaro UserMedia test should use WKPageNavigationClient https://bugs.webkit.org/show_bug.cgi?id=192913 Reviewed by Youenn Fablet. The test currently uses the deprecated WKPageLoaderClient. It should use WKPageNavigationClient instead, which provides the same callback under a similar name. * TestWebKitAPI/Tests/WebKit/UserMedia.cpp: (TestWebKitAPI::TEST): 2019-01-02 Alex Christensen Homograph with LATIN SMALL LETTER R WITH FISHHOOK https://bugs.webkit.org/show_bug.cgi?id=192944 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: (TestWebKitAPI::TEST): 2019-01-02 Wenson Hsieh Add support for using the current text selection as the find string on iOS https://bugs.webkit.org/show_bug.cgi?id=193034 Reviewed by Tim Horton. Add a new API test to verify that the new WebKit SPI (_stringForFind, _takeFindStringFromSelection:, and _setStringForFind) works as expected. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/UseSelectionAsFindString.mm: Added. 2019-01-02 Aakash Jain [ews-build] Use git on OpenSource EWS bots https://bugs.webkit.org/show_bug.cgi?id=193092 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (CheckOutSource): Use git instead of svn. (CheckOutSource.__init__): Use timeout of 2 hours since the initial checkout might take a long time. 2019-01-02 Daniel Bates [lldb-webkit] Remove broken code to print WTF::OptionSet::m_storage https://bugs.webkit.org/show_bug.cgi?id=193023 Reviewed by Simon Fraser. The code to print WTF::OptionSet::m_storage as an item in the set never worked and does not seem meaningful to fix because WTF::OptionSet::m_storage is just the sum of the printed enumerator values. We should just remove this code. * lldb/lldb_webkit.py: (WTFOptionSetProvider.has_children): (WTFOptionSetProvider.num_children): (WTFOptionSetProvider.get_child_index): (WTFOptionSetProvider.get_child_at_index): 2018-12-29 Yusuke Suzuki .ycm_extra_conf.py should handle XXXInlines.h https://bugs.webkit.org/show_bug.cgi?id=193055 Reviewed by Carlos Garcia Campos. compile_commands.json database only records flags and options for cpp source files. So, when we open headers, this database does not have any information for that. Our .ycm_extra_conf.py alleviates this by using XXX.cpp's configuration for XXX.h. But this mitigation does not handle XXXInlines.h well since we do not have XXXInlines.cpp. This patch adds support for XXXInlines.h in .ycm_extra_conf.py. When XXXInlines.h is queried, we attempt to find XXX.cpp and use the configuration if it exists. * gtk/ycm_extra_conf.py: (getImplementationFilename): (FlagsForFile): 2018-12-31 Carlos Garcia Campos Unreviewed. Support PHP 7.3 in Debian. Add 7.3 to the list of php versions supported in Debian. * Scripts/webkitpy/port/base.py: (Port._debian_php_version): 2018-12-27 Alex Christensen Resurrect Mac CMake build https://bugs.webkit.org/show_bug.cgi?id=192658 Reviewed by Yusuke Suzuki. * DumpRenderTree/PlatformMac.cmake: * MiniBrowser/mac/CMakeLists.txt: * TestWebKitAPI/PlatformMac.cmake: 2018-12-26 Adrian Perez de Castro [Tools] Remove references to Bison and Flex https://bugs.webkit.org/show_bug.cgi?id=193033 Reviewed by Michael Catanzaro. The Bison and Flex tools are not needed anymore since r209883. * CygwinDownloader/cygwin-downloader.py: * EWSTools/ubuntu-ews-packages: * Scripts/filter-build-webkit: (shouldIgnoreLine): * gtk/install-dependencies: * wpe/install-dependencies: 2018-12-22 Carlos Garcia Campos WebDriver: warn about non existing tests when parsing expectations https://bugs.webkit.org/show_bug.cgi?id=192979 Reviewed by Michael Catanzaro. It's common to update web driver tests and forget updating the test expectations in case of tests removed or renamed. * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py: (WebDriverTestRunner.__init__): 2018-12-21 Chris Dumez navigator.userAgent in service workers does not reflect customUserAgent set by client https://bugs.webkit.org/show_bug.cgi?id=192951 Reviewed by Youenn Fablet. Extend API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: (-[SWCustomUserAgentDelegate initWithUserAgent:]): (-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): (-[SWUserAgentMessageHandler initWithExpectedMessage:]): (-[SWUserAgentMessageHandler userContentController:didReceiveScriptMessage:]): 2018-12-21 Jiewen Tan [WebAuthN] userPresence should always be true https://bugs.webkit.org/show_bug.cgi?id=192835 Reviewed by Brent Fulgham. * TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp: (TestWebKitAPI::TEST): 2018-12-19 Simon Fraser Add support to run-benchmark to use non-default copies of the browser apps https://bugs.webkit.org/show_bug.cgi?id=192905 rdar://problem/46845840 Reviewed by Dewei Zhu. Add support for a --browser-path argument to run-benchmark, which allows you to use a custom app bundle for a given browser (only implemented for Safari at present). * Scripts/webkitpy/benchmark_runner/benchmark_runner.py: (BenchmarkRunner.__init__): * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py: (BrowserDriver.__init__): * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py: (BrowserDriverFactory.create): * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py: (OSXBrowserDriver._launch_process): (OSXBrowserDriver._launch_process_with_caffeinate): Fix spelling. (OSXBrowserDriver._launch_process_with_caffinate): Deleted. * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: (OSXChromeCanaryDriver.launch_url): * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py: (OSXFirefoxNightlyDriver.launch_url): * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: (OSXSafariDriver.__init__): (OSXSafariDriver.launch_url): * Scripts/webkitpy/benchmark_runner/run_benchmark.py: (parse_args): (run_benchmark_plan): * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py: (WebServerBenchmarkRunner.__init__): * Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py: (FakeBenchmarkRunner.__init__): 2018-12-21 Jiewen Tan [WebAuthN] Import an APDU coder from Chromium https://bugs.webkit.org/show_bug.cgi?id=192949 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/ApduTest.cpp: Added. (TestWebKitAPI::TEST): 2018-12-21 Wenson Hsieh Setting the file wrapper and content type of an attachment to a PDF should update its image https://bugs.webkit.org/show_bug.cgi?id=192984 Reviewed by Tim Horton. Add an API test to verify that setting the file wrapper for a _WKAttachment with an enclosing image element with PDF data correctly updates the image element. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: 2018-12-21 Michael Catanzaro Add JSCOnly to bot dashboard https://bugs.webkit.org/show_bug.cgi?id=192964 Reviewed by Alexey Proskuryakov. Apparently we have five JSCOnly test bots and multiple developers working on keeping them in good shape. Sadly, they are hidden bots not exposed in the dashboard. They would be more useful if they were not so secret, so add them. There appear to be no build-only bots, so the first column is blank. And of course there are no WebKit1 or WebKit2 bots, because this is JSCOnly, so the second and third columns are blank too. That's OK. This will be the last bot on the dashboard, so it won't look too bad, and there's plenty of room in the final column for all the bots. I had a hard time picking a logo to use, because the JavaScript language does not have an official logo. But I believe I've found one that will be satisfactory. I will sneak in one bonus change: WPE's EWS queue was missing, and has been added. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/SquirrelFish.png: Added. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/SquirrelFish@2x.png: Added. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: (BubbleQueueServer): * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: (WebKitBuildbot): * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css: (table.queue-grid tr.platform.linux-jsconly img.logo): 2018-12-21 Benjamin Poulain macOS: WebKit1 does not handle occlusion changes https://bugs.webkit.org/show_bug.cgi?id=192821 Reviewed by Chris Dumez. * DumpRenderTree/mac/DumpRenderTree.mm: (createWebViewAndOffscreenWindow): * TestWebKitAPI/mac/WebKitAgnosticTest.mm: 2018-12-20 Fujii Hironori [Win][Clang] Fix compilation warnings of DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=192924 Reviewed by Alex Christensen. * DumpRenderTree/AccessibilityController.h: Added member variable initializations in the class definition. * DumpRenderTree/win/AccessibilityControllerWin.cpp: (AccessibilityController::AccessibilityController): Moved member variable initializations to the class definition. * DumpRenderTree/win/DumpRenderTree.cpp: (dumpHistoryItem): String literals can't be converted non-const type. Use auto for them. (resetWebPreferencesToConsistentValues): Pass a temporal _bstr_t object to the argument of setDefaultTextEncodingName instead of a const string literal. (createWebViewAndOffscreenWindow): Use %lx for HRESULT (aka 'long'). (main): Exit if _dup2 fails. Use %lu for'DWORD'(aka 'unsigned long'). (setCacheFolder): Deleted. * DumpRenderTree/win/DumpRenderTreeWin.h: Fix class/struct mismatch of FrameLoadDelegate and PolicyDelegate declarations. * DumpRenderTree/win/EditingDelegate.cpp: (dump): Use %d for int. * DumpRenderTree/win/FrameLoadDelegate.cpp: Removed unused variable g_delegateWaitingOnTimer. * DumpRenderTree/win/ResourceLoadDelegate.cpp: (BSTRFromString): Deleted unused function. * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::setDatabaseQuota): Pass a temporal _bstr_t object to the arguemnt of setQuota instead of const string literal. * DumpRenderTree/win/WorkQueueItemWin.cpp: (jsStringRefToWString): Deleted unused function. 2018-12-20 Chris Dumez Add API test coverage for customUserAgent client setting and service workers https://bugs.webkit.org/show_bug.cgi?id=192952 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: (-[SWMessageHandler userContentController:didReceiveScriptMessage:]): (-[SWSchemes webView:startURLSchemeTask:]): (-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): (-[SWUserAgentMessageHandler userContentController:didReceiveScriptMessage:]): 2018-12-20 Chris Dumez Use Optional::hasValue() instead of Optional::has_value() https://bugs.webkit.org/show_bug.cgi?id=192948 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CBORWriterTest.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/FileSystem.cpp: (TestWebKitAPI::TEST_F): 2018-12-20 Chris Dumez Add style script rule to check for uses of std::optional<> https://bugs.webkit.org/show_bug.cgi?id=192931 Reviewed by Tim Horton. * Scripts/webkitpy/style/checkers/cpp.py: (check_wtf_optional): (check_style): 2018-12-20 Jiewen Tan [WebAuthN] Add a runtime flag for local authenticator https://bugs.webkit.org/show_bug.cgi?id=192792 Reviewed by Brent Fulgham. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (enableExperimentalFeatures): (setWebPreferencesForTestOptions): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): 2018-12-20 Jonathan Bedard webkitpy: Autoinstall package URLs have changed https://bugs.webkit.org/show_bug.cgi?id=192909 Rubber-stamped by Alexey Proskuryakov. PyPi urls have been moved around, we need to update our auto-installed packages. We should check for Selenium before asking PyPi for the latest version. * Scripts/webkitpy/thirdparty/__init__.py: (AutoinstallImportHook._install_mechanize): Update with new pypi url. (AutoinstallImportHook._install_keyring): Ditto. (AutoinstallImportHook._install_pep8): Ditto. (AutoinstallImportHook._install_mozlog): Ditto. (AutoinstallImportHook._install_mozprocess): Ditto. (AutoinstallImportHook._install_pytest_timeout): Ditto. (AutoinstallImportHook._install_pytest): Ditto. (AutoinstallImportHook._install_pylint): Ditto. (AutoinstallImportHook._install_buildbot): Ditto. (AutoinstallImportHook._install_coverage): Ditto. (AutoinstallImportHook._install_twisted_15_5_0): Ditto. (AutoinstallImportHook._install_selenium): Update with new pypi url, only check for new Selenium if the installed version isn't sufficient. (AutoinstallImportHook.get_latest_pypi_url): Update with new pypi url. 2018-12-20 Chris Dumez Use Optional::valueOr() instead of Optional::value_or() https://bugs.webkit.org/show_bug.cgi?id=192933 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WTF/URLParser.cpp: (TestWebKitAPI::checkURL): (TestWebKitAPI::checkRelativeURL): (TestWebKitAPI::checkURLDifferences): (TestWebKitAPI::checkRelativeURLDifferences): * TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp: (TestWebKitAPI::checkURL): 2018-12-20 Ryan Haddad Unreviewed, rolling out r239417. Introduced two API test failures on macOS. Reverted changeset: " macOS: WebKit1 does not handle occlusion changes" https://bugs.webkit.org/show_bug.cgi?id=192821 https://trac.webkit.org/changeset/239417 2018-12-20 Devin Rousso Web Inspector: UIString should take an optional key and description to aid localization https://bugs.webkit.org/show_bug.cgi?id=153962 Reviewed by Brian Burg. * Scripts/extract-localizable-js-strings: 2018-12-20 Tim Horton Unparented WKWebView can't retrieve main resource data for a main frame plugin https://bugs.webkit.org/show_bug.cgi?id=192923 Reviewed by Wenson Hsieh. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/WebKitCocoa/GetResourceData.mm: Add a test ensuring that both parented and unparented WKWebViews can retrieve main resource data when loading a PDF. 2018-12-20 Carlos Garcia Campos [GTK][WPE] Bump webkitgtk-test-fonts to 0.0.8 https://bugs.webkit.org/show_bug.cgi?id=192852 Reviewed by Michael Catanzaro. EmojiOne font was replaced by Noto Color Emoji. * WebKitTestRunner/gtk/fonts/fonts.conf: Use Noto Color Emoji when Apple Color Emoji font family is used in tests. * gtk/jhbuild.modules: * wpe/jhbuild.modules: 2018-12-19 Chris Dumez wtf/Optional.h: move-constructor and move-assignment operator should disengage the value being moved from https://bugs.webkit.org/show_bug.cgi?id=192728 Reviewed by Geoff Garen. * DumpRenderTree/*: * MiniBrowser/*: * TestRunnerShared/*: * TestWebKitAPI/*: * WebGPUAPIStructure/*: * WebKitTestRunner/*: 2018-12-19 Benjamin Poulain macOS: WebKit1 does not handle occlusion changes https://bugs.webkit.org/show_bug.cgi?id=192821 Reviewed by Chris Dumez. * DumpRenderTree/mac/DumpRenderTree.mm: (createWebViewAndOffscreenWindow): 2018-12-19 Alex Christensen Navigations away from the SafeBrowsing interstitial show a flash of old content https://bugs.webkit.org/show_bug.cgi?id=192676 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (safeBrowsingView): (TEST): (-[SafeBrowsingHelper webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Deleted. 2018-12-19 Adrian Perez de Castro [GTK][WPE] Unify TestController::platformRunUntil() and honor condition flag https://bugs.webkit.org/show_bug.cgi?id=192855 Reviewed by Michael Catanzaro. * WebKitTestRunner/gtk/TestControllerGtk.cpp: (WTR::TestController::notifyDone): Use the WPE implementation. (WTR::TestController::platformRunUntil): Use the WPE implementation. * WebKitTestRunner/wpe/TestControllerWPE.cpp: (WTR::TestController::platformRunUntil): Honor the condition flag. 2018-12-19 Megan Gardner Allow clients to set the navigator platform https://bugs.webkit.org/show_bug.cgi?id=192735 Reviewed by Tim Horton. Add a test for setting a custom navigator platform. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (-[CustomNavigatorPlatformDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): (-[CustomNavigatorPlatformDelegate webView:didFinishNavigation:]): 2018-12-19 Truitt Savell Unreviewed, rolling out r239358. Revision caused imported/w3c/web-platform-tests/IndexedDB/ to crash on Debug bots Reverted changeset: "Clean up IndexedDB files between tests" https://bugs.webkit.org/show_bug.cgi?id=192796 https://trac.webkit.org/changeset/239358 2018-12-18 Wenson Hsieh [iOS] A copied text selection is pasted as a web archive attachment in the entry view in Messages https://bugs.webkit.org/show_bug.cgi?id=192842 Reviewed by Tim Horton. Adjusts an existing API test to verify that "com.apple.webarchive" is not one of the types registered to the item provider when dragging a rich text selection. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: 2018-12-18 David Quesada REGRESSION: [iOS] API test TestWebKitAPI._WKDownload.OriginatingWebView is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=192810 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (-[OriginatingWebViewDownloadDelegate _downloadDidStart:]): After releasing our reference to the web view, wait until the next turn of the runloop before checking that the originatingWebView has been zeroed, since the web view might still be referenced in the autorelease pool. This _WKDownload unit test isn't about testing general memory management of WKWebViews, only that _WKDownload does not retain its web view via the 'originatingWebView' property. 2018-12-18 Sihui Liu Clean up IndexedDB files between tests https://bugs.webkit.org/show_bug.cgi?id=192796 Reviewed by Geoffrey Garen. * DumpRenderTree/mac/DumpRenderTree.mm: (runTest): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): (WTR::RemoveAllIndexedDatabasesCallbackContext::RemoveAllIndexedDatabasesCallbackContext): (WTR::RemoveAllIndexedDatabasesCallback): (WTR::TestController::ClearIndexedDatabases): * WebKitTestRunner/TestController.h: 2018-12-18 Alex Christensen Fix API test introduced in r239339 on iOS. https://bugs.webkit.org/show_bug.cgi?id=192675 * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (TEST): The iOS implementation of the safe browsing warning is a little different. It does some element creation when it is added to the window so it knows how big it is. To test these elements, we need to simulate adding it to the window. A similar technique is done in other iOS API tests, such as SafeBrowsing.ShowWarningSPI. 2018-12-18 Jonathan Bedard webkitpy: Ignore device type for test when using --force https://bugs.webkit.org/show_bug.cgi?id=192786 Reviewed by Daniel Bates. It is sometimes the case that a contributor will wish to run a test on a specific device, despite expectations which indicate a test should not be run on that device. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): * Scripts/webkitpy/port/device_port.py: (DevicePort.default_child_processes): Strip device type information when using --force. (DevicePort.setup_test_run): Only allow incomplete match when using --force. 2018-12-18 Alex Christensen WKWebView has old URL while displaying SafeBrowsing interstitial, for link-click navigations https://bugs.webkit.org/show_bug.cgi?id=192675 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (goBack): (TEST): (visitUnsafeSite): (-[SafeBrowsingHelper observeValueForKeyPath:ofObject:change:context:]): (-[SafeBrowsingHelper webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): 2018-12-18 Chris Dumez Regression(r239182) SuspendedPage's process reuse for link navigation optimization sometimes broken https://bugs.webkit.org/show_bug.cgi?id=192772 Reviewed by Antti Koivisto. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-12-18 Philippe Normand Unreviewed, JHBuild GTK build fix attempt * gtk/jhbuild.modules: There's no libffi in this moduleset anymore. There's no ninja module either, it should be provided by the host system. 2018-12-17 Chris Dumez Allow passing nil as session state to [WKWebView _restoreSessionState:] https://bugs.webkit.org/show_bug.cgi?id=192789 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKit/WKBackForwardList.mm: (TEST): 2018-12-17 Simon Fraser Don't use more expensive layer backing store formats when subpixel text antialiasing is not enabled https://bugs.webkit.org/show_bug.cgi?id=192780 rdar://problem/43394387 Reviewed by Tim Horton. No need to set "AppleFontSmoothing" defaults for WK2. * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm: (WTR::InjectedBundle::platformInitialize): 2018-12-17 Jonathan Bedard webkitpy: Handle case where stdout and stderr don't accept unicode https://bugs.webkit.org/show_bug.cgi?id=192775 Reviewed by Stephanie Lewis. * Scripts/webkitpy/layout_tests/views/metered_stream.py: (MeteredStream.write): If unicode cannot be written to the stream, replace unicode characters with '?'. * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py: (RegularTest.test_stream_with_encoding): 2018-12-17 Daniel Bates Support concatenating StringView with other string types https://bugs.webkit.org/show_bug.cgi?id=177566 Reviewed by Darin Adler. Add some tests to ensure we do not regress the number of allocations needed when performing string concatenation with string views. * TestWebKitAPI/Tests/WTF/StringOperators.cpp: (TestWebKitAPI::TEST): 2018-12-17 Commit Queue Unreviewed, rolling out r239265 and r239274. https://bugs.webkit.org/show_bug.cgi?id=192765 unorm_normalize is deprecated, and broke an internal build (Requested by Truitt on #webkit). Reverted changesets: "[GTK][WPE] Need a function to convert internal URI to display ("pretty") URI" https://bugs.webkit.org/show_bug.cgi?id=174816 https://trac.webkit.org/changeset/239265 "Fix the Apple Internal Mac build with a newer SDK" https://trac.webkit.org/changeset/239274 2018-12-17 Daniel Bates Implement UIScriptController::toggleCapsLock() for iOS https://bugs.webkit.org/show_bug.cgi?id=191815 Reviewed by Andy Estes. Add support for toggling the caps lock state in WebKitTestRunner on iOS. * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): Clear the current modifier state before running a test. This ensures that the caps lock state does not persist between tests should a test enable caps lock and not disable it. * WebKitTestRunner/ios/HIDEventGenerator.mm: (hidUsageCodeForCharacter): Map "capsLock" to the Caps Lock key usage code. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::createUIPhysicalKeyboardEvent): Modified to take the keyboard input flags to use to create the event. Also substituted NSString* for const String& as the data type for the first two parameters to avoid conversions in the implementation of UIScriptController::toggleCapsLock() below. (WTR::UIScriptController::keyDown): Update as needed due to changes to prototype of createUIPhysicalKeyboardEvent(). (WTR::UIScriptController::toggleCapsLock): Dispatch a UIEvent to toggle caps lock. 2018-12-17 Daniel Bates [iOS] Remove -[WebEvent initWithKeyEventType:...:characterSet:] https://bugs.webkit.org/show_bug.cgi?id=192633 Reviewed by Wenson Hsieh. Update code to use the modern initializer. * DumpRenderTree/mac/EventSendingController.mm: (-[EventSendingController keyDown:withModifiers:withLocation:]): 2018-12-17 Matt Lewis Unreviewed, rolling out r239254. This broke the Windows 10 Debug build Reverted changeset: "Replace many uses of String::format with more type-safe alternatives" https://bugs.webkit.org/show_bug.cgi?id=192742 https://trac.webkit.org/changeset/239254 2018-12-17 David Kilzer clang-tidy: loop variable is copied but only used as const reference in WebCore, WebKit, Tools Reviewed by Daniel Bates. Change loop variables to const references to avoid unnecessary copies. * DumpRenderTree/mac/DumpRenderTreePasteboard.mm: (-[LocalPasteboard pasteboardItems]): 2018-12-17 Ms2ger [GTK][WPE] Need a function to convert internal URI to display ("pretty") URI https://bugs.webkit.org/show_bug.cgi?id=174816 Reviewed by Michael Catanzaro. Add tests for userVisibleString() and (for GTK and WPE) webkit_uri_for_display(). * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/URLHelpers.cpp: Added. (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitGLib/TestWebKitURIUtilities.cpp: Added. (testURIForDisplayUnaffected): (testURIForDisplayAffected): (beforeAll): (afterAll): * TestWebKitAPI/glib/CMakeLists.txt: 2018-12-17 Carlos Garcia Campos [WPE] Add API to notify about frame displayed view backend callback https://bugs.webkit.org/show_bug.cgi?id=192224 Reviewed by Michael Catanzaro. Add a test case to check the new API. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: (testWebViewFrameDisplayed): (beforeAll): * wpe/jhbuild.modules: Bump WPEBackend-fdo to 1.1.0. 2018-12-16 Adrian Perez de Castro Unreviewed build fix after r239253 * gtk/jhbuild.modules: Fix typo in libpsl dependency name. 2018-12-15 Darin Adler Use warning-ignoring macros more consistently and simply https://bugs.webkit.org/show_bug.cgi?id=192743 Reviewed by Mark Lam. * DumpRenderTree/TestNetscapePlugIn/main.cpp: (handleEventCarbon): Use ALLOW_DEPRECATED_DECLARATIONS_BEGIN/END. * DumpRenderTree/mac/TextInputControllerMac.m: (-[TextInputController interpretKeyEvents:withSender:]): Use IGNORE_WARNINGS_BEGIN/END. * WebKitTestRunner/mac/EventSenderProxy.mm: (WTR::EventSenderProxy::mouseForceClick): Use IGNORE_NULL_CHECK_WARNINGS_BEGIN/END. (WTR::EventSenderProxy::startAndCancelMouseForceClick): Ditto. (WTR::EventSenderProxy::mouseForceDown): Ditto. (WTR::EventSenderProxy::mouseForceUp): Ditto. (WTR::EventSenderProxy::mouseForceChanged): Ditto. 2018-12-15 Darin Adler Replace many uses of String::format with more type-safe alternatives https://bugs.webkit.org/show_bug.cgi?id=192742 Reviewed by Mark Lam. * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::cacheTestRunnerCallback): Use makeString. * WebKitTestRunner/TestController.cpp: (WTR::TestController::didReceiveAuthenticationChallenge): Use makeString. (WTR::TestController::downloadDidFail): Use an ASCIILiteral via the _s syntax. 2018-12-15 Adrian Perez de Castro [WPE][GTK] Add libpsl to JHBuild module sets https://bugs.webkit.org/show_bug.cgi?id=192740 Reviewed by Michael Catanzaro. * gtk/jhbuild.modules: Add libpsl module. * wpe/jhbuild.modules: Ditto. 2018-12-14 Alexey Proskuryakov Add a style checker rule for Xcode version macros use https://bugs.webkit.org/show_bug.cgi?id=192703 Reviewed by Alex Christensen. * Scripts/webkitpy/style/checkers/cpp.py: (check_os_version_checks): (process_line): (CppChecker): * Scripts/webkitpy/style/checkers/cpp_unittest.py: (WebKitStyleTest.test_os_version_checks): 2018-12-14 Chris Dumez [PSON] Process-swapping on a loadHTMLString causes duplicate decidePolicyForNavigationAction delegate calls https://bugs.webkit.org/show_bug.cgi?id=192704 Reviewed by Geoffrey Garen. Extend existing API test to reproduce the problem. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-12-14 Chris Dumez [PSON] WebsitePolicies are lost on process-swap https://bugs.webkit.org/show_bug.cgi?id=192694 Reviewed by Brady Eidson. Extend existing API test to reproduce the issue. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: 2018-12-14 Michael Catanzaro [GTK] Error writing data to TLS socket in some sites when using the jhbuild https://bugs.webkit.org/show_bug.cgi?id=192678 Reviewed by Carlos Garcia Campos. Update our ancient versions of libsoup and glib-networking. * gtk/install-dependencies: * gtk/jhbuild.modules: * gtk/patches/libsoup-auth-Fix-async-authentication-when-flag-SOUP_MESSAGE.patch: Removed. * gtk/patches/libsoup-auth-do-not-use-cached-credentials-in-lookup-method-.patch: Removed. * gtk/patches/libsoup-soup-message-io-Do-not-fail-when-there-s-no-empty-li.patch: Removed. * gtk/patches/libsoup-soup-socket-fix-critical-warning-when-the-peer-certi.patch: Removed. * wpe/install-dependencies: * wpe/jhbuild.modules: * wpe/patches/libsoup-soup-socket-fix-critical-warning-when-the-peer-certi.patch: Removed. 2018-12-14 Carlos Garcia Campos [WPE] Use new view state API from libwpe https://bugs.webkit.org/show_bug.cgi?id=191906 Reviewed by Žan Doberšek. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: (beforeAll): Enable /webkit/WebKitWebView/page-visibility in WPE. * TestWebKitAPI/glib/WebKitGLib/TestMain.h: (Test::createWebViewBackend): Make the view initially hidden for consistency with GTK+ tests. * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h: * TestWebKitAPI/glib/WebKitGLib/wpe/WebViewTestWPE.cpp: (WebViewTest::showInWindow): Add wpe_view_activity_state_visible, wpe_view_activity_state_in_window and wpe_view_activity_state_focused state flags. (WebViewTest::hideView): Remove wpe_view_activity_state_visible and wpe_view_activity_state_focused state flags. * wpe/backends/HeadlessViewBackend.cpp: (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): Assume view is always visible, focused and in window. * wpe/backends/WindowViewBackend.cpp: (WPEToolingBackends::WindowViewBackend::WindowViewBackend): Update the view state flags depending on state received in configure callback. * wpe/jhbuild.modules: Bump libwpe to 1.1.0 2018-12-13 Fujii Hironori [WinCairo][Clang] DLLLauncherMain.cpp: warning: unused function 'prependPath' and 'appleApplicationSupportDirectory' https://bugs.webkit.org/show_bug.cgi?id=192688 Reviewed by Ross Kirsling. * win/DLLLauncher/DLLLauncherMain.cpp: (copyEnvironmentVariable): Moved. (getStringValue): Enclosed with #if !defined(WIN_CAIRO). (applePathFromRegistry): Ditto. (appleApplicationSupportDirectory): Ditto. (prependPath): Ditto. 2018-12-13 Don Olmstead Unreviewed. Changed my status to a reviewer. * Scripts/webkitpy/common/config/contributors.json: 2018-12-13 Wenson Hsieh [iOS] Support dropping contact card data (public.vcard) in editable content https://bugs.webkit.org/show_bug.cgi?id=192570 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: Add API tests to verify that registering `MKMapItem`s and `CNContact`s to item providers and dropping them in attachment-enabled rich text editable areas inserts attachment elements (and in the case of `MKMapItem`, additionally inserts a link). * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: (TestWebKitAPI::createMapItemForTesting): (TestWebKitAPI::createContactItemForTesting): Add API tests to verify that dropping map items and contact items into rich and plain editable areas behaves as expected (in the case where a URL is present, e.g. dropping a map item, we insert the URL as an anchor, and when there is no other suitable representation in the item provider, we do nothing at all, which is the case for the dropped `CNContact`). Also, add a test to verify that drag and drop can be used to upload these items as .vcf files. 2018-12-13 Ross Kirsling Unreviewed -- update my status to "reviewer". * Scripts/webkitpy/common/config/contributors.json: 2018-12-13 Youenn Fablet On page close, WebPage::m_userMediaPermissionRequestManager is nullified too early https://bugs.webkit.org/show_bug.cgi?id=192657 Reviewed by Eric Carlson. Add a test that loads a page registering ondevicechange, load another page in the same process, closes the first page. Ensure that the process does not crash in that case. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/UserMedia.cpp: (TestWebKitAPI::TEST): (TestWebKitAPI::didCrashCallback): * TestWebKitAPI/Tests/WebKit/ondevicechange.html: Added. 2018-12-13 Carlos Eduardo Ramalho [GStreamer][JHBuild] update-webkit{gtk,wpe}-libs fails with libfdk-2.0.0 https://bugs.webkit.org/show_bug.cgi?id=192643 Reviewed by Philippe Normand. This problem happens with Arch Linux users which have libfdk-2.0.0 installed (which is anybody with gst-plugins-bad 1.14.4 installed). The problem has already been solved upstream at https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/77. Adding patches while this problem is not in a release yet. * gstreamer/jhbuild.modules: Add patches to fix build of gst-plugins-bad with libfdk-2.0.0. * gstreamer/patches/gst-plugins-bad-0003-fdkaacenc-Remove-MODE_2_1.patch: Added. * gstreamer/patches/gst-plugins-bad-0004-fdkaacdec-Use-WAV-channel-mapping-instead-of-interleave-setting.patch: Added. 2018-12-12 Carlos Garcia Campos [FreeType] Add initial implementation of variation fonts https://bugs.webkit.org/show_bug.cgi?id=192151 Reviewed by Michael Catanzaro. Add cairo patch to avoid crashes. * gtk/jhbuild.modules: * gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added. 2018-12-12 Fujii Hironori [Win][Clang][WebKitLegacy] WebFrame.cpp: warning: delete called on non-final 'WebFrame' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor] https://bugs.webkit.org/show_bug.cgi?id=192618 Reviewed by Alex Christensen. * DumpRenderTree/win/DRTDataObject.cpp: * DumpRenderTree/win/DRTDataObject.h: * DumpRenderTree/win/DRTDesktopNotificationPresenter.h: * DumpRenderTree/win/DRTDropSource.h: * DumpRenderTree/win/EditingDelegate.h: * DumpRenderTree/win/PolicyDelegate.h: * DumpRenderTree/win/UIDelegate.h: 2018-12-12 Ryosuke Niwa Make TextInputController.legacyAttributedString take DOM nodes and offsets https://bugs.webkit.org/show_bug.cgi?id=192653 Reviewed by Wenson Hsieh. Updated TextInputController.legacyAttributedString to take DOM nodes and offsets instead of a DOM Range object in preparation to add layout tests for HTMLConverter which crosses shadow boundaries. * DumpRenderTree/mac/TextInputControllerMac.m: (+[TextInputController isSelectorExcludedFromWebScript:]): Updated the selector signature. (+[TextInputController webScriptNameForSelector:]): Ditto. (-[TextInputController legacyAttributedString:offset:to:offset:]): Made this function take start node and offset then end node and offset pairs. 2018-12-12 Alex Christensen Implement safe browsing in WebKit on WatchOS https://bugs.webkit.org/show_bug.cgi?id=192641 Reviewed by Geoff Garen. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (-[SafeBrowsingNavigationDelegate _webViewDidShowSafeBrowsingWarning:]): (safeBrowsingView): Add a test that the new delegate callback is called. 2018-12-12 Michael Catanzaro Unreviewed manual rollout of r239100-r239102 and r239116 https://bugs.webkit.org/show_bug.cgi?id=192151 * gtk/jhbuild.modules: * gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Removed. 2018-12-12 Commit Queue Unreviewed, rolling out r239103. https://bugs.webkit.org/show_bug.cgi?id=192627 It broke the built because it depends on another patch that didn't land yet (Requested by KaL on #webkit). Reverted changeset: "[WPE] Add API to notify about frame displayed view backend callback" https://bugs.webkit.org/show_bug.cgi?id=192224 https://trac.webkit.org/changeset/239103 2018-11-30 Carlos Garcia Campos [WPE] Add API to notify about frame displayed view backend callback https://bugs.webkit.org/show_bug.cgi?id=192224 Reviewed by Michael Catanzaro. Add a test case to check the new API. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: (testWebViewFrameDisplayed): (beforeAll): 2018-12-12 Carlos Garcia Campos [FreeType] Add initial implementation of variation fonts https://bugs.webkit.org/show_bug.cgi?id=192151 Reviewed by Michael Catanzaro. Add cairo patch to avoid crashes. * gtk/jhbuild.modules: * gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added. 2018-12-11 Justin Michaud Implement feature flag for CSS Typed OM https://bugs.webkit.org/show_bug.cgi?id=192610 Reviewed by Ryosuke Niwa. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2018-12-11 Chris Dumez Unreviewed, fix bad check in API test added in r239080. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-12-11 Fujii Hironori [Win][Clang] Fix warning -Wmissing-field-initializers https://bugs.webkit.org/show_bug.cgi?id=192584 Reviewed by Yusuke Suzuki. Initialize a struct with '{ }' instead of '= {0}'. * DumpRenderTree/win/DumpRenderTree.cpp: (runTest): * DumpRenderTree/win/EventSender.cpp: (makeMsg): (replaySavedEvents): (beginDragWithFilesCallback): * DumpRenderTree/win/PixelDumpSupportWin.cpp: (createBitmapContextFromWebView): * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp: (updateMenuItemForHistoryItem): * MiniBrowser/win/WinMain.cpp: (wWinMain): * TestWebKitAPI/win/HostWindow.cpp: (TestWebKitAPI::HostWindow::clientRect const): (TestWebKitAPI::HostWindow::registerWindowClass): * TestWebKitAPI/win/PlatformWebViewWin.cpp: (TestWebKitAPI::PlatformWebView::registerWindowClass): * WebKitTestRunner/win/PlatformWebViewWin.cpp: (WTR::registerWindowClass): (WTR::PlatformWebView::windowFrame): (WTR::PlatformWebView::windowSnapshotImage): 2018-12-11 Chris Dumez PSON logic gets confused by concurrent decidePolicyForNavigationAction requests https://bugs.webkit.org/show_bug.cgi?id=192482 Reviewed by Antti Koivisto. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-12-11 Andy Estes Introduce makeBlockPtr for lambdas https://bugs.webkit.org/show_bug.cgi?id=192594 Reviewed by Alex Christensen. Adopted makeBlockPtr and added API tests. * DumpRenderTree/TestRunner.cpp: (TestRunner::callUIScriptCallback): * TestWebKitAPI/Tests/WTF/BlockPtr.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm: (-[DownloadProgressTestRunner init]): (-[DownloadProgressTestRunner subscribeAndWaitForProgress]): 2018-12-11 Chris Dumez REGRESSION (r238764-238783): TestWTF.WTF.StringOperators is failing https://bugs.webkit.org/show_bug.cgi?id=192361 Reviewed by Alex Christensen. Compile StringOperators.cpp with -O1 optimization level instead of -Os. This fixes the failures for me locally. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: 2018-12-11 Philippe Normand Unreviewed, WPE build fix after r239028 The FLATPAK_USER_DIR env var is not set early enough, leading to: Traceback (most recent call last): File "/home/phil/WebKit/Tools/Scripts/webkit-flatpak", line 28, in sys.exit(WebkitFlatpak.load_from_args().run()) File "/home/phil/WebKit/Tools/flatpak/flatpakutils.py", line 761, in run if not self.clean_args(): File "/home/phil/WebKit/Tools/flatpak/flatpakutils.py", line 574, in clean_args _log.debug("Using flatpak user dir: %s" % os.environ["FLATPAK_USER_DIR"]) File "/usr/lib/python2.7/UserDict.py", line 40, in __getitem__ raise KeyError(key) KeyError: 'FLATPAK_USER_DIR' * flatpak/flatpakutils.py: (WebkitFlatpak.clean_args): 2018-12-10 Don Olmstead Move ENABLE_RESOURCE_LOAD_STATISTICS to FeatureDefines.xcconfig https://bugs.webkit.org/show_bug.cgi?id=192573 Reviewed by Simon Fraser. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2018-12-10 Don Olmstead [CMake] Add ENABLE_RESOURCE_LOAD_STATISTICS to WebKitFeatures.cmake https://bugs.webkit.org/show_bug.cgi?id=192574 Reviewed by Michael Catanzaro. * Scripts/webkitperl/FeatureList.pm: 2018-12-10 Don Olmstead Sync FeatureList.pm https://bugs.webkit.org/show_bug.cgi?id=192565 Reviewed by Michael Catanzaro. * Scripts/webkitperl/FeatureList.pm: 2018-12-10 Wenson Hsieh [iOS] Unable to upload data that conforms to "public.item" but not "public.content" https://bugs.webkit.org/show_bug.cgi?id=192555 Reviewed by Tim Horton. Add a test to verify that `.p12` files may be uploaded as files via drag and drop. "com.rsa.pkcs-12" is an example of a data type that conforms to "public.item", but not "public.content"; before this patch, we would only support uploading "public.content", so files such as these would not be accepted when dropping into file inputs, or be exposed as files on DataTransfer. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: (TestWebKitAPI::TEST): 2018-12-10 David Kilzer Injected bundle for WebKitTestRunner leaks WKTypeRef objects Follow-up to address Darin's feedback. * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::shouldDumpPixels const): (WTR::TestRunner::whatToDump const): (WTR::TestRunner::shouldWaitUntilDone const): (WTR::TestRunner::shouldDumpFrameLoadCallbacks): (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const): (WTR::TestRunner::secureEventInputIsEnabled const): (WTR::TestRunner::isStatisticsPrevalentResource): (WTR::TestRunner::isStatisticsVeryPrevalentResource): (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder): (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder): (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo): (WTR::TestRunner::isStatisticsHasHadUserInteraction): (WTR::TestRunner::isStatisticsGrandfathered): (WTR::TestRunner::hasDOMCache): (WTR::TestRunner::keyExistsInKeychain): 2018-12-10 Jonathan Bedard webkitpy: Ref tests don't respect platform specific expectations https://bugs.webkit.org/show_bug.cgi?id=192515 Reviewed by Lucas Forschler. * Scripts/webkitpy/port/base.py: (Port._expected_baselines_for_suffixes): Accept multiple suffixes so ref tests can use this function. (Port.expected_baselines): Move implementation to _expected_baselines_for_suffixes. (Port.expected_filename): Remove irrelevant FIXME, code clean-up. (Port.reference_files): Instead of just searching a single directory, use _expected_baselines_for_suffixes to search all platform expectations as well. * Scripts/webkitpy/port/base_unittest.py: (test_ref_tests_platform_directory): 2018-12-10 Chris Dumez Add SPI to allow the client to set the user-agent at main frame level, from the UIProcess https://bugs.webkit.org/show_bug.cgi?id=192509 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (-[DataMappingSchemeHandler addMappingFromURLString:toData:]): (-[DataMappingSchemeHandler webView:startURLSchemeTask:]): (-[DataMappingSchemeHandler webView:stopURLSchemeTask:]): (-[CustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): (-[CustomUserAgentDelegate webView:didFinishNavigation:]): 2018-12-10 Wenson Hsieh [iOS] Caret is obscured by finger when dragging over an editable element https://bugs.webkit.org/show_bug.cgi?id=192499 Reviewed by Tim Horton. Augment some existing API tests to check that the `precise` flag is either on or off on `UIDropProposal`. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: * TestWebKitAPI/cocoa/DragAndDropSimulator.h: * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[DragAndDropSimulator _resetSimulatedState]): (-[DragAndDropSimulator lastKnownDropProposal]): Rename `currentDropProposal` to `lastKnownDropProposal`, and expose it as a readonly property. (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]): (-[DragAndDropSimulator _advanceProgress]): (-[DragAndDropSimulator setShowCustomActionSheetBlock:]): (-[DragAndDropSimulator showCustomActionSheetBlock]): (-[DragAndDropSimulator setConvertItemProvidersBlock:]): (-[DragAndDropSimulator convertItemProvidersBlock]): (-[DragAndDropSimulator setOverridePerformDropBlock:]): (-[DragAndDropSimulator overridePerformDropBlock]): (-[DragAndDropSimulator setOverrideDragUpdateBlock:]): (-[DragAndDropSimulator overrideDragUpdateBlock]): (-[DragAndDropSimulator setDropCompletionBlock:]): (-[DragAndDropSimulator dropCompletionBlock]): Refactor these properties to return and take normal Objective-C blocks, rather than `BlockPtr`s. However, use `BlockPtr` instance variables to manage the lifetimes of these blocks. (-[DragAndDropSimulator _webView:willUpdateDropProposalToProposal:forSession:]): (-[DragAndDropSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]): Deleted. Update this to use the new WebKit delegate hook for overriding the drop proposal. 2018-12-10 Michael Catanzaro [WPE][GTK] run-minibrowser improperly creates webkit-flatpak environment https://bugs.webkit.org/show_bug.cgi?id=190241 Reviewed by Carlos Garcia Campos. run-minibrowser calls into webkit-flatpak to check if a flatpak environment is available. Currently this actually creates the directories needed for the flatpak environment. Fix it. * flatpak/flatpakutils.py: (WebkitFlatpak.clean_args): (WebkitFlatpak.run): 2018-12-10 Michael Catanzaro [GTK] Don't use the slice allocator https://bugs.webkit.org/show_bug.cgi?id=192360 Reviewed by Carlos Garcia Campos. * MiniBrowser/gtk/main.c: (aboutDataRequestFree): (aboutDataRequestNew): 2018-12-10 Tim Horton WKWebView should support custom tintColor https://bugs.webkit.org/show_bug.cgi?id=192518 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm: (TestWebKitAPI::TEST): Add a test that tintColor affects UITextInputTraits' interaction colors. 2018-12-09 Wenson Hsieh [iOS] DragAndDropTests.RespectsExternalSourceFidelityRankings is flaky https://bugs.webkit.org/show_bug.cgi?id=192524 Reviewed by Ryosuke Niwa. This test started failing on certain builds of iOS where UIKit now attempts to reveal the selection by scrolling (see ). This API test simulates two drops from external sources, both from the point (300, 400) to (100, 300) in window coordinates. On these aforementioned builds of iOS, what happens is that the first drop inserts text that overflows the editable region by an enormous amount, which creates an extremely wide selection rect and increases the width of the document; revealing this selection causes the web view to scroll horizontally, such that the second attempt to simulate a drag from (300, 400) to (100, 300) fails, since these window coordinates no longer correspond to the drop destination element in the document. To fix this test, we simply mark the drop destination as `overflow: hidden` to ensure that we don't try and scroll horizontally after the first drop. * TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html: 2018-12-08 Daniel Bates Fix lldb_webkit.py following r238771 (https://bugs.webkit.org/show_bug.cgi?id=190234) Substitute WTFURLProvider for WebCoreURLProvider in one call site that was inadvertently missed in r238771. * lldb/lldb_webkit.py: (WebCoreDocumentProvider.url): 2018-12-07 Aakash Jain [ews-build] check-patch-relevance failure should not mark the overall build as failure https://bugs.webkit.org/show_bug.cgi?id=192510 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (CheckPatchRelevance.start): 2018-12-07 Chris Dumez ProcessSwap.UseSessionCookiesAfterProcessSwapInPrivateBrowsing API test is failing https://bugs.webkit.org/show_bug.cgi?id=192362 Reviewed by Ryosuke Niwa. Move the call to _setCookieAcceptPolicy *after* we've constructed a WKWebView and thus *after* we know for sure we have a network process to communicate the policy to. This should address the failures on iOS. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-12-07 Jiewen Tan Add keychain access entitlement to WebKitTestRunnerApp https://bugs.webkit.org/show_bug.cgi?id=192489 Reviewed by Alexey Proskuryakov. * WebKitTestRunner/Configurations/WebKitTestRunnerApp-iOS.entitlements: 2018-12-07 Saam Barati WKWebProcessPlugInLoadDelegate should have API for saying which rendering events it wants to listen for https://bugs.webkit.org/show_bug.cgi?id=192473 Reviewed by Andy Estes. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgress.mm: Added. (-[DidFirstMeaningfulPaintRemoteObject didFirstMeaningfulPaint]): (TEST): * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressPlugIn.mm: Added. (-[RenderingProgressPlugIn webProcessPlugIn:didCreateBrowserContextController:]): (-[RenderingProgressPlugIn webProcessPlugInBrowserContextControllerRenderingProgressEvents:]): (-[RenderingProgressPlugIn webProcessPlugInBrowserContextController:renderingProgressDidChange:]): * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressProtocol.h: Added. 2018-12-07 Jonathan Bedard REGRESSION: run-webkit-tests may fail when using booted simulators (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=192470 Unreviewed infrastructure fix. * Scripts/webkitpy/port/device_port.py: (DevicePort.setup_test_run): Check that the number of initialized devices matches the number of child processes. 2018-12-07 Aakash Jain [ews-app] Send bug id as a build property https://bugs.webkit.org/show_bug.cgi?id=192494 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/fetcher.py: (BugzillaPatchFetcher.fetch): 2018-12-07 Aakash Jain [ews-build] Builds should have a link to patch and bug https://bugs.webkit.org/show_bug.cgi?id=192492 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-build/steps.py: (ConfigureBuild.add_patch_id_url): Method to add Patch URL. (ConfigureBuild.add_bug_id_url): Method to add Bug URL. (ConfigureBuild.getPatchURL): Method to get Patch URL. (ConfigureBuild.getBugURL): Method to get Bug URL. 2018-12-07 Aakash Jain [ews-app] Configure logfile for ews-app logs https://bugs.webkit.org/show_bug.cgi?id=192493 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/__init__.py: 2018-12-07 Aakash Jain Style queue exception on some security bugs https://bugs.webkit.org/show_bug.cgi?id=190793 Reviewed by Lucas Forschler. * Scripts/webkitpy/tool/steps/applywatchlist.py: (ApplyWatchList.run): 2018-12-07 Wenson Hsieh [Attachment Support] Cloned attachment elements lose their unique identifiers https://bugs.webkit.org/show_bug.cgi?id=192483 Reviewed by Tim Horton. Introduce a new API test. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): 2018-12-06 Jonathan Bedard Consecutive DumpRenderTree crashes are happening again on WinCairo BuildBots since r238903 https://bugs.webkit.org/show_bug.cgi?id=192486 Unreviewed infrastructure fix. WinCairo bots define WEBKIT_TEST_CHILD_PROCESSES to run less processes due to RAM restrictions. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options): 2018-12-06 David Kilzer Injected bundle for WebKitTestRunner leaks WKTypeRef objects Reviewed by Simon Fraser. This patch: - Fixes leaks in various injected bundle methods that return +1 retained WKTypeRef objects via pointer. - Asserts the returned object is the expected WKTypeRef. - Replaces 0 with nullptr in many places. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didCreatePage): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::shouldDumpPixels const): (WTR::TestRunner::whatToDump const): (WTR::TestRunner::shouldWaitUntilDone const): (WTR::TestRunner::shouldDumpFrameLoadCallbacks): (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const): (WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation): (WTR::TestRunner::secureEventInputIsEnabled const): (WTR::TestRunner::isStatisticsPrevalentResource): (WTR::TestRunner::isStatisticsVeryPrevalentResource): (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder): (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder): (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo): (WTR::TestRunner::isStatisticsHasHadUserInteraction): (WTR::TestRunner::isStatisticsGrandfathered): (WTR::TestRunner::statisticsProcessStatisticsAndDataRecords): (WTR::TestRunner::statisticsUpdateCookieBlocking): (WTR::TestRunner::statisticsSubmitTelemetry): (WTR::TestRunner::statisticsClearInMemoryAndPersistentStore): (WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval): (WTR::TestRunner::statisticsResetToConsistentState): (WTR::TestRunner::getAllStorageAccessEntries): (WTR::TestRunner::hasDOMCache): (WTR::TestRunner::domCacheSize): (WTR::TestRunner::injectUserScript): (WTR::TestRunner::keyExistsInKeychain): 2018-12-06 Jonathan Bedard REGRESSION: run-webkit-tests may fail when using booted simulators https://bugs.webkit.org/show_bug.cgi?id=192470 Reviewed by Lucas Forschler. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.run): Logging uses the number of child processes to print out information about how efficiently tests were sharded after the fact. This number is the most meaningful if it is the maximum number of child processes used. * Scripts/webkitpy/port/base.py: (Port.max_child_processes): By default, Ports do not support running on any specific kind of device. * Scripts/webkitpy/port/device_port.py: (DevicePort.default_child_processes): Rather than using the currently initialized devices as a proxy for how many child processes are being used, check the device manager every time. Regardless of which devices are attached or available, iOS cannot boot watchOS devices and vice-versa. dedicated_simulators is not a known argument to device_count_for_type, use use_booted_simulator instead. (DevicePort.max_child_processes): Simulators can boot more devices than what is specified by device_count_for_type, but, if no devices are available, then max_child_processes should return 0 even for simulators. * Scripts/webkitpy/port/ios_device_unittest.py: (IOSDeviceTest): (IOSDeviceTest.test_max_child_processes): * Scripts/webkitpy/port/ios_simulator_unittest.py: (IOSSimulatorTest): (IOSSimulatorTest.test_max_child_processes): * Scripts/webkitpy/port/port_testcase.py: (PortTestCase): (PortTestCase.test_max_child_processes): * Scripts/webkitpy/port/watch_simulator_unittest.py: (WatchSimulatorTest): (WatchSimulatorTest.test_max_child_processes): 2018-12-06 Jonathan Bedard webkitpy: Ignore case when comparing device types (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=192409 Unreviewed typo fix. * Scripts/webkitpy/xcode/device_type_unittest.py: (DeviceTypeTest.test_comparison_lower_case): (DeviceTypeTest.test_comparsion_lower_case): Deleted. 2018-12-06 Jonathan Bedard webkitpy: Create device given lower-case DeviceType Reviewed by Lucas Forschler. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDeviceManager._get_device_identifier_for_type): Comparing simctl device identifiers with DeviceTypes should be letter-case agnostic. * Scripts/webkitpy/xcode/simulated_device_unittest.py: (test_lower_case_device_type): 2018-12-06 Wenson Hsieh [iOS] WKWebView should match UITextView behavior when editing text with an RTL keyboard https://bugs.webkit.org/show_bug.cgi?id=187554 Reviewed by Tim Horton. Add support for simulating the keyboard input mode in layout tests using UIScriptController, as well as a new `TestOption` to make the web view editable. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::setKeyboardInputModeIdentifier): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::setKeyboardInputModeIdentifier): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/PlatformWebView.h: * WebKitTestRunner/TestController.cpp: (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestController.h: (WTR::TestController::overriddenKeyboardInputMode const): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp: (WTR::PlatformWebView::setEditable): * WebKitTestRunner/ios/PlatformWebViewIOS.mm: (WTR::PlatformWebView::setEditable): * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::swizzleCurrentInputMode): (WTR::TestController::setKeyboardInputModeIdentifier): Swizzle out several `UIKeyboardInputModeController` methods in order to convince UIKit that the user has selected a `UIKeyboardInputMode` corresponding to the given identifier. The call to `-prepareKeyboardInputModeFromPreferences:` is also necessary on iOS 12 in order to update cached writing direction state in UIKit. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::setKeyboardInputModeIdentifier): * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::setEditable): * WebKitTestRunner/win/PlatformWebViewWin.cpp: (WTR::PlatformWebView::setEditable): * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp: (WTR::PlatformWebView::setEditable): 2018-12-05 Wenson Hsieh [Cocoa] Share ClassMethodSwizzler and InstanceMethodSwizzler between TestWebKitAPI and WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=192437 Reviewed by Tim Horton. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * TestRunnerShared/cocoa/ClassMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.h. * TestRunnerShared/cocoa/ClassMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.mm. (ClassMethodSwizzler::ClassMethodSwizzler): (ClassMethodSwizzler::~ClassMethodSwizzler): * TestRunnerShared/cocoa/InstanceMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.h. * TestRunnerShared/cocoa/InstanceMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.mm. (InstanceMethodSwizzler::InstanceMethodSwizzler): (InstanceMethodSwizzler::~InstanceMethodSwizzler): Move these swizzling helper classes into TestRunnerShared. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/LocalStorageClear.mm: * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (safeBrowsingView): * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDefaultNavigationDelegate.mm: * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[TestWKWebView initWithFrame:configuration:addToWindow:]): Remove namespacing around ClassMethodSwizzler and InstanceMethodSwizzler in a few API tests. * TestWebKitAPI/mac/TestFontOptions.mm: * WebKitTestRunner/TestController.h: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::ClassMethodSwizzler::ClassMethodSwizzler): Deleted. (WTR::ClassMethodSwizzler::~ClassMethodSwizzler): Deleted. Remove this duplicate implementation of ClassMethodSwizzler in WebKitTestRunner. 2018-12-05 Jonathan Bedard webkitpy: Clean-up apple_additions https://bugs.webkit.org/show_bug.cgi?id=192413 Reviewed by Lucas Forschler. After the addition of watchOS, some functions which were originally iOS specific were generalized to include all devices. * Scripts/webkitpy/port/ios_device.py: (IOSDevicePort._driver_class): Replace iOS specific call with generalized device call. (IOSDevicePort.path_to_crash_logs): Ditto. (IOSDevicePort.clean_up_test_run): Ditto. 2018-12-05 Jonathan Bedard webkitpy: Ignore case when comparing device types https://bugs.webkit.org/show_bug.cgi?id=192409 Reviewed by Lucas Forschler. This allows DeviceTypes constructed with lowercase strings to correctly compare against DeviceTypes coming from the simulator runtime. * Scripts/webkitpy/xcode/device_type.py: (DeviceType.__eq__): (DeviceType.__contains__): * Scripts/webkitpy/xcode/device_type_unittest.py: (DeviceTypeTest): (DeviceTypeTest.test_comparsion_lower_case): 2018-12-05 Jonathan Bedard webkitpy: Sort tests by associated device type https://bugs.webkit.org/show_bug.cgi?id=192161 Reviewed by Lucas Forschler. Sort tests by device type and make an effort to run each specified device type. Do not run tests if their specified device is not available. * Scripts/webkitpy/common/system/platforminfo.py: (PlatformInfo.is_watchos): Add watchos bits to platform info. (PlatformInfo._determine_os_name): Ditto. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.run): Assign each test a device type. Then, generate a list of device types to sequentially iterate through. Note that a test will run on the first device which matches. (Manager._end_test_run): Handle the case where no devices are available and no tests are run. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (_set_up_derived_options): Manage child processes in manager. * Scripts/webkitpy/port/base.py: (Port): (Port.default_child_processes): Accept additional arguments. (Port.max_child_processes): Add upper limit for number of child processes. * Scripts/webkitpy/port/device_port.py: (DevicePort): (DevicePort._device_type_with_version): Adds version to the DeviceType. (DevicePort.default_child_processes): Allows default_child_processes to be attached to a device type. (DevicePort.max_child_processes): Add upper limit to the maximum number of child processes. (DevicePort.setup_test_run): Use _device_type_with_version. * Scripts/webkitpy/port/ios_device.py: (IOSDevicePort): (IOSDevicePort.default_child_processes): Deleted. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort.default_child_processes): Deleted. (IOSSimulatorPort.check_sys_deps): Deleted. * Scripts/webkitpy/port/mac.py: (MacPort.default_child_processes): Accept additional arguments. * Scripts/webkitpy/port/test.py: * Scripts/webkitpy/port/watch_device.py: (WatchDevicePort): (WatchDevicePort.default_child_processes): Deleted. * Scripts/webkitpy/port/watch_simulator.py: (WatchSimulatorPort.default_child_processes): Deleted. (WatchSimulatorPort.check_sys_deps): Deleted. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDeviceManager): (SimulatedDeviceManager.device_count_for_type): Count the number of devices available for a specific device type. 2018-12-05 Devin Rousso Unreviewed, add myself to some watch lists. * Scripts/webkitpy/common/config/watchlist: 2018-12-05 Alicia Boya García [MSE][GStreamer] Remove the AppendPipeline state machine https://bugs.webkit.org/show_bug.cgi?id=192204 Reviewed by Xabier Rodriguez-Calvar. Updated AbortableTaskQueue tests: Added test: AbortedBySyncTaskHandler. Renamed test: AbortDuringSyncTask -> AbortBeforeSyncTaskRun (in order to avoid confusion with the new test). Added checks for the correct destruction of response objects. * TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp: (TestWebKitAPI::FancyResponse::FancyResponse): (TestWebKitAPI::FancyResponse::~FancyResponse): (TestWebKitAPI::TEST): 2018-12-04 Chris Dumez ProcessSwap.UseSessionCookiesAfterProcessSwapInPrivateBrowsing API test is failing https://bugs.webkit.org/show_bug.cgi?id=192362 Reviewed by Alex Christensen. Set the cookie policy to Accept to make sure the cookies are saved. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-12-04 Michael Catanzaro [WPE][GTK] Update GLib https://bugs.webkit.org/show_bug.cgi?id=191222 Reviewed by Žan Doberšek. When I try running API tests locally, they crash with: GLib-GIO-WARNING **: unknown schema extension 'd' We need to update our old glib to support the 'd' value type, otherwise schemas that may exist on the host using this type will cause instant crashes. Also, switch the GLib build to use meson. This requires updating meson as well. * gtk/jhbuild.modules: * gtk/patches/glib-cast-function-type.patch: Removed. * gtk/patches/glib-gtester-do-not-consider-skipped-tests-as-failures.patch: Removed. * wpe/jhbuild.modules: * wpe/patches/glib-cast-function-type.patch: Removed. * wpe/patches/glib-revert-wakeup-changes.patch: Removed. 2018-12-04 Aakash Jain [ews-app] Run BugzillaPatchFetcher periodically https://bugs.webkit.org/show_bug.cgi?id=192241 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/__init__.py: * BuildSlaveSupport/ews-app/ews/apps.py: (EwsConfig.ready): This method is called by Django on startup. * BuildSlaveSupport/ews-app/ews/fetcher.py: (FetchLoop): Class which invokes BugzillaPatchFetcher every 60s. 2018-12-04 Jonathan Bedard webkitpy: Support unicode in MeteredStream https://bugs.webkit.org/show_bug.cgi?id=192260 Reviewed by Aakash Jain. It's possible that the test runner returns unicode characters to be logged when running layout tests. * Scripts/webkitpy/layout_tests/views/metered_stream.py: (MeteredStream.write): Print message without attempting to encode/decode it. * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py: (RegularTest.test_unicode): 2018-12-04 Keith Rollin Update scripts for generating .xcfilelist files https://bugs.webkit.org/show_bug.cgi?id=192081 Reviewed by Brent Fulgham. The initial pass at generate-xcfilelists (a script for creating/updating the .xcfilelist files needed for various Generate Foo Source build phases in Xcode) only generated the .xcfilelist files that held the output files; it did not generate the list of input files. As well, for the sources generated by DerivedSources.make makefiles, the script accomplished this via the implementation of a convention in the makefile that allowed the printing of these output files when invoked with the 'print_all_generated_files' target. Use of this convention is inconvenient and error-prone. The script is now updated to address both of these issues. First, it generates for the input and output sets of files. Second, it does away with the convention in the DerivedSources.make makefiles and instead works from the dependency output information printed when `make` is invoked with --debug. This second part is implemented in the new script extract-dependencies-from-makefile. * Scripts/extract-dependencies-from-makefile: Added. (Parser): (Parser.__init__): (Parser.nextLine): (Parser.addTarget): (Parser.addPrereq): (Parser.doParse): (Parser.printInputs): (Parser.printOutputs): (parseArgs): (main): * Scripts/generate-xcfilelists: 2018-12-04 Carlos Eduardo Ramalho [WPE] Add gtk-doc https://bugs.webkit.org/show_bug.cgi?id=178900 Reviewed by Michael Catanzaro. Add gtk-doc to WPE port. This patch tries to reuse as much code from WebKitGTK+ as possible. * gtkdoc/generate-gtkdoc: Renamed from Tools/gtk/generate-gtkdoc. (get_gtkdoc_module_paths): Add GDK and GTK only if building for GTK. (prepare_environment_for_gtkdoc_generation): (build_gtkdoc_for_wpe): Code to generate doc for WPE. (build_gtkdoc_for_wkgtk): Code to generate doc for WebKitGTK+. Moved from main. * gtkdoc/gtkdoc.py: Renamed from Tools/gtk/gtkdoc.py. (GTKDoc.__init__): Initialized required variables according to pylint. (GTKDoc.api_missing_documentation): * wpe/install-dependencies: Add gtkdoc dependency. 2018-12-04 Carlos Garcia Campos [SOUP] Move URLSoup back to WebCore after r238771 https://bugs.webkit.org/show_bug.cgi?id=192306 Reviewed by Michael Catanzaro. Include GUniquePtrSoup from WebCore again. * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp: 2018-12-03 Carlos Garcia Campos [GTK] Bump freetype, fontconfig, harfbuzz, cairo and icu in jhbuild https://bugs.webkit.org/show_bug.cgi?id=192310 Reviewed by Michael Catanzaro. Update those dependencies to their latest stable versions. * gtk/jhbuild.modules: 2018-12-03 Tomas Popela [GTK] Can't run MiniBrowser due to missing python2-yaml https://bugs.webkit.org/show_bug.cgi?id=192308 Reviewed by Michael Catanzaro. * gtk/install-dependencies: 2018-12-03 Chris Dumez Regression(PSON) Google OAuth is broken in private sessions https://bugs.webkit.org/show_bug.cgi?id=192337 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/GetSessionCookie.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: * TestWebKitAPI/Tests/WebKitCocoa/SetSessionCookie.html: Added. 2018-12-03 Chris Dumez [PSON] Request by the client to process-swap is ignored if the window has an opener https://bugs.webkit.org/show_bug.cgi?id=192267 Reviewed by Brady Eidson. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-12-03 Keith Rollin Add .xcfilelist files https://bugs.webkit.org/show_bug.cgi?id=192082 Reviewed by Brent Fulgham. Add .xcfilelist files for Generate Derived Sources and Generate Unified Sources build phases in Xcode. These are just being staged for now; they'll be added to the Xcode projects later. * DumpRenderTree/DerivedSources-input.xcfilelist: Added. * DumpRenderTree/DerivedSources-output.xcfilelist: Added. * WebKitTestRunner/DerivedSources-input.xcfilelist: Added. * WebKitTestRunner/DerivedSources-output.xcfilelist: Added. 2018-12-03 Alex Christensen Add WKWebProcessPlugInLoadDelegate SPI willStartProvisionalLoadForFrame with a completion handler https://bugs.webkit.org/show_bug.cgi?id=192272 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm: (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]): (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]): 2018-12-03 Wenson Hsieh [iOSMac] Unable to upload non-image files using drag and drop in WKWebView https://bugs.webkit.org/show_bug.cgi?id=192283 Reviewed by Ryosuke Niwa. Add a new API test to check that an item provider which contains plain text data and a file URL (but is not marked as an attachment) is still treated as an attachment upon drop. Furthermore, verify that "text/uri-list" does not expose the actual file URL written to the item provider. Additionally, rebaseline an existing API test to remove an extraneous "text/uri-list" type that appears in `DataTransfer.types`, but whose data is inaccessible via `getData` anyways. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: 2018-12-01 Don Olmstead Cleanup WebKit Features https://bugs.webkit.org/show_bug.cgi?id=192262 Reviewed by Michael Catanzaro. Removes obsolete ENABLE options and variable names. Syncs the option's descriptions with what is present in WebKitFeatures.cmake. Sorts the options based on the associated define. * Scripts/webkitperl/FeatureList.pm: 2018-12-01 Chris Dumez [PSON] process-swapping may occur even though opener has handle to openee https://bugs.webkit.org/show_bug.cgi?id=192277 Reviewed by Antti Koivisto. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-12-01 Jonathan Bedard Unreviewed, rolling out r238764. Breaks existing layout tests Reverted changeset: "webkitpy: Support unicode in MeteredStream" https://bugs.webkit.org/show_bug.cgi?id=192260 https://trac.webkit.org/changeset/238764 2018-12-01 Yusuke Suzuki Move URL tests from TestWebKitAPI to TestWTF https://bugs.webkit.org/show_bug.cgi?id=192275 Reviewed by Keith Miller. Since URL is moved from WebCore to WTF, we also move tests for them from TestWebKitAPI (TestWebCore) to TestWTF. But we still have some tests in TestWebCore since only WebCore implements TextEncoding. That part is now decoupled from URLParser tests and new URLParserTextEncoding.cpp is created. * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/PlatformWPE.cmake: * TestWebKitAPI/PlatformWin.cmake: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/URL.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URL.cpp. (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WTF/URLParser.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp. (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm. (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp: Added. (TestWebKitAPI::ExpectedParts::isInvalid const): (TestWebKitAPI::eq): (TestWebKitAPI::insertTabAtLocation): (TestWebKitAPI::invalidParts): (TestWebKitAPI::checkURL): (TestWebKitAPI::TEST_F): 2018-11-30 Zalan Bujtas Unreviewed LFC passing test list update. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-30 Alex Christensen Move URL from WebCore to WTF https://bugs.webkit.org/show_bug.cgi?id=190234 Reviewed by Keith Miller. * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp: * TestWebKitAPI/Tests/WebCore/URL.cpp: (TestWebKitAPI::createURL): (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/URLParser.cpp: (TestWebKitAPI::checkURL): (TestWebKitAPI::checkRelativeURL): (TestWebKitAPI::checkURLDifferences): (TestWebKitAPI::checkRelativeURLDifferences): * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp: * TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp: * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm: (TestWebKitAPI::originalDataAsString): (TestWebKitAPI::userVisibleString): (TestWebKitAPI::literalURL): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm: (literalURL): * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp: * TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm: (-[LoadInvalidURLWebFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]): * TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm: * TestWebKitAPI/win/PlatformUtilitiesWin.cpp: (TestWebKitAPI::Util::createURLForResource): * lldb/lldb_webkit.py: (__lldb_init_module): (WTFURL_SummaryProvider): (WTFURLProvider): (WebCoreURL_SummaryProvider): Deleted. (WebCoreURLProvider): Deleted. (WebCoreURLProvider.__init__): Deleted. (WebCoreURLProvider.to_string): Deleted. 2018-11-30 Jonathan Bedard webkitpy: Support unicode in MeteredStream https://bugs.webkit.org/show_bug.cgi?id=192260 Reviewed by Stephanie Lewis. It's possible that the test runner returns unicode characters to be logged when running layout tests. * Scripts/webkitpy/layout_tests/views/metered_stream.py: (MeteredStream.write): Message written to metered stream should be unicode. * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py: (RegularTest.test_unicode): 2018-11-30 Jonathan Bedard REGRESSION (r238749): run-api-tests dies with AttributeError: 'IOSSimulatorPort' object has no attribute 'DEFAULT_DEVICE_CLASS' https://bugs.webkit.org/show_bug.cgi?id=192257 Reviewed by Stephanie Lewis. Follow-up fix for r238749. * Scripts/webkitpy/api_tests/manager.py: (Manager._initialize_devices): Use DEFAULT_DEVICE_TYPE instead of DEFAULT_DEVICE_CLASS. 2018-11-30 Chris Dumez [PSON] We are sometimes swapping processes even though there is an opened window with an opener link to us https://bugs.webkit.org/show_bug.cgi?id=192242 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-11-30 Don Olmstead Rename ENABLE_SUBTLE_CRYPTO to ENABLE_WEB_CRYPTO https://bugs.webkit.org/show_bug.cgi?id=192197 Reviewed by Jiewen Tan. * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2018-11-30 Dean Jackson Add first-class support for .mjs files in jsc binary https://bugs.webkit.org/show_bug.cgi?id=192190 Reviewed by Keith Miller. Add .mjs files to the regexp looking for all JS files. * Scripts/run-jsc-stress-tests: 2018-11-30 Jonathan Bedard webkitpy: Use DeviceType instead of str to represent device class https://bugs.webkit.org/show_bug.cgi?id=192160 Rubber-stamped by Aakash Jain. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager._custom_device_for_test): Use DeviceTypes instead of strings to represent device type. (Manager._set_up_run): Do not set _options.device_class, use device_type instead of device_class. (Manager.run): Use device_type instead of device_class. (Manager._print_expectations_for_subset): Ditto. (Manager.print_expectations): Ditto. * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: (ManagerTest.test_uses_custom_device): Use DeviceType and actual device definition. * Scripts/webkitpy/layout_tests/views/printing.py: (Printer.print_workers_and_shards): Outputting the device suffix doesn't really help, and means device type needs to be passed around. * Scripts/webkitpy/port/apple.py: (ApplePort.setup_test_run): Use device_type instead of device_class. * Scripts/webkitpy/port/base.py: (Port): (Port.setup_test_run): Use device_type instead of device_class. * Scripts/webkitpy/port/device_port.py: (DevicePort): (DevicePort.setup_test_run): Receive device_type as DeviceType object. (DevicePort._create_devices): Deleted. * Scripts/webkitpy/port/gtk.py: (GtkPort.setup_test_run): Use device_type instead of device_class. * Scripts/webkitpy/port/ios.py: (IOSPort): * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort): (IOSSimulatorPort.__init__): Deleted. (IOSSimulatorPort._set_device_class): Deleted. * Scripts/webkitpy/port/test.py: * Scripts/webkitpy/port/watch.py: (WatchPort): * Scripts/webkitpy/port/watch_simulator.py: (WatchSimulatorPort): (WatchSimulatorPort.__init__): Deleted. (WatchSimulatorPort._set_device_class): Deleted. * Scripts/webkitpy/port/win.py: (WinPort.setup_test_run): Use device_type instead of device_class. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDeviceManager._disambiguate_device_type): Using the existing devices for this is a problem if no such device exists yet. Use the _device_identifier_to_name dictionary instead since this should have hardware types in the device names. 2018-11-30 David Quesada -[WKProcessPool _downloadURLRequest:] should allow specifying the initiating web view https://bugs.webkit.org/show_bug.cgi?id=192212 rdar://problem/46363706 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm: (-[DownloadProgressTestRunner startDownload:expectedLength:]): 2018-11-30 Zalan Bujtas [LFC][BFC] Compute min/maxHeight margins only when they are needed. https://bugs.webkit.org/show_bug.cgi?id=192223 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-30 Zalan Bujtas [LFC][BFC][MarginCollapsing] Do not use computed display box values for border and padding https://bugs.webkit.org/show_bug.cgi?id=192214 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-30 Thibault Saunier [GTK][MiniBrowser] Handle Device Info permission requests https://bugs.webkit.org/show_bug.cgi?id=191585 Reviewed by Carlos Garcia Campos. * MiniBrowser/gtk/BrowserTab.c: (permissionRequestDataNew): (permissionRequestDataFree): (permissionRequestDialogResponse): (decidePermissionRequest): (browserTabConstructed): 2018-11-30 Carlos Garcia Campos Unreviewed GTK+ gardening. Stop running tests without complex text enforced We have enforced complex text in GTK+ for one release cycle without noticing any major issue nor performance regression. * WebKitTestRunner/gtk/main.cpp: (main): 2018-11-29 Wenson Hsieh REGRESSION (r238635): Dragging a text selection within WKWebView causes the selection highlight to get into a bad state https://bugs.webkit.org/show_bug.cgi?id=192165 Reviewed by Daniel Bates. Fixes 11 API tests that started failing or timing out after r238635. See below for more details. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm: (TestWebKitAPI::webViewForEditActionTesting): (TestWebKitAPI::webViewForEditActionTestingWithPageNamed): Ensure that the web view becomes first responder before executing edit actions. * TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html: * TestWebKitAPI/Tests/WebKitCocoa/contenteditable-and-textarea.html: Tweak these tests to allow selected content to overflow the width of the web view. Without this change, ContentEditableToContentEditable and ContentEditableToTextarea will sometimes fail because the content causes the body to scroll horizontally, so we miss the drop destination. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: (loadTestPageAndEnsureInputSession): Add a new helper to load a test page with a given name, become first responder, and wait until an input session starts. Use this in various drag and drop tests to reduce code duplication. * TestWebKitAPI/cocoa/DragAndDropSimulator.h: * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[DragAndDropSimulator initWithWebView:]): (-[DragAndDropSimulator _resetSimulatedState]): (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]): (-[DragAndDropSimulator _advanceProgress]): To more accurately emulate UIKit behavior, begin focus preservation when starting a drag, and attempt to clear the focus preservation token when the drag session ends. This allows us to simulate and test the scenario that regressed with r238635. (-[DragAndDropSimulator ensureInputSession]): (-[DragAndDropSimulator _webView:didStartInputSession:]): (-[DragAndDropSimulator waitForInputSession]): Deleted. Refactored into -ensureInputSession. Instead of assuming that an input session has not yet been started, simply wait for an input session to start if needed. * TestWebKitAPI/ios/UIKitSPI.h: Add a new SPI declaration. 2018-11-29 Tim Horton Inform clients when editable image attachment backing data changes https://bugs.webkit.org/show_bug.cgi?id=192206 Reviewed by Wenson Hsieh. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (-[AttachmentUpdateObserver init]): (-[AttachmentUpdateObserver dataInvalidated]): (-[AttachmentUpdateObserver _webView:didInvalidateDataForAttachment:]): (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentInvalidation): (webViewForTestingAttachments): (TestWebKitAPI::forEachViewInHierarchy): (TestWebKitAPI::findEditableImageCanvas): (TestWebKitAPI::drawSquareInEditableImage): (TestWebKitAPI::TEST): * TestWebKitAPI/ios/PencilKitTestSPI.h: Added. Add a test ensuring that we get an invalidation callback when an editable image is changed. 2018-11-29 Fujii Hironori REGRESSION(r238445)[Buildbot] Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk' https://bugs.webkit.org/show_bug.cgi?id=192143 Reviewed by Philippe Normand. Buildbot can't start since r238445. > Configuration Errors: > Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk' > Unknown builder 'GTK Linux ARM Release' in scheduler 'trunk' * BuildSlaveSupport/build.webkit.org-config/config.json: Removed deprecated builders. 2018-11-29 David Quesada Add SPI to publish NSProgress on active downloads https://bugs.webkit.org/show_bug.cgi?id=192021 rdar://problem/44405661 Reviewed by Alex Christensen. Add API tests to exercise the progress-publishing functionality in a variety of scenarios. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm: Added. (+[DownloadProgressTestProtocol registerProtocolForTestRunner:]): (+[DownloadProgressTestProtocol unregisterProtocol]): (+[DownloadProgressTestProtocol canInitWithRequest:]): (+[DownloadProgressTestProtocol canonicalRequestForRequest:]): (+[DownloadProgressTestProtocol requestIsCacheEquivalent:toRequest:]): (-[DownloadProgressTestProtocol startLoading]): (-[DownloadProgressTestProtocol stopLoading]): (-[DownloadProgressTestRunner init]): (-[DownloadProgressTestRunner startLoadingWithProtocol:]): (-[DownloadProgressTestRunner tearDown]): (-[DownloadProgressTestRunner _didGetProgress:]): (-[DownloadProgressTestRunner _didLoseProgress]): (-[DownloadProgressTestRunner subscribeAndWaitForProgress]): (-[DownloadProgressTestRunner waitToLoseProgress]): (-[DownloadProgressTestRunner startDownload:expectedLength:]): (-[DownloadProgressTestRunner publishProgress]): (-[DownloadProgressTestRunner receiveData:]): (-[DownloadProgressTestRunner finishDownloadTask]): (-[DownloadProgressTestRunner failDownloadTask]): (-[DownloadProgressTestRunner waitForDownloadDidCreateDestination]): (-[DownloadProgressTestRunner waitForDownloadFinished]): (-[DownloadProgressTestRunner waitForDownloadCanceled]): (-[DownloadProgressTestRunner waitForDownloadFailed]): (-[DownloadProgressTestRunner waitForUpdatedCompletedUnitCount]): (-[DownloadProgressTestRunner observeValueForKeyPath:ofObject:change:context:]): (-[DownloadProgressTestRunner webView:decidePolicyForNavigationResponse:decisionHandler:]): (-[DownloadProgressTestRunner webView:decidePolicyForNavigationAction:decisionHandler:]): (-[DownloadProgressTestRunner _downloadDidStart:]): (-[DownloadProgressTestRunner _download:didCreateDestination:]): (-[DownloadProgressTestRunner _downloadDidFinish:]): (-[DownloadProgressTestRunner _downloadDidCancel:]): (-[DownloadProgressTestRunner _download:didFailWithError:]): (-[DownloadProgressTestRunner _download:decideDestinationWithSuggestedFilename:completionHandler:]): (TEST): 2018-11-29 Alexey Proskuryakov Exception in bot watcher's dashboard if a hidden platform in no longer configured for display https://bugs.webkit.org/show_bug.cgi?id=185527 Reviewed by Aakash Jain. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js: (updateHiddenPlatforms): 2018-11-29 Zalan Bujtas [LFC][BFC][Quirk] Body and html height stretching. https://bugs.webkit.org/show_bug.cgi?id=192154 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-29 Jonathan Bedard webkitpy: Unify device creation https://bugs.webkit.org/show_bug.cgi?id=192158 Reviewed by Lucas Forschler. * Scripts/webkitpy/port/device_port.py: (DevicePort): (DevicePort.setup_test_run): Use DEVICE_MANAGER to create devices based on the specified device class. * Scripts/webkitpy/port/ios.py: (IOSPort): Add DEFAULT_DEVICE_CLASS. * Scripts/webkitpy/port/ios_device.py: (IOSDevicePort): (IOSDevicePort._create_devices): Deleted. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort._create_devices): Deleted. * Scripts/webkitpy/port/watch.py: (WatchPort): Add DEFAULT_DEVICE_CLASS. * Scripts/webkitpy/port/watch_device.py: (WatchDevicePort): (WatchDevicePort._create_devices): Deleted. * Scripts/webkitpy/port/watch_simulator.py: (WatchSimulatorPort._create_devices): Deleted. * Scripts/webkitpy/xcode/device_type_unittest.py: (DeviceTypeTest.test_from_string): Test that DeviceTypes without hardware types can be constructed from strings. 2018-11-29 Jonathan Bedard EWS iOS-sim bots sometimes fails to shutdown simulator https://bugs.webkit.org/show_bug.cgi?id=191864 Reviewed by Aakash Jain. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDevice._shut_down): Increase time to wait for simulated device to shut down, ignore exit code indicating a device is already shut down. 2018-11-29 Jonathan Bedard webkitpy: Unify ios_version/watchos_version code https://bugs.webkit.org/show_bug.cgi?id=192153 Reviewed by Lucas Forschler. Treating watchOS and iOS versions differently makes it harder to share code between the similar ports. * Scripts/webkitpy/port/device_port.py: (DevicePort): (DevicePort.device_version): Added. * Scripts/webkitpy/port/ios.py: (IOSPort.default_baseline_search_path): Use device_version() instead of ios_version(). (IOSPort.ios_version): Deleted. * Scripts/webkitpy/port/ios_device.py: (IOSDevicePort.device_version): Renamed from ios_version(). (IOSDevicePort.ios_version): Deleted. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort.device_version): Renamed from ios_version(). (IOSSimulatorPort.default_child_processes.booted_ios_devices_filter): Use device_version() instead of ios_version(). (IOSSimulatorPort._create_devices): Ditto. (IOSSimulatorPort.check_sys_deps): Ditto. (IOSSimulatorPort.ios_version): Deleted. * Scripts/webkitpy/port/watch.py: (WatchPort.default_baseline_search_path): Use device_version() instead of watchos_version(). (WatchPort.watchos_version): Deleted. * Scripts/webkitpy/port/watch_device.py: (WatchDevicePort.device_version): Renamed from watchos_version(). (WatchDevicePort.watchos_version): Deleted. * Scripts/webkitpy/port/watch_simulator.py: (WatchSimulatorPort.device_version): Renamed from watchos_version(). (WatchSimulatorPort.default_child_processes.filter_booted_watchos_devices): Use device_version() instead of watchos_version(). (WatchSimulatorPort._create_devices): Ditto. (WatchSimulatorPort.check_sys_deps): Ditto. (WatchSimulatorPort.watchos_version): Deleted. 2018-11-28 Wenson Hsieh [iOSMac] Dropping text selections from web content into editable elements crashes the web process https://bugs.webkit.org/show_bug.cgi?id=192113 Reviewed by Ryosuke Niwa. Add a test to verify that, when dropping an item with both "com.apple.webarchive" and "public.utf8-plain-text" representations, the higher fidelity web archive data is used when handling the drop. * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm: 2018-11-28 Aakash Jain [ews-app] Fetch bugs from Bugzilla and submit to Buildbot https://bugs.webkit.org/show_bug.cgi?id=191947 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/fetcher.py: Added. 2018-11-28 Alex Christensen Fix iOS API test after r238585 https://bugs.webkit.org/show_bug.cgi?id=192022 * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (TEST): On iOS, a safe browsing warning over a WKWebView with frame of {0, 0, 0, 0} has a size of {0, 0}, which is fine. The test was added to catch a bug on Mac platforms, so testing it only on Mac will catch any regression. 2018-11-28 Aakash Jain [ews-app] Configure python logging https://bugs.webkit.org/show_bug.cgi?id=192005 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/__init__.py: Configured logging. 2018-11-28 Keith Rollin Update generate-{derived,unified}-sources scripts to support generating .xcfilelist files https://bugs.webkit.org/show_bug.cgi?id=192031 Reviewed by Alex Christensen. The Generate Derived Sources and Generate Unified Sources build phases in Xcode need to have their inputs and outputs specified. This specification will come in the form of .xcfilelist files that will be attached to these build phases. There is one .xcfilelist file that lists the input file and one that lists the output files. As part of this work, the various generate-{derived,unified}-sources scripts that are executed in these Generate build phases are modified to help in the creation of these .xcfilelist files. In particular, they can now be invoked with command-line parameters. These parameters are then used to alter the normal execution of these scripts, causing them to produce the .xcfilelist files as opposed to actually generating the files that are listed in those files. * DumpRenderTree/Scripts/generate-derived-sources.sh: * WebKitTestRunner/Scripts/generate-derived-sources.sh: 2018-11-28 Keith Rollin Revert print_all_generated_files work in r238008; tighten up target specifications https://bugs.webkit.org/show_bug.cgi?id=192025 Reviewed by Alex Christensen. In r238008, I added a facility for DerivedSources.make makefiles to print out the list of files that they generate. This output was used in the generation of .xcfilelist files used to specify the output of the associated Generate Derived Sources build phases in Xcode. This approach worked, but it meant that people would need to follow a specific convention to keep this mechanism working. Instead of continuing this approach, I'm going to implement a new facility based on the output of `make` when passed the -d flag (which prints dependency information). This new mechanism is completely automatic and doesn't need maintainers to follow a convention. To that end, remove most of the work performed in r238008 that supports the print_all_generated_files target. At the same time, it's important for the sets of targets and their dependencies to be complete and correct. Therefore, also include changes to bring those up-to-date. As part of that, you'll see prevalent use of a particular technique. Here's an example: BYTECODE_FILES = \ Bytecodes.h \ BytecodeIndices.h \ BytecodeStructs.h \ InitBytecodes.asm \ # BYTECODE_FILES_PATTERNS = $(subst .,%,$(BYTECODE_FILES)) all : $(BYTECODE_FILES) $(BYTECODE_FILES_PATTERNS): $(wildcard $(JavaScriptCore)/generator/*.rb) $(JavaScriptCore)/bytecode/BytecodeList.rb ... These lines indicate a set of generated files (those specified in BYTECODE_FILES). These files are generated by the BytecodeList.rb tool. But, as opposed to the normal rule where a single foo.output is generated by foo.input plus some additional dependencies, this rule produces multiple output files from a tool whose connection to the output files is not immediately clear. A special approach is needed where a single rule produces multiple output files. The normal way to implement this is to use an .INTERMEDIATE target. However, we used this approach in the past and ran into a problem with it, addressing it with an alternate approach in r210507. The above example shows this approach. The .'s in the list of target files are replaced with %'s, and the result is used as the left side of the dependency rule. * DumpRenderTree/DerivedSources.make: * WebKitTestRunner/DerivedSources.make: 2018-11-28 Aakash Jain [ews-app] Add support to get list of Bugzilla patches needing review https://bugs.webkit.org/show_bug.cgi?id=191942 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/common/bugzilla.py: (Bugzilla.get_list_of_patches_needing_reviews): Get list of patches needing review. (BugzillaBeautifulSoup.fetch_attachment_ids_from_review_queue): Copied from Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py (BugzillaBeautifulSoup._load_query): Ditto. (BugzillaBeautifulSoup._parse_attachment_ids_request_query): Ditto. 2018-11-28 Daniel Bates [iOS] Page not defocused when Find-in-page becomes first responder https://bugs.webkit.org/show_bug.cgi?id=192084 Reviewed by Tim Horton. Add tests for both Mac and iOS to ensure that when finding a string on the page that we do not start an input session if a match is found in an and the WKWebView is not the first responder. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm: Added. (-[WKWebViewFindStringInputDelegate _webView:didStartInputSession:]): (-[WKWebViewFindStringFindDelegate findString]): (-[WKWebViewFindStringFindDelegate _webView:didCountMatches:forString:]): (-[WKWebViewFindStringFindDelegate _webView:didFindMatches:forString:withMatchIndex:]): (-[WKWebViewFindStringFindDelegate _webView:didFailToFindString:]): (returnNo): (returnYes): (viewIsFirstResponder): (TestWebKitAPI::TEST): * WebKitTestRunner/ios/PlatformWebViewIOS.mm: (WTR::PlatformWebView::PlatformWebView): Make the view the first responder before the window key. This matches the ordering used in PlatformWebView::focus(). No behavior change. 2018-11-28 Aakash Jain [ews-app] Add BeautifulSoup https://bugs.webkit.org/show_bug.cgi?id=191994 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/thirdparty: Added. * BuildSlaveSupport/ews-app/ews/thirdparty/BeautifulSoup.py: Added. * BuildSlaveSupport/ews-app/ews/thirdparty/__init__.py: Added. 2018-11-28 Aakash Jain [ews-app] Add support to download Patch from Bugzilla https://bugs.webkit.org/show_bug.cgi?id=191943 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/common/bugzilla.py: Added. (Bugzilla.retrieve_attachment): Retreives the attachment from Bugzilla and saves to disk. (Bugzilla._fetch_attachment_json): (Bugzilla.file_path_for_patch): * BuildSlaveSupport/ews-app/ews/common/util.py: Added. (fetch_data_from_url): Method to fetch data from given url. * BuildSlaveSupport/ews-app/ews/config.py: 2018-11-28 Aakash Jain [ews-app] Add methods to update Patch fields https://bugs.webkit.org/show_bug.cgi?id=191931 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/patch.py: (Patch.set_sent_to_buildbot): (Patch.set_bug_id): (Patch.set_obsolete): 2018-11-28 Yongjun Zhang Allow WebKit clients to specify a minimum effective width for layout. https://bugs.webkit.org/show_bug.cgi?id=191499 Reviewed by Wenson Hsieh. Allow UIScriptController to set WKWebView's minimum effective width with a new `setMinimumEffectiveWidth` method. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::setMinimumEffectiveWidth): * DumpRenderTree/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::setViewScale): (WTR::UIScriptController::setMinimumEffectiveWidth): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::setMinimumEffectiveWidth): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/UIScriptControllerCocoa.mm: (WTR::UIScriptController::setMinimumEffectiveWidth): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::cocoaResetStateToConsistentValues): 2018-11-28 Lucas Forschler Fix webkitbot hi command. https://bugs.webkit.org/show_bug.cgi?id=192080 Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/tool/bot/irc_command.py: (Hi.execute): 2018-11-28 Zalan Bujtas [LFC][Quirk] Use non-collapsed vertical margin values when the container is stretched to the size of the ICB. https://bugs.webkit.org/show_bug.cgi?id=192078 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-28 Zalan Bujtas [LFC] Add support for quirk container's collapsing top margin in quirks mode. https://bugs.webkit.org/show_bug.cgi?id=192070 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-28 Thibault Saunier [WebRTC][GStreamer] Make sure to have the default microphone on the top of the list https://bugs.webkit.org/show_bug.cgi?id=192026 Reviewed by Philippe Normand. Otherwise we might end up picking a useless one in some applications (not sure what those application do though). GStreamer patch proposed as https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/34/diffs * flatpak/org.webkit.CommonModules.yaml: * gstreamer/jhbuild.modules: * gstreamer/patches/gst-plugins-good-0014-pulse-Mark-default-devices-as-default.patch: Added. 2018-11-28 Tomas Popela [GTK] Silence compilation warnings in glib unittests https://bugs.webkit.org/show_bug.cgi?id=192009 Reviewed by Michael Catanzaro. Mark the destructor as virtual. * TestWebKitAPI/glib/WebKitGLib/TestMain.h: (Test::~Test): 2018-11-27 Mark Lam ENABLE_FAST_JIT_PERMISSIONS should be false for iosmac. https://bugs.webkit.org/show_bug.cgi?id=192055 Reviewed by Saam Barati. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2018-11-27 Alex Christensen Make synchronous IPC introduced in r237267 asynchronous https://bugs.webkit.org/show_bug.cgi?id=190757 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-11-27 Jonathan Bedard webkitpy: Add watchOS ports https://bugs.webkit.org/show_bug.cgi?id=191974 Reviewed by Aakash Jain. * Scripts/webkitpy/port/factory.py: (PortFactory): Add WatchDevice and WatchSimulator ports. * Scripts/webkitpy/port/watch.py: Added. (WatchPort): Base class for watchOS ports. * Scripts/webkitpy/port/watch_device.py: Added. (WatchDevicePort): Class for running layout tests on a watchOS device. * Scripts/webkitpy/port/watch_simulator.py: Added. (WatchSimulatorPort): Class for running layout tests on a watchOS simulator. * Scripts/webkitpy/port/watch_simulator_unittest.py: Added. (WatchSimulatorTest): * Scripts/webkitpy/port/watch_testcase.py: Added. (WatchTest): 2018-11-27 Alex Christensen Safe browsing warning text needs to be visible on High Sierra https://bugs.webkit.org/show_bug.cgi?id=192022 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (TEST): 2018-11-27 Wenson Hsieh Unreviewed, fix the watchOS engineering build Disable a newly added API test, since DDScannerResult is unavailable on watchOS. * TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm: 2018-11-27 Chris Dumez Regression(PSON) crash under WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame() https://bugs.webkit.org/show_bug.cgi?id=191983 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-11-27 Aakash Jain [ews-app] Add support to communicate with Buildbot (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=191935 Unreviewed infrastructure fix. * BuildSlaveSupport/ews-app/ews/common/buildbot.py: (Buildbot.send_patch_to_buildbot): 2018-11-26 Wenson Hsieh [Cocoa] No way for clients to tell whether the content view is in the responder chain when the web view is https://bugs.webkit.org/show_bug.cgi?id=169212 Reviewed by Tim Horton. Add an API test to exercise the behavior of `-_contentViewIsFirstResponder` when an embedded text input becomes and resigns first responder. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFirstResponderTests.mm: Added. (-[FirstResponderTestingView initWithFrame:]): (-[FirstResponderTestingView inputField]): (TestWebKitAPI::TEST): 2018-11-26 Fujii Hironori [CMake] Remove ENABLE_ACCESSIBILITY CMake variable https://bugs.webkit.org/show_bug.cgi?id=191831 Reviewed by Michael Catanzaro. * WebKitTestRunner/CMakeLists.txt: 2018-11-26 Tim Horton Insert elements under editable images to make their backing data accessible https://bugs.webkit.org/show_bug.cgi?id=191844 Reviewed by Simon Fraser. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::attachmentInfo): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::attachmentInfo): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::attachmentInfo): Add a UIScriptController mechanism to retrieve information about a given attachment. 2018-11-26 Aakash Jain [ews-app] Add support to communicate with Buildbot https://bugs.webkit.org/show_bug.cgi?id=191935 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/common/__init__.py: Added. * BuildSlaveSupport/ews-app/ews/common/buildbot.py: Added. 2018-11-26 Jonathan Bedard webkitpy: Race condition in ServerProcess tests https://bugs.webkit.org/show_bug.cgi?id=191989 Reviewed by Lucas Forschler. Serializing these tests to prevent the race conditions. * Scripts/webkitpy/port/server_process_unittest.py: (TestServerProcess.serial_test_basic): (TestServerProcess.serial_test_read_after_process_exits): (TestServerProcess.serial_test_process_crashing): (TestServerProcess.serial_test_process_crashing_no_data): (TestServerProcess.test_basic): Deleted. (TestServerProcess.test_read_after_process_exits): Deleted. (TestServerProcess.test_process_crashing): Deleted. (TestServerProcess.test_process_crashing_no_data): Deleted. 2018-11-26 Aakash Jain [ews-app] Add field in Patch object to indicate if it has been sent to Buildbot https://bugs.webkit.org/show_bug.cgi?id=191929 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/patch.py: (Patch): Added sent_to_buildbot field. (Patch.is_patch_sent_to_buildbot): Checks if the patch has been sent to Buildbot. 2018-11-26 Aakash Jain [ews-app] Add a config file https://bugs.webkit.org/show_bug.cgi?id=191933 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/config.py: Added. 2018-11-26 Aakash Jain [ews-app] Add methods to save patch to database https://bugs.webkit.org/show_bug.cgi?id=191928 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/patch.py: (Patch.save_patch): Method to save the patch to database. (Patch.save_patches): Method to save multiple patches to database. (Patch.is_valid_patch_id): Checks if the patch id is valid. (Patch.is_existing_patch_id): Checks if the patch id already exists in database. 2018-11-26 Alex Christensen Rename WKWebView._safeBrowsingWarningForTesting to _safeBrowsingWarning to use it for more than testing https://bugs.webkit.org/show_bug.cgi?id=191981 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (TEST): (safeBrowsingView): 2018-11-26 Daniel Bates REGRESSION (r237738): Command Down Arrow doesn't scroll to the end of a page anymore https://bugs.webkit.org/show_bug.cgi?id=191967 Reviewed by Tim Horton. Add more test infrastructure to dispatch key up events. * WebKitTestRunner/ios/HIDEventGenerator.h: * WebKitTestRunner/ios/HIDEventGenerator.mm: (createHIDKeyEvent): Renamed from createHIDKeyDownEvent() and modified to take a boolean as to whether to create an event for a key down or key up. (createHIDKeyDownEvent): Deleted; renamed to createHIDKeyEvent(). * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::createUIPhysicalKeyboardEvent): Added. Convenience function to create a UIPhysicalKeyboardEvent. (WTR::UIScriptController::keyDown): Modified to dispatch a key up event in addition to dispatching a key down event. 2018-11-26 Aakash Jain [ews-app] Set Foreign Keys in EWS Django app models https://bugs.webkit.org/show_bug.cgi?id=191790 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/builds.py: Set Foreign Key. * BuildSlaveSupport/ews-app/ews/models/steps.py: Ditto. 2018-11-26 Aakash Jain [ews-app] Do not store patch content in database https://bugs.webkit.org/show_bug.cgi?id=191788 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/patch.py: Removed content field. 2018-11-26 Jonathan Bedard webkitpy: Retry app installation on watchOS simulators (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=191769 Unreviewed infrastructure fix. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDevice): Increase retry attempts. 2018-11-26 Daniel Bates Move testRunner.toggleCapsLock() to uiController https://bugs.webkit.org/show_bug.cgi?id=191972 Reviewed by Tim Horton. Move testRunner.toggleCapsLock() to uiController as uiController is the preferred JavaScript object for UI test functions. Having this functionality be on uiController makes it an asynchronous function naturally and complements use of onkeydown, onkeyup listeners to know when the Caps Lock key event is dispatched. It also facilitates its use directly as part of scripts with other uiController functions invocations that are passed in a single invocation of testRunner.runUIScript(). * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::toggleCapsLock): * DumpRenderTree/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::toggleCapsLock): Added stub functions that invoke the callback. We do not support toggling caps lock in Legacy WebKit at the moment. Legacy WebKit reads the caps lock key state directly from the OS. Modern WebKit caches the caps lock state in the WebProcess as a natural side effect of the fact that the UIProcess is the only process capable of querying the caps lock key state from the OS and hence the UIProcess must send over this state to the WebProcess. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Add IDL for new function. * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::toggleCapsLock): Added empty implementation for ports non-Cocoa ports. * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::toggleCapsLock): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::toggleCapsLock): Deleted; moved to UIScriptController::toggleCapsLock(). Removed logic to handle testRunner.toggleCapsLock(). * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::toggleCapsLock): Add stub function that invokes the callback and a FIXME comment that explains that we will implement this function in . * WebKitTestRunner/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::toggleCapsLock): Moved the implementation from TestController::toggleCapsLock(). 2018-11-26 Brent Fulgham [Win] Reduce the use of WKSI library calls: CoreAnimation https://bugs.webkit.org/show_bug.cgi?id=191777 Reviewed by Zalan Bujtas. Update the Windows build of WebKit to refer to the SPI headers, rather than WebKitSystemInterface. Move a small amount of glue code from WKSI to WebCore, and remove any includes or link directives for WebKitSystemInterface.lib. * TestWebKitAPI/PlatformWin.cmake: 2018-11-25 Zalan Bujtas [LFC][IFC] Use float box's margin box to adjust the line constraints. https://bugs.webkit.org/show_bug.cgi?id=191961 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-25 Zalan Bujtas Unreviewed test fix after r238467. * TestWebKitAPI/Tests/WTF/ListHashSet.cpp: (TestWebKitAPI::TEST): 2018-11-25 Wenson Hsieh Unreviewed, fix the internal iOS 12 build after r238471 * TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm: (TEST): 2018-11-25 Tim Horton Make it possible to insert editable images with a gesture https://bugs.webkit.org/show_bug.cgi?id=191937 Reviewed by Wenson Hsieh. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::drawSquareInEditableImage): If the canvas already has a drawing, draw a new stroke on top of it instead of removing the existing stroke. 2018-11-24 Wenson Hsieh [Cocoa] Add WKWebView SPI to trigger and remove data detection https://bugs.webkit.org/show_bug.cgi?id=191918 Reviewed by Tim Horton. Add an API test to exercise the new WebKit SPI. * TestWebKitAPI/DataDetectorsCoreSPI.h: Added. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm: (-[WKWebView synchronouslyDetectDataWithTypes:]): (-[WKWebView synchronouslyRemoveDataDetectedLinks]): (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): (-[TestWKWebView tagsInBody]): Deleted. (-[TestWKWebView expectElementTagsInOrder:]): Deleted. (-[TestWKWebView expectElementCount:tagName:]): Deleted. (-[TestWKWebView expectElementTag:toComeBefore:]): Deleted. Rename this from `-expectElementCount:tagName:` to `-expectElementCount:querySelector:`. * TestWebKitAPI/Tests/WebKitCocoa/data-detectors.html: Added. Add a new test page containing some content that can be data detected. * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[WKWebView tagsInBody]): (-[WKWebView expectElementTagsInOrder:]): (-[WKWebView expectElementCount:querySelector:]): (-[WKWebView expectElementTag:toComeBefore:]): Move some testing helper functions from WKAttachmentTests to a testing category on WKWebView. This allows us to use `-expectElementCount:querySelector:` in tests outside of WKAttachmentTests. (-[WKWebView objectByEvaluatingJavaScript:]): (-[WKWebView objectByEvaluatingJavaScriptWithUserGesture:]): (-[WKWebView stringByEvaluatingJavaScript:]): Move some common helper functions from TestWKWebView to a testing category on WKWebView. (-[TestWKWebView objectByEvaluatingJavaScript:]): Deleted. (-[TestWKWebView objectByEvaluatingJavaScriptWithUserGesture:]): Deleted. (-[TestWKWebView stringByEvaluatingJavaScript:]): Deleted. 2018-11-23 Sam Weinig Add raw pointer overloads to ListHashSet via SmartPtr specialized functions https://bugs.webkit.org/show_bug.cgi?id=191936 Reviewed by Zalan Bujtas. Adds tests for raw pointer overloads in ListHashSet. * TestWebKitAPI/Tests/WTF/HashSet.cpp: * TestWebKitAPI/Tests/WTF/ListHashSet.cpp: 2018-11-23 Wenson Hsieh Enable drag and drop support for iOSMac https://bugs.webkit.org/show_bug.cgi?id=191818 Reviewed by Dean Jackson. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2018-11-23 Zalan Bujtas [LFC][IFC] Add support for variable height runs. https://bugs.webkit.org/show_bug.cgi?id=191925 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-23 Alberto Garcia [GTK] [WPE] Tools/Platform{GTK,WPE}.cmake files missing from the tarballs https://bugs.webkit.org/show_bug.cgi?id=191923 Add Tools/PlatformGTK.cmake and Tools/PlatformWPE.cmake to their respective tarballs. Reviewed by Carlos Garcia Campos. * gtk/manifest.txt.in: * wpe/manifest.txt.in: 2018-11-22 Chris Dumez Regression(r238353) Load sometimes hangs when navigating back after a cross-site navigation https://bugs.webkit.org/show_bug.cgi?id=191914 Reviewed by Ryosuke Niwa. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-11-22 Zalan Bujtas [LFC][IFC] Offset formatting context root runs with horizontal margins. https://bugs.webkit.org/show_bug.cgi?id=191900 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-22 Philippe Normand [GTK] Remove unmaintained bots https://bugs.webkit.org/show_bug.cgi?id=191467 Reviewed by Alex Christensen. The Linux 32-bits and ARM build-slaves are no longer maintained and have been failing for months, so get rid of them. * BuildSlaveSupport/build.webkit.org-config/config.json: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: (WebKitBuildbot): * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: 2018-11-22 Thibault Saunier [Flatpak] Do not disable signals when running "usual" commands https://bugs.webkit.org/show_bug.cgi?id=190679 Reviewed by Philippe Normand. Otherwise c doesn't work while compiling. It is not the best fix as there are cases we want to let only children receive signals, but it is not clear how to determine when (when running gdb, we still disable those). * flatpak/flatpakutils.py: (WebkitFlatpak.run_in_sandbox): 2018-11-21 Wenson Hsieh [Cocoa] [WebKit2] Add support for replacing find-in-page text matches https://bugs.webkit.org/show_bug.cgi?id=191786 Reviewed by Ryosuke Niwa. * MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController setFindBarView:]): Fix a bug in MiniBrowser that prevents AppKit from displaying the "All" button in the find bar after checking the "Replace" option. * TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm: Add an API test to exercise find-and-replace API using WKWebView. (replaceMatches): (TEST): * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::findOptionsFromArray): (WTR::TestRunner::findString): (WTR::TestRunner::findStringMatchesInPage): (WTR::TestRunner::replaceFindMatchesAtIndices): Add TestRunner hooks to simulate find-in-page and replace. * WebKitTestRunner/InjectedBundle/TestRunner.h: 2018-11-21 Zalan Bujtas [LFC][IFC] Horizontal margins should be considered as non-breakable space https://bugs.webkit.org/show_bug.cgi?id=191894 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-21 Zalan Bujtas [LFC][IFC] Border should be considered as non-breakable space https://bugs.webkit.org/show_bug.cgi?id=191891 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-21 Zalan Bujtas [LFC][IFC] Take nonBreakableStart/End into use. https://bugs.webkit.org/show_bug.cgi?id=191873 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-20 Jeff Miller Return nullptr immediately if the key doesn't exist in the HashMap. https://bugs.webkit.org/show_bug.cgi?id=191841 Reviewed by Chris Dumez. Add a test that would crash prior to the fix for this bug. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/WKNSDictionaryEmptyDictionaryCrash.mm: Added. (TestWebKitAPI::TEST): 2018-11-19 Alex Christensen Add SPI to disable JIT in a WKWebView https://bugs.webkit.org/show_bug.cgi?id=191822 Reviewed by Geoffrey Garen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/DisableJIT.mm: Added. (TEST): 2018-11-19 Basuke Suzuki [Curl] Add API for CertificateInfo. https://bugs.webkit.org/show_bug.cgi?id=191647 Reviewed by Alex Christensen. Added test for new WKCertificateInfo API. * TestWebKitAPI/PlatformWin.cmake: * TestWebKitAPI/Tests/WebKit/curl/Certificates.cpp: Added. (TestWebKitAPI::Curl::makeCertificateInfo): (TestWebKitAPI::Curl::isSamePEM): (TestWebKitAPI::Curl::TEST): 2018-11-19 Wenson Hsieh Unreviewed, fix the internal iOS debug build after r238380 UICalloutBar should only be declared when the public (non-internal) SDK is used to build WebKit; otherwise, we end up with duplicate declarations of UICalloutBar. * TestWebKitAPI/ios/UIKitSPI.h: 2018-11-19 David Quesada EXC_BAD_ACCESS when invoking a DownloadProxy's destination decision handler after the download has been canceled https://bugs.webkit.org/show_bug.cgi?id=191762 rdar://problem/46151509 Reviewed by Dean Jackson. * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: Enable the Download API test on iOS, since the platform supports downloads. All the tests pass already, except for one which was written using AppKit-specific code: TEST(_WKDownload, RedirectedDownload): Use a more platform-agnostic approach to starting the download in this API test. Instead of manually triggering an NSMenu item to download a file from a link, the test will simulate a user-initiated click on the link, and the navigation delegate will direct the web view to start a download based on the link's navigation action. Additionally, remove the manual creation of a new NSWindow. TestWKWebView makes its own UI/NSWindow. TEST(_WKDownload, DownloadCanceledWhileDecidingDestination): Add an API test _WKDownload.DownloadCanceledWhileDecidingDestination to simulate the conditions that would trigger this crash - handling a download's -decideDestination… delegate call by canceling the download, waiting for the UI process to be notified that the download has been canceled, and calling the decision handler. This should not crash. (-[CancelDownloadWhileDecidingDestinationDelegate _downloadDidFinish:]): (-[CancelDownloadWhileDecidingDestinationDelegate _download:didFailWithError:]): (-[CancelDownloadWhileDecidingDestinationDelegate _downloadDidCancel:]): (-[CancelDownloadWhileDecidingDestinationDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]): (-[UIDownloadAsFileTestDelegate _webView:contextMenu:forElement:]): Deleted. * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[TestWKWebView objectByEvaluatingJavaScriptWithUserGesture:]): Add a user-initated version of -objectByEvaluatingJavaScript:. This is needed in order to maintain the behavior of the RedirectedDownload test, which verifies the state of the _WKDownload.wasUserInitiated property. 2018-11-19 Wenson Hsieh [iOS Debug] Assertion failure in NSComparisonResult UIContentSizeCategoryCompareToCategory() https://bugs.webkit.org/show_bug.cgi?id=190401 Reviewed by Dean Jackson. Work around sporadic UIKit assertions when running API tests that may present a UICalloutBar. Currently, UIKit asks for the `UIApp`’s `-preferredContentSizeCategory` when showing or laying out the callout bar. However, TestWebKitAPI lacks a UIApp altogether, and forcing one to be initialized via `UIApplicationInstantiateSingleton` causes numerous other UIKit and WebKit assertions to be hit. In lieu of TestWebKitAPI becoming a real UI application (see https://webkit.org/b/175204), simply don't allow the callout bar to be initialized in TestWKWebView-based API tests. This encompasses all API tests which have some chance of causing the callout bar to be shown by making a ranged text selections during the test. * TestWebKitAPI/cocoa/TestWKWebView.mm: (suppressUICalloutBar): (-[TestWKWebView initWithFrame:configuration:addToWindow:]): * TestWebKitAPI/ios/UIKitSPI.h: 2018-11-19 Fujii Hironori REGRESSION(r238016)[GTK][TestWebKitAPI][Ninja] TestJSC can't compile "Bytecodes.h: No such file or directory" https://bugs.webkit.org/show_bug.cgi?id=191692 Reviewed by Michael Catanzaro. r238016 added a new #include, and requires JSC's derived headers to be copied into the forwarding header directory. WEBKIT_MAKE_FORWARDING_HEADERS is using POST_BUILD event to copy derived headers to the forwarding header directory. This is done after linking JSC library. GTK port has TestJSC which has a dependency to JSC static library. And, this dependency is a link time dependency which means compiling source files of TestJSC starts before the POST_BUILD event of JSC. Thus, required header can't be found. Add an intermediate target between TestJSC and JavaScriptCore to ensure derived headers are copied into the forwarding header directory. * TestWebKitAPI/PlatformGTK.cmake: Added a new custom target pre-TestJSC. * TestWebKitAPI/PlatformWPE.cmake: Ditto. 2018-11-19 Alejandro G. Castro [GTK][WPE] Solve some issues in the enumerateDevices code https://bugs.webkit.org/show_bug.cgi?id=191832 Reviewed by Carlos Garcia Campos. * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp: (serverCallback): Make all the Strings with HTML code static. (testWebsiteDataDeviceIdHashSalt): Change the webView settings in the test. * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp: (WebViewTest::initializeWebView): Remove the initialization of the webView settings, we now do it in the specific test. 2018-11-18 Chris Dumez [PSON] Received an invalid message "WebPageProxy.DidPerformClientRedirect" from the web process https://bugs.webkit.org/show_bug.cgi?id=191828 Reviewed by Antti Koivisto. Add API test coverage. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: * TestWebKitAPI/Tests/WebKitCocoa/client-side-redirect.html: Added. 2018-11-17 Wenson Hsieh [iOS] Remove all usages of UIItemProvider, UIItemProviderReading, and related classes https://bugs.webkit.org/show_bug.cgi?id=191819 Reviewed by Dan Bernstein. Replace UIItemProvider (and related classes) with NSItemProvider. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (platformCopyPNG): * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: (-[NSItemProvider registerDataRepresentationForTypeIdentifier:withData:]): Replace usages of this deprecated method with `-registerDataRepresentationForTypeIdentifier:visibility:loadHandler:`. (checkEstimatedSize): (checkSuggestedNameAndEstimatedSize): (TestWebKitAPI::TEST): (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]): Deleted. * TestWebKitAPI/cocoa/DragAndDropSimulator.h: * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[MockDragDropSession canLoadObjectsOfClass:]): (-[MockDragDropSession canLoadObjectsOfClasses:]): (-[MockDropSession initWithProviders:location:window:allowMove:]): (-[MockDropSession canCreateItemsOfClass:]): (-[DragAndDropSimulator _advanceProgress]): (-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]): (-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]): * TestWebKitAPI/ios/UIKitSPI.h: 2018-11-17 Chris Dumez ASSERTION FAILED: m_messageReceivers.contains(...) under ViewGestureController removeMessageReceiver https://bugs.webkit.org/show_bug.cgi?id=191734 Reviewed by Ryosuke Niwa. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-11-17 Zalan Bujtas [LFC][IFC] InlineFormattingState::addDetachingRule should accumulate rules. https://bugs.webkit.org/show_bug.cgi?id=191801 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-17 Jer Noble Regression(r233865): Causes synchronous IPC in the middle of layout https://bugs.webkit.org/show_bug.cgi?id=188307 Reviewed by Eric Carlson. Follow-up test fix for r238322: In ExitFullscreenOnEnterPiP.ElementFullScreen, explicitly make the video element in element fullscreen the "main content" by playing the video during a user gesture; only "main content" videos will cause fullscreen mode to exit when that element is taken into PiP. In FullscreenZoomInitialFrame.WebKit, the WebView is not visible, so the Page is considered hidden, and fullscreen is not allowed when the WebView is hidden. Make the WebView visible by ordering the test window on-screen. * TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.html: * TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm: (TestWebKitAPI::FullscreenZoomInitialFrame::runTest): 2018-11-16 Alex Christensen Tweak _showSafeBrowsingWarningWithTitle SPI https://bugs.webkit.org/show_bug.cgi?id=191799 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (TEST): 2018-11-16 Ryosuke Niwa REGRESSION (r238294): TestWebKitAPI.WKNavigation.ProcessCrashDuringCallback failing on iOS https://bugs.webkit.org/show_bug.cgi?id=191783 Reviewed by Chris Dumez. Allow either WKErrorWebContentProcessTerminated or WKErrorWebViewInvalidated since the test is closing WebView, thereby invalidating the view, which is racing with the process termination. * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm: (TEST): 2018-11-16 Chris Dumez ProcessSwap.DisableForInspector API test is failing https://bugs.webkit.org/show_bug.cgi?id=191798 Reviewed by Joseph Pecoraro. We support process swapping when Web Inspector is shown now so update the API test accordingly. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-11-16 Ryan Haddad Update buildbot dashboard after Windows 7/10 updates https://bugs.webkit.org/show_bug.cgi?id=191219 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: (BubbleQueueServer): * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: (WebKitBuildbot): * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css: (table.queue-grid tr.platform td.logo::before): (table.queue-grid tr.platform.windows-10 td.logo::before): (table.queue-grid tr.platform.wincairo-windows-10 td.logo::before): (table.queue-grid tr.platform.windows-7 td.logo::before): (table.queue-grid tr.platform.wincairo-windows-10 img.logo): 2018-11-16 Chris Dumez Regression(PSON) WebKit.GeolocationTransitionToHighAccuracy API test is timing out https://bugs.webkit.org/show_bug.cgi?id=191789 Reviewed by Alex Christensen. Relate the 2 test pages so they use the same process since WKContextSetMaximumNumberOfProcesses() SPI no longer works with PSON / Process prewarming. * TestWebKitAPI/Tests/WebKit/Geolocation.cpp: (TestWebKitAPI::TEST): 2018-11-16 Jonathan Bedard webkitpy: Retry app installation on watchOS simulators https://bugs.webkit.org/show_bug.cgi?id=191769 Reviewed by Aakash Jain. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDevice.install_app): Retry app installations. 2018-11-16 Zalan Bujtas Add DidFirstMeaningfulPaint milestone. https://bugs.webkit.org/show_bug.cgi?id=191754 Reviewed by Simon Fraser. * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/FirstMeaningfulPaintMilestone.cpp: Added. (TestWebKitAPI::didReachMilestone): (TestWebKitAPI::setPageLoaderClient): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/FirstMeaningfulPaintMilestone_Bundle.cpp: Copied from Source/WebKit/UIProcess/API/C/WKPageRenderingProgressEvents.h. (TestWebKitAPI::FirstMeaningfulPaintMilestoneTest::FirstMeaningfulPaintMilestoneTest): (TestWebKitAPI::FirstMeaningfulPaintMilestoneTest::didCreatePage): 2018-11-16 Takashi Komori [WinCairo][WebKitTestRunner] Test contents window is displayed while testing. https://bugs.webkit.org/show_bug.cgi?id=191593 Reviewed by Alex Christensen. Hide TestRunner window and taskbar button. * WebKitTestRunner/win/PlatformWebViewWin.cpp: (WTR::PlatformWebView::PlatformWebView): (WTR::PlatformWebView::windowSnapshotImage): 2018-11-16 Alex Christensen Add API to disable safe browsing checks https://bugs.webkit.org/show_bug.cgi?id=191610 Reviewed by Dean Jackson. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (resourceURL): (TEST): (safeBrowsingView): (simpleURL): Deleted. 2018-11-16 Zalan Bujtas [LFC][IFC] Add support for out-of-flow positioned boxes https://bugs.webkit.org/show_bug.cgi?id=191726 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-15 Myles C. Maxfield WKPreferencesSetFontSmoothingLevel doesn't actually do anything https://bugs.webkit.org/show_bug.cgi?id=191708 Reviewed by Simon Fraser. Delete the symbol because no one calls it and it doesn't do anything * TestWebKitAPI/Tests/WebKit/WKPreferences.cpp: (TestWebKitAPI::TEST): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): 2018-11-15 Truitt Savell Unreviewed, rolling out r238244. Caused High Sierra test runs to fail early with 50 crashes and casued 25 API failures. Reverted changeset: "[css-logical] Implement flow-relative margin, padding and border shorthands" https://bugs.webkit.org/show_bug.cgi?id=188697 https://trac.webkit.org/changeset/238244 2018-11-15 Aakash Jain Increase EWS lock timeout to 3 hours https://bugs.webkit.org/show_bug.cgi?id=191705 Reviewed by Alexey Proskuryakov. * QueueStatusServer/config/queues.py: Increased EWS lock timeout to 3 hours. 2018-11-15 Chris Dumez IndexedDB.IndexedDBTempFileSize API test times out with process prewarming enabled https://bugs.webkit.org/show_bug.cgi?id=191671 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): 2018-11-15 Oriol Brufau [css-logical] Implement flow-relative margin, padding and border shorthands https://bugs.webkit.org/show_bug.cgi?id=188697 Reviewed by Simon Fraser and Antti Koivisto. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): Allow tests to enable the CSSLogicalEnabled flag in WK1. * Scripts/webkitpy/style/checkers/jsonchecker.py: (JSONCSSPropertiesChecker.check_codegen_properties): Allow CSS property definitions to have a 'runtime-flag' parameter which disables the property when the specified runtime flag is disabled. 2018-11-15 Timothy Hatcher REGRESSION (r238212): WebKit.BackgroundColor* API test failures. https://bugs.webkit.org/show_bug.cgi?id=191697 rdar://problem/46098570 Reviewed by Dean Jackson. * TestWebKitAPI/Tests/mac/BackgroundColor.mm: (TestWebKitAPI::TEST): Updated for new default background color. 2018-11-15 Jonathan Bedard webkitpy: Check for specific process instead of using data migrator (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=191551 Reviewed by Aakash Jain. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDevice.is_usable): Use software_variant instead of software_version for watchOS. 2018-11-15 Daniel Bates [iOS] Shift + Tab does not focus previous field https://bugs.webkit.org/show_bug.cgi?id=191596 Reviewed by Wenson Hsieh. Add infrastructure to support testing a key down event with modifiers by creating and dispatching a UIEvent. This infrastructure replaces the previous mechanism in Tools/WebKitTestRunner/ios/HIDEventGenerator.mm to generate a IOHIDEvent for a keydown as it did not support creating an event with modifier key state that would be recognized by UIKit. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::keyDown): (WTR::UIScriptController::keyDownUsingHardwareKeyboard): Deleted. (WTR::UIScriptController::keyUpUsingHardwareKeyboard): Deleted. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Add function uiController.keyDown() that takes a character that represents a keyboard key and an array of modifier keys. The behavior of this function is analogous to eventSender.keyDown(). Remove functions uiController.keyDownUsingHardwareKeyboard() and uiController.keyUpUsingHardwareKeyboard() as the former is replaced by uiController.keyDown() and the latter was never used. * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::keyDown): Added. (WTR::UIScriptController::keyUpUsingHardwareKeyboard): Deleted. (WTR::UIScriptController::keyDownUsingHardwareKeyboard): Deleted. * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/ios/HIDEventGenerator.h: * WebKitTestRunner/ios/HIDEventGenerator.mm: (createHIDKeyDownEvent): Added. (-[HIDEventGenerator keyDown:completionBlock:]): Deleted. (-[HIDEventGenerator keyUp:completionBlock:]): Deleted. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::arrayLength): Added. (WTR::parseModifier): Added. (WTR::parseModifierArray): Added. (WTR::UIScriptController::keyDown): (WTR::UIScriptController::keyDownUsingHardwareKeyboard): Deleted. (WTR::UIScriptController::keyUpUsingHardwareKeyboard): Deleted. 2018-11-15 Keith Rollin Delete old .xcfilelist files https://bugs.webkit.org/show_bug.cgi?id=191669 Reviewed by Chris Dumez. .xcfilelist files were created and added to the Xcode project files in https://trac.webkit.org/changeset/238008/webkit. However, they caused build issues and they were removed from the Xcode projects in https://trac.webkit.org/changeset/238055/webkit. This check-in removes the files from the repository altogether. They'll ultimately be replaced with new files with names that indicate whether the associated files are inputs to the Run Script phase or are files created by the Run Script phase. * DumpRenderTree/DerivedSources.xcfilelist: Removed. * WebKitTestRunner/DerivedSources.xcfilelist: Removed. 2018-11-14 Zalan Butjas [LFC][IFC] Add support for in-flow positioned inline boxes. https://bugs.webkit.org/show_bug.cgi?id=191672 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-14 Keith Rollin Move scripts for Derived and Unified Sources to external files https://bugs.webkit.org/show_bug.cgi?id=191670 Reviewed by Keith Miller. Move the scripts in the Generate Derived Sources and Generate Unified Sources Run Script phases from the Xcode projects to external shell script files. Then invoke those scripts from the Run Script phases. This refactoring is being performed to support later work that will invoke these scripts in other contexts. The scripts were maintained as-is when making the move. I did a little reformatting and added 'set -e' to the top of each file, but that's it. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/Scripts/generate-derived-sources.sh: Added. * WebKitTestRunner/Scripts/generate-derived-sources.sh: Added. * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: 2018-11-14 Chris Dumez WebKit.DecidePolicyForNavigationActionForHyperlinkThatRedirects API fails when PSON is enabled https://bugs.webkit.org/show_bug.cgi?id=191640 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm: (runDecidePolicyForNavigationActionForHyperlinkThatRedirects): (TEST): 2018-11-14 Chris Dumez REGRESSION (r238115): [iOS] TestWebKitAPI.ProcessSwap.NavigateToInvalidURL is failing https://bugs.webkit.org/show_bug.cgi?id=191660 Reviewed by Ryosuke Niwa. The test tries to navigate to an invalid URL and makes sure that we do not process swap for such load. The test was inherently racing because it was doing: Its load event handler tries to navigate to 'http://A=a%B=b' and sets a 0 timer to log an alert, which causes the API test to keep going and check that we did not swap process. The issue is that a 0 timer may not be sufficient to trigger the load, as the policy decision is asynchronous and relies on the UIProcess responding to it. To address the issue, the test now waits for the next policy decision, spins the run loop and then makes sure we did not swap process. It no longer relies on a message from the page. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): 2018-11-14 Chris Dumez WebKit.WebsiteDataStoreCustomPaths API test is failing when enabling process prewarming https://bugs.webkit.org/show_bug.cgi?id=191638 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (runWebsiteDataStoreCustomPaths): (TEST): 2018-11-14 Alex Christensen Add SPI to show a safe browsing warning https://bugs.webkit.org/show_bug.cgi?id=191604 Reviewed by Andy Estes. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (TEST): 2018-11-14 Wenson Hsieh [iOS] A few drag and drop tests are crashing after r238146 https://bugs.webkit.org/show_bug.cgi?id=191617 Reviewed by Dean Jackson. Augment these crashing tests to verify that selection commands are suppressed during drop over editable elements via more robust means. These tests currently hit an assertion when revealing the callout bar too early, because TestWebKitAPI is not a UI application (see ). Instead of relying on this other bug, directly ask the text input whether it is suppressing selection commands during a drop, and remember the answer via DragAndDropSimulator. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: (TestWebKitAPI::TEST): Add to the existing tests that started failing after r238146. * TestWebKitAPI/cocoa/DragAndDropSimulator.h: * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[TestWKWebView textInputContentView]): * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[DragAndDropSimulator _resetSimulatedState]): (-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]): * TestWebKitAPI/ios/UIKitSPI.h: 2018-11-14 Wenson Hsieh [Cocoa] [WebKit2] Hook up some more editing actions (-pasteAndMatchStyle:, -makeTextWritingDirectionNatural:) https://bugs.webkit.org/show_bug.cgi?id=191605 Reviewed by Dean Jackson. Adds two new API tests to exercise -_pasteAndMatchStyle: and -makeTextWritingDirectionNatural:. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: Pull `-_synchronouslyExecuteEditCommand:argument:` out of WKAttachmentTests and into shared code, in a new category on WKWebView declared in TestWKWebView. Also, fix an unrelated typo in a nearby category. (-[WKWebView _synchronouslyExecuteEditCommand:argument:]): * TestWebKitAPI/ios/UIKitSPI.h: 2018-11-14 Chris Dumez WebKit.ApplicationManifestBasic API test is failing when enabling PSON https://bugs.webkit.org/show_bug.cgi?id=191602 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-11-14 Jonathan Bedard webkitpy: Refactor port code for devices https://bugs.webkit.org/show_bug.cgi?id=191568 Reviewed by Alex Christensen. watchOS and iOS device ports share many characteristics in testing, mostly due to the fact that both are devices. * Scripts/webkitpy/port/device_port.py: Added. (DevicePort): Add base class that all simulated/physical device ports share. (DevicePort.__init__): (DevicePort.driver_cmd_line_for_logging): Moved from iOS port. (DevicePort._generate_all_test_configurations): Ditto. (DevicePort.child_processes): Ditto. (DevicePort.driver_name): Ditto. (DevicePort.target_host): Generalize worker access to attached devices and simulated devices based on the device manager. (DevicePort.devices): Return a list of all devices associated with this port. (DevicePort._create_devices): (DevicePort._build_driver_flags): Moved from iOSSimulatorPort/iOSDevicePort. (DevicePort._install): Moved from iOS port. (DevicePort.setup_test_run): Ditto. (DevicePort.clean_up_test_run): Ditto. (DevicePort.did_spawn_worker): Ditto. (DevicePort.setup_environ_for_server): Ditto. * Scripts/webkitpy/port/ios.py: (IOSPort): (IOSPort._device_for_worker_number_map): Replaced by DevicePort.devices(). (IOSPort.driver_cmd_line_for_logging): Moved to DevicePort. (IOSPort.driver_name): Ditto. (IOSPort._generate_all_test_configurations): Ditto. (IOSPort.child_processes): Ditto. (IOSPort._testing_device): Ditto. (IOSPort.target_host): Ditto. (IOSPort._create_devices): Ditto. (IOSPort.setup_test_run): Ditto. (IOSPort.clean_up_test_run): Ditto. (IOSPort.did_spawn_worker): Ditto. * Scripts/webkitpy/port/ios_device.py: (IOSDevicePort): IOSDevicePort uses a device manager from apple_additions. (IOSDevicePort._look_for_all_crash_logs_in_log_dir): Use DevicePort.devices(). (IOSDevicePort._get_crash_log): Ditto. (IOSDevicePort.ios_version): Ditto. (IOSDevicePort._create_devices): Ditto. (IOSDevicePort._device_for_worker_number_map): Replaced by DevicePort.devices(). (IOSSimulatorPort._build_driver_flags): Moved to DevicePort. * Scripts/webkitpy/port/ios_device_unittest.py: (IOSDeviceTest.test_get_crash_log): * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort): IOSSimulatorPort uses the SimulatedDeviceManager. (IOSSimulatorPort._create_devices): Clean up logging statement. (IOSSimulatorPort.setup_environ_for_server): Some of environment set-up is shared across all devices. (IOSSimulatorPort._device_for_worker_number_map): Replaced by DevicePort.devices(). (IOSSimulatorPort._build_driver_flags): Moved to DevicePort. * Scripts/webkitpy/port/ios_simulator_unittest.py: (IOSSimulatorTest.test_32bit): (IOSSimulatorTest.test_64bit): 2018-11-14 Chris Dumez WebKit.WKHTTPCookieStoreWithoutProcessPool API test is failing with process prewarming is enabled https://bugs.webkit.org/show_bug.cgi?id=191624 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm: (runWKHTTPCookieStoreWithoutProcessPool): (TEST): 2018-11-13 Jiewen Tan [WebAuthN] Support CTAP HID authenticators on macOS https://bugs.webkit.org/show_bug.cgi?id=188623 Reviewed by Brent Fulgham and Chris Dumez. This patch adds support for the mock testing and entitlements to allow minibrowser to talk to hid devices. * MiniBrowser/MiniBrowser.entitlements: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setWebAuthenticationMockConfiguration): 2018-11-13 Ryosuke Niwa WebKit.GeolocationTransitionToLowAccuracy API crashes when enabling PSON https://bugs.webkit.org/show_bug.cgi?id=191616 Reviewed by Chris Dumez. The crash was caused by WKView in autorelease pool invoking stopUpdatingCallback after GeolocationTransitionToLowAccuracyStateTracker in the stack had been destroyed, resulting in the use-after-free. Made the tests more robust by clearing geolocation provider before exiting each test since we can't really prevent WKView from entering an autorelease pool. Also made WebKit.GeolocationTransitionToLowAccuracy wait for the success callback instead of simply the end of the navigation so that the test would continue to work even if a web content process was created for the second web view (lowAccuracyWebView) * TestWebKitAPI/Tests/WebKit/Geolocation.cpp: (TestWebKitAPI::setupGeolocationProvider): Moved "*" to match the WebKit coding style guideline. (TestWebKitAPI::clearGeolocationProvider): Added. (TestWebKitAPI::runJavaScriptAlert): Added. (TestWebKitAPI::didFinishNavigation): Deleted. * TestWebKitAPI/Tests/WebKit/geolocationWatchPosition.html: 2018-11-13 Chris Dumez WKProcessPool.InitialWarmedProcessUsed API is failing with PSON enabled https://bugs.webkit.org/show_bug.cgi?id=191618 Reviewed by Ryosuke Niwa. Update API test to explicitly disable automatic process prewarning since it is testing manual prewarming. * TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm: (TEST): 2018-11-13 Chris Dumez Several Service Worker API tests are failing when enabling PSON https://bugs.webkit.org/show_bug.cgi?id=191619 Reviewed by Youenn Fablet. Update tests to use _webProcessCountIgnoringPrewarmed instead of _webProcessCount so that they are not impacted by process prewarming. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2018-11-13 Wenson Hsieh [iOS] Do not show selection UI for editable elements with opacity near zero https://bugs.webkit.org/show_bug.cgi?id=191442 Reviewed by Simon Fraser. Add a couple of new testing helpers to UIScriptController. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::textSelectionRangeRects const): (WTR::UIScriptController::selectionCaretViewRect const): (WTR::UIScriptController::selectionRangeViewRects const): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::textSelectionRangeRects const): Rename `selectionRangeViewRects` to `textSelectionRangeRects`. This allows us to draw a distinction between `textSelectionRangeRects`/`textSelectionCaretRect`, which retrieve information about selection rects known to the text interaction assistant, and `selectionCaretViewRect`/`selectionRangeViewRects`, which retrieve the actual frames of the selection views used to draw overlaid selection UI. This difference is important in the new layout tests added in this patch, which only suppress caret rendering (i.e. selection views remain hidden). Also, drive-by fix a leaked `NSMutableArray`. (WTR::UIScriptController::selectionStartGrabberViewRect const): (WTR::UIScriptController::selectionEndGrabberViewRect const): (WTR::UIScriptController::selectionCaretViewRect const): (WTR::UIScriptController::selectionRangeViewRects const): Testing helpers to grab the frames of caret and selection views, in WKContentView's coordinate space. These rects are also clamped to WKContentView bounds. 2018-11-13 Daniel Bates Consolidate WebKit UIKitSPI.h and UIKitTestSPI.h https://bugs.webkit.org/show_bug.cgi?id=173341 Reviewed by Simon Fraser. There is little value to making a distinction between forward declarations of UIKit SPI needed in the WebKit layer and just for testing. Moreover, the contents of these two headers can conflict with each other following r218275 as DumpRenderTree includes both headers. Instead we should remove UIKitTestSPI.h and have WebKitTestRunner include the WebKit variant, UIKitSPI.h. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * DumpRenderTree/mac/DumpRenderTree.mm: * TestRunnerShared/spi/UIKitTestSPI.h: Removed. * WebKitTestRunner/Configurations/Base.xcconfig: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: * WebKitTestRunner/ios/GeneratedTouchesDebugWindow.mm: * WebKitTestRunner/ios/HIDEventGenerator.h: * WebKitTestRunner/ios/HIDEventGenerator.mm: * WebKitTestRunner/ios/PlatformWebViewIOS.mm: * WebKitTestRunner/ios/TestControllerIOS.mm: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: * WebKitTestRunner/ios/mainIOS.mm: 2018-11-13 Takashi Komori Remove WebKitTestRunnerLib's build warnings. https://bugs.webkit.org/show_bug.cgi?id=191580 Reviewed by Fujii Hironori. Include cmakeconfig.h in precompiled header. * WebKitTestRunner/WebKitTestRunnerPrefix.h: 2018-11-12 Darshan Kadu Implement Cache API support for WPE/GTK https://bugs.webkit.org/show_bug.cgi?id=178316 Reviewed by Michael Catanzaro. Called WKWebsiteDataStoreSetCacheStoragePerOriginQuota function to set the cache limit to 400 * 1200 on all the platforms in TestController.cpp. Also, removed the setCacheStoragePerOriginQuota call from TestControllerCocoa.mm * WebKitTestRunner/TestController.cpp: (WTR::TestController::generatePageConfiguration): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::initializeWebViewConfiguration): 2018-11-12 Christopher Reid [Curl] Reject entire cookie if the domain fails a tailmatch. https://bugs.webkit.org/show_bug.cgi?id=191406 Reviewed by Youenn Fablet. Added unittests for Curl cookie implementation. * TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp: (TestWebKitAPI::Curl::CurlCookies::RejectTailmatchFailureDomain): 2018-11-12 Alex Christensen [iOS] Implement safe browsing in WebKit https://bugs.webkit.org/show_bug.cgi?id=191441 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (checkTitleAndClick): (TEST): 2018-11-12 Basuke Suzuki [Curl] Add API Test for Curl cookie backend. https://bugs.webkit.org/show_bug.cgi?id=191493 Reviewed by Youenn Fablet. Add unit test to TestWebCore. * TestWebKitAPI/PlatformWin.cmake: * TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp: Added. 2018-11-12 Tim Horton Make it possible to edit images inline https://bugs.webkit.org/show_bug.cgi?id=191352 Reviewed by Dean Jackson. * WebKitTestRunner/TestController.cpp: (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): Add a test option to enable editable images. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::drawSquareInEditableImage): (WTR::UIScriptController::numberOfStrokesInEditableImage): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::drawSquareInEditableImage): (WTR::UIScriptController::numberOfStrokesInEditableImage): * TestRunnerShared/UIScriptContext/UIScriptController.h: * TestRunnerShared/spi/PencilKitTestSPI.h: Added. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::findEditableImageCanvas): (WTR::UIScriptController::drawSquareInEditableImage): (WTR::UIScriptController::numberOfStrokesInEditableImage): Add the ability to draw on a PKCanvasView that is a subview of the WKWebView, and also to retrieve the number of strokes currently on the PKCanvasView. Currently this just takes the first canvas; we might need to make it take an identifier or something in the future if we need tests with multiple canvases. The indirect testing mechanism is required because PKCanvasView can currently not actually paint its strokes in the Simulator. 2018-11-12 Ryan Haddad [MediaStream] Screen capture should be an experimental feature on OSX only https://bugs.webkit.org/show_bug.cgi?id=191552 Unreviewed test gardening. * TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm: Only run these tests on macOS. 2018-11-12 Don Olmstead Shipped PNGs include bad profiles: iCCP: known incorrect sRGB profile https://bugs.webkit.org/show_bug.cgi?id=189230 Reviewed by Joseph Pecoraro. Runs all png images through zopflipng. This results in a smaller file size and takes care of this issue as a byproduct. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/images/favicon-green.png: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/images/favicon-red.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/ElCapitan.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/ElCapitan@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/GTK.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/GTK@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10Simulator.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10Simulator@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11Simulator.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11Simulator@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9Simulator.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9Simulator@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSSimulator.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSSimulator@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mavericks.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mavericks@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/MountainLion.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/MountainLion@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/PlatformRing.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/PlatformRing@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WPE.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WPE@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows7.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows7@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows8.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows8@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WindowsXP.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WindowsXP@2x.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Yosemite.png: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Yosemite@2x.png: 2018-11-12 Tim Horton Modernize WebKit Tools Xcode projects for localization's sake https://bugs.webkit.org/show_bug.cgi?id=191495 Reviewed by Alexey Proskuryakov. * ContentExtensionTester/ContentExtensionTester.xcodeproj/project.pbxproj: * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * EditingHistory/EditingHistory.xcodeproj/project.pbxproj: * FontWithFeatures/FontWithFeatures.xcodeproj/project.pbxproj: * ImageDiff/ImageDiff.xcodeproj/project.pbxproj: * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj: * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj: These are less important because they're not localized, but since I made the style checker complain, it now complains any time anyone touches any of these projects... so upgrade them. 2018-11-12 Jonathan Bedard webkitpy: Check for specific process instead of using data migrator https://bugs.webkit.org/show_bug.cgi?id=191551 Rubber-stamped by Aakash Jain. It's possible for the data migrator process to be stuck, but for a simulator to be usable. Use device-specific processes to detect when a device is usable. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDeviceManager._wait_until_device_is_usable): (SimulatedDeviceManager): (SimulatedDeviceManager.initialize_devices): Explicitly wait until a device is usable since this implies that a device is booted. (SimulatedDeviceManager.swap): Ditto. (SimulatedDevice.is_usable): Check that a device is booted and that a device-specific process indicating the device is usable can be found. (SimulatedDeviceManager.wait_until_data_migration_is_done): Deleted. * Scripts/webkitpy/xcode/simulated_device_unittest.py: Update simctl_json so that it triggers the logic in is_usable() 2018-11-12 Takashi Komori Resurrect WebKitTestRunner for Windows port https://bugs.webkit.org/show_bug.cgi?id=189257 Reviewed by Fujii Hironori. Implement WebKitTestRunner for WinCairo. * PlatformWin.cmake: * Scripts/build-webkittestrunner: * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/EventSenderProxy.h: * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp: * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::rangeToStr): (WTR::InjectedBundlePage::dumpDOMAsWebArchive): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::TestRunner): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/InjectedBundle/win/AccessibilityControllerWin.cpp: Added. (WTR::AccessibilityController::resetToConsistentState): (WTR::AccessibilityController::accessibleElementById): (WTR::AccessibilityController::platformName): (WTR::AccessibilityController::rootElement): (WTR::AccessibilityController::focusedElement): (WTR::AccessibilityController::addNotificationListener): (WTR::AccessibilityController::removeNotificationListener): * WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp: Added. (WTR::AccessibilityUIElement::AccessibilityUIElement): (WTR::AccessibilityUIElement::~AccessibilityUIElement): (WTR::AccessibilityUIElement::isEqual): (WTR::AccessibilityUIElement::getChildren): (WTR::AccessibilityUIElement::getChildrenWithRange): (WTR::AccessibilityUIElement::childrenCount): (WTR::AccessibilityUIElement::elementAtPoint): (WTR::AccessibilityUIElement::indexOfChild): (WTR::AccessibilityUIElement::childAtIndex): (WTR::AccessibilityUIElement::linkedUIElementAtIndex): (WTR::AccessibilityUIElement::ariaOwnsElementAtIndex): (WTR::AccessibilityUIElement::ariaFlowToElementAtIndex): (WTR::AccessibilityUIElement::ariaControlsElementAtIndex): (WTR::AccessibilityUIElement::disclosedRowAtIndex): (WTR::AccessibilityUIElement::rowAtIndex): (WTR::AccessibilityUIElement::selectedChildAtIndex const): (WTR::AccessibilityUIElement::selectedChildrenCount const): (WTR::AccessibilityUIElement::selectedRowAtIndex): (WTR::AccessibilityUIElement::titleUIElement): (WTR::AccessibilityUIElement::parentElement): (WTR::AccessibilityUIElement::disclosedByRow): (WTR::AccessibilityUIElement::attributesOfLinkedUIElements): (WTR::AccessibilityUIElement::attributesOfDocumentLinks): (WTR::AccessibilityUIElement::attributesOfChildren): (WTR::AccessibilityUIElement::allAttributes): (WTR::AccessibilityUIElement::stringAttributeValue): (WTR::AccessibilityUIElement::numberAttributeValue): (WTR::AccessibilityUIElement::uiElementArrayAttributeValue const): (WTR::AccessibilityUIElement::rowHeaders const): (WTR::AccessibilityUIElement::columnHeaders const): (WTR::AccessibilityUIElement::uiElementAttributeValue const): (WTR::AccessibilityUIElement::boolAttributeValue): (WTR::AccessibilityUIElement::isAttributeSettable): (WTR::AccessibilityUIElement::isAttributeSupported): (WTR::AccessibilityUIElement::parameterizedAttributeNames): (WTR::AccessibilityUIElement::role): (WTR::AccessibilityUIElement::subrole): (WTR::AccessibilityUIElement::roleDescription): (WTR::AccessibilityUIElement::computedRoleString): (WTR::AccessibilityUIElement::title): (WTR::AccessibilityUIElement::description): (WTR::AccessibilityUIElement::orientation const): (WTR::AccessibilityUIElement::stringValue): (WTR::AccessibilityUIElement::language): (WTR::AccessibilityUIElement::helpText const): (WTR::AccessibilityUIElement::x): (WTR::AccessibilityUIElement::y): (WTR::AccessibilityUIElement::width): (WTR::AccessibilityUIElement::height): (WTR::AccessibilityUIElement::clickPointX): (WTR::AccessibilityUIElement::clickPointY): (WTR::AccessibilityUIElement::intValue const): (WTR::AccessibilityUIElement::minValue): (WTR::AccessibilityUIElement::maxValue): (WTR::AccessibilityUIElement::valueDescription): (WTR::AccessibilityUIElement::insertionPointLineNumber): (WTR::AccessibilityUIElement::isPressActionSupported): (WTR::AccessibilityUIElement::isIncrementActionSupported): (WTR::AccessibilityUIElement::isDecrementActionSupported): (WTR::AccessibilityUIElement::isEnabled): (WTR::AccessibilityUIElement::isRequired const): (WTR::AccessibilityUIElement::isFocused const): (WTR::AccessibilityUIElement::isSelected const): (WTR::AccessibilityUIElement::isSelectedOptionActive const): (WTR::AccessibilityUIElement::isExpanded const): (WTR::AccessibilityUIElement::isChecked const): (WTR::AccessibilityUIElement::isIndeterminate const): (WTR::AccessibilityUIElement::hierarchicalLevel const): (WTR::AccessibilityUIElement::speakAs): (WTR::AccessibilityUIElement::ariaIsGrabbed const): (WTR::AccessibilityUIElement::ariaDropEffects const): (WTR::AccessibilityUIElement::lineForIndex): (WTR::AccessibilityUIElement::rangeForLine): (WTR::AccessibilityUIElement::rangeForPosition): (WTR::AccessibilityUIElement::boundsForRange): (WTR::AccessibilityUIElement::stringForRange): (WTR::AccessibilityUIElement::attributedStringForRange): (WTR::AccessibilityUIElement::attributedStringRangeIsMisspelled): (WTR::AccessibilityUIElement::uiElementCountForSearchPredicate): (WTR::AccessibilityUIElement::uiElementForSearchPredicate): (WTR::AccessibilityUIElement::selectTextWithCriteria): (WTR::AccessibilityUIElement::attributesOfColumnHeaders): (WTR::AccessibilityUIElement::attributesOfRowHeaders): (WTR::AccessibilityUIElement::attributesOfColumns): (WTR::AccessibilityUIElement::attributesOfRows): (WTR::AccessibilityUIElement::attributesOfVisibleCells): (WTR::AccessibilityUIElement::attributesOfHeader): (WTR::AccessibilityUIElement::rowCount): (WTR::AccessibilityUIElement::columnCount): (WTR::AccessibilityUIElement::indexInTable): (WTR::AccessibilityUIElement::rowIndexRange): (WTR::AccessibilityUIElement::columnIndexRange): (WTR::AccessibilityUIElement::cellForColumnAndRow): (WTR::AccessibilityUIElement::horizontalScrollbar const): (WTR::AccessibilityUIElement::verticalScrollbar const): (WTR::AccessibilityUIElement::selectedTextRange): (WTR::AccessibilityUIElement::setSelectedTextRange): (WTR::AccessibilityUIElement::increment): (WTR::AccessibilityUIElement::decrement): (WTR::AccessibilityUIElement::showMenu): (WTR::AccessibilityUIElement::press): (WTR::AccessibilityUIElement::setSelectedChild const): (WTR::AccessibilityUIElement::setSelectedChildAtIndex const): (WTR::AccessibilityUIElement::removeSelectionAtIndex const): (WTR::AccessibilityUIElement::clearSelectedChildren const): (WTR::AccessibilityUIElement::accessibilityValue const): (WTR::AccessibilityUIElement::documentEncoding): (WTR::AccessibilityUIElement::documentURI): (WTR::AccessibilityUIElement::url): (WTR::AccessibilityUIElement::addNotificationListener): (WTR::AccessibilityUIElement::removeNotificationListener): (WTR::AccessibilityUIElement::isFocusable const): (WTR::AccessibilityUIElement::isSelectable const): (WTR::AccessibilityUIElement::isMultiSelectable const): (WTR::AccessibilityUIElement::isVisible const): (WTR::AccessibilityUIElement::isOffScreen const): (WTR::AccessibilityUIElement::isCollapsed const): (WTR::AccessibilityUIElement::isIgnored const): (WTR::AccessibilityUIElement::isSingleLine const): (WTR::AccessibilityUIElement::isMultiLine const): (WTR::AccessibilityUIElement::hasPopup const): (WTR::AccessibilityUIElement::takeFocus): (WTR::AccessibilityUIElement::takeSelection): (WTR::AccessibilityUIElement::addSelection): (WTR::AccessibilityUIElement::removeSelection): (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): (WTR::AccessibilityUIElement::textMarkerRangeForElement): (WTR::AccessibilityUIElement::textMarkerRangeLength): (WTR::AccessibilityUIElement::previousTextMarker): (WTR::AccessibilityUIElement::nextTextMarker): (WTR::AccessibilityUIElement::stringForTextMarkerRange): (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): (WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): (WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): (WTR::AccessibilityUIElement::endTextMarkerForBounds): (WTR::AccessibilityUIElement::startTextMarkerForBounds): (WTR::AccessibilityUIElement::textMarkerForPoint): (WTR::AccessibilityUIElement::accessibilityElementForTextMarker): (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange): (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute): (WTR::AccessibilityUIElement::indexForTextMarker): (WTR::AccessibilityUIElement::isTextMarkerValid): (WTR::AccessibilityUIElement::textMarkerForIndex): (WTR::AccessibilityUIElement::startTextMarker): (WTR::AccessibilityUIElement::endTextMarker): (WTR::AccessibilityUIElement::setSelectedVisibleTextRange): (WTR::AccessibilityUIElement::scrollToMakeVisible): (WTR::AccessibilityUIElement::scrollToGlobalPoint): (WTR::AccessibilityUIElement::scrollToMakeVisibleWithSubFocus): (WTR::AccessibilityUIElement::supportedActions const): (WTR::AccessibilityUIElement::pathDescription const): (WTR::AccessibilityUIElement::mathPostscriptsDescription const): (WTR::AccessibilityUIElement::mathPrescriptsDescription const): (WTR::AccessibilityUIElement::classList const): (WTR::AccessibilityUIElement::characterAtOffset): (WTR::AccessibilityUIElement::wordAtOffset): (WTR::AccessibilityUIElement::lineAtOffset): (WTR::AccessibilityUIElement::sentenceAtOffset): * WebKitTestRunner/InjectedBundle/win/ActivateFontsWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp. (WTR::activateFonts): (WTR::installFakeHelvetica): (WTR::uninstallFakeHelvetica): * WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp. (WTR::InjectedBundle::platformInitialize): * WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.cpp: Added. * WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.h: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp. * WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp. (WTR::TestRunner::pathToLocalResource): (WTR::TestRunner::inspectorTestStubURL): (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer): (WTR::TestRunner::platformInitialize): (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded): (WTR::TestRunner::installFakeHelvetica): * WebKitTestRunner/PlatformWebView.h: * WebKitTestRunner/PlatformWin.cmake: Added. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): (WTR::createTestURL): * WebKitTestRunner/TestInvocation.cpp: * WebKitTestRunner/WebKitTestRunnerPrefix.h: * WebKitTestRunner/win/EventSenderProxyWin.cpp: Added. (WTR::EventSenderProxy::EventSenderProxy): (WTR::EventSenderProxy::~EventSenderProxy): (WTR::EventSenderProxy::mouseDown): (WTR::EventSenderProxy::mouseUp): (WTR::EventSenderProxy::mouseMoveTo): (WTR::EventSenderProxy::mouseScrollBy): (WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): (WTR::EventSenderProxy::continuousMouseScrollBy): (WTR::EventSenderProxy::leapForward): (WTR::EventSenderProxy::keyDown): * WebKitTestRunner/win/PlatformWebViewWin.cpp: Added. (WTR::registerWindowClass): (WTR::PlatformWebView::PlatformWebView): (WTR::PlatformWebView::~PlatformWebView): (WTR::PlatformWebView::resizeTo): (WTR::PlatformWebView::page): (WTR::PlatformWebView::focus): (WTR::PlatformWebView::windowFrame): (WTR::PlatformWebView::setWindowFrame): (WTR::PlatformWebView::didInitializeClients): (WTR::PlatformWebView::addChromeInputField): (WTR::PlatformWebView::removeChromeInputField): (WTR::PlatformWebView::addToWindow): (WTR::PlatformWebView::removeFromWindow): (WTR::PlatformWebView::setWindowIsKey): (WTR::PlatformWebView::makeWebViewFirstResponder): (WTR::generateCairoSurfaceFromBitmap): (WTR::PlatformWebView::windowSnapshotImage): (WTR::PlatformWebView::changeWindowScaleIfNeeded): (WTR::PlatformWebView::setNavigationGesturesEnabled): (WTR::PlatformWebView::forceWindowFramesChanged): (WTR::PlatformWebView::drawsBackground const): (WTR::PlatformWebView::setDrawsBackground): * WebKitTestRunner/win/TestControllerWin.cpp: Added. (WTR::exceptionFilter): (WTR::runRunLoopUntil): (WTR::TestController::notifyDone): (WTR::TestController::setHidden): (WTR::TestController::platformInitialize): (WTR::TestController::platformPreferences): (WTR::TestController::platformDestroy): (WTR::toWK): (WTR::TestController::platformInitializeContext): (WTR::TestController::platformRunUntil): (WTR::TestController::platformDidCommitLoadForFrame): (WTR::TestController::initializeInjectedBundlePath): (WTR::TestController::initializeTestPluginDirectory): (WTR::TestController::runModal): (WTR::TestController::platformContext): (WTR::TestController::platformLibraryPathForTesting): (WTR::TestController::platformConfigureViewForTest): (WTR::TestController::platformResetPreferencesToConsistentValues): (WTR::TestController::updatePlatformSpecificTestOptionsForTest const): * WebKitTestRunner/win/WebKitTestRunnerPrefix.cpp: Added. * WebKitTestRunner/win/main.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp. (dllLauncherEntryPoint): 2018-11-12 Alicia Boya García [MSE][GStreamer] Introduce AbortableTaskQueue https://bugs.webkit.org/show_bug.cgi?id=190902 Reviewed by Xabier Rodriguez-Calvar. Tests for AbortableTaskQueue are included. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/PlatformGTK.cmake: * TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp: Added. (TestWebKitAPI::TEST): (TestWebKitAPI::FancyResponse::FancyResponse): (TestWebKitAPI::FancyResponse::operator=): (TestWebKitAPI::DeterministicScheduler::DeterministicScheduler): (TestWebKitAPI::DeterministicScheduler::ThreadContext::ThreadContext): (TestWebKitAPI::DeterministicScheduler::ThreadContext::waitMyTurn): (TestWebKitAPI::DeterministicScheduler::ThreadContext::yieldToThread): 2018-11-11 Fujii Hironori run-bindings-tests is timing out in some WinCairo bots https://bugs.webkit.org/show_bug.cgi?id=191348 Reviewed by Alex Christensen. BuildBot kills run-bindings-tests if it outputs nothing for 20 minutes. run-bindings-tests runs very slowly in WinCairo Docker, and it takes more than 30 minutes to finish. And, Windows Python buffers the progress output. * Scripts/webkitpy/bindings/main.py: (BindingsTests.detect_changes): Call sys.stdout.flush() after the test case result is output. 2018-11-11 Wenson Hsieh Implement a new edit command to change the enclosing list type https://bugs.webkit.org/show_bug.cgi?id=191487 Reviewed by Ryosuke Niwa. Add a new API test to verify that `-[WKWebView _changeListType:]` is hooked up to the corresponding editing command in WebCore. See the new layout test for a test that exercises more nuanced corner cases. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm: (-[TestWKWebView setPosition:offset:]): (-[TestWKWebView setBase:baseOffset:extent:extentOffset:]): (TestWebKitAPI::webViewForEditActionTestingWithPageNamed): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/editable-nested-lists.html: Added. 2018-11-11 Dan Bernstein ProcessPoolConfiguration::copy() doesn’t copy m_customWebContentServiceBundleIdentifier https://bugs.webkit.org/show_bug.cgi?id=191514 Reviewed by Geoffrey Garen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm: Added. (TEST): 2018-11-11 Benjamin Poulain Fix a fixme: rename wtfObjcMsgSend to wtfObjCMsgSend https://bugs.webkit.org/show_bug.cgi?id=191492 Reviewed by Alex Christensen. Update file name. * DumpRenderTree/mac/DumpRenderTree.mm: * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm: * WebKitTestRunner/mac/TestControllerMac.mm: 2018-11-10 Benjamin Poulain Fix a fixme: rename wtfObjcMsgSend to wtfObjCMsgSend https://bugs.webkit.org/show_bug.cgi?id=191492 Reviewed by Alex Christensen. * DumpRenderTree/mac/DumpRenderTree.mm: * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm: * WebKitTestRunner/mac/TestControllerMac.mm: 2018-11-10 Ryan Haddad Unreviewed, rolling out r238065. Breaks internal builds. Reverted changeset: "Make it possible to edit images inline" https://bugs.webkit.org/show_bug.cgi?id=191352 https://trac.webkit.org/changeset/238065 2018-11-10 Michael Catanzaro [WPE][GTK] API test /webkit/WebKitSettings/webkit-settings is failing https://bugs.webkit.org/show_bug.cgi?id=191221 Unreviewed, fix a typo from the previous patch. After disabling the setting, we should test that it is disabled, but we're testing that it is enabled, because I failed to update this line. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettings): 2018-11-10 Tim Horton Make it possible to edit images inline https://bugs.webkit.org/show_bug.cgi?id=191352 Reviewed by Dean Jackson. * WebKitTestRunner/TestController.cpp: (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): Add a test option to enable editable images. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::drawSquareInEditableImage): (WTR::UIScriptController::numberOfStrokesInEditableImage): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::drawSquareInEditableImage): (WTR::UIScriptController::numberOfStrokesInEditableImage): * TestRunnerShared/UIScriptContext/UIScriptController.h: * TestRunnerShared/spi/PencilKitTestSPI.h: Added. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::findEditableImageCanvas): (WTR::UIScriptController::drawSquareInEditableImage): (WTR::UIScriptController::numberOfStrokesInEditableImage): Add the ability to draw on a PKCanvasView that is a subview of the WKWebView, and also to retrieve the number of strokes currently on the PKCanvasView. Currently this just takes the first canvas; we might need to make it take an identifier or something in the future if we need tests with multiple canvases. The indirect testing mechanism is required because PKCanvasView can currently not actually paint its strokes in the Simulator. 2018-11-09 Chris Dumez Suspended page persists even after back/forward list item is gone https://bugs.webkit.org/show_bug.cgi?id=191488 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-11-09 Wenson Hsieh [Cocoa] Implement SPI on WKWebView to increase and decrease list levels https://bugs.webkit.org/show_bug.cgi?id=191471 Reviewed by Tim Horton. Add an API test to ensure that list levels can be incremented and decremented via WKWebView SPI. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm: (TestWebKitAPI::webViewForEditActionTesting): (TestWebKitAPI::TEST): 2018-11-09 Basuke Suzuki [Curl][WebKit] Implement Proxy configuration API. https://bugs.webkit.org/show_bug.cgi?id=189053 Reviewed by Youenn Fablet. Added Proxy Settings dialog to call newly added API. * MiniBrowser/win/BrowserWindow.h: * MiniBrowser/win/Common.cpp: (askProxySettings): (askCredential): (authDialogProc): Deleted. * MiniBrowser/win/Common.h: * MiniBrowser/win/DialogHelper.h: Added. (Dialog::run): (Dialog::doalogProc): (Dialog::handle): (Dialog::setup): (Dialog::update): (Dialog::validate): (Dialog::updateOkButton): (Dialog::command): (Dialog::ok): (Dialog::cancel): (Dialog::close): (Dialog::hDlg): (Dialog::item): (Dialog::setEnabled): (Dialog::setText): (Dialog::getText): (Dialog::getTextLength): (Dialog::RadioGroup::RadioGroup): (Dialog::RadioGroup::set): (Dialog::RadioGroup::get): (Dialog::radioGroup): * MiniBrowser/win/MainWindow.cpp: (MainWindow::WndProc): * MiniBrowser/win/MiniBrowserLib.rc: * MiniBrowser/win/MiniBrowserLibResource.h: * MiniBrowser/win/WebKitBrowserWindow.cpp: (createWKURL): (WebKitBrowserWindow::WebKitBrowserWindow): (WebKitBrowserWindow::updateProxySettings): (WebKitBrowserWindow::loadURL): (WebKitBrowserWindow::loadHTMLString): (WebKitBrowserWindow::openProxySettings): * MiniBrowser/win/WebKitBrowserWindow.h: * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp: (WebKitLegacyBrowserWindow::openProxySettings): * MiniBrowser/win/WebKitLegacyBrowserWindow.h: 2018-11-09 Wenson Hsieh [Cocoa] Introduce WKWebView SPI to insert nested ordered and unordered lists https://bugs.webkit.org/show_bug.cgi?id=191410 Reviewed by Dean Jackson. Move WKWebViewEditActions from iOS to WebKitCocoa, and enable the relevant WKWebViewEditActions tests on macOS. Additionally, add new API tests to verify that `-_pasteAsQuotation:` and `-_insertNested(Un)OrderedList:` are hooked up to their respective editing commands. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm: Renamed from Tools/TestWebKitAPI/Tests/ios/WKWebViewEditActions.mm. (-[TestWKWebView querySelectorExists:]): (-[TestWKWebView insertString:]): Add a helper method to insert a piece of text. This abstracts platform differences between iOS and macOS, by invoking the WKWebView directly on macOS and calling on the content view on iOS. (TestWebKitAPI::webViewForEditActionTesting): (TestWebKitAPI::TEST): 2018-11-09 Philippe Normand [Flatpak] Refactoring and drive-by fixes https://bugs.webkit.org/show_bug.cgi?id=191421 Reviewed by Michael Catanzaro. * Scripts/webkitdirs.pm: (inFlatpakSandbox): Flatpak now has a /.flatpak-info file when in the sandbox, so rely on this. * flatpak/flatpakutils.py: (expand_manifest): Pass explicit keywords to load_manifest() and remove unused local variable. (WebkitFlatpak.clean_args): Move hard-coded sdk/runtime infos to the manifest file. (WebkitFlatpak.run_in_sandbox): Add support for extra environment variables. (WebkitFlatpak.setup_dev_env): Stop build at final app. Refactor build_type handling a bit. * flatpak/org.webkit.CommonModules.yaml: Added. * flatpak/org.webkit.WPE.yaml: wpebackend upstream was renamed to libwpe. * flatpak/org.webkit.WebKit.yaml: Move common dependencies declaration to CommonModules, so it can be reused later when we add support for building extra libraries depending on WPE. 2018-11-08 Said Abou-Hallawa onal supported image formats https://bugs.webkit.org/show_bug.cgi?id=190454 Reviewed by Simon Fraser. Test opening a TGA image in WebView which is not allowed by default. The TGA format will be allowed through WKWebViewConfiguration. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/100x100-red.tga: Added. * TestWebKitAPI/Tests/WebKitCocoa/400x400-green.png: Added. * TestWebKitAPI/Tests/WebKitCocoa/AdditionalSupportedImageTypes.mm: Added. (runTest): (TEST): 2018-11-08 Jiewen Tan Unreviewed, a proper build fix for r237983 Don't include header PublicKeyCredential.h in CtapResponseTest.cpp. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/CtapRequestTest.cpp. (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/CtapResponseTest.cpp. (TestWebKitAPI::getTestCorruptedSignResponse): (TestWebKitAPI::getTestCredentialRawIdBytes): (TestWebKitAPI::convertToVector): (TestWebKitAPI::TEST): 2018-11-08 Keith Rollin Create .xcfilelist files https://bugs.webkit.org/show_bug.cgi?id=191324 Reviewed by Alex Christensen. As part of preparing for enabling XCBuild, create and use .xcfilelist files. These files are using during Run Script build phases in an Xcode project. If a Run Script build phase produces new files that are used later as inputs to subsequent build phases, XCBuild needs to know about these files. These files can be either specified in an "output files" section of the Run Script phase editor, or in .xcfilelist files that are associated with the Run Script build phase. This patch takes the second approach. It consists of three sets of changes: - Modify the DerivedSources.make files to have a 'print_all_generated_files" target that produces a list of the files they create. - Create a shell script that produces .xcfilelist files from the output of the previous step, as well as for the files created in the Generate Unified Sources build steps. - Add the new .xcfilelist files to the associated projects. Note that, with these changes, the Xcode workspace and projects can no longer be fully loaded into Xcode 9. Xcode will attempt to load the projects that have .xcfilelist files associated with them, but will fail and display a placeholder for those projects instead. It's expected that all developers are using Xcode 10 by now and that not being able to load into Xcode 9 is not a practical issue. Keep in mind that this is strictly an IDE issue, and that the projects can still be built with `xcodebuild`. Also note that the shell script that creates the .xcfilelist files can also be used to verify that the set of files that's currently checked in is up-to-date. This checking can be used as part of a check-in hook or part of check-webkit-style to sooner catch cases where the .xcfilelist files need to be regenerated. * DumpRenderTree/DerivedSources.make: * DumpRenderTree/DerivedSources.xcfilelist: Added. * Scripts/generate-xcfilelists: Added. * WebKitTestRunner/DerivedSources.make: * WebKitTestRunner/DerivedSources.xcfilelist: Added. 2018-11-08 Jiewen Tan Unreviewed, a quick build fix for r237983 Temporarily make CtapRequestTest.cpp/CtapResponseTest.cpp to mac only to avoid iOS build failures. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj * TestWebKitAPI/Tests/WebCore/mac/CtapRequestTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp. (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/mac/CtapResponseTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp. (TestWebKitAPI::getTestCorruptedSignResponse): (TestWebKitAPI::getTestCredentialRawIdBytes): (TestWebKitAPI::convertToVector): (TestWebKitAPI::TEST): 2018-11-05 Ryan Haddad Fix steps_unittest.py failures related to recent Win10/Win7 changes https://bugs.webkit.org/show_bug.cgi?id=191290 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Update expected results. 2018-11-08 Dean Jackson Add a String literal that returns a String https://bugs.webkit.org/show_bug.cgi?id=191425 Reviewed by Sam Weinig. Test _str. * TestWebKitAPI/Tests/WTF/WTFString.cpp: (TestWebKitAPI::TEST): 2018-11-08 Jonathan Bedard webkitpy: Generalize trailing SDK specifier (Part 2) https://bugs.webkit.org/show_bug.cgi?id=191275 Rubber-stamped by Aakash Jain. Re-landing this change, configuration issues have been resolved. * Scripts/webkitpy/port/ios_device.py: (IOSDevicePort): Use normalized SDK. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort): Use normalized SDK. (IOSSimulatorPort._build_driver_flags): Use platform SDK in build driver flags. 2018-11-08 Jiewen Tan [WebAuthN] Import CTAP device request/response converters from Chromium https://bugs.webkit.org/show_bug.cgi?id=190784 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/CBORValueTest.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp: Added. (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp: Added. (TestWebKitAPI::getTestCorruptedSignResponse): (TestWebKitAPI::getTestCredentialRawIdBytes): (TestWebKitAPI::convertToVector): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/FidoTestData.h: Added. 2018-11-07 Caio Lima [BigInt] Add support to BigInt into ValueAdd https://bugs.webkit.org/show_bug.cgi?id=186177 Reviewed by Keith Miller. * Scripts/run-jsc-benchmarks: 2018-11-07 Sihui Liu RELEASE_ASSERT(!m_hardClosedForUserDelete) fails in WebCore::IDBServer::UniqueIDBDatabase::invokeOperationAndTransactionTimer https://bugs.webkit.org/show_bug.cgi?id=191326 Reviewed by Geoffrey Garen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBUserDelete.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBUserDelete.mm: Added. (-[IndexedDBUserDeleteMessageHandler userContentController:didReceiveScriptMessage:]): (TEST): 2018-11-07 Daniel Bates Override +[UIKeyboard isInHardwareKeyboardMode] in WebKitTestRunner and DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=190141 Reviewed by Darin Adler. Override +[UIKeyboard isInHardwareKeyboardMode] to always return NO so as to make test runs deterministic regardless of whether a hardware keyboard is attached. * DumpRenderTree/mac/DumpRenderTree.mm: (overrideIsInHardwareKeyboardMode): Added. (prepareConsistentTestingEnvironment): * TestRunnerShared/spi/UIKitTestSPI.h: Forward declare SPI. * WebKitTestRunner/ios/TestControllerIOS.mm: (overrideIsInHardwareKeyboardMode): Added. (WTR::TestController::platformInitialize): 2018-11-07 Jonathan Bedard Unreviewed, rolling out r237913. Breaks running tests on Mac without iOS SDK installed Reverted changeset: "webkitpy: Generalize trailing SDK specifier (Part 2)" https://bugs.webkit.org/show_bug.cgi?id=191275 https://trac.webkit.org/changeset/237913 2018-11-07 Zamiul Haque Force a gregorian calendar to show for credit card expiration date inputs (autocomplete='cc-exp'*) regardless of default system settings. https://bugs.webkit.org/show_bug.cgi?id=191096 rdar://problem/42640256 Reviewed by Tim Horton. Implemented simulateForeignDefaultCalendar and calendarType to be used for changing the default calendar returned by the system (ie. [NSCalendar currentCalendar]) and getting the calendar type identifier of a presented date picker. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::isShowingDataListSuggestions const): (WTR::UIScriptController::calendarType const): (WTR::UIScriptController::setDefaultCalendarType): * DumpRenderTree/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::calendarType const): (WTR::UIScriptController::setDefaultCalendarType): * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::selectionEndGrabberViewRect const): (WTR::UIScriptController::calendarType const): Deleted. * WebKitTestRunner/TestController.cpp: * WebKitTestRunner/TestController.h: * WebKitTestRunner/UIScriptControllerCocoa.mm: (WTR::UIScriptController::calendarType const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::swizzledCalendar): (WTR::TestController::getOverriddenCalendarIdentifier const): (WTR::TestController::setDefaultCalendarType): (WTR::TestController::cocoaResetStateToConsistentValues): * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::selectionEndGrabberViewRect const): (WTR::UIScriptController::calendarType const): Deleted. 2018-11-06 Jonathan Bedard webkitpy: Boot a single worker for custom devices https://bugs.webkit.org/show_bug.cgi?id=191312 Rubber-stamped by Aakash Jain. * Scripts/webkitpy/layout_tests/controllers/manager.py: (Manager.run): Custom devices only run a hand-full of tests. Booting multiple simulators is expensive and unneeded for these tests. * Scripts/webkitpy/port/ios.py: (IOSPort. child_processes): No reason to memoize this call, and it prevents overriding the number of child processes when booting custom devices. 2018-11-06 Jonathan Bedard webkitpy: Generalize trailing SDK specifier (Part 2) https://bugs.webkit.org/show_bug.cgi?id=191275 Reviewed by Aakash Jain. * Scripts/webkitpy/port/ios_device.py: (IOSDevicePort): Use normalized SDK. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort): Use normalized SDK. (IOSSimulatorPort._build_driver_flags): Use platform SDK in build driver flags. 2018-11-06 Justin Fan [WebGPU] Experimental prototype for WebGPURenderPipeline and WebGPUSwapChain https://bugs.webkit.org/show_bug.cgi?id=191291 Reviewed by Myles Maxfield. Properly disable WEBGPU on all non-Metal platforms for now. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2018-11-06 Aakash Jain [ews-app] Add URL configuration for OpenSource EWS Django app https://bugs.webkit.org/show_bug.cgi?id=191132 Rubber-stamped by Lucas Forschler. * BuildSlaveSupport/ews-app/ews-app/urls.py: Added entry for ews.urls. * BuildSlaveSupport/ews-app/ews/urls.py: Added. 2018-11-06 Youenn Fablet Make mDNS ICE Candidate an experimental flag again https://bugs.webkit.org/show_bug.cgi?id=191262 Reviewed by Dean Jackson. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled): (WTR::TestRunner::setMDNSICECandidatesEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: 2018-11-06 Aakash Jain [ews-app] Add views for OpenSource EWS Django app https://bugs.webkit.org/show_bug.cgi?id=191131 Rubber-stamped by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/views/index.py: Added. * BuildSlaveSupport/ews-app/ews/views/patch.py: * BuildSlaveSupport/ews-app/ews/views/results.py: Added. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Added. 2018-11-06 Aakash Jain [ews-app] Add models for OpenSource EWS Django app https://bugs.webkit.org/show_bug.cgi?id=191123 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/ews/models/__init__.py: * BuildSlaveSupport/ews-app/ews/models/buildermappings.py: Added. * BuildSlaveSupport/ews-app/ews/models/builds.py: Added. * BuildSlaveSupport/ews-app/ews/models/patch.py: * BuildSlaveSupport/ews-app/ews/models/steps.py: Added. 2018-11-06 Aakash Jain [ews-app] Fix Invalid HTTP_HOST header https://bugs.webkit.org/show_bug.cgi?id=191325 Reviewed by Lucas Forschler. Changing ALLOWED_HOSTS to * as the landing page should be publicly accessible. * BuildSlaveSupport/ews-app/ews-app/settings.py: 2018-11-06 Aakash Jain [ews-app] Rename EWS_app to ews-app - part 2 https://bugs.webkit.org/show_bug.cgi?id=191317 Reviewed by Lucas Forschler. * BuildSlaveSupport/ews-app/EWS_app: Removed. * BuildSlaveSupport/ews-app/ews-app: Moved from BuildSlaveSupport/ews-app/EWS_app. * BuildSlaveSupport/ews-app/ews-app/settings.py: * BuildSlaveSupport/ews-app/ews-app/urls.py: * BuildSlaveSupport/ews-app/ews-app/wsgi.py: * BuildSlaveSupport/ews-app/manage.py: 2018-11-06 Aakash Jain [ews-app] Rename EWS_app to ews-app - part 1 https://bugs.webkit.org/show_bug.cgi?id=191317 Reviewed by Lucas Forschler. * BuildSlaveSupport/EWS_app: Removed. * BuildSlaveSupport/ews-app: Moved from BuildSlaveSupport/EWS_app. 2018-11-06 Myles C. Maxfield Spelling dots are drawn in the wrong place https://bugs.webkit.org/show_bug.cgi?id=190764 Reviewed by Dean Jackson. Previously, it was impossible for WebKitTestRunner to draw spelling dots. This patch adds support for a header at the top of test files, of the form which will cause dots to be drawn. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): (WTR::updateTestOptionsFromTestHeader): (WTR::TestController::platformResetStateToConsistentValues): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::cocoaResetStateToConsistentValues): * WebKitTestRunner/cocoa/TestRunnerWKWebView.h: * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetStateToConsistentValues): 2018-11-06 Don Olmstead Feature flags not present for Visual Studio when using build-webkit https://bugs.webkit.org/show_bug.cgi?id=191288 Reviewed by Fujii Hironori. Passes feature flags to Visual studio builds within build-webkit. Removes cmakeBasedPortArguments as it is no longer in use. * Scripts/build-jsc: * Scripts/build-webkit: * Scripts/webkitdirs.pm: (cmakeBasedPortArguments): Deleted. 2018-11-06 Per Arne Vollan REGRESSION (r230523): Caps lock indicator not shown in password field https://bugs.webkit.org/show_bug.cgi?id=190056 Reviewed by Ryosuke Niwa. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::toggleCapsLock): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::toggleCapsLock): 2018-11-06 Sihui Liu IndexedDB: WAL file keeps growing https://bugs.webkit.org/show_bug.cgi?id=191294 Reviewed by Chris Dumez. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize-1.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize-2.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm: Added. (-[IndexedDBFileSizeMessageHandler userContentController:didReceiveScriptMessage:]): (TEST): 2018-11-06 Alex Christensen Fix tests after r237863 https://bugs.webkit.org/show_bug.cgi?id=191315 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: With the timing change of r237863, the WKWebView progressed further than before when loading main.html so it completed before main2.html. This test was meant to test that main2.html does eventually load, and it doesn't matter if main.html loads before it. I updated the test to verify that main2.html eventually loads, making this test less timing dependent. 2018-11-06 Ryan Haddad Unreviewed, rolling out r237834. Tests for this change crash on iOS Simulator Reverted changeset: "Spelling dots are drawn in the wrong place" https://bugs.webkit.org/show_bug.cgi?id=190764 https://trac.webkit.org/changeset/237834 2018-11-05 Alex Christensen [Mac] Implement safe browsing in WebKit https://bugs.webkit.org/show_bug.cgi?id=188871 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (-[SafeBrowsingNavigationDelegate webView:didCommitNavigation:]): (+[TestServiceLookupResult resultWithProvider:phishing:malware:unwantedSoftware:]): (-[TestLookupContext lookUpURL:completionHandler:]): (simpleURL): (safeBrowsingView): (TEST): (-[SafeBrowsingNavigationDelegate webView:didFinishNavigation:]): Deleted. (+[TestServiceLookupResult resultWithProvider:phishing:malware:unwantedSoftware:knownToBeUnsafe:]): Deleted. (-[TestServiceLookupResult isKnownToBeUnsafe]): Deleted. * TestWebKitAPI/Utilities.h: 2018-11-05 Jonathan Bedard webkitpy: Generalize trailing SDK specifier (Part 1) https://bugs.webkit.org/show_bug.cgi?id=191275 Reviewed by Lucas Forschler. * Scripts/webkitpy/common/system/platforminfo.py: (PlatformInfo.available_sdks): List all installed SDKs with version numbers stripped out. * Scripts/webkitpy/common/system/platforminfo_unittest.py: (TestPlatformInfo): (TestPlatformInfo.test_available_sdks): 2018-11-05 Myles C. Maxfield Spelling dots are drawn in the wrong place https://bugs.webkit.org/show_bug.cgi?id=190764 Reviewed by Dean Jackson. Previously, it was impossible for WebKitTestRunner to draw spelling dots. This patch adds support for a header at the top of test files, of the form which will cause dots to be drawn. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): (WTR::updateTestOptionsFromTestHeader): (WTR::TestController::platformResetStateToConsistentValues): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::cocoaResetStateToConsistentValues): * WebKitTestRunner/cocoa/TestRunnerWKWebView.h: * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): * WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformResetStateToConsistentValues): 2018-11-05 Chris Dumez Use same limit for page cache and suspended pages https://bugs.webkit.org/show_bug.cgi?id=191266 Reviewed by Geoffrey Garen. Update API tests accordingly. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-11-05 Basuke Suzuki [style] Exclude style check for auto generated files. https://bugs.webkit.org/show_bug.cgi?id=191118 Reviewed by Eric Carlson. Some files checked in to the repository are generated by other tools. In this patch, "MiniBrowserLibResource.h" is the file generated and managed by resource editor of VisualStudio. There's no need to check these files because it's not practical to fix the style errors or it's hard to maintain those fixes. * Scripts/webkitpy/style/checkers/cpp.py: (is_generated_file): (CppChecker.check): 2018-11-05 Thibault Saunier [Flatpak] Build libx264 as it is the h264 encoder we support in WebRTC https://bugs.webkit.org/show_bug.cgi?id=190680 Reviewed by Philippe Normand. * flatpak/org.webkit.WebKit.yaml: 2018-11-05 Daniel Bates [lldb-webkit] Fix formatting nits in Document and Frame summary strings https://bugs.webkit.org/show_bug.cgi?id=191094 Reviewed by Andy Estes. Format boolean as 1/0 when printing Frame summary to be consistent with the formatting of booleans in other summary strings, substitute "inMainFrame" for "isMainFrame" in the printed Document summary and add closing brace '}' to both Frame and Document summary strings to make them look pretty. * lldb/lldb_webkit.py: (WebCoreFrame_SummaryProvider): (WebCoreDocument_SummaryProvider): 2018-11-05 Wenson Hsieh [iOS] Allow WKWebView clients to customize bar button item groups in the accessory view when editing https://bugs.webkit.org/show_bug.cgi?id=191240 Reviewed by Tim Horton. Add new API tests to verify that setting leading and trailing bar button groups on WKWebView sets the first responder's (i.e. WKContentView's) leading and trailing bar button groups, and that this can also be achieved by overriding `-[WKWebView inputAssistantItem]`. * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: (-[InputAssistantItemTestingWebView fakeLeadingBarButtonItemAction]): (-[InputAssistantItemTestingWebView fakeTrailingBarButtonItemAction]): (+[InputAssistantItemTestingWebView barButtonIcon]): (+[InputAssistantItemTestingWebView leadingItemsForWebView:]): (+[InputAssistantItemTestingWebView trailingItemsForWebView:]): (-[InputAssistantItemTestingWebView inputAssistantItem]): (TestWebKitAPI::TEST): 2018-11-05 Wenson Hsieh [iOS] Changing view scale sometimes does not zoom the page to the new initial scale when the page is zoomed in when ignoring meta viewport https://bugs.webkit.org/show_bug.cgi?id=191226 Reviewed by Tim Horton. Add a missing check for `shouldIgnoreMetaViewport` when comparing TestOptions, to ensure that "ignore meta viewport" state doesn't unexpectedly persist after running a layout test that ignores meta viewport. * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): 2018-11-05 Commit Queue Unreviewed, rolling out r237784 and r237788. https://bugs.webkit.org/show_bug.cgi?id=191270 Caused mediastream layout test failures (Requested by ryanhaddad on #webkit). Reverted changesets: "[MediaStream] User should not be prompted again after denying getDisplayMedia request" https://bugs.webkit.org/show_bug.cgi?id=191227 https://trac.webkit.org/changeset/237784 "[MediaStream] User should not be prompted again after denying getDisplayMedia request" https://bugs.webkit.org/show_bug.cgi?id=191227 https://trac.webkit.org/changeset/237788 2018-11-05 Lucas Forschler https://bugs.webkit.org/show_bug.cgi?id=191268 Remove unused bots. rubber-stamped by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/config.json: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: (WebKitBuildbot): 2018-11-05 Michael Catanzaro [WPE][GTK] API test runner fails to respect default build type https://bugs.webkit.org/show_bug.cgi?id=190247 Reviewed by Carlos Garcia Campos. Problem is it's looking for a release build, even though I've run set-webkit-configuration --debug. It should look for a debug build unless I explicitly pass --release. * glib/api_test_runner.py: (TestRunner.__init__): 2018-11-05 Thibault Saunier [GStreamer][WebRTC] Add webrtcencoder bin to cleanup and refactor the way we set encoders https://bugs.webkit.org/show_bug.cgi?id=190674 Reviewed by Philippe Normand. webrtcencoder is a simple GstBin with a set of well known GStreamer encoders which it can use to implement encoding for different formats exposing a trimmed down unified API. It also adds proper handling of H264 profiles. The added files follow GStreamer coding style as we aim at upstreaming the element in the future. Reviewed by Philippe Normand. * Scripts/webkitpy/style/checker.py: 2018-11-05 Michael Catanzaro [WPE][GTK] API test /webkit/WebKitSettings/webkit-settings is failing https://bugs.webkit.org/show_bug.cgi?id=191221 Reviewed by Carlos Garcia Campos. This test ensures that MSE is disabled by default, but we now enable it by default, so reverse the semantics of the test. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettings): 2018-11-05 Michael Catanzaro REGRESSION(r237031): [GTK] Test /webkit/WebKitWebView/settings is failing https://bugs.webkit.org/show_bug.cgi?id=191225 Reviewed by Alejandro G. Castro. Fix a memory leak causing this test to fail. * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp: (WebViewTest::initializeWebView): 2018-11-04 Zan Dobersek [webkitpy] Support WPE in the run-web-platform-tests script https://bugs.webkit.org/show_bug.cgi?id=191183 Reviewed by Alex Christensen. * Scripts/webkitpy/w3c/wpt_runner.py: (parse_args): Support `--wpe` as an argument that specifies WPE as the target port. Additionally, the `--display-server` flag now accepts `headless` as a valid value, enabling the WPE WebDriver to run in headless mode. 2018-11-04 Fujii Hironori [Win] Use C++14, not C++17 https://bugs.webkit.org/show_bug.cgi?id=191101 Reviewed by Alex Christensen. std::basic_string::data() returns a read-only const buffer in C++14. * MiniBrowser/win/WebKitBrowserWindow.cpp: (createString): Use std::vector instead of std::wstring. (createUTF8String): Use std::vector instead of std::string. 2018-11-04 Wenson Hsieh [Cocoa] Fold common UIScriptController functionality on macOS and iOS into UIScriptControllerCocoa.mm https://bugs.webkit.org/show_bug.cgi?id=191231 Reviewed by Simon Fraser. Moves some UIScriptController method implementations specific to iOS and macOS into UIScriptControllerCocoa, so it can be shared between iOS-family and macOS platforms. See below for more details. No change in behavior. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::overridePreference): Add a method stub for DumpRenderTree. * TestRunnerShared/UIScriptContext/UIScriptController.cpp: * WebKitTestRunner/UIScriptControllerCocoa.mm: (WTR::UIScriptController::doAsyncTask): (WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution): Unify these method implementations. (WTR::UIScriptController::removeViewFromWindow): (WTR::UIScriptController::addViewToWindow): Move the macOS implementation to UIScriptControllerCocoa. On iOS, this method currently only adds the web view to the window, and does not attempt to invoke the given completion block; additionally, invoking the completion block after a presentation update (as done on macOS) causes pageoverlay/overlay-remove-reinsert-view.html to begin failing consistently. This patch does not attempt to change behavior, but adds a FIXME describing this. (WTR::UIScriptController::overridePreference): (WTR::UIScriptController::findString): (WTR::UIScriptController::contentsOfUserInterfaceItem const): Move these from UIScriptControllerMac to UIScriptControllerCocoa, so that it is now implemented on iOS as well. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::doAsyncTask): Deleted. (WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution): Deleted. (WTR::UIScriptController::contentsOfUserInterfaceItem const): Deleted. (WTR::UIScriptController::findString): Deleted. (WTR::UIScriptController::removeViewFromWindow): Deleted. (WTR::UIScriptController::addViewToWindow): Deleted. * WebKitTestRunner/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::doAsyncTask): Deleted. (WTR::UIScriptController::contentsOfUserInterfaceItem const): Deleted. (WTR::UIScriptController::overridePreference): Deleted. (WTR::UIScriptController::findString): Deleted. (WTR::UIScriptController::removeViewFromWindow): Deleted. (WTR::UIScriptController::addViewToWindow): Deleted. (WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution): Deleted. 2018-11-04 Eric Carlson [MediaStream] User should not be prompted again after denying getDisplayMedia request https://bugs.webkit.org/show_bug.cgi?id=191227 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm: (-[GetDisplayMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]): (TestWebKitAPI::GetDisplayMediaTest::promptForCapture): (TestWebKitAPI::TEST_F): 2018-11-04 Zalan Bujtas [LFC][BFC] Add support for percentage height in quirks mode. https://bugs.webkit.org/show_bug.cgi?id=191232 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-04 Zalan Bujtas [LFC][BCF] Add support for block level non-replaced inflow height percentage https://bugs.webkit.org/show_bug.cgi?id=191229 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-02 Zalan Bujtas [LFC][BFC] Resolve percentage height values. https://bugs.webkit.org/show_bug.cgi?id=191224 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-03 Alex Christensen Mac production builds should sign the network process xpc service with entitlements https://bugs.webkit.org/show_bug.cgi?id=191209 Reviewed by Geoff Garen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm: Added. (TEST): 2018-11-02 Alex Christensen Unreviewed, rolling out r237761. Makes most API tests timeout and WK2 tests crash Reverted changeset: "Mac production builds should sign the network process xpc service with entitlements" https://bugs.webkit.org/show_bug.cgi?id=191209 https://trac.webkit.org/changeset/237761 2018-11-02 Michael Catanzaro Unreviewed API test gardening * TestWebKitAPI/glib/TestExpectations.json: 2018-11-02 Justin Michaud Add new global object and preliminary Worklets support for CSS painting api https://bugs.webkit.org/show_bug.cgi?id=190979 Reviewed by Chris Dumez. * Scripts/webkitpy/bindings/main.py: (BindingsTests.generate_supplemental_dependency): (BindingsTests.main): 2018-11-02 Alex Christensen Mac production builds should sign the network process xpc service with entitlements https://bugs.webkit.org/show_bug.cgi?id=191209 Reviewed by Geoff Garen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm: Added. (TEST): 2018-11-02 Lucas Forschler Add Windows 10 archive bots https://bugs.webkit.org/show_bug.cgi?id=190964 This Change updates the Apple Windows Buildbot configuration. - Add Windows 10 specific builders and testers for release and debug. - Refactor Windows -> Windows 7. - Remove Windows 7 Debug. Reviewed by Aakash Jain. * BuildSlaveSupport/build.webkit.org-config/config.json: 2018-11-02 Philippe Normand [GTK][WPE] Enable GST_DEBUG_NO_COLOR environment variable pass-through Rubber-stamped by Michael Catanzaro. This variable is useful to get rid of shell color escapes in tests stderr files. * Scripts/webkitpy/port/gtk.py: (GtkPort.setup_environ_for_server): * Scripts/webkitpy/port/wpe.py: (WPEPort.setup_environ_for_server): 2018-11-02 Aakash Jain Add Basic Django web app for OpenSource EWS https://bugs.webkit.org/show_bug.cgi?id=191091 Reviewed by Lucas Forschler. * BuildSlaveSupport/EWS_app/manage.py: Added, auto-generated by Django. * BuildSlaveSupport/EWS_app/EWS_app/__init__.py: Added, auto-generated by Django. * BuildSlaveSupport/EWS_app/EWS_app/settings.py: Added, auto-generated by Django. * BuildSlaveSupport/EWS_app/EWS_app/urls.py: Added, auto-generated by Django. * BuildSlaveSupport/EWS_app/EWS_app/wsgi.py: Added, auto-generated by Django. * BuildSlaveSupport/EWS_app/ews/__init__.py: Added. * BuildSlaveSupport/EWS_app/ews/admin.py: Added, auto-generated by Django. * BuildSlaveSupport/EWS_app/ews/apps.py: Added, auto-generated by Django. * BuildSlaveSupport/EWS_app/ews/migrations/__init__.py: Added. * BuildSlaveSupport/EWS_app/ews/tests.py: Added, auto-generated by Django. * BuildSlaveSupport/EWS_app/ews/models/__init__.py: Added. * BuildSlaveSupport/EWS_app/ews/models/patch.py: Added. * BuildSlaveSupport/EWS_app/ews/views/__init__.py: Added. * BuildSlaveSupport/EWS_app/ews/views/patch.py: Added. 2018-11-02 Daniel Bates [iOS] WebKit should dispatch DOM events when a modifier key is pressed https://bugs.webkit.org/show_bug.cgi?id=190487 Reviewed by Tim Horton. Update the code for renamed enumerations. For WebKitTestRunner, removed comment that does not match my observations when using the simulator to simulate iOS 12 and add support for testing right-hand side modifiers. * DumpRenderTree/mac/EventSendingController.mm: (modifierFlags): (-[EventSendingController keyDown:withModifiers:withLocation:]): (-[EventSendingController setTouchModifier:value:]): * WebKitTestRunner/ios/HIDEventGenerator.mm: (hidUsageCodeForCharacter): 2018-11-02 Chris Dumez [PSON] Reuse SuspendedPages' process when possible, for performance https://bugs.webkit.org/show_bug.cgi?id=191166 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-11-02 Zalan Bujtas [LFC][IFC] Add support for intrinsic width calculation https://bugs.webkit.org/show_bug.cgi?id=191144 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-01 Philippe Normand [Apache] Self-signed SSL certificate RSA key is considered too weak https://bugs.webkit.org/show_bug.cgi?id=191156 Reviewed by Michael Catanzaro. * Scripts/webkitpy/common/system/pemfile.py: 2018-11-02 Zan Dobersek Unreviewed follow-up to r237678. * wpe/jhbuild.modules: The patch element apparently has to be a child of the branch in order for Jhbuild to properly detect and apply the patch file. 2018-11-01 Ross Kirsling build-jsc --wincairo should update WinCairo libraries https://bugs.webkit.org/show_bug.cgi?id=191170 Reviewed by Fujii Hironori. * Scripts/build-jsc: 2018-11-01 John Wilander In WebCore::ResourceLoadObserver, use document.sessionID().isEphemeral() when possible and check for page existence when not https://bugs.webkit.org/show_bug.cgi?id=191119 Reviewed by Chris Dumez. This is an API test for a WebKitLegacy WebView that is first closed and then JavaScript is handed a keyboard event. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitLegacy/mac/ClosingWebView.mm: Added. (-[ClosingWebViewThenSendingItAKeyDownEventLoadDelegate webView:didFinishLoadForFrame:]): (-[KeyboardEventListener handleEvent:]): (TestWebKitAPI::TEST): 2018-11-01 Sihui Liu Add a storage limit for IndexedDB https://bugs.webkit.org/show_bug.cgi?id=190598 Reviewed by Chris Dumez. Add API for testing. * DumpRenderTree/TestRunner.cpp: (setIDBPerOriginQuotaCallback): (TestRunner::staticFunctions): * DumpRenderTree/TestRunner.h: * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setIDBPerOriginQuota): * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::setIDBPerOriginQuota): * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setIDBPerOriginQuota): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::setIDBPerOriginQuota): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2018-11-01 Chris Dumez [PSON] WebPageProxy::receivedNavigationPolicyDecision() should not schedule the new load asynchronously when process-swapping https://bugs.webkit.org/show_bug.cgi?id=191076 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[PSONNavigationDelegate init]): (-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): 2018-11-01 Adrian Perez de Castro Fix build with VIDEO and WEB_AUDIO disabled https://bugs.webkit.org/show_bug.cgi?id=191147 Unreviewed build fix. This adds the missing compilation guards in the WPE MiniBrowser. * MiniBrowser/wpe/main.cpp: (main): Condition GST includes and calls. 2018-10-31 Zalan Bujtas [LFC][IFC] Add support for inline-block elements. https://bugs.webkit.org/show_bug.cgi?id=191143 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-11-01 Claudio Saavedra [WPE] Add missing libsoup patch to jhbuild https://bugs.webkit.org/show_bug.cgi?id=191149 Reviewed by Žan Doberšek. * wpe/jhbuild.modules: * wpe/patches/libsoup-soup-socket-fix-critical-warning-when-the-peer-certi.patch: Added. 2018-11-01 Claudio Saavedra Fix build with VIDEO and WEB_AUDIO disabled https://bugs.webkit.org/show_bug.cgi?id=191147 Reviewed by Philippe Normand. * MiniBrowser/gtk/main.c: (main): Condition GST includes and calls 2018-10-31 Justin Michaud Add Justin Michaud to the list of WebKit Committers https://bugs.webkit.org/show_bug.cgi?id=191142 * Scripts/webkitpy/common/config/contributors.json: 2018-10-31 Guillaume Emont Don't run JIT tests on 32-bit platforms https://bugs.webkit.org/show_bug.cgi?id=191074 Reviewed by Michael Catanzaro. * Scripts/run-jsc-stress-tests: 2018-10-30 Wenson Hsieh [Cocoa] Attachment dropped from one web view to another is missing its file wrapper https://bugs.webkit.org/show_bug.cgi?id=190530 Reviewed by Tim Horton. Add a test to verify that copying different types of attachments and pasting in a new web view inserts attachments in the second web view that are backed by _WKAttachment objects, whose NSFileWrappers hold data that is equivalent to the original file wrappers used to insert attachments in the first web view. Existing API tests verify that when copying and pasting within a single web view, the pasted attachment element is still backed by the same NSFileWrapper instance. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): 2018-10-30 Fujii Hironori [Win] Remove obsolete code for Visual Studio Express in webkitdirs.pm https://bugs.webkit.org/show_bug.cgi?id=190949 Reviewed by Alex Christensen. Visual Studio 2017 Community is the alternative. * Scripts/webkitdirs.pm: Remove $willUseVCExpressWhenBuilding variable. (setupCygwinEnv): Remove obsolete code for Visual Studio Express. (buildVisualStudioProject): Ditto. (dieIfWindowsPlatformSDKNotInstalled): Deleted. (usingVisualStudioExpress): Deleted. 2018-10-30 Fujii Hironori [Win][Direct2D] Support building DumpRenderTree for Direct2D https://bugs.webkit.org/show_bug.cgi?id=191093 Unreviewed build fix. error C2065: 'renderTarget': undeclared identifier * DumpRenderTree/win/PixelDumpSupportWin.cpp: (createBitmapContextFromWebView): Restored the previous implementation. 2018-10-30 Don Olmstead [PlayStation] Enable JavaScriptCore https://bugs.webkit.org/show_bug.cgi?id=191072 Reviewed by Brent Fulgham. Add platform scripts for building the PlayStation port. perl Tools/Scripts/build-webkit --playstation * Scripts/build-webkit: * Scripts/build-webkittestrunner: * Scripts/webkitdirs.pm: (argumentsForConfiguration): (determineConfigurationProductDir): (isPlayStation): Added. (getMSBuildPlatformArgument): Added. (buildVisualStudioProject): (wrapperPrefixIfNeeded): (generateBuildSystemFromCMakeProject): * TestWebKitAPI/PlatformPlayStation.cmake: Added. 2018-10-30 Brent Fulgham [Win][Direct2D] Support building DumpRenderTree for Direct2D https://bugs.webkit.org/show_bug.cgi?id=191093 Reviewed by Alex Christensen. * DumpRenderTree/PixelDumpSupport.cpp: Update for Direct2D use. * DumpRenderTree/PlatformWin.cmake: Add support for Direct2D build. * DumpRenderTree/win/PixelDumpSupportDirect2D.cpp: Added. (pixelDumpSystemFactory): Added. (printPNG): Create stub. (computeMD5HashStringForBitmapContext): Ditto. (dumpBitmap): Ditto. * DumpRenderTree/win/PixelDumpSupportDirect2D.h: Added. (BitmapContext::createByAdoptingBitmapAndContext): (BitmapContext::~BitmapContext): (BitmapContext::platformContext const): (BitmapContext::BitmapContext): * DumpRenderTree/win/PixelDumpSupportWin.cpp: (createBitmapContextFromWebView): Update to support Direct2D. * MiniBrowser/win/MiniBrowserReplace.h: Drive-by fix: The old WebKit logo is no longer available at this location. Switch to the new logo. 2018-10-30 Jonathan Bedard webkitpy: Support alternate simctl list outputs https://bugs.webkit.org/show_bug.cgi?id=191090 Rubber-stamped by Aakash Jain. * Scripts/webkitpy/xcode/simulated_device.py: (SimulatedDeviceManager._create_runtimes): Support alternative availability format. (SimulatedDeviceManager._create_device_with_runtime): Ditto. * Scripts/webkitpy/xcode/simulated_device_unittest.py: (test_available_devices): Add iOS 12 with alternative availability format. 2018-10-30 Alexey Proskuryakov Clean up some obsolete MAX_ALLOWED macros https://bugs.webkit.org/show_bug.cgi?id=190916 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WTF/darwin/WeakLinking.cpp: * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm: * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: 2018-10-30 Claudio Saavedra [GTK][WPE] Fixes to the PublicSuffix implementation https://bugs.webkit.org/show_bug.cgi?id=191031 Reviewed by Michael Catanzaro. * TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp: (TestWebKitAPI::TEST_F): Remove a test for a domain that is not registrable and shouldn't be tested there. 2018-10-29 Tim Horton Modernize WebKit nibs and lprojs for localization's sake https://bugs.webkit.org/show_bug.cgi?id=190911 Reviewed by Dan Bernstein. * Scripts/check-inspector-strings: * Scripts/update-webkit-localizable-strings: * gtk/manifest.txt.in: * wpe/manifest.txt.in: English->en 2018-10-29 Daniel Bates [lldb-webkit] Last aliased enumerator in OptionSet is printed; should print first enumerator https://bugs.webkit.org/show_bug.cgi?id=191036 Reviewed by Andy Estes. Prefer the first enumerator (in parse order) when pretty-printing an OptionSet that is parameterized by an enum that contains two or more enumerators with the same value. For example, suppose you have the following enum: enum Flag { A = 1 << 0, AAlias = A, }; Then pretty-printing OptionSet(Flag::A) should print A instead of AAlias. A side effect of this change is that OptionSet(Flag::AAlias) will also print A as its only member as we cannot differentiate between A and Alias. This should be acceptable in practice as aliased enumerators tend to be used in bounds checks as opposed to code that adds to a set. * lldb/lldbWebKitTester/main.cpp: (testSummaryProviders): * lldb/lldb_webkit.py: (WTFOptionSetProvider.update): * lldb/lldb_webkit_unittest.py: (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple): (TestSummaryProviders): (TestSummaryProviders.serial_test_WTFOptionSetProvider_aliased_flag): 2018-10-29 Daniel Bates [llbd-webkit] Add summaries for Document, Frame, and SecurityOrigin https://bugs.webkit.org/show_bug.cgi?id=191033 Reviewed by Andy Estes. For Documents we display its origin, URL, whether it's in the main frame, and its page cache state. We display the same details in the summary for a Frame because its Document tends to be the most interesting aspect of it. For SecurityOrigin we display its origin, domain (affects cookie access), and whether the origin has universal access. * lldb/lldb_webkit.py: (__lldb_init_module): Register new summary providers. (WebCoreSecurityOrigin_SummaryProvider): (WebCoreFrame_SummaryProvider): (WebCoreDocument_SummaryProvider): Add new summary providers. (StdOptionalWrapper): (StdOptionalWrapper.__init__): (StdOptionalWrapper.has_value): (StdOptionalWrapper.value): Convenience data type that provides access to the fields of a std::optional<>. (WebCoreSecurityOriginProvider): (WebCoreSecurityOriginProvider.__init__): (WebCoreSecurityOriginProvider.is_unique): (WebCoreSecurityOriginProvider.scheme): (WebCoreSecurityOriginProvider.host): (WebCoreSecurityOriginProvider.port): (WebCoreSecurityOriginProvider.domain): (WebCoreSecurityOriginProvider.has_universal_access): (WebCoreSecurityOriginProvider.to_string): (WebCoreFrameProvider): (WebCoreFrameProvider.__init__): (WebCoreFrameProvider.is_main_frame): (WebCoreFrameProvider.document): (WebCoreDocumentProvider): (WebCoreDocumentProvider.__init__): (WebCoreDocumentProvider.url): (WebCoreDocumentProvider.origin): (WebCoreDocumentProvider.page_cache_state): (WebCoreDocumentProvider.frame): 2018-10-29 Chris Dumez [PSON] When Safari restores session state after launching, going back and forward does not swap processes https://bugs.webkit.org/show_bug.cgi?id=190975 Reviewed by Antti Koivisto. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-10-29 Zalan Bujtas [LFC][IFC] Compute estimated margin top for inline formatting root's ancestors https://bugs.webkit.org/show_bug.cgi?id=191018 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-10-29 Zalan Bujtas [LFC] Add support for inflow non replaced content height when the box is an inline formatting root. https://bugs.webkit.org/show_bug.cgi?id=191011 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-10-29 Zalan Bujtas Missing from r237549 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-10-29 Zalan Bujtas [LFC][IFC] Add support for simple intruding floats. https://bugs.webkit.org/show_bug.cgi?id=190998 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-10-29 Zalan Bujtas [LFC][IFC] Inline layout produces separate runs when float is present. https://bugs.webkit.org/show_bug.cgi?id=190980 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-10-29 Tadeu Zagallo New bytecode format for JSC https://bugs.webkit.org/show_bug.cgi?id=187373 Reviewed by Filip Pizlo. Do not force ENABLE_JIT=true when $forceCLoop is false. * Scripts/build-jsc: 2018-10-29 Claudio Saavedra [GTK] Try to fix the xserver-xorg build in the Ubuntu LTS bot Unreviewed build fix The build fails because of some array-bound check related to strcmp() macro optimizations. Disabling selective Werrors when building xserver-xorg might get past this. * gtk/jhbuild.modules: Add --disable-selective-werror to xserver-xorg configuration. 2018-10-29 Claudio Saavedra [GTK] Update API test expectations after r237383 https://bugs.webkit.org/show_bug.cgi?id=186913 Unreviewed gardening. * TestWebKitAPI/glib/TestExpectations.json: Remove passing TestSSL tests. 2018-10-28 Zan Dobersek [WPE] Add the WebKitVersion.h header https://bugs.webkit.org/show_bug.cgi?id=191015 Reviewed by Michael Catanzaro. * MiniBrowser/wpe/main.cpp: (automationStartedCallback): Remove the FIXME and finally enable the webkit_application_info_set_version() call. * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: Remove this FIXME as well and remove the custom WEBKIT_*_VERSION macros. 2018-10-28 Fujii Hironori [Win] Remove obsolete code for vcxproj builds in build-api-tests and build-jsc https://bugs.webkit.org/show_bug.cgi?id=190948 Reviewed by Brent Fulgham. vcxproj files have been removed in Bug 154388. * Scripts/build-api-tests: Removed obsolete code to build vcproj. * Scripts/build-jsc: (buildMyProject): Ditto. Removed a condition of buiding bmalloc which is not used because Windows ports are using CMake. 2018-10-28 Geoffrey Garen HashMap should support selecting a random entry https://bugs.webkit.org/show_bug.cgi?id=190814 Reviewed by Ryosuke Niwa. * TestWebKitAPI/Tests/WTF/HashMap.cpp: Renamed IsRandom to IsEvenlyDistributed to reflect the fact that we're only testing the distribution. Added a test case that covers more table densities and the remove() operation. 2018-10-27 Charlie Turner [GTK] Add bubblewrap feature option https://bugs.webkit.org/show_bug.cgi?id=190981 Reviewed by Xabier Rodriguez-Calvar. Without this, it was not possible to disable the bubblewrap sandbox from the webkit build scripts. * Scripts/webkitperl/FeatureList.pm: 2018-10-26 Commit Queue Unreviewed, rolling out r237479 and r237484. https://bugs.webkit.org/show_bug.cgi?id=190978 broke JSC on iOS (Requested by tadeuzagallo on #webkit). Reverted changesets: "New bytecode format for JSC" https://bugs.webkit.org/show_bug.cgi?id=187373 https://trac.webkit.org/changeset/237479 "Gardening: Build fix after r237479." https://bugs.webkit.org/show_bug.cgi?id=187373 https://trac.webkit.org/changeset/237484 2018-10-26 Tadeu Zagallo New bytecode format for JSC https://bugs.webkit.org/show_bug.cgi?id=187373 Reviewed by Filip Pizlo. Do not force ENABLE_JIT=true when $forceCLoop is false. * Scripts/build-jsc: 2018-10-26 Geoffrey Garen HashMap should support selecting a random entry https://bugs.webkit.org/show_bug.cgi?id=190814 Reviewed by Antti Koivisto. * TestWebKitAPI/Tests/WTF/HashMap.cpp: Updated the Random_IsRandom to more thoroughly test for randomness. 2018-10-26 Antti Koivisto hashSet.remove(hashSet.random()) doesn't build https://bugs.webkit.org/show_bug.cgi?id=190953 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WTF/HashSet.cpp: (TestWebKitAPI::TEST): 2018-10-26 Zalan Bujtas [LFC][IFC] Layout floats as part of the inline content https://bugs.webkit.org/show_bug.cgi?id=190942 Reviewed by Antti Koivisto. * LayoutReloaded/misc/LFC-passing-tests.txt: 2018-10-26 Alicia Boya García [MSE][WTF][Media] Invalid MediaTime should be falsy https://bugs.webkit.org/show_bug.cgi?id=190893 Reviewed by Jer Noble. This patch adds additional API tests for the conversions from MediaTime to boolean. * TestWebKitAPI/Tests/WTF/MediaTime.cpp: (TestWebKitAPI::TEST): 2018-10-25 Chris Dumez [PSON] Navigating cross-site with locked history but unlocked back/forward list fails to create a new BackForwardListItem https://bugs.webkit.org/show_bug.cgi?id=190915 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-10-25 Joseph Pecoraro Web Inspector: Add a watchlist message rule to warn about feature checking new inspector protocol changes https://bugs.webkit.org/show_bug.cgi?id=190896 Reviewed by Matt Baker. * Scripts/webkitpy/common/config/watchlist: 2018-10-25 Geoffrey Garen HashMap should support selecting a random entry https://bugs.webkit.org/show_bug.cgi?id=190814 Reviewed by Antti Koivisto. Unit testing is fun and easy! * TestWebKitAPI/Tests/WTF/HashMap.cpp: (TestWebKitAPI::ZeroHash::hash): (TestWebKitAPI::TEST): 2018-10-24 Tim Horton REGRESSION (r237331): DismissingActionSheetShouldNotDismissPresentingViewController times out https://bugs.webkit.org/show_bug.cgi?id=190897 * TestWebKitAPI/Tests/ios/ActionSheetTests.mm: (TestWebKitAPI::TEST): Disable the test for now. 2018-10-24 Alexey Proskuryakov Clean up some obsolete macOS version guards https://bugs.webkit.org/show_bug.cgi?id=190887 Reviewed by Dan Bernstein. * TestWebKitAPI/cocoa/TestWKWebView.mm: (__simulated_forceClickAssociatedEventsMask): (-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:clickCount:]): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::initializeWebViewConfiguration): * WebKitTestRunner/mac/EventSenderProxy.mm: (-[EventSenderSyntheticEvent initPressureEventAtLocation:globalLocation:stage:pressure:stageTransition:phase:time:eventNumber:window:]): 2018-10-24 Megan Gardner Turn on Conic Gradients https://bugs.webkit.org/show_bug.cgi?id=190810 Reviewed by Tim Horton. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2018-10-24 Pablo Saavedra [WPE] Fix CMake rules in for TestWebKitAPIBase library building in developer mode https://bugs.webkit.org/show_bug.cgi?id=190328 Reviewed by Michael Catanzaro. * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformWPE.cmake: 2018-10-24 Chris Dumez [PSON] When navigating back and forth, 'about:blank' shows up in the back/forward list https://bugs.webkit.org/show_bug.cgi?id=190846 Reviewed by Antti Koivisto. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-10-24 Claudio Saavedra [GTK] TestSSL failing because of missing libsoup patch https://bugs.webkit.org/show_bug.cgi?id=190869 Reviewed by Michael Catanzaro. * gtk/jhbuild.modules: Add the patch below to fix the API test TestSSL * gtk/patches/libsoup-soup-socket-fix-critical-warning-when-the-peer-certi.patch: Added. 2018-10-23 Justin Fan [WebGPU] Rename old GPU* implementation files to GPULegacy* for WebMetal https://bugs.webkit.org/show_bug.cgi?id=190817 Reviewed by Dean Jackson. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/mac/GPULegacyBuffer.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm. (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/mac/GPULegacyCommandQueue.mm: Copied from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm. (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/mac/GPULegacyDevice.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm. (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/mac/GPULegacyFunction.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm. (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/mac/GPULegacyLibrary.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm. (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WebCore/mac/GPULegacyTest.h: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUTest.h. 2018-10-23 Chris Dumez [PSON] Add support for cross-site client-side redirects https://bugs.webkit.org/show_bug.cgi?id=190806 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (-[PSONNavigationDelegate _webView:willPerformClientRedirectToURL:delay:]): (-[PSONNavigationDelegate _webView:didPerformClientRedirectFromURL:toURL:]): 2018-10-23 Claudio Saavedra [WPE][GTK] Pass full certificate chain in CertificateInfo coder https://bugs.webkit.org/show_bug.cgi?id=190789 Reviewed by Michael Catanzaro. When the network process serializes certificate data to other processes through the argument coders, the certificate chain, if present, is lost. In practice this means that applications using the public API to process certificate info have no details on the certificate chain, other than the very basics included in the certificate. Serialize the entire chain if available in the certificate. * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp: (testSSL): Test that the self-signed certificate has no bogus issuer certificate. 2018-10-22 Tim Horton REGRESSION (r237331): InteractionDeadlockAfterCrash API test fails https://bugs.webkit.org/show_bug.cgi?id=190801 * TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm: (TEST): Use a parented WKWebView for this test, otherwise none of the assertions about gesture recognizers work anymore. 2018-10-22 Ryan Haddad REGRESSION (r234081): TestWebKitAPI.VideoControlsManager.VideoControlsManagerAudioElementFollowingUserInteraction is a flaky timeout https://bugs.webkit.org/show_bug.cgi?id=187972 Unreviewed test gardening. * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm: (TestWebKitAPI::TEST): Disable the flaky test. 2018-10-22 Wenson Hsieh [iOS] [Datalist] fast/forms/datalist/datalist-show-hide.html fails https://bugs.webkit.org/show_bug.cgi?id=190777 Reviewed by Tim Horton. Implement isShowingDataListSuggestions on iOS. See below for more details. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::isShowingDataListSuggestions const): Add a stub implementation for DumpRenderTree. * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::isShowingDataListSuggestions const): Move this stub implementation to !PLATFORM(COCOA). * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::forEachViewInHierarchy): Add a helper function to apply a given function to a UIView and each of its subviews, recursively. (WTR::UIScriptController::isShowingDataListSuggestions const): For iOS, return whether the UIRemoteKeyboardWindow contains a subview of type WKDataListSuggestionsPickerView. 2018-10-19 Dan Bernstein [macOS] MiniBrowser has an unused injected bundle https://bugs.webkit.org/show_bug.cgi?id=190770 Reviewed by Tim Horton. * MiniBrowser/Configurations/MiniBrowserBundle.xcconfig: Removed. * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Removed the MiniBrowserBundle target, the Copy Bundle build phase in the MiniBrowser target, and references to removed files. * MiniBrowser/MiniBrowserWebProcessPlugIn.h: Removed. * MiniBrowser/MiniBrowserWebProcessPlugIn.m: Removed. * MiniBrowser/mac/Bundle: Removed. 2018-10-19 Wenson Hsieh [iOS] [Datalist] Can't pick datalist suggestions in a stock WKWebView https://bugs.webkit.org/show_bug.cgi?id=190621 Reviewed by Tim Horton. Add a UIScriptController hook to resign first responder on WKWebView. See LayoutTests/ChangeLog for more detail. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::resignFirstResponder): * DumpRenderTree/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::resignFirstResponder): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::resignFirstResponder): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/UIScriptControllerCocoa.mm: (WTR::UIScriptController::resignFirstResponder): * WebKitTestRunner/ios/PlatformWebViewIOS.mm: (WTR::PlatformWebView::makeWebViewFirstResponder): Implement this method stub on iOS, to ensure that TestController::resetStateToConsistentValues restores first responder on the WKWebView when running iOS layout tests. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): After resigning first responder to dismiss any on-screen keyboard, ensure that we restore first responder. 2018-10-19 Dean Jackson ASSERTION FAILED: !frame().animation().hasAnimations() in WebCore::FrameView::didDestroyRenderTree() https://bugs.webkit.org/show_bug.cgi?id=186946 Reviewed by Antoine Quint. If the incoming test has different enableWebAnimationsCSSIntegration options, then we need to create a new WebView. * DumpRenderTree/TestOptions.cpp: (TestOptions::webViewIsCompatibleWithOptions const): 2018-10-19 Charlie Turner [EME] Fix crash during tracing in gst_qtdemux_request_protection_context https://bugs.webkit.org/show_bug.cgi?id=190738 Reviewed by Xabier Rodriguez-Calvar. Add a GStreamer patch to avoid crashing when the run-time logging level is TRACE. There was a missing null check which caused many tests to crash. * gstreamer/patches/gst-plugins-good-0013-Avoid-warning-when-reporting-about-decryptors.patch: Added. 2018-10-18 Alicia Boya García [Media] Use nanoseconds as MaximumTimeScale https://bugs.webkit.org/show_bug.cgi?id=190631 Rebased MediaTime tests covering timescales over the maximum. Reviewed by Jer Noble. * TestWebKitAPI/Tests/WTF/MediaTime.cpp: (TestWebKitAPI::TEST): 2018-10-18 Dean Johnson clean-webkit pulls in many unnecessary dependencies in webkitpy https://bugs.webkit.org/show_bug.cgi?id=190732 Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/common/host.py: (Host.__init__): Split out 'bugs', 'bugzilla', and 'web' to only be created when used. (Host): (Host.bugs): (Host.bugzilla): (Host.web): 2018-10-18 Chris Dumez [PSON] SuspendedPages do not report meaningful domains in Activity Monitor https://bugs.webkit.org/show_bug.cgi?id=190721 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-10-18 Alexey Proskuryakov Switch from PLATFORM(IOS) to PLATFORM(IOS_FAMILY) https://bugs.webkit.org/show_bug.cgi?id=190729 Reviewed by Tim Horton. * DumpRenderTree/AccessibilityController.h: * DumpRenderTree/AccessibilityTextMarker.h: * DumpRenderTree/AccessibilityUIElement.cpp: (AccessibilityUIElement::getJSClass): * DumpRenderTree/AccessibilityUIElement.h: * DumpRenderTree/DumpRenderTreeFileDraggingSource.h: * DumpRenderTree/TestRunner.cpp: (getSecureEventInputIsEnabledCallback): (TestRunner::staticFunctions): (TestRunner::callUIScriptCallback): * DumpRenderTree/TestRunner.h: * DumpRenderTree/cg/PixelDumpSupportCG.cpp: * DumpRenderTree/ios/AccessibilityTextMarkerIOS.mm: * DumpRenderTree/ios/AccessibilityUIElementIOS.mm: * DumpRenderTree/ios/DumpRenderTreeAppMain.mm: * DumpRenderTree/ios/DumpRenderTreeBrowserView.mm: * DumpRenderTree/ios/TextInputControllerIOS.m: * DumpRenderTree/ios/UIScriptControllerIOS.mm: * DumpRenderTree/mac/AppleScriptController.m: * DumpRenderTree/mac/DumpRenderTree.mm: (createWebViewAndOffscreenWindow): (destroyWebViewAndOffscreenWindow): (resetWebPreferencesToConsistentValues): (setDefaultsToConsistentValuesForTesting): (allocateGlobalControllers): (releaseGlobalControllers): (addTestPluginsToPluginSearchPath): (prepareConsistentTestingEnvironment): (dumpRenderTree): (DumpRenderTreeMain): (dumpFrameAsPDF): (dumpBackForwardListForAllWindows): (updateDisplay): (dump): (resetWebViewToConsistentStateBeforeTesting): (runTest): (displayWebView): (displayAndTrackRepaintsWebView): * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h: * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm: * DumpRenderTree/mac/DumpRenderTreeMac.h: * DumpRenderTree/mac/DumpRenderTreePasteboard.h: * DumpRenderTree/mac/DumpRenderTreeWindow.h: * DumpRenderTree/mac/DumpRenderTreeWindow.mm: (-[DumpRenderTreeWindow close]): (-[DumpRenderTreeWindow webView]): (-[DumpRenderTreeWindow webViewStartedAcceleratedCompositing:]): * DumpRenderTree/mac/EventSendingController.h: * DumpRenderTree/mac/EventSendingController.mm: (+[EventSendingController isSelectorExcludedFromWebScript:]): (+[EventSendingController webScriptNameForSelector:]): (-[EventSendingController dealloc]): (-[EventSendingController currentEventTime]): (-[EventSendingController clearKillRing]): (modifierFlags): (-[EventSendingController mouseDown:withModifiers:]): (-[EventSendingController scalePageBy:atX:andY:]): (-[EventSendingController mouseUp:withModifiers:]): (-[EventSendingController mouseMoveToX:Y:]): (-[EventSendingController mouseScrollByX:andY:continuously:]): (-[EventSendingController keyDown:withModifiers:withLocation:]): * DumpRenderTree/mac/FrameLoadDelegate.mm: (-[FrameLoadDelegate init]): (-[FrameLoadDelegate dealloc]): (-[FrameLoadDelegate processWork:]): (-[FrameLoadDelegate webView:didStartProvisionalLoadForFrame:]): (-[FrameLoadDelegate webView:didCommitLoadForFrame:]): (-[FrameLoadDelegate didClearWindowObjectInStandardWorldForFrame:]): * DumpRenderTree/mac/LayoutTestHelper.m: * DumpRenderTree/mac/MockGeolocationProvider.mm: (-[MockGeolocationProvider timerFired]): * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::setMainFrameIsFirstResponder): (TestRunner::setAutomaticLinkDetectionEnabled): (TestRunner::setUseDashboardCompatibilityMode): (TestRunner::isCommandEnabled): (TestRunner::inspectorTestStubURL): (TestRunner::apiTestNewWindowDataLoadBaseURL): (TestRunner::abortModal): (TestRunner::setTextDirection): (TestRunner::addChromeInputField): (TestRunner::removeChromeInputField): (TestRunner::focusWebView): (TestRunner::setBackingScaleFactor): (TestRunner::imageCountInGeneralPasteboard const): * DumpRenderTree/mac/UIDelegate.h: * DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate modalWindowWillClose:]): (-[UIDelegate webViewRunModal:]): (-[UIDelegate webView:supportsFullScreenForElement:withKeyboard:]): (-[UIDelegate dealloc]): * Scripts/check-for-inappropriate-objc-class-names: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: * TestRunnerShared/spi/UIKitTestSPI.h: * TestWebKitAPI/Tests/WTF/darwin/WeakLinking.cpp: * TestWebKitAPI/Tests/WebCore/MarkedText.cpp: (WebCore::operator<<): * TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm: (TestWebKitAPI::WebCoreNSURLSessionTest::SetUp): * TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp: * TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit/WKPreferences.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/AdditionalReadAccessAllowedURLs.mm: * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm: * TestWebKitAPI/Tests/WebKitCocoa/BundleEditingDelegate.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/BundleRangeHandle.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/BundleRangeHandlePlugIn.mm: (-[BundleRangeHandlePlugIn webProcessPlugInBrowserContextController:didFinishDocumentLoadForFrame:]): * TestWebKitAPI/Tests/WebKitCocoa/Coding.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm: * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm: (createWebViewWithCustomPasteboardDataEnabled): * TestWebKitAPI/Tests/WebKitCocoa/Copying.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm: * TestWebKitAPI/Tests/WebKitCocoa/DoAfterNextPresentationUpdateAfterCrash.mm: * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm: * TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm: * TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm: * TestWebKitAPI/Tests/WebKitCocoa/FixedLayoutSize.mm: * TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm: * TestWebKitAPI/Tests/WebKitCocoa/Geolocation.mm: * TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm: * TestWebKitAPI/Tests/WebKitCocoa/LocalStorageClear.mm: (defaultWebsiteCacheDirectory): (defaultApplicationCacheDirectory): (TEST): * TestWebKitAPI/Tests/WebKitCocoa/NSFileManagerExtras.mm: * TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm: * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm: * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm: * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm: * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm: * TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm: * TestWebKitAPI/Tests/WebKitCocoa/RenderedImageWithOptions.mm: (runTestWithWidth): * TestWebKitAPI/Tests/WebKitCocoa/RenderedImageWithOptionsPlugIn.mm: (-[RenderedImageWithOptionsPlugIn renderImageWithWidth:completionHandler:]): * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: * TestWebKitAPI/Tests/WebKitCocoa/ShrinkToFit.mm: * TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm: * TestWebKitAPI/Tests/WebKitCocoa/VisibleContentRect.mm: * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (platformCopyRichTextWithMultipleAttachments): (platformCopyRichTextWithImage): (platformCopyPNG): * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm: * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewTargetForAction.mm: * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm: * TestWebKitAPI/Tests/WebKitCocoa/WKPDFViewStablePresentationUpdateCallback.mm: * TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm: * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-leaks.mm: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm: * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm: * TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm: * TestWebKitAPI/Tests/WebKitLegacy/mac/AccessingPastedImage.mm: * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm: * TestWebKitAPI/Tests/ios/ActionSheetTests.mm: * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: * TestWebKitAPI/Tests/ios/FocusPreservationTests.mm: * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: * TestWebKitAPI/Tests/ios/RenderingProgressTests.mm: * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm: * TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm: * TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm: * TestWebKitAPI/Tests/ios/TestInputDelegate.h: * TestWebKitAPI/Tests/ios/TestInputDelegate.mm: * TestWebKitAPI/Tests/ios/TextAutosizingBoost.mm: * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: * TestWebKitAPI/Tests/ios/WKScrollViewDelegate.mm: * TestWebKitAPI/Tests/ios/WKScrollViewTests.mm: * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm: * TestWebKitAPI/Tests/ios/WKWebViewEditActions.mm: * TestWebKitAPI/cocoa/DragAndDropSimulator.h: * TestWebKitAPI/cocoa/TestNavigationDelegate.mm: (-[WKWebView _test_waitForDidFinishNavigation]): * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: * TestWebKitAPI/config.h: * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: * TestWebKitAPI/ios/TestWKWebViewController.h: * TestWebKitAPI/ios/TestWKWebViewController.mm: * TestWebKitAPI/ios/UIKitSPI.h: * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm: (WTR::TestRunner::inspectorTestStubURL): * WebKitTestRunner/TestController.cpp: (WTR::TestController::webProcessName): (WTR::TestController::networkProcessName): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::invoke): (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * WebKitTestRunner/cg/TestInvocationCG.cpp: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::initializeWebViewConfiguration): (WTR::TestController::platformCreateWebView): (WTR::TestController::imageCountInGeneralPasteboard const): (WTR::TestController::addTestKeyToKeychain): (WTR::TestController::cleanUpKeychain): (WTR::TestController::keyExistsInKeychain): * WebKitTestRunner/cocoa/TestRunnerWKWebView.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: 2018-10-18 Chris Dumez [PSON] Cap number of SuspendedPageProxy objects and allow a WebPageProxy to have more than one https://bugs.webkit.org/show_bug.cgi?id=190688 Reviewed by Antti Koivisto. Extended API test coverage to confirm that: - We do not accumulate more than 3 suspended processes. - We can navigate back 3 times and use the page cache for each of these loads. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-10-17 Wenson Hsieh Enable the datalist element by default on iOS and macOS https://bugs.webkit.org/show_bug.cgi?id=190594 Reviewed by Ryosuke Niwa and Tim Horton. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2018-10-17 Chris Fleizach AX: Certain tags should identify their context to iOS API https://bugs.webkit.org/show_bug.cgi?id=190622 Reviewed by Zalan Bujtas. * DumpRenderTree/ios/AccessibilityUIElementIOS.mm: (AccessibilityUIElement::stringAttributeValue): * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::AccessibilityUIElement::stringAttributeValue): 2018-10-16 Sihui Liu Add a switch for Web SQL https://bugs.webkit.org/show_bug.cgi?id=190271 Reviewed by Ryosuke Niwa. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): 2018-10-16 Alex Christensen Remove InjectedBundleBackForwardList https://bugs.webkit.org/show_bug.cgi?id=190640 Reviewed by Chris Dumez. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::dumpBackForwardListsForAllPages): * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::prepare): (WTR::InjectedBundlePage::dumpHistory): (WTR::hasPrefix): Deleted. (WTR::compareByTargetName): Deleted. (WTR::dumpBackForwardListItem): Deleted. (WTR::InjectedBundlePage::dumpBackForwardList): Deleted. * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::clearBackForwardList): 2018-10-16 Dominik Infuehr Unreviewed, added myself to contributors.json. * Scripts/webkitpy/common/config/contributors.json: 2018-10-16 Justin Michaud Implement feature flag and bindings for CSS Painting API https://bugs.webkit.org/show_bug.cgi?id=190237 Reviewed by Ryosuke Niwa. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2018-10-16 Philippe Normand Unreviewed, GTK Ubuntu LTS Jhbuild prospective build fix * gstreamer/jhbuild.modules: 2018-10-16 Philippe Normand [GTK][JHBuild] Disable libmount support in glib Rubber-stamped by Alejandro G. Castro. This feature doesn't seem required for our setup. * gtk/jhbuild.modules: 2018-10-15 Justin Fan Add WebGPU 2018 feature flag and experimental feature flag https://bugs.webkit.org/show_bug.cgi?id=190509 Reviewed by Dean Jackson. Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature for the 2018 WebGPU prototype. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2018-10-15 Ryan Haddad Update bot configuration for Sierra archive queues https://bugs.webkit.org/show_bug.cgi?id=190605 Reviewed by Aakash Jain. * BuildSlaveSupport/build.webkit.org-config/config.json: 2018-10-15 Timothy Hatcher Add support for prefers-color-scheme media query https://bugs.webkit.org/show_bug.cgi?id=190499 rdar://problem/45212025 Reviewed by Dean Jackson. * Scripts/webkitperl/FeatureList.pm: Added ENABLE_DARK_MODE_CSS as dark-mode-css. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS. 2018-10-15 Patrick Griffis [JHBuild] Add xdg-dbus-proxy module https://bugs.webkit.org/show_bug.cgi?id=190589 Reviewed by Michael Catanzaro. * gtk/jhbuild.modules: 2018-10-15 Patrick Griffis [GTK] Add new sandboxing dependencies to install-dependencies https://bugs.webkit.org/show_bug.cgi?id=190588 Reviewed by Michael Catanzaro. * gtk/install-dependencies: 2018-10-15 Chris Dumez Experiment: target=_blank on anchors should imply rel=noopener https://bugs.webkit.org/show_bug.cgi?id=190481 Reviewed by Alex Christensen. Add API test coverage to make sure we can now swap process when target=_blank is specified on an anchor but rel=noopener is not. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2018-10-15 Wenson Hsieh [iOS] Can't select text after dismissing the keyboard when changing focus https://bugs.webkit.org/show_bug.cgi?id=190563 Reviewed by Tim Horton. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::isShowingKeyboard const): Add a new UIScriptController method that returns whether the keyboard is shown. See `ui-helper.js` for more details. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::isShowingKeyboard const): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: Also rename the `isShowingKeyboard` Objective-C property to the more canonical `showingKeyboard`, with `isShowingKeyboard` as the getter method. (-[TestRunnerWKWebView _invokeShowKeyboardCallbackIfNecessary]): (-[TestRunnerWKWebView _invokeHideKeyboardCallbackIfNecessary]): * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::isShowingKeyboard const): 2018-10-15 Ryan Haddad Unreviewed, fix JSC tests after WebGPUShadingLanguageRI directory was removed in r237115. * Scripts/run-javascriptcore-tests: (runJSCStressTests): Remove wsl-tests.yaml. 2018-10-15 Christopher Reid [Curl][WinCairo] Add Public Suffix support to WinCairo https://bugs.webkit.org/show_bug.cgi?id=183060 Reviewed by Alex Christensen. Share mac's PublicSuffix tests with all ports. * TestWebKitAPI/PlatformWin.cmake: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp: * TestWebKitAPI/Tests/mac/PublicSuffix.mm: Removed. 2018-10-15 Myles C. Maxfield [WHLSL] Migrated WebGPUShadingLanguageRI to the W3C https://bugs.webkit.org/show_bug.cgi?id=190555 Unreviewed. Migrated to https://github.com/gpuweb/WHLSL/tree/master/Source * WebGPUShadingLanguageRI/AddressSpace.js: Removed. * WebGPUShadingLanguageRI/All.js: Removed. * WebGPUShadingLanguageRI/AllocateAtEntryPoints.js: Removed. * WebGPUShadingLanguageRI/AnonymousVariable.js: Removed. * WebGPUShadingLanguageRI/ArrayRefType.js: Removed. * WebGPUShadingLanguageRI/ArrayType.js: Removed. * WebGPUShadingLanguageRI/Assignment.js: Removed. * WebGPUShadingLanguageRI/AutoWrapper.js: Removed. * WebGPUShadingLanguageRI/Block.js: Removed. * WebGPUShadingLanguageRI/BoolLiteral.js: Removed. * WebGPUShadingLanguageRI/Break.js: Removed. * WebGPUShadingLanguageRI/BuiltInSemantic.js: Removed. * WebGPUShadingLanguageRI/BuiltinMatrixGetter.js: Removed. * WebGPUShadingLanguageRI/BuiltinMatrixSetter.js: Removed. * WebGPUShadingLanguageRI/BuiltinVectorGetter.js: Removed. * WebGPUShadingLanguageRI/BuiltinVectorSetter.js: Removed. * WebGPUShadingLanguageRI/CallExpression.js: Removed. * WebGPUShadingLanguageRI/CallFunction.js: Removed. * WebGPUShadingLanguageRI/Casts.js: Removed. * WebGPUShadingLanguageRI/Check.js: Removed. * WebGPUShadingLanguageRI/CheckLiteralTypes.js: Removed. * WebGPUShadingLanguageRI/CheckLoops.js: Removed. * WebGPUShadingLanguageRI/CheckNativeFuncStages.js: Removed. * WebGPUShadingLanguageRI/CheckRecursion.js: Removed. * WebGPUShadingLanguageRI/CheckRecursiveTypes.js: Removed. * WebGPUShadingLanguageRI/CheckReturns.js: Removed. * WebGPUShadingLanguageRI/CheckTypesWithArguments.js: Removed. * WebGPUShadingLanguageRI/CheckUnreachableCode.js: Removed. * WebGPUShadingLanguageRI/CheckWrapped.js: Removed. * WebGPUShadingLanguageRI/Checker.js: Removed. * WebGPUShadingLanguageRI/CloneProgram.js: Removed. * WebGPUShadingLanguageRI/CommaExpression.js: Removed. * WebGPUShadingLanguageRI/ConstexprFolder.js: Removed. * WebGPUShadingLanguageRI/Continue.js: Removed. * WebGPUShadingLanguageRI/ConvertPtrToArrayRefExpression.js: Removed. * WebGPUShadingLanguageRI/CreateLiteral.js: Removed. * WebGPUShadingLanguageRI/CreateLiteralType.js: Removed. * WebGPUShadingLanguageRI/DereferenceExpression.js: Removed. * WebGPUShadingLanguageRI/DoWhileLoop.js: Removed. * WebGPUShadingLanguageRI/DotExpression.js: Removed. * WebGPUShadingLanguageRI/EArrayRef.js: Removed. * WebGPUShadingLanguageRI/EBuffer.js: Removed. * WebGPUShadingLanguageRI/EBufferBuilder.js: Removed. * WebGPUShadingLanguageRI/EPtr.js: Removed. * WebGPUShadingLanguageRI/EnumLiteral.js: Removed. * WebGPUShadingLanguageRI/EnumMember.js: Removed. * WebGPUShadingLanguageRI/EnumType.js: Removed. * WebGPUShadingLanguageRI/EvaluationCommon.js: Removed. * WebGPUShadingLanguageRI/Evaluator.js: Removed. * WebGPUShadingLanguageRI/Expression.js: Removed. * WebGPUShadingLanguageRI/ExpressionFinder.js: Removed. * WebGPUShadingLanguageRI/ExternalOrigin.js: Removed. * WebGPUShadingLanguageRI/Field.js: Removed. * WebGPUShadingLanguageRI/FindHighZombies.js: Removed. * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js: Removed. * WebGPUShadingLanguageRI/FloatLiteral.js: Removed. * WebGPUShadingLanguageRI/FloatLiteralType.js: Removed. * WebGPUShadingLanguageRI/FoldConstexprs.js: Removed. * WebGPUShadingLanguageRI/ForLoop.js: Removed. * WebGPUShadingLanguageRI/Func.js: Removed. * WebGPUShadingLanguageRI/FuncAttribute.js: Removed. * WebGPUShadingLanguageRI/FuncDef.js: Removed. * WebGPUShadingLanguageRI/FuncNumThreadsAttribute.js: Removed. * WebGPUShadingLanguageRI/FuncParameter.js: Removed. * WebGPUShadingLanguageRI/FunctionLikeBlock.js: Removed. * WebGPUShadingLanguageRI/HighZombieFinder.js: Removed. * WebGPUShadingLanguageRI/IdentityExpression.js: Removed. * WebGPUShadingLanguageRI/IfStatement.js: Removed. * WebGPUShadingLanguageRI/IndexExpression.js: Removed. * WebGPUShadingLanguageRI/InferTypesForCall.js: Removed. * WebGPUShadingLanguageRI/Inline.js: Removed. * WebGPUShadingLanguageRI/Inliner.js: Removed. * WebGPUShadingLanguageRI/IntLiteral.js: Removed. * WebGPUShadingLanguageRI/IntLiteralType.js: Removed. * WebGPUShadingLanguageRI/Intrinsics.js: Removed. * WebGPUShadingLanguageRI/LayoutBuffers.js: Removed. * WebGPUShadingLanguageRI/Lexer.js: Removed. * WebGPUShadingLanguageRI/LexerToken.js: Removed. * WebGPUShadingLanguageRI/LiteralTypeChecker.js: Removed. * WebGPUShadingLanguageRI/LogicalExpression.js: Removed. * WebGPUShadingLanguageRI/LogicalNot.js: Removed. * WebGPUShadingLanguageRI/LoopChecker.js: Removed. * WebGPUShadingLanguageRI/MakeArrayRefExpression.js: Removed. * WebGPUShadingLanguageRI/MakePtrExpression.js: Removed. * WebGPUShadingLanguageRI/MatrixType.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLCompileResult.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLConstexprEmitter.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLFunctionForwardDeclaration.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLNameMangler.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLNativeFunctionCall.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLTypeAttributes.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLTypeAttributesMap.js: Removed. * WebGPUShadingLanguageRI/Metal/MSLTypeUnifier.js: Removed. * WebGPUShadingLanguageRI/Metal/TypeOf.js: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/.gitignore: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.h: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.m: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/AppIcon.appiconset/Contents.json: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/Contents.json: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Base.lproj/Main.storyboard: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.h: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.m: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.h: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.h: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.m: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Info.plist: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.h: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.m: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.h: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.m: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.h: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.m: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.h: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.m: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.h: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.m: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.h: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.m: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.h: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.m: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.h: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.m: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/WHLSL.entitlements: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/_SharedMetal.txt: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/main.m: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/Info.plist: Removed. * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/WHLSL_ToyTests.m: Removed. * WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Removed. * WebGPUShadingLanguageRI/Metal/WhlslToMsl.js: Removed. * WebGPUShadingLanguageRI/NameContext.js: Removed. * WebGPUShadingLanguageRI/NameFinder.js: Removed. * WebGPUShadingLanguageRI/NameResolver.js: Removed. * WebGPUShadingLanguageRI/NativeFunc.js: Removed. * WebGPUShadingLanguageRI/NativeType.js: Removed. * WebGPUShadingLanguageRI/Node.js: Removed. * WebGPUShadingLanguageRI/NormalUsePropertyResolver.js: Removed. * WebGPUShadingLanguageRI/NullLiteral.js: Removed. * WebGPUShadingLanguageRI/NullType.js: Removed. * WebGPUShadingLanguageRI/OperatorAnderIndexer.js: Removed. * WebGPUShadingLanguageRI/OperatorArrayRefLength.js: Removed. * WebGPUShadingLanguageRI/OriginKind.js: Removed. * WebGPUShadingLanguageRI/OverloadResolutionFailure.js: Removed. * WebGPUShadingLanguageRI/Parse.js: Removed. * WebGPUShadingLanguageRI/Prepare.js: Removed. * WebGPUShadingLanguageRI/Program.js: Removed. * WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js: Removed. * WebGPUShadingLanguageRI/PropertyAccessExpression.js: Removed. * WebGPUShadingLanguageRI/PropertyResolver.js: Removed. * WebGPUShadingLanguageRI/PtrType.js: Removed. * WebGPUShadingLanguageRI/ReadModifyWriteExpression.js: Removed. * WebGPUShadingLanguageRI/RecursionChecker.js: Removed. * WebGPUShadingLanguageRI/RecursiveTypeChecker.js: Removed. * WebGPUShadingLanguageRI/ReferenceType.js: Removed. * WebGPUShadingLanguageRI/ResolveNames.js: Removed. * WebGPUShadingLanguageRI/ResolveOverloadImpl.js: Removed. * WebGPUShadingLanguageRI/ResolveProperties.js: Removed. * WebGPUShadingLanguageRI/ResolveTypeDefs.js: Removed. * WebGPUShadingLanguageRI/ResourceSemantic.js: Removed. * WebGPUShadingLanguageRI/Return.js: Removed. * WebGPUShadingLanguageRI/ReturnChecker.js: Removed. * WebGPUShadingLanguageRI/ReturnException.js: Removed. * WebGPUShadingLanguageRI/Rewriter.js: Removed. * WebGPUShadingLanguageRI/SPIR-V.js: Removed. * WebGPUShadingLanguageRI/SPIRV.html: Removed. * WebGPUShadingLanguageRI/SPIRVCodegen.js: Removed. * WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Removed. * WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Removed. * WebGPUShadingLanguageRI/Sampler.js: Removed. * WebGPUShadingLanguageRI/Semantic.js: Removed. * WebGPUShadingLanguageRI/SpecializationConstantSemantic.js: Removed. * WebGPUShadingLanguageRI/StageInOutSemantic.js: Removed. * WebGPUShadingLanguageRI/StandardLibrary.js: Removed. * WebGPUShadingLanguageRI/StatementCloner.js: Removed. * WebGPUShadingLanguageRI/StructLayoutBuilder.js: Removed. * WebGPUShadingLanguageRI/StructType.js: Removed. * WebGPUShadingLanguageRI/SwitchCase.js: Removed. * WebGPUShadingLanguageRI/SwitchStatement.js: Removed. * WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js: Removed. * WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js: Removed. * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Removed. * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Removed. * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Removed. * WebGPUShadingLanguageRI/TernaryExpression.js: Removed. * WebGPUShadingLanguageRI/Test.html: Removed. * WebGPUShadingLanguageRI/Test.js: Removed. * WebGPUShadingLanguageRI/Texture.js: Removed. * WebGPUShadingLanguageRI/TextureOperations.js: Removed. * WebGPUShadingLanguageRI/TrapStatement.js: Removed. * WebGPUShadingLanguageRI/Type.js: Removed. * WebGPUShadingLanguageRI/TypeDef.js: Removed. * WebGPUShadingLanguageRI/TypeDefResolver.js: Removed. * WebGPUShadingLanguageRI/TypeOverloadResolutionFailure.js: Removed. * WebGPUShadingLanguageRI/TypeRef.js: Removed. * WebGPUShadingLanguageRI/TypedValue.js: Removed. * WebGPUShadingLanguageRI/UintLiteral.js: Removed. * WebGPUShadingLanguageRI/UintLiteralType.js: Removed. * WebGPUShadingLanguageRI/UnificationContext.js: Removed. * WebGPUShadingLanguageRI/UnreachableCodeChecker.js: Removed. * WebGPUShadingLanguageRI/Value.js: Removed. * WebGPUShadingLanguageRI/VariableDecl.js: Removed. * WebGPUShadingLanguageRI/VariableRef.js: Removed. * WebGPUShadingLanguageRI/VectorType.js: Removed. * WebGPUShadingLanguageRI/VisitingSet.js: Removed. * WebGPUShadingLanguageRI/Visitor.js: Removed. * WebGPUShadingLanguageRI/WLexicalError.js: Removed. * WebGPUShadingLanguageRI/WSyntaxError.js: Removed. * WebGPUShadingLanguageRI/WTrapError.js: Removed. * WebGPUShadingLanguageRI/WTypeError.js: Removed. * WebGPUShadingLanguageRI/WhileLoop.js: Removed. * WebGPUShadingLanguageRI/WrapChecker.js: Removed. * WebGPUShadingLanguageRI/index.html: Removed. * WebGPUShadingLanguageRI/spirv.core.grammar.json: Removed. * WebGPUShadingLanguageRI/wsl-tests.yaml: Removed. 2018-10-15 Philippe Normand [GTK] Disable MSE build support on Debian and Ubuntu LTS bots https://bugs.webkit.org/show_bug.cgi?id=190581 Reviewed by Michael Catanzaro. These bots don't use JHBuild and their host GStreamer version is too old for the GStreamer MSE backend. Version 1.14 is needed at least. * BuildSlaveSupport/build.webkit.org-config/config.json: 2018-10-15 Alex Christensen Use pragma once in WTF https://bugs.webkit.org/show_bug.cgi?id=190527 Reviewed by Chris Dumez. Put WorkQueue in namespace DRT so it does not conflict with WTF::WorkQueue. * DumpRenderTree/TestRunner.cpp: (TestRunner::queueLoadHTMLString): (TestRunner::queueLoadAlternateHTMLString): (TestRunner::queueBackNavigation): (TestRunner::queueForwardNavigation): (TestRunner::queueLoadingScript): (TestRunner::queueNonLoadingScript): (TestRunner::queueReload): * DumpRenderTree/WorkQueue.cpp: (WorkQueue::singleton): Deleted. (WorkQueue::WorkQueue): Deleted. (WorkQueue::queue): Deleted. (WorkQueue::dequeue): Deleted. (WorkQueue::count): Deleted. (WorkQueue::clear): Deleted. (WorkQueue::processWork): Deleted. * DumpRenderTree/WorkQueue.h: (WorkQueue::setFrozen): Deleted. * DumpRenderTree/WorkQueueItem.h: * DumpRenderTree/mac/DumpRenderTree.mm: (runTest): * DumpRenderTree/mac/FrameLoadDelegate.mm: (-[FrameLoadDelegate processWork:]): (-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]): * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::notifyDone): (TestRunner::forceImmediateCompletion): (TestRunner::queueLoad): * DumpRenderTree/win/DumpRenderTree.cpp: (runTest): * DumpRenderTree/win/FrameLoadDelegate.cpp: (FrameLoadDelegate::processWork): (FrameLoadDelegate::locationChangeDone): * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::notifyDone): (TestRunner::forceImmediateCompletion): (TestRunner::queueLoad): 2018-10-14 Yusuke Suzuki [JSC] Remove Option::useAsyncIterator https://bugs.webkit.org/show_bug.cgi?id=190567 Reviewed by Saam Barati. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2018-10-15 Claudio Saavedra [WPE] Silence a unused-parameter warning Unreviewed. * MiniBrowser/wpe/main.cpp: (decidePermissionRequest): 2018-10-12 Guillaume Emont [Tools][webkitpy] fix handling of JSCTESTS_OPTIONS https://bugs.webkit.org/show_bug.cgi?id=190537 Reviewed by Alexey Proskuryakov. In DeprecatedPort.run_javascriptcore_tests_command() JSCTESTS_OPTIONS needs to be split before adding it to the command since it is treated as a list of args. * Scripts/webkitpy/common/config/ports.py: (DeprecatedPort.run_javascriptcore_tests_command): 2018-10-12 Wenson Hsieh [iOS] Allow SPI clients to lay out at arbitrarily scaled sizes and scale to fit the view https://bugs.webkit.org/show_bug.cgi?id=190504 Reviewed by Tim Horton. Teach UIScriptController to set WKWebView's view scale via a new `setViewScale` method, supported in WebKit2 on macOS and iOS. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::setViewScale): * DumpRenderTree/mac/UIScriptControllerMac.mm: (WTR::UIScriptController::setViewScale): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::setViewScale): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/UIScriptControllerCocoa.mm: Added. Add a new file for UIScriptController methods on Cocoa platforms. (WTR::UIScriptController::setViewScale): * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::cocoaResetStateToConsistentValues): Ensure that _viewScale is reset to 1 after running a layout test. 2018-10-12 Aakash Jain [ews-build] Rename iOS-11-Simulator-Tests-EWS to iOS-11-Simulator-WK2-Tests-EWS https://bugs.webkit.org/show_bug.cgi?id=190536 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/ews-build/config.json: Renamed iOS-11-Simulator-Tests-EWS to iOS-11-Simulator-WK2-Tests-EWS. 2018-10-11 Youenn Fablet IOS 12 - Service worker cache not shared when added to homescreen https://bugs.webkit.org/show_bug.cgi?id=190269 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: Add test to ensure that CacheStorage use the default website data store parameters. 2018-10-11 Tim Horton Clicking on bookmarklet crashes at NavigationState::willRecordNavigationSnapshot https://bugs.webkit.org/show_bug.cgi?id=190476 Reviewed by Megan Gardner. * TestWebKitAPI/Tests/WebKitCocoa/SnapshotStore.mm: (TEST): Add a test that we don't crash. 2018-10-11 Tim Horton REGRESSION (r237037): Cannot use webkit-patch upload, always fails with unknown 'cc_radar' * Scripts/webkitpy/tool/steps/options.py: (Options): Fix the name of the variable that the --cc-radar option writes into. 2018-10-10 Dean Jackson Add --cc-radar option to webkit-patch bug creation https://bugs.webkit.org/show_bug.cgi?id=190451 Reviewed by Antoine Quint. Add a new command line option to automatically CC radar to new or updated bugs. * Scripts/webkitpy/tool/commands/commandtest.py: (CommandsTest.assert_execute_outputs): * Scripts/webkitpy/tool/commands/upload.py: (CreateBug.__init__): (CreateBug.execute): * Scripts/webkitpy/tool/commands/upload_unittest.py: (test_prepare_with_cc): (test_prepare_with_radar): (test_prepare_with_cc_and_radar): * Scripts/webkitpy/tool/steps/createbug.py: (CreateBug.options): (CreateBug.run): * Scripts/webkitpy/tool/steps/options.py: (Options): 2018-10-11 Claudio Saavedra [GStreamer] Do not build gstgtk plugins https://bugs.webkit.org/show_bug.cgi?id=190463 Reviewed by Xabier Rodriguez-Calvar. These plugins pull a GTK+ dependency that, at least in WPE, is unnecessary. The GTK+ port doesn't need it either, as far as I can tell. * gstreamer/jhbuild.modules: Disable gstgtk plugins 2018-10-11 Alejandro G. Castro [GTK][WPE] Add mediaDevices.enumerateDevices support https://bugs.webkit.org/show_bug.cgi?id=185761 Reviewed by Youenn Fablet. Added new API test for the mediaDevices.enumerateDevices: usermedia-enumeratedevices-permission-check. And a new API test for the WebsiteDataStore: testWebsiteDataDeviceIdHashSalt. * MiniBrowser/gtk/main.c: (gotWebsiteDataCallback): Added a new section to the about:data webpage to include the information about the hash salt. * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: (testWebViewUserMediaEnumerateDevicesPermissionCheck): Added the new test checking the enumerateDevices API when permission is denied and when permission is allowed for the origin. (beforeAll): Defined the new test. * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp: (serverCallback): Register a new URI for the enumerateDevices. (testWebsiteDataConfiguration): Remove the hash salts from the directories. (testWebsiteDataDeviceIdHashSalt): New test cheking the enumerateDevices API. (beforeAll): Added the new test testWebsiteDataDeviceIdHashSalt to the init structure. * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp: (WebViewTest::initializeWebView): Make sure the media-stream is activated in the webView. 2018-10-10 Fujii Hironori Add WinCairo to the flakiness dashboard https://bugs.webkit.org/show_bug.cgi?id=188345 Reviewed by Lucas Forschler. * TestResultServer/static-dashboards/builders.jsonp: Regenerated by generate_builders_json.py. * TestResultServer/static-dashboards/flakiness_dashboard.js: Added a new platform 'WINCAIRO'. 2018-10-10 Dean Jackson [WHSL -> MSL] Annotate semantics correctly in generated MSL https://bugs.webkit.org/show_bug.cgi?id=190452 Reviewed by Myles Maxfield. Correctly label the appropriate semantics as [[position]] and [[color(N)]]. * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Identify position and color attributes. Also use the semantic's index rather than a counter. * WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Use a
 for
        output, and only include the actual shader code.

2018-10-10  Ross Kirsling  

        build-webkit --inspector-frontend shouldn't have a nonzero exit code
        https://bugs.webkit.org/show_bug.cgi?id=190430

        Reviewed by Brian Burg.

        * Scripts/webkitdirs.pm:
        (argumentsForConfiguration):
        --inspector-frontend should only be popped off of argv by determineIsInspectorFrontend;
        it shouldn't be re-inserted as a CLI option by argumentsForConfiguration.

2018-10-10  Tim Horton  

        Share more WKShareSheet code between macOS and iOS, and fix a few bugs
        https://bugs.webkit.org/show_bug.cgi?id=190420

        Reviewed by Simon Fraser.

        * DumpRenderTree/ios/UIScriptControllerIOS.mm:
        (WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
        (WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
        * DumpRenderTree/mac/UIScriptControllerMac.mm:
        (WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
        * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
        * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
        (WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
        (WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
        * TestRunnerShared/UIScriptContext/UIScriptController.h:
        * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
        (WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
        (WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
        * WebKitTestRunner/mac/UIScriptControllerMac.mm:
        (WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
        Change the testing mechanism for the share sheet such that we up-front
        set that it should immediately return with a particular state, instead
        of programmatically dismissing the sheet.

        Otherwise, running the tests on macOS doesn't work, because we pop
        a context menu, which spins the runloop and prevents dismissal from
        going through.

2018-10-10  Yusuke Suzuki  

        [JSC] Rename createXXX to tryCreateXXX if it can return RefPtr
        https://bugs.webkit.org/show_bug.cgi?id=190429

        Reviewed by Saam Barati.

        * TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm:
        (TestWebKitAPI::TEST_F):

2018-10-10  Chris Dumez  

        Regression(PSON): Assertion hit under WebPageProxy::didNavigateWithNavigationData()
        https://bugs.webkit.org/show_bug.cgi?id=190418
        

        Reviewed by Geoffrey Garen.

        Add API test coverage.

        * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

2018-10-10  Guillaume Emont  

        [JSCOnly Add an armv7 JSCOnly EWS that runs tests
        https://bugs.webkit.org/show_bug.cgi?id=190191

        Reviewed by Michael Catanzaro.

        * QueueStatusServer/config/queues.py:
        * Scripts/webkitpy/common/config/ews.json:
        * Scripts/webkitpy/common/config/ports.py:
        (DeprecatedPort.run_javascriptcore_tests_command):
        Add the possibility to pass arguments to run-javascriptcore-tests with
        the JSCTESTS_OPTIONS environment variable
        * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
        (test_ews_name):


2018-10-09  Guillaume Emont  

        Allow run-javascriptcore-tests to distribute tests between devices
        https://bugs.webkit.org/show_bug.cgi?id=190190

        Reviewed by Michael Catanzaro.

        * Scripts/run-jsc-stress-tests:
        * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
        * Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:

2018-10-09  Dean Jackson  

        Update WHLSL to Metal tester with semantics
        https://bugs.webkit.org/show_bug.cgi?id=190416
        

        Reviewed by Myles Maxfield.

        A few small changes to the WHLSL to Metal tools:
        - Make it compile by adding some missing JS files :)
        - Add semantics to the default shader
        - Add FIXMEs to the other shaders
        - Create an in-browser test for the WHLSLToMetal codepath
        - Fix typos in the semantics checker

        * WebGPUShadingLanguageRI/Checker.js:
        (Checker.prototype._checkSemantics.checkSemanticTypes):
        (Checker.prototype._checkSemantics.checkSemanticForShaderType):
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m:
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl:
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl:
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl:
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj:
        * WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Added.

2018-10-09  Jer Noble  

        Crash when closing WKWebView during enter fullscreen animation
        https://bugs.webkit.org/show_bug.cgi?id=190412

        Reviewed by Brian Burg.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewDuringEnterFullscreen.mm: Added.
        (-[CloseWebViewDuringEnterFullscreenUIDelegate _webViewWillEnterFullscreen:]):
        (-[CloseWebViewDuringEnterFullscreenUIDelegate _webViewWillExitFullscreen:]):
        (TestWebKitAPI::TEST):

2018-10-09  Chris Dumez  

        Anchor target should be ignored on activation when the download attribute is set
        https://bugs.webkit.org/show_bug.cgi?id=190408

        Reviewed by Geoffrey Garen.

        Update WebKitTestRunner to block popups by default and add support for testRunner.setCanOpenWindows()
        for tests that need popups. This aligns WebKitTestRunner with DumpRenderTree and allows testing
        popup blocking.

        * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
        * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
        (WTR::TestRunner::setCanOpenWindows):
        * WebKitTestRunner/InjectedBundle/TestRunner.h:
        * WebKitTestRunner/TestController.cpp:
        (WTR::TestController::createOtherPage):
        * WebKitTestRunner/TestController.h:
        * WebKitTestRunner/TestInvocation.cpp:
        (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
        * WebKitTestRunner/TestInvocation.h:

2018-10-09  Jer Noble  

        WebDriver: thrown ObjC exception under -[WKFullScreenWindowController windowDidFailToEnterFullScreen:] when session is terminated
        https://bugs.webkit.org/show_bug.cgi?id=190098
        

        Reviewed by Brian Burg.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewAfterEnterFullscreen.mm: Added.
        (-[CloseWebViewAfterEnterFullscreenUIDelegate _webViewDidEnterFullscreen:]):
        (-[CloseWebViewAfterEnterFullscreenUIDelegate _webViewDidExitFullscreen:]):
        (TestWebKitAPI::TEST):

2018-10-09  Jiewen Tan  

        [WebAuthN] Import CTAP HID message and packet structure from Chromium
        https://bugs.webkit.org/show_bug.cgi?id=189289
        

        Reviewed by Brent Fulgham.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/WebCore/FidoHidMessageTest.cpp: Added.
        (TestWebKitAPI::TEST):

2018-10-09  Chris Dumez  

        PSON: Doing a cross-site navigation via the URL bar does not swap process on iOS
        https://bugs.webkit.org/show_bug.cgi?id=190378
        

        Reviewed by Geoffrey Garen.

        Add API test coverage.

        * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

2018-10-09  Jer Noble  

        ISOTrackEncryptionBox returns incorrect defaultKeyID
        https://bugs.webkit.org/show_bug.cgi?id=190368

        Reviewed by Eric Carlson.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/WebCore/ISOBox.cpp: Added.
        (TestWebKitAPI::TEST):

2018-10-09  Philippe Normand  

        [JHBuild] Update to GStreamer 1.14.4
        https://bugs.webkit.org/show_bug.cgi?id=190395

        Reviewed by Xabier Rodriguez-Calvar.

        * gstreamer/jhbuild.modules: Remove patches merged in 1.14.4 and bump version of GStreamer modules.
        * gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Removed.
        * gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Removed.
        * gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Removed.
        * gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch: Removed.

2018-10-08  Wenson Hsieh  

        [macOS] API test DragAndDropTests.DropColor is failing on macOS 10.12
        https://bugs.webkit.org/show_bug.cgi?id=190386

        Reviewed by Ryosuke Niwa.

        Unlike macOS 10.13 and 10.14, -[NSColor redColor] is not equivalent to a fully red color in sRGB on macOS 10.12.
        Fix the test by dragging and dropping an NSColor that is equivalent to rgb(255, 0, 0) on all relevant versions
        of macOS.

        * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
        (TEST):

2018-10-08  Wenson Hsieh  

        [Cocoa] [WK2] Add support for text alignment and text lists in font attributes
        https://bugs.webkit.org/show_bug.cgi?id=190342
        

        Reviewed by Tim Horton.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm:

        Add a new API test to check that the font attributes dictionary contains the correct NSParagraphStyles when
        moving the selection around text inside nested list elements.

        (TestWebKitAPI::checkParagraphStyles):

        Add a new helper to check an NSParagraphStyle against expected results.

        (TestWebKitAPI::webViewForTestingFontAttributes):

        Allow each test to pass in the name of the test page to load.

        (TestWebKitAPI::TEST):
        * TestWebKitAPI/Tests/WebKitCocoa/nested-lists.html: Added.

        Add a new test page that contains text enclosed in multiple levels of unordered and ordered lists.

        * TestWebKitAPI/Tests/WebKitCocoa/rich-text-attributes.html:

        Remove `text-align: left` from one of these elements, to test for NSTextAlignmentNatural.

2018-10-08  Justin Fan  

        WebGPU: Rename old WebGPU prototype to WebMetal
        https://bugs.webkit.org/show_bug.cgi?id=190325
        

        Reviewed by Dean Jackson.

        Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.

        * DumpRenderTree/mac/DumpRenderTree.mm:
        (enableExperimentalFeatures):
        (resetWebPreferencesToConsistentValues):
        * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
        * TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm:
        * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm:
        * TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm:
        * TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm:
        * TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm:
        * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
        (WTR::InjectedBundle::beginTesting):
        * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
        (WTR::TestRunner::setWebMetalEnabled):
        (WTR::TestRunner::setWebGPUEnabled): Deleted.
        * WebKitTestRunner/InjectedBundle/TestRunner.h:

2018-10-08  Commit Queue  

        Unreviewed, rolling out r236941.
        https://bugs.webkit.org/show_bug.cgi?id=190374

        Causing API test failures in new test (Requested by jernoble
        on #webkit).

        Reverted changeset:

        "ISOTrackEncryptionBox returns incorrect defaultKeyID"
        https://bugs.webkit.org/show_bug.cgi?id=190368
        https://trac.webkit.org/changeset/236941

2018-10-08  Aditya Keerthi  

        Make  a runtime enabled (on-by-default) feature
        https://bugs.webkit.org/show_bug.cgi?id=189162

        Reviewed by Wenson Hsieh and Tim Horton.

        * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

2018-10-08  Jer Noble  

        ISOTrackEncryptionBox returns incorrect defaultKeyID
        https://bugs.webkit.org/show_bug.cgi?id=190368

        Reviewed by Eric Carlson.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/WebCore/ISOBox.cpp: Added.
        (TestWebKitAPI::TEST):

2018-10-08  Alex Christensen  

        Remove WKBundleFileHandleRef
        https://bugs.webkit.org/show_bug.cgi?id=190360

        Reviewed by Tim Horton.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp: Removed.
        * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp: Removed.

2018-10-08  Dan Bernstein  

        Tools part of [Xcode] Update some build settings as recommended by Xcode 10
        https://bugs.webkit.org/show_bug.cgi?id=190250

        Reviewed by Anders Carlsson.

        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.

        * DumpRenderTree/mac/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
          CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
          CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.

        * DumpRenderTree/mac/DumpRenderTreeMac.h: Addressed the strict prototype warning.

        * DumpRenderTree/mac/EditingDelegate.mm: Suppressed the deprecated implementations warning
          around deprecated methods or categories on deprecated classes.
        * DumpRenderTree/mac/FrameLoadDelegate.mm: Ditto.
        (-[FrameLoadDelegate webView:windowScriptObjectAvailable:]):
        * DumpRenderTree/mac/TestRunnerMac.mm: Ditto.
        (-[SynchronousLoader connection:didReceiveAuthenticationChallenge:]):

        * MiniBrowser/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
          CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
          CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.

        * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.

        * MiniBrowser/mac/AppDelegate.h: Addressed the strict prototypes warning.
        * MiniBrowser/mac/WK2BrowserWindowController.m: Removed an unused #import to avoid having to
          address the fact that many of the WebKit C SPI headers trigger the strict prototypes warning.

        * MobileMiniBrowser/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
          CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_SUSPICIOUS_MOVE (by fixing a typo),
          CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, and CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF.

        * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: Let Xcode update
          LastUpgradeCheck and remove the .xcconfig files from the Copy Bundle Resources build phase.

        * TestWebKitAPI/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
          CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
          CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
          Made the WebKit headers be treated as system headers to avoid dealing with the fact that
          many C SPI headers trigger the strict prototypes warning.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.

        * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
        (-[DownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
        (-[BlobDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
        (-[UIDownloadAsFileTestDelegate _webView:contextMenu:forElement:]):
        (-[RedirectedDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
        * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
        (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
        (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
        * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
        (-[AudioSessionCategoryUIWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):
        * TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:
        (-[RenderInContextWebViewDelegate webViewDidFinishLoad:]):
        (-[RenderInContextWebViewDelegate webView:didFailLoadWithError:]):
        * TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm:
        (-[SetTimeoutFunctionWebViewDelegate webViewDidFinishLoad:]):
        (-[SetTimeoutFunctionWebViewDelegate webView:didFailLoadWithError:]):
        (-[SetTimeoutFunctionWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):
        * TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm:
        (-[DragInfo namesOfPromisedFilesDroppedAtDestination:]):
        * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
        (-[DragAndDropTestWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]):
        * TestWebKitAPI/mac/SyntheticBackingScaleFactorWindow.m:
        (-[SyntheticBackingScaleFactorWindow IGNORE_WARNINGS_END]):
        (-[SyntheticBackingScaleFactorWindow userSpaceScaleFactor]): Deleted.
        * TestWebKitAPI/mac/TestDraggingInfo.mm:
        (-[TestDraggingInfo namesOfPromisedFilesDroppedAtDestination:]):

        In all of the above, suppressed the deprecated implementations warning where needed.

        * WebKitTestRunner/Configurations/Base.xcconfig: Enabled ENABLE_STRICT_OBJC_MSGSEND,
          CLANG_WARN_BOOL_CONVERSION, CLANG_WARN_COMMA, CLANG_WARN_CONSTANT_CONVERSION,
          CLANG_WARN_EMPTY_BODY, CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION,
          CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_UNREACHABLE_CODE, CLANG_WARN__DUPLICATE_METHOD_MATCH,
          GCC_WARN_UNDECLARED_SELECTOR, CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF,
          CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
          and GCC_NO_COMMON_BLOCKS.

        * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.

        * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
        (-[TestRunnerWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]): Suppressed
          the deprecated implementations warning.

        * WebKitTestRunner/mac/UIScriptControllerMac.mm:
        (WTR::UIScriptController::replaceTextAtRange): Addressed an int-conversion warning.

2018-10-07  Yacine Bandou  

        [GStreamer][EME][webm] Add the WebM encrypted content support in matroskademux
        https://bugs.webkit.org/show_bug.cgi?id=189238

        Reviewed by Xabier Rodriguez-Calvar.

        Modifications on GStreamer, tracked in GStreamer bugzilla:
        https://bugzilla.gnome.org/show_bug.cgi?id=797231
        https://bugzilla.gnome.org/show_bug.cgi?id=765275

        * gstreamer/jhbuild.modules: Add new patches.
        * gstreamer/patches/gstreamer-0001-protection-Add-a-new-definition-for-unspecified-syst.patch: Added.
        * gstreamer/patches/gstreamer-0002-protection-Fix-the-string-to-define-unspecified-syst.patch: Added.
        * gstreamer/patches/gst-plugins-good-0011-matroska-Add-the-WebM-encrypted-content-support-in-m.patch: Added.
        * gstreamer/patches/gst-plugins-good-0012-matroskdemux-do-not-use-MapInfo.data-after-unmapping.patch: Added.

2018-10-06  Dan Bernstein  

        [Xcode] Never build yasm with ASAN
        https://bugs.webkit.org/show_bug.cgi?id=190327

        Reviewed by Youenn Fablet.

        * asan/asan.xcconfig: Allow targets to opt out of building with ASAN by setting
          the WK_ASAN_DISALLOWED build setting to YES (or, actually, anything other than NO or unset).

2018-10-05  Chris Dumez  

        Regression(r236862): Crash under DOMWindowExtension::willDetachGlobalObjectFromFrame()
        https://bugs.webkit.org/show_bug.cgi?id=190320
        

        Reviewed by Geoffrey Garen.

        Add API test coverage.

        * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic.cpp:
        (TestWebKitAPI::TEST):
        * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic_Bundle.cpp:
        (TestWebKitAPI::DOMWindowExtensionBasic::willDestroyGlobalObjectForDOMWindowExtension):

2018-10-03  Jer Noble  

        Add support for reporting "display composited video frames" through the VideoPlaybackQuality object.
        https://bugs.webkit.org/show_bug.cgi?id=190266

        Reviewed by Eric Carlson.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/WebKitCocoa/VideoQualityDisplayCompositing.mm: Added.
        (TestWebKitAPI::TEST):

2018-10-05  Ryan Haddad  

        Unreviewed, rolling out r236866.

        Breaks internal builds.

        Reverted changeset:

        "Add support for reporting "display composited video frames"
        through the VideoPlaybackQuality object."
        https://bugs.webkit.org/show_bug.cgi?id=190266
        https://trac.webkit.org/changeset/236866

2018-10-05  Carlos Eduardo Ramalho  

        [WPE][JSC] Use Unified Sources for Platform-specific sources
        https://bugs.webkit.org/show_bug.cgi?id=190300

        Reviewed by Yusuke Suzuki.

        Currently the GTK port already used Unified Sources with the same source files.
        As WPE has conditional code using gmodule, we need to add GLIB_GMODULE_LIBRARIES
        to the list of libraries to link with.

        * TestWebKitAPI/PlatformWPE.cmake:

2018-10-05  Zach Li  

        Expose whether WKWebProcessPlugInNodeHandle is a select element to clients
        https://bugs.webkit.org/show_bug.cgi?id=190302
        

        Reviewed by Tim Horton.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleNodeHandleIsSelectElement.mm: Added.
        (-[InjectedBundleNodeHandleIsSelectElement verifySelectElementForHTMLElementTag:document:jsContext:expectedResult:failedElementTags:]):
        (-[InjectedBundleNodeHandleIsSelectElement webProcessPlugIn:didCreateBrowserContextController:]):
        * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
        (-[InjectedBundleNodeHandleIsSelectElementDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
        (TEST):

2018-10-04  Wenson Hsieh  

        [iOS] [WK2] Expose some more editing SPI on WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=190232
        

        Reviewed by Tim Horton.

        Adds new API tests to exercise the new SPIs.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/ios/WKWebViewEditActions.mm: Added.
        (-[TestWKWebView querySelectorExists:]):
        (TestWebKitAPI::webViewForEditActionTesting):
        (TestWebKitAPI::TEST):
        * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
        (-[TestWKWebView collapseToStart]): Deleted.
        (-[TestWKWebView collapseToEnd]): Deleted.
        (-[TestWKWebView stylePropertyAtSelectionStart:]): Deleted.
        (-[TestWKWebView stylePropertyAtSelectionEnd:]): Deleted.
        * TestWebKitAPI/cocoa/TestWKWebView.h:
        * TestWebKitAPI/cocoa/TestWKWebView.mm:
        (-[TestWKWebView stylePropertyAtSelectionStart:]):
        (-[TestWKWebView stylePropertyAtSelectionEnd:]):
        (-[TestWKWebView collapseToStart]):
        (-[TestWKWebView collapseToEnd]):

        Pull some common testing helpers out of NSFontManager and into TestWKWebView.

2018-10-04  Jer Noble  

        Add support for reporting "display composited video frames" through the VideoPlaybackQuality object.
        https://bugs.webkit.org/show_bug.cgi?id=190266

        Reviewed by Eric Carlson.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/WebKitCocoa/VideoQualityDisplayCompositing.mm: Added.
        (TestWebKitAPI::TEST):

2018-10-04  Wenson Hsieh  

        [Cocoa] Add SPI to expose typing attributes at the current selection on WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=190119
        

        Reviewed by Tim Horton.

        Add a new API test that loads a document containing various rich text styles. This test moves the selection
        around the document and checks the last set of font attributes received via the new UI delegate hook.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm: Added.
        (-[FontAttributesListener _webView:didChangeFontAttributes:]):
        (-[FontAttributesListener lastFontAttributes]):
        (-[TestWKWebView selectElementWithIdentifier:]):
        (-[TestWKWebView fontAttributesAfterNextPresentationUpdate]):
        (ColorExpectation::ColorExpectation):
        (ShadowExpectation::ShadowExpectation):
        (checkColor):
        (checkShadow):
        (checkFont):
        (webViewForTestingFontAttributes):
        * TestWebKitAPI/Tests/WebKitCocoa/rich-text-attributes.html: Added.

2018-10-04  Alan Coon  

        Unreviewed, add self as contributor.

        * Scripts/webkitpy/common/config/contributors.json:

2018-10-04  Wenson Hsieh  

        [macOS] Fix some font attribute conversion bugs in preparation for "Font > Styles…" support in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=190289
        

        Reviewed by Ryosuke Niwa.

        Add new API tests to exercise two corner cases when using NSFontOptions ("Font > Styles…") to change font
        attributes at the current selection.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
        * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
        (webViewForFontManagerTesting):
        (TestWebKitAPI::TEST):
        * TestWebKitAPI/mac/TestFontOptions.h: Copied from Source/WebCore/editing/cocoa/FontAttributesCocoa.mm.
        * TestWebKitAPI/mac/TestFontOptions.mm: Added.

        Introduce TestFontOptions, which wraps the shared NSFontOptions and swizzles `-sharedFontOptions` to return a
        global instance of itself. TestFontOptions supports several testing helpers to add or remove font shadows,
        foreground colors, and background colors.

        (sharedFontOptionsForTesting):
        (+[TestFontOptions sharedInstance]):
        (-[TestFontOptions initWithFontOptions:]):
        (-[TestFontOptions selectedAttributes]):
        (-[TestFontOptions fontOptions]):
        (-[TestFontOptions shadowWidth]):
        (-[TestFontOptions setShadowWidth:]):
        (-[TestFontOptions shadowHeight]):
        (-[TestFontOptions setShadowHeight:]):
        (-[TestFontOptions setShadowBlurRadius:]):
        (-[TestFontOptions setHasShadow:]):
        (-[TestFontOptions foregroundColor]):
        (-[TestFontOptions setForegroundColor:]):
        (-[TestFontOptions backgroundColor]):
        (-[TestFontOptions setBackgroundColor:]):
        (-[TestFontOptions _dispatchFontAttributeChanges]):
        (-[TestFontOptions convertAttributes:]):
        (-[TestFontOptions setSelectedAttributes:isMultiple:]):
        (-[TestFontOptions forwardInvocation:]):

2018-10-04  Jiewen Tan  

        [WebAuthN] Move time out control from WebProcess to UIProcess
        https://bugs.webkit.org/show_bug.cgi?id=189642
        

        Reviewed by Chris Dumez.

        * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
        (WTR::TestRunner::setWebAuthenticationMockConfiguration):

2018-10-04  YUHAN WU  

        Runtime flag and IDL for MediaRecorder
        https://bugs.webkit.org/show_bug.cgi?id=190018

        Reviewed by Youenn Fablet and Chris Dumez.

        * DumpRenderTree/mac/DumpRenderTree.mm:
        (enableExperimentalFeatures):

2018-10-04  Basuke Suzuki  

        [LayoutTests][Win] Stop wpt server correctly.
        https://bugs.webkit.org/show_bug.cgi?id=190248

        Reviewed by Fujii Hironori.

        Use signal.CTRL_C_EVENT instead of signal.SIGINT for Windows.
        Also refactoring the detection of Windows and cygwin environment check.

        * Scripts/webkitpy/common/system/executive.py:
        (Executive.__init__): Check environment once.
        (Executive._should_close_fds):
        (Executive.kill_process):
        (Executive.check_running_pid):
        (Executive.running_pids):
        (Executive.interrupt): Use signal.CTRL_C_EVENT for Windows.
        (Executive.kill_all):
        (Executive._child_process_encoding):
        (Executive._should_encode_child_process_arguments):
        (Executive.popen):
        (Executive.run_in_parallel):

2018-10-04  Michael Catanzaro  

        Convert tests to use navigation client
        https://bugs.webkit.org/show_bug.cgi?id=190153

        Reviewed by Alex Christensen.

        Convert these tests from PagePolicyClient and PageLoaderClient to PageNavigationClient.

        * TestWebKitAPI/Tests/WebKit/DownloadDecideDestinationCrash.cpp:
        (TestWebKitAPI::decidePolicyForNavigationAction):
        (TestWebKitAPI::setPagePolicyClient):
        * TestWebKitAPI/Tests/WebKit/ProvisionalURLAfterWillSendRequestCallback.cpp:
        (TestWebKitAPI::didCommitNavigationCallback):
        (TestWebKitAPI::TEST):
        (TestWebKitAPI::didCommitLoadForFrame): Deleted.

2018-10-03  Dan Bernstein  

        [Cocoa] Let clients specify an NSFileWrapper subclassed to be used for _WKAttachment
        https://bugs.webkit.org/show_bug.cgi?id=190270

        Reviewed by Wenson Hsieh.

        * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
        (TestWebKitAPI::TEST):

2018-10-03  Ryosuke Niwa  

        Enable selectionAcrossShadowBoundariesEnabled by default in WebKitLegacy
        https://bugs.webkit.org/show_bug.cgi?id=190238

        Reviewed by Antti Koivisto.

        * DumpRenderTree/TestOptions.h:
        * DumpRenderTree/mac/DumpRenderTree.mm:
        (resetWebPreferencesToConsistentValues):

2018-10-02  Wenson Hsieh  

        [WebKit2] Format > Bold and Format > Italic don't toggle between bold and italic style
        https://bugs.webkit.org/show_bug.cgi?id=179787
        

        Reviewed by Tim Horton.

        Add a test to verify that NSFontManager's selected font is updated when applying italic and bold styles using
        menu items.

        * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
        (webViewForFontManagerTesting):
        (menuItemCellForFontAction):
        (TestWebKitAPI::TEST):

2018-10-02  Chris Dumez  

        REGRESSION: TestWebKitAPI.WKWebView.ProvisionalURLNotChange API test is failing
        https://bugs.webkit.org/show_bug.cgi?id=190176
        

        Reviewed by Alex Christensen.

        Use a URL that is truly recognized as invalid by WebCore's URL parser.

        * TestWebKitAPI/Tests/WebKitCocoa/ProvisionalURLNotChange.mm:
        (TEST):

2018-10-02  Alex Christensen  

        Remove ParsedURLString
        https://bugs.webkit.org/show_bug.cgi?id=190154

        Reviewed by Chris Dumez.

        * TestWebKitAPI/Tests/WebCore/URL.cpp:
        (TestWebKitAPI::TEST_F):
        * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
        (TestWebKitAPI::assertUserAgentForURLHasChromeBrowserQuirk):
        (TestWebKitAPI::assertUserAgentForURLHasLinuxPlatformQuirk):
        (TestWebKitAPI::assertUserAgentForURLHasMacPlatformQuirk):
        (TestWebKitAPI::TEST):

2018-10-02  Daniel Bates  

        Fix iOS TestWebKitAPI failures following 
        (https://bugs.webkit.org/show_bug.cgi?id=190017)

        For now swizzle +[UIKeyboard isInHardwareKeyboardMode] to return NO in the following tests:
            WKWebViewAutofillTests.AutofillRequiresInputSession
            DragAndDropTests.ExternalSourceJPEGOnly
            DragAndDropTests.ExternalSourceUTF8PlainTextOnly

        so that the presence of a hardware keyboad does not effect their results. In 
        we will look to swizzle this method for all test by default.

        * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
        (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
        (TestWebKitAPI::TEST):
        * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
        (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
        (TestWebKitAPI::TEST):
        * TestWebKitAPI/ios/UIKitSPI.h:

2018-10-02  Dawei Fenton  

        Unreviewed, rolling out r236751.

        broke the iOS Build

        Reverted changeset:

        "Fix iOS TestWebKitAPI failures following
        "
        https://bugs.webkit.org/show_bug.cgi?id=190017
        https://trac.webkit.org/changeset/236751

2018-10-02  Daniel Bates  

        Fix iOS TestWebKitAPI failures following 
        (https://bugs.webkit.org/show_bug.cgi?id=190017)

        For now swizzle +[UIKeyboard isInHardwareKeyboardMode] to return NO in the following tests:
            WKWebViewAutofillTests.AutofillRequiresInputSession
            DragAndDropTests.ExternalSourceJPEGOnly
            DragAndDropTests.ExternalSourceUTF8PlainTextOnly

        so that the presence of a hardware keyboad does not effect their results. In 
        we will look to swizzle this method for all test by default.

        * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
        (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
        (TestWebKitAPI::TEST):
        * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
        (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
        (TestWebKitAPI::TEST):
        * TestWebKitAPI/ios/UIKitSPI.h:

2018-10-01  Dean Jackson  

        Remove CSS Animation Triggers
        https://bugs.webkit.org/show_bug.cgi?id=190175
        

        Reviewed by Simon Fraser.

        * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

2018-10-02  Thibault Saunier  

        [Flatpak] Use our own check of flatpak repos
        https://bugs.webkit.org/show_bug.cgi?id=190194

        Allowing us to not mess up with user installation
        and "--assumeyes" everywhere.

        Reviewed by Michael Catanzaro.

        * flatpak/flatpakutils.py:
        (FlatpakPackage.__init__):
        (FlatpakPackage.install):
        (FlatpakPackage.update):
        (WebkitFlatpak.load_from_args):
        (WebkitFlatpak.__init__):
        (WebkitFlatpak.clean_args):

2018-10-02  Wenson Hsieh  

        [macOS] Implement a way for the UI process to request typing attributes at the current selection
        https://bugs.webkit.org/show_bug.cgi?id=189983
        

        Reviewed by Ryosuke Niwa.

        Adds new FontManagerTests that exercise -typingAttributesWithCompletionHandler:. See below for more detail.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
        * TestWebKitAPI/Tests/mac/FontManagerTests.mm:

        Add a new test that exercises font attribute modification via inspector bar. Also, add a new test that checks
        typing attributes when using subscript/superscript/unscript. Lastly, augment an existing NSFontPanel test to
        additionally check that shadowed text and strike-through are reflected in typing attributes.

        (-[FontManagerTestWKWebView inspectorBarItemIdentifiers]):
        (-[TestWKWebView typingAttributes]):

        Add a synchronous wrapper around `-typingAttributesWithCompletionHandler:` by spinning the runloop.

        (-[TestWKWebView collapseToStart]):
        (webViewForFontManagerTesting):
        (TestWebKitAPI::TEST):
        * TestWebKitAPI/cocoa/TestWKWebView.h:
        * TestWebKitAPI/mac/TestInspectorBar.h: Copied from Tools/TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h.
        * TestWebKitAPI/mac/TestInspectorBar.mm: Added.

        Introduce subclasses of `__InspectorBarItemController` and `NSInspectorBar` for testing inspector bar interaction.

        (-[TestInspectorBarItemController initWithInspectorBar:]):
        (-[TestInspectorBarItemController inspectorBar]):
        (-[TestInspectorBarItemController updateSelectedAttributes]):
        (-[TestInspectorBar initWithWebView:]):
        (+[TestInspectorBar standardItemControllerClass]):
        (+[TestInspectorBar standardTextItemIdentifiers]):
        (-[TestInspectorBar _setStyleControlSelected:atIndex:]):
        (-[TestInspectorBar chooseFontSize:]):
        (-[TestInspectorBar chooseFontFamily:]):
        (-[TestInspectorBar _chooseColor:inColorWell:]):
        (-[TestInspectorBar chooseForegroundColor:]):
        (-[TestInspectorBar chooseBackgroundColor:]):
        (-[TestInspectorBar formatBold:]):
        (-[TestInspectorBar formatItalic:]):
        (-[TestInspectorBar formatUnderline:]):

        Add helper methods to TestInspectorBar to simulate interacting with various controls (e.g. color wells and font
        styling controls).

        (-[TestInspectorBar itemController]):
        (-[TestInspectorBar setItemController:]):

2018-10-02  Thibault Saunier  

        [Flatpak] Implement icecream and ccache support
        https://bugs.webkit.org/show_bug.cgi?id=190146

        Reviewed by Alejandro G. Castro.

        * flatpak/flatpakutils.py:
        (WebkitFlatpak.load_from_args):
        (WebkitFlatpak.__init__):
        (WebkitFlatpak.clean_args):
        (WebkitFlatpak.run_in_sandbox):
        (WebkitFlatpak.save_config):
        (WebkitFlatpak):
        (WebkitFlatpak.setup_ccache):
        (WebkitFlatpak.setup_icecc):
        (WebkitFlatpak.setup_dev_env):
        * flatpak/org.webkit.WebKit.yaml:

2018-10-02  Michael Catanzaro  

        Unreviewed, fix missing return value in TestController::keyExistsInKeychain

        * WebKitTestRunner/TestController.cpp:
        (WTR::TestController::keyExistsInKeychain):

2018-10-02  Basuke Suzuki  

        [WinCairo] Enable WPT tests environment.
        https://bugs.webkit.org/show_bug.cgi?id=190128

        Reviewed by Youenn Fablet.

        Escaping backslash of the path not to confuse the JSON parser.

        * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
        (WebPlatformTestServer._prepare_config):

2018-10-01  Ross Kirsling  

        [Win][DRT] Actually set "experimental:WebAnimationsCSSIntegrationEnabled" when requested
        https://bugs.webkit.org/show_bug.cgi?id=190150

        Reviewed by Fujii Hironori.

        * DumpRenderTree/win/DumpRenderTree.cpp:
        (setWebPreferencesForTestOptions):
        DRT has been recognizing this field, but not propagating its value to WebPreferences.

2018-10-01  Alex Christensen  

        Unreviewed, rolling out r236551.

        Fails URL validating too aggressively

        Reverted changeset:

        "URLWithUserTypedString should return nil for URLs deemed to
        be invalid by WebCore::URL"
        https://bugs.webkit.org/show_bug.cgi?id=189979
        https://trac.webkit.org/changeset/236551

2018-10-01  Wenson Hsieh  

        [iOS] Add SPI to customize the input accessory view when focusing an element
        https://bugs.webkit.org/show_bug.cgi?id=190152
        

        Reviewed by Dan Bernstein.

        Add an API test to verify that setting a custom input accessory view and custom input view on the form input
        session when focusing an element overrides the first responder's (i.e. WKContentView's) `-inputView` and
        `-inputAccessoryView`.

        * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
        (webViewWithAutofocusedInput):
        (TestWebKitAPI::TEST):
        * TestWebKitAPI/Tests/ios/TestInputDelegate.h:
        * TestWebKitAPI/Tests/ios/TestInputDelegate.mm:
        (-[TestInputDelegate setWillStartInputSessionHandler:]):
        (-[TestInputDelegate willStartInputSessionHandler]):
        (-[TestInputDelegate _webView:willStartInputSession:]):

2018-10-01  Sihui Liu  

        Remove StorageProcess
        https://bugs.webkit.org/show_bug.cgi?id=189975

        Reviewed by Geoffrey Garen.

        * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
        (TEST):
        * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
        * TestWebKitAPI/Tests/WebKitCocoa/WebProcessKillIDBCleanup.mm:
        (TEST):
        * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
        (TEST):
        * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
        * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
        (WTR::TestRunner::terminateStorageProcess): Deleted.
        * WebKitTestRunner/InjectedBundle/TestRunner.h:
        * WebKitTestRunner/TestController.cpp:
        (WTR::TestController::generatePageConfiguration):
        (WTR::TestController::databaseProcessName): Deleted.
        (WTR::TestController::databaseProcessDidCrash): Deleted.
        (WTR::TestController::terminateStorageProcess): Deleted.
        * WebKitTestRunner/TestController.h:
        * WebKitTestRunner/TestInvocation.cpp:
        (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

2018-10-01  Jiewen Tan  

        [WebAuthN] Import a JS CBOR coder
        https://bugs.webkit.org/show_bug.cgi?id=189877
        

        Reviewed by Chris Dumez.

        Add logic to only process privateKeyBase64, userCertificateBase64 and intermediateCACertificateBase64
        only if acceptAttestation is true.

        * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
        (WTR::TestRunner::setWebAuthenticationMockConfiguration):

2018-10-01  Chris Dumez  

        Regression(r236512): http/tests/navigation/keyboard-events-during-provisional-navigation.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=190052

        Reviewed by Ryosuke Niwa.

        The test relies on EventSender to send events to the page synchronously to the page and then uses console.log
        to log those events. It also uses console.log() before sending those events to indicate what the test is about
        to do. Note that console.log() normally causes the WebKitTestRunner to send an asynchronous IPC to the UIProcess
        so that it can log the message.
        The issue is that EventSender uses IPC::SendOption::UseFullySynchronousModeForTesting when sending the
        sync IPC to the UIProcess. This option causes follow-up *asynchronous* IPC sent from the synchronous IPC reply
        handler to be transformed into synchronous IPC.
        As a result, some of the console.log IPC ended up being asynchronous and some other ended up being synchronous.
        Because synchronous and asynchronous IPC is not necessarily processed in-order by the UIProcess, the logged
        messages may end up being out of order, leading to flakiness.

        To address the issue, we now make sure that InjectedBundle::outputText() uses a new IPC::SendOption indicated
        that the IPC should always be sent asynchronously, even if the connection is in fully synchronous mode. As a
        result, all text outputing IPC to the UIProcess will be asynchronous, and thus in order.

        * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
        (WTR::InjectedBundle::outputText):

2018-10-01  Daniel Bates  

        [iOS] Special keys are misidentified in DOM keyboard events
        https://bugs.webkit.org/show_bug.cgi?id=189974

        Reviewed by Wenson Hsieh.

        Add support for testing keys Forward Delete and Num Lock / Clear.

        * WebKitTestRunner/ios/HIDEventGenerator.mm:
        (hidUsageCodeForCharacter):

2018-10-01  Alex Christensen  

        URL should not use TextEncoding internally
        https://bugs.webkit.org/show_bug.cgi?id=190111

        Reviewed by Andy Estes.

        * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
        (TestWebKitAPI::testUserPass):
        (TestWebKitAPI::TEST_F):

2018-10-01  Daniel Bates  

        LLDB tests may use wrong configuration of lldbWebKitTester
        https://bugs.webkit.org/show_bug.cgi?id=189011

        Reviewed by Dean Jackson.

        Fixes an issue where the LLDB unit tests may use the wrong configuration of lldbWebKitTester.
        Additionally, add back the unit tests originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).

        Currently the unit tests pick the LLDBWebKitTester binary based on the configuration set by
        script set-webkit-configuration. This may not be the same configuration specified to test-webkitpy.
        So, the unit tests may use the wrong binary. Instead we have test-webkitpy store the path
        to the correct lldbWebKitTester binary that the unit tests should use in an environment variable,
        called LLDB_WEBKIT_TESTER_EXECUTABLE. (We use an environment variable because the test driver,
        test-webkitpy, and the unit tests cannot talk to each other directly due the limitations of
        the Python unittest module, the Python multiprocessing module, and the general principle of unit
        tests - to test code in isolation). The unit tests make use of the value of this environment
        variable to launch lldbWebKitTester binary.

        * Scripts/build-lldbwebkittester: We only support building lldbWebKitTester on Mac for now. Error
        out if this script is invoked for a non-Mac platform.
        * Scripts/webkitpy/test/main.py:
        (Tester._run_tests): Build lldbWebKitTester and store the path to it in the environment variable
        LLDB_WEBKIT_TESTER_EXECUTABLE.
        (_build_lldb_webkit_tester): Deleted.
        * lldb/dump_class_layout_unittest.py:
        (TestDumpClassLayout.shouldSkip): Use SystemHost() here and remove the _host global variable as
        this is the only call site that needs the Host object now.
        (TestDumpClassLayout.setUpClass): Take the path to the lldbWebKitTester binary from the value of
        the environment variable LLDB_WEBKIT_TESTER_EXECUTABLE.
        * lldb/lldbWebKitTester/main.cpp:
        (testSummaryProviders): Add back unit test support infrastructure originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).
        * lldb/lldb_webkit_unittest.py:
        (LLDBDebugSession.setup): Take the path to the lldbWebKitTester binary from the value of the environment
        variable LLDB_WEBKIT_TESTER_EXECUTABLE.
        (TestSummaryProviders):
        (TestSummaryProviders.shouldSkip): Skip the tests on non-Mac platforms.
        (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
        (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty):
        (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple):
        (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty):
        (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple):
        Add back the unit tests originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).

2018-10-01  Olivier Blin  

        [WPE] Update install-dependencies
        https://bugs.webkit.org/show_bug.cgi?id=190127

        Reviewed by Michael Catanzaro.

        * wpe/install-dependencies:
        libxrandr-dev is needed for gstreamer-vaapi in jhbuild
        It is used by gstvaapidisplay_x11.c.
        Add it only for Apt, already ok for Pacman and DNF.

        Install libevent-dev for WebRTC (like GTK)

        Install libasound2-dev for WebRTC.
        Add it only for Apt, already ok for Pacam and DNF.

        Install libgbm-dev for HeadlessViewBackend, which uses gbm.h

2018-10-01  Thibault Saunier  

        [Flatpak] Add libunwind in the sandbox
        https://bugs.webkit.org/show_bug.cgi?id=190123

        Allowing us to get proper traces in GStreamer trace grabing
        debug functions.

        Reviewed by Philippe Normand.

        * flatpak/org.webkit.WebKit.yaml:

2018-09-29  Commit Queue  

        Unreviewed, rolling out r236631.
        https://bugs.webkit.org/show_bug.cgi?id=190112

        Caused various eventSender tests, including fast/css/pseudo-
        active-style-sharing*, to fail (Requested by smfr on #webkit).

        Reverted changeset:

        "Regression(r236512): http/tests/navigation/keyboard-events-
        during-provisional-navigation.html is flaky"
        https://bugs.webkit.org/show_bug.cgi?id=190052
        https://trac.webkit.org/changeset/236631

2018-09-28  Myles C. Maxfield  

        [WHLSL] Fix build after r236635
        https://bugs.webkit.org/show_bug.cgi?id=189210

        Unreviewed.

        * WebGPUShadingLanguageRI/Intrinsics.js:
        (Intrinsics.):
        * WebGPUShadingLanguageRI/Test.js:
        (tests.atomicsNull):
        (tests.numThreads):
        (tests.textureDimensionsNull):

2018-09-28  Myles C. Maxfield  

        [WHLSL] Allow uniform buffers to be used in the interpreter
        https://bugs.webkit.org/show_bug.cgi?id=189210

        Reviewed by Filip Pizlo.

        Every lvalue is associated with an address space, and the propagation of these address spaces
        matches the propagation of lvalues. Luckily, there was already the infrastructure to do most
        of this, so this patch just goes the last few yards. It also updates the standard library to
        allow for writing into all writable address spaces for out-params.

        * WebGPUShadingLanguageRI/Checker.js:
        (Checker.prototype.visitAssignment):
        (Checker.prototype._finishVisitingPropertyAccess):
        * WebGPUShadingLanguageRI/Intrinsics.js:
        (Intrinsics.):
        (Intrinsics.checkFalse):
        (Intrinsics):
        * WebGPUShadingLanguageRI/StandardLibrary.js:
        (let.standardLibrary):
        * WebGPUShadingLanguageRI/Test.js:
        (tests.threadArrayRefLoad):
        (tests.threadArrayRefLoadIntLiteral):
        (tests.deviceArrayRefLoad):
        (tests.threadArrayRefStore):
        (tests.deviceArrayRefStore):
        (tests.deviceArrayRefStoreIntLiteral):
        (tests.threadPointerLoad):
        (tests.threadPointerStore):
        (tests.devicePointerLoad):
        (tests.devicePointerStore):
        (tests.arrayLoad):
        (tests.constantAddressSpace):
        (tests.standardLibraryDevicePointers):
        (tests.threadArrayLoad): Deleted.
        (tests.threadArrayLoadIntLiteral): Deleted.
        (tests.deviceArrayLoad): Deleted.
        (tests.threadArrayStore): Deleted.
        (tests.deviceArrayStore): Deleted.
        (tests.deviceArrayStoreIntLiteral): Deleted.

2018-09-28  Wenson Hsieh  

        No DOM API to instantiate an attachment for an img element
        https://bugs.webkit.org/show_bug.cgi?id=189934
        

        Reviewed by Ryosuke Niwa.

        Adds 3 new API tests in WKAttachmentTests:

        `AddAttachmentToConnectedImageElement` verifies that an image element that's already in the document can gain an
        attachment element via `HTMLAttachmentElement.getAttachmentIdentifier`.

        `ChangeFileWrapperForPastedImage` verifies that an image that has been pasted produces a _WKAttachment in the UI
        process, and changing the file wrapper of that _WKAttachment changes the pasted image.

        `ConnectImageWithAttachmentToDocument` verifies that script can create an image element, ensure that it has an
        attachment, and set a file wrapper for the generated _WKAttachment. Connecting the image to the document should
        then result in an image element with the contents of the _WKAttachment's file wrapper.

        * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
        (-[TestWKWebView imageElementSize]):
        (-[TestWKWebView waitForImageElementSizeToBecome:]):
        (TestWebKitAPI::TEST):
        (-[TestWKWebView waitForAttachmentElementSizeToBecome:]): Deleted.

2018-09-28  Chris Dumez  

        Regression(r236512): http/tests/navigation/keyboard-events-during-provisional-navigation.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=190052

        Reviewed by Ryosuke Niwa.

        The test relies on EventSender to send events to the page synchronously to the page and then uses console.log
        to log those events. It also uses console.log() before sending those events to indicate what the test is about
        to do. Note that console.log() normally causes the WebKitTestRunner to send an asynchronous IPC to the UIProcess
        so that it can log the message.
        The issue is that EventSender uses IPC::SendOption::UseFullySynchronousModeForTesting when sending the
        sync IPC to the UIProcess. This option causes follow-up *asynchronous* IPC sent from the synchronous IPC reply
        handler to be transformed into synchronous IPC.
        As a result, some of the console.log IPC ended up being asynchronous and some other ended up being synchronous.
        Because synchronous and asynchronous IPC is not necessarily processed in-order by the UIProcess, the logged
        messages may end up being out of order, leading to flakiness.

        To address the issue, we now make sure that InjectedBundle::outputText() uses a new IPC::SendOption indicating
        that the IPC should always be sent asynchronously, even if the connection is in fully synchronous mode. As a
        result, all text outputing IPC to the UIProcess will be asynchronous, and thus in order.

        * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
        (WTR::InjectedBundle::outputText):

2018-09-28  Myles C. Maxfield  

        [WHLSL] Pointers should have automatically-generated equality checks
        https://bugs.webkit.org/show_bug.cgi?id=189986

        Reviewed by Filip Pizlo.

        C allows for pointer equality, and we need it so people can do null checks.
        This is generated the same way all our other NativeFuncs are generated - by Checker
        creating NativeFuncs inside CallExpression.resolve().

        This patch also does some general cleanup.

        * WebGPUShadingLanguageRI/All.js: Everything the late checker does is no longer necessary.
        The last thing it was doing was making sure that only primitive types are in resources, but
        it's totally reasonable to put structs and arrays in resources, so I removed this pass. We
        still have to add a check to make sure resources can't live within resources, but I expect
        that will be done in the same place that semantics are checked.
        * WebGPUShadingLanguageRI/AllocateAtEntryPoints.js:
        (allocateAtEntryPoints.updateFunction.UpdateFunctions.prototype._addVariableDeclaration):
        Name the global struct for debugging purposes.
        * WebGPUShadingLanguageRI/CallExpression.js: 
        (CallExpression.prototype._resolveByInstantiation): Cleanup
        (CallExpression.prototype._resolveWithOperatorAnderIndexer): Ditto
        (CallExpression.prototype._resolveWithOperatorLength): Ditto
        (CallExpression.prototype._resolveWithReferenceComparator): Add support to automatically
        generate pointer equality NativeFuncs.
        * WebGPUShadingLanguageRI/EPtr.js: Implement pointer equality in the interpreter.
        * WebGPUShadingLanguageRI/LateChecker.js: Removed.
        * WebGPUShadingLanguageRI/LayoutBuffers.js: Renamed from Tools/WebGPUShadingLanguageRI/LateCheckAndLayoutBuffers.js.
        (layoutBuffers):
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj:
        * WebGPUShadingLanguageRI/NativeFunc.js:
        * WebGPUShadingLanguageRI/OperatorArrayRefLength.js:
        (OperatorArrayRefLength.prototype.instantiateImplementation):
        (OperatorArrayRefLength):
        * WebGPUShadingLanguageRI/Prepare.js:
        (let.prepare):
        * WebGPUShadingLanguageRI/SPIRV.html:
        * WebGPUShadingLanguageRI/Test.html:
        * WebGPUShadingLanguageRI/Test.js:
        (tests.ternaryExpression):
        (tests.break): Speed up testing time
        (tests.doWhile): Ditto
        (tests.forLoop): Ditto
        (tests.atomics): Ditto
        (tests.atomicsNull): Ditto
        (tests.pointerEquality): Test pointer equality
        (tests.standardLibraryDevicePointers):
        (tests.devicePtrPtr): Deleted.
        (tests.threadgroupPtrPtr): Deleted.
        (tests.constantPtrPtr): Deleted.
        * WebGPUShadingLanguageRI/index.html:

2018-09-28  Jiewen Tan  

        [WebAuthN] Polish WebAuthN auto-test environment
        https://bugs.webkit.org/show_bug.cgi?id=189283
        

        Reviewed by Chris Dumez.

        * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
        (WTR::TestRunner::setWebAuthenticationMockConfiguration):

2018-09-28  Chris Dumez  

        Drop support for cross-origin-window-policy header
        https://bugs.webkit.org/show_bug.cgi?id=190081

        Reviewed by Ryosuke Niwa.

        190081_DropCrossOriginWindowPolicy

        * DumpRenderTree/mac/DumpRenderTree.mm:
        (enableExperimentalFeatures):
        * DumpRenderTree/win/DumpRenderTree.cpp:
        (enableExperimentalFeatures):
        * WebKitTestRunner/TestController.cpp:
        (WTR::TestController::resetPreferencesToConsistentValues):

2018-09-28  Koby Boyango  

        [WTF] Add ExternalStringImpl, a StringImpl for user controlled buffers
        https://bugs.webkit.org/show_bug.cgi?id=189991

        Reviewed by Yusuke Suzuki.

        * TestWebKitAPI/Tests/WTF/StringImpl.cpp:

2018-09-27  Ryan Haddad  

        Update flakiness dashboard configuration for Mojave queues
        https://bugs.webkit.org/show_bug.cgi?id=190068

        Reviewed by Alexey Proskuryakov.

        * TestResultServer/static-dashboards/builders.jsonp:

2018-09-27  Ryan Haddad  

        Bring up queues for Mojave
        https://bugs.webkit.org/show_bug.cgi?id=189935

        Unreviewed infrastructure fix.

        * BuildSlaveSupport/build.webkit.org-config/config.json: Remove trigger, update bot assignment.

2018-09-24  Ryan Haddad  

        Bring up queues for Mojave
        https://bugs.webkit.org/show_bug.cgi?id=189935

        Reviewed by Alexey Proskuryakov.

        * BuildSlaveSupport/build.webkit.org-config/config.json:
        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
        (WebKitBuildbot):
        * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:

2018-09-27  Ryan Haddad  

        Increase the timeout for iOS Simulator data migration
        https://bugs.webkit.org/show_bug.cgi?id=190059

        Reviewed by Aakash Jain.

        3 minutes isn't always enough time for the data migrator to complete
        when booting up multiple iOS Simulators. Change the timeout to 10 minutes.

        * Scripts/webkitpy/xcode/simulated_device.py:
        (SimulatedDeviceManager): Create a constant for the default timeout.
        (SimulatedDeviceManager.initialize_devices): Use new constant.
        (SimulatedDeviceManager.swap): Ditto.
        (SimulatedDeviceManager.wait_until_data_migration_is_done): Ditto.

2018-09-27  Alex Christensen  

        URLParser should use TextEncoding through an abstract class
        https://bugs.webkit.org/show_bug.cgi?id=190027

        Reviewed by Andy Estes.

        * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
        (TestWebKitAPI::checkURL):
        (TestWebKitAPI::TEST_F):

2018-09-27  Ryan Haddad  

        iOS Simulator bots should pass '--dedicated-simulators' to run-webkit-tests
        https://bugs.webkit.org/show_bug.cgi?id=190042

        Reviewed by Aakash Jain.

        To make iOS Simulator bots resilient to issues that can arise from reusing
        existing simulators, ensure that dedicated simulators are created for each test run.

        * Scripts/webkitpy/common/config/ports.py:
        (IOSSimulatorWK2Port.run_webkit_tests_command):

2018-09-27  Alex Christensen  

        URLWithUserTypedString should return nil for URLs deemed to be invalid by WebCore::URL
        https://bugs.webkit.org/show_bug.cgi?id=189979

        Reviewed by Youenn Fablet.

        * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
        (TestWebKitAPI::originalDataAsString):
        (TestWebKitAPI::TEST):

2018-09-27  Basuke Suzuki  

        [Win][WebKit] Implement authentication dialog on MiniBrowser.
        https://bugs.webkit.org/show_bug.cgi?id=189846

        Reviewed by Fujii Hironori.

        It was implemented for WebKitLegacy, but not for WebKit.
        Also added text field to display Realm information.

        * MiniBrowser/win/Common.cpp:
        (authDialogProc):
        (askCredential):
        (displayAuthDialog): Deleted.
        * MiniBrowser/win/Common.h:
        * MiniBrowser/win/MiniBrowserLib.rc:
        * MiniBrowser/win/MiniBrowserLibResource.h:
        * MiniBrowser/win/ResourceLoadDelegate.cpp:
        (ResourceLoadDelegate::didReceiveAuthenticationChallenge):
        * MiniBrowser/win/WebKitBrowserWindow.cpp:
        (createString):
        (createUTF8String):
        (createWKString):
        (createWKURL):
        (WebKitBrowserWindow::WebKitBrowserWindow):
        (WebKitBrowserWindow::didReceiveAuthenticationChallenge):
        (toNullTerminatedUTF8): Deleted.
        * MiniBrowser/win/WebKitBrowserWindow.h:

2018-09-27  Youenn Fablet  

        Enable getUserMedia in mini browser
        https://bugs.webkit.org/show_bug.cgi?id=190012

        Reviewed by Eric Carlson.

        Enable MediaDevices and mock capture devices.
        Grant mock devices access to any getUserMedia call.
        Covered by manual testing.

        * MiniBrowser/mac/AppDelegate.m:
        (defaultConfiguration):
        * MiniBrowser/mac/WK2BrowserWindowController.m:
        (-[WK2BrowserWindowController _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
        (-[WK2BrowserWindowController _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):

2018-09-27  Antoine Quint  

        [Web Animations] Turn Web Animations with CSS integration on
        https://bugs.webkit.org/show_bug.cgi?id=184819
        

        Reviewed by Dean Jackson.

        * DumpRenderTree/TestOptions.h:

2018-09-26  Alex Christensen  

        Unreviewed, rolling out r236524.

        Broke API tests

        Reverted changeset:

        "URLWithUserTypedString should return nil for URLs deemed to
        be invalid by WebCore::URL"
        https://bugs.webkit.org/show_bug.cgi?id=189979
        https://trac.webkit.org/changeset/236524

2018-09-26  James Savage  

        Allow override of viewport configuration.
        https://bugs.webkit.org/show_bug.cgi?id=188772.
        .

        Reviewed by Simon Fraser.

        * WebKitTestRunner/TestController.cpp:
        (WTR::updateTestOptionsFromTestHeader): Parse new test option key from comments.
        * WebKitTestRunner/TestOptions.h:
        * WebKitTestRunner/ios/TestControllerIOS.mm:
        (WTR::TestController::platformConfigureViewForTest): Handle new test option by
        modifying the web view's preferences accordingly.

2018-09-26  Alex Christensen  

        URLs with mismatched surrogate pairs in the host should fail to parse
        https://bugs.webkit.org/show_bug.cgi?id=190005

        Reviewed by Chris Dumez.

        * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
        (TestWebKitAPI::TEST_F):

2018-09-26  Alex Christensen  

        URLWithUserTypedString should return nil for URLs deemed to be invalid by WebCore::URL
        https://bugs.webkit.org/show_bug.cgi?id=189979
        

        Reviewed by Chris Dumez.

        * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
        (TestWebKitAPI::TEST):

2018-09-26  Ryosuke Niwa  

        Selection should work across shadow boundary when initiated by a mouse drag
        https://bugs.webkit.org/show_bug.cgi?id=151380
        

        Reviewed by Wenson Hsieh.

        Added the support for internal:selectionAcrossShadowBoundariesEnabled test option.

        * DumpRenderTree/TestOptions.cpp:
        (TestOptions::TestOptions):
        * DumpRenderTree/TestOptions.h:
        * DumpRenderTree/mac/DumpRenderTree.mm:
        (resetWebPreferencesToConsistentValues):
        (setWebPreferencesForTestOptions):

2018-09-26  Ryosuke Niwa  

        MiniBrowser doesn't respect default enabled-ness of experimental and internal debug features
        https://bugs.webkit.org/show_bug.cgi?id=189989

        Reviewed by Simon Fraser.

        When the preference isn't found in user defaults, use the default value of each feature's enabledness.

        * MiniBrowser/mac/AppDelegate.m:
        (defaultConfiguration):

2018-09-26  Philippe Normand  

        [Flatpak] Bump to apr 1.6.5

        Version 1.6.3 is no longer available on Apache's website.

        Rubber-stamped by Michael Catanzaro.

        * flatpak/org.webkit.WebKit.yaml:

2018-09-25  Jiewen Tan  

        [WebAuthN] Make AuthenticatorManager
        https://bugs.webkit.org/show_bug.cgi?id=189279
        

        Reviewed by Chris Dumez.

        Besides the functionality to set the WebAuthenticationMockConfiguration. Three operations are
        added to manipulate Keychain: addTestKeyToKeychain, cleanUpKeychain and keyExistedInKeychain.

        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
        * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm: Removed.
        * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
        * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
        (WTR::TestRunner::setWebAuthenticationMockConfiguration):
        (WTR::TestRunner::addTestKeyToKeychain):
        (WTR::TestRunner::cleanUpKeychain):
        (WTR::TestRunner::isKeyExisted):
        * WebKitTestRunner/InjectedBundle/TestRunner.h:
        * WebKitTestRunner/TestController.cpp:
        (WTR::TestController::addTestKeyToKeychain):
        (WTR::TestController::cleanUpKeychain):
        (WTR::TestController::isKeyExisted):
        (WTR::TestController::setWebAuthenticationMockConfiguration):
        * WebKitTestRunner/TestController.h:
        * WebKitTestRunner/TestInvocation.cpp:
        (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
        * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
        * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
        (WTR::TestController::addTestKeyToKeychain):
        (WTR::TestController::cleanUpKeychain):
        (WTR::TestController::keyExistedInKeychain):

2018-09-25  Sihui Liu  

        Move Service Worker Management from Storage Process to Network Process
        https://bugs.webkit.org/show_bug.cgi?id=189422

        Reviewed by Youenn Fablet.

        Change a check in ServiceWorkers.HasServiceWorkerRegistrationBit as storage process is not
        launched during service worker operations now.

        * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:

2018-09-25  Eric Carlson  

        [MediaStream] Update constraints supported by getDisplayMedia
        https://bugs.webkit.org/show_bug.cgi?id=189930
        

        Unreviewed, fix test broken by r236465.

        * TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
        (TestWebKitAPI::TEST_F):

2018-09-25  Myles C. Maxfield  

        [WHSL] Implement semantics
        https://bugs.webkit.org/show_bug.cgi?id=189134

        Reviewed by Filip Pizlo.

        This patch adds parsing support and adds the checks required to support HLSL-style semantics.

        There are 3 places where semantics are allowed:

        1. In a field in a struct. E.g.

        struct R {
            float4 position : SV_Position;
        }
        vertex R foo() {
            ...
        }

        2. In a parameter of a function. If the function is not an entry point, the semantic is ignored.

        compute void foo(device float[] data : buffer(u0)) {
            ...
        }

        3. On a function. This is so you don't have to create structs for the return types of simple vertex shaders.

        vertex float4 foo() : SV_Position {
            ...
        }

        The semantics are partitioned into 4 types:

        1. Built-in variables. For example, : SV_Position.
        2. Resources. For example, : register(u0).
        3. Stage-in / stage-out variables. For example, : attribute(0).
        4. Specialization constants. For example, : specialized.

        The semantics are validated according to a collection of rules:

        - The same entry point can't list the same semantic twice
        - Each built-in type has an appropriate type that is listed in the spec. 
        - Each built-in is appropriate as either an input or an output of a particular shader stage
        - Resource semantics have to have the appropriate type (e.g. can't use register(s0) on a buffer)
        - Resources can't be output from entry points
        - The resource semantic mode must match the address space of the resource
        - Stage-in and stage-out variables have to be POD
        - Specialization constants can't be output from entry points, and have to be numbers

        * WebGPUShadingLanguageRI/All.js:
        * WebGPUShadingLanguageRI/BuiltInSemantic.js: Added.
        (BuiltInSemantic):
        (BuiltInSemantic.prototype.get name):
        (BuiltInSemantic.prototype.get extraArguments):
        (BuiltInSemantic.prototype.isAcceptableType):
        (BuiltInSemantic.prototype.isAcceptableForShaderType):
        (BuiltInSemantic.prototype.toString):
        * WebGPUShadingLanguageRI/CallExpression.js:
        (CallExpression.prototype._resolveWithOperatorAnderIndexer):
        (CallExpression.prototype._resolveWithOperatorLength):
        * WebGPUShadingLanguageRI/Checker.js:
        (Checker):
        (Checker.prototype.visitProgram):
        (Checker.prototype._checkSemantics.Item):
        (Checker.prototype._checkSemantics.Item.prototype.get type):
        (Checker.prototype._checkSemantics.Item.prototype.get semantic):
        (Checker.prototype._checkSemantics.Gatherer):
        (Checker.prototype._checkSemantics.Gatherer.prototype.reset):
        (Checker.prototype._checkSemantics.Gatherer.prototype.set currentSemantic):
        (Checker.prototype._checkSemantics.Gatherer.prototype.get currentSemantic):
        (Checker.prototype._checkSemantics.Gatherer.prototype.get result):
        (Checker.prototype._checkSemantics.Gatherer.prototype.visitEnumType):
        (Checker.prototype._checkSemantics.Gatherer.prototype.visitVectorType):
        (Checker.prototype._checkSemantics.Gatherer.prototype.visitMatrixType):
        (Checker.prototype._checkSemantics.Gatherer.prototype.visitNativeType):
        (Checker.prototype._checkSemantics.Gatherer.prototype.visitStructType):
        (Checker.prototype._checkSemantics.Gatherer.prototype.visitTypeRef):
        (Checker.prototype._checkSemantics.Gatherer.prototype.visitPtrType):
        (Checker.prototype._checkSemantics.Gatherer.prototype.visitArrayRefType):
        (Checker.prototype._checkSemantics.Gatherer.prototype.visitArrayType):
        (Checker.prototype._checkSemantics.Gatherer.prototype.visitFuncParameter):
        (Checker.prototype._checkSemantics.checkDuplicateSemantics):
        (Checker.prototype._checkSemantics.checkSemanticTypes):
        (Checker.prototype._checkSemantics.checkSemanticForShaderType):
        (Checker.prototype._checkSemantics.PODChecker.prototype.visitEnumType):
        (Checker.prototype._checkSemantics.PODChecker.prototype.visitArrayType):
        (Checker.prototype._checkSemantics.PODChecker.prototype.visitVectorType):
        (Checker.prototype._checkSemantics.PODChecker.prototype.visitMatrixType):
        (Checker.prototype._checkSemantics.PODChecker.prototype.visitNativeType):
        (Checker.prototype._checkSemantics.PODChecker.prototype.visitPtrType):
        (Checker.prototype._checkSemantics.PODChecker.prototype.visitArrayRefType):
        (Checker.prototype._checkSemantics.PODChecker.prototype.visitStructType):
        (Checker.prototype._checkSemantics.PODChecker.prototype.visitTypeRef):
        (Checker.prototype._checkSemantics.PODChecker):
        (Checker.prototype._checkSemantics.checkPODData):
        (Checker.prototype._checkSemantics):
        (Checker.prototype._checkShaderType):
        (Checker.prototype._checkOperatorOverload):
        (Checker.prototype.visitFuncDef):
        (Checker.prototype.visitEnumType):
        (Checker.prototype.visitArrayType):
        (Checker.prototype.visitMakePtrExpression):
        (Checker.prototype.visitMakeArrayRefExpression):
        (Checker.prototype._finishVisitingPropertyAccess):
        (Checker.prototype.visitIndexExpression):
        (Checker.prototype.visitReturn):
        (Checker.prototype.visitSwitchStatement):
        (Checker.prototype.visitTernaryExpression):
        (Checker.prototype.visitCallExpression):
        * WebGPUShadingLanguageRI/Field.js:
        (Field):
        (Field.prototype.get semantic):
        (Field.prototype.toString):
        * WebGPUShadingLanguageRI/Func.js:
        (Func):
        (Func.prototype.get semantic):
        (Func.prototype.toDeclString):
        * WebGPUShadingLanguageRI/FuncDef.js:
        (FuncDef):
        * WebGPUShadingLanguageRI/FuncParameter.js:
        (FuncParameter):
        (FuncParameter.prototype.get semantic):
        (FuncParameter.prototype.toString):
        * WebGPUShadingLanguageRI/Intrinsics.js:
        * WebGPUShadingLanguageRI/LateChecker.js:
        (LateChecker.prototype.visitReferenceType):
        (LateChecker):
        (LateChecker.prototype._checkShaderType): Deleted.
        (LateChecker.prototype.visitFuncDef): Deleted.
        * WebGPUShadingLanguageRI/NativeFunc.js:
        (NativeFunc):
        * WebGPUShadingLanguageRI/Parse.js:
        (parseParameter):
        (parseFuncDecl):
        (parseFuncDef):
        (parseStageInOutSemantic):
        (parseResourceSemantic):
        (parseSpecializationConstantSemantic):
        (parseBuiltInSemantic):
        (parseField):
        (parseNativeFunc):
        * WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js:
        (programWithUnnecessaryThingsRemoved):
        * WebGPUShadingLanguageRI/ResourceSemantic.js: Added.
        (ResourceSemantic):
        (ResourceSemantic.prototype.get resourceMode):
        (ResourceSemantic.prototype.get index):
        (ResourceSemantic.prototype.get space):
        (ResourceSemantic.prototype.isAcceptableType):
        (ResourceSemantic.prototype.isAcceptableForShaderType):
        (ResourceSemantic.prototype.toString):
        * WebGPUShadingLanguageRI/Rewriter.js:
        (Rewriter.prototype.visitFuncParameter):
        (Rewriter.prototype.visitField):
        (Rewriter.prototype.visitBuiltInSemantic):
        (Rewriter.prototype.visitResourceSemantic):
        (Rewriter.prototype.visitStageInOutSemantic):
        (Rewriter.prototype.visitSpecializationConstantSemantic):
        (Rewriter):
        * WebGPUShadingLanguageRI/SPIRV.html:
        * WebGPUShadingLanguageRI/Semantic.js: Added.
        (Semantic):
        (Semantic.prototype.get origin):
        (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitBuiltInSemantic):
        (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitResourceSemantic):
        (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitStageInOutSemantic):
        (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitSpecializationConstantSemantic):
        (Semantic.prototype.equalToOtherSemantic.Comparer):
        (Semantic.prototype.equalToOtherSemantic):
        * WebGPUShadingLanguageRI/SpecializationConstantSemantic.js: Copied from Tools/WebGPUShadingLanguageRI/Field.js.
        (SpecializationConstantSemantic):
        (SpecializationConstantSemantic.prototype.isAcceptableType):
        (SpecializationConstantSemantic.prototype.isAcceptableForShaderType):
        (SpecializationConstantSemantic.prototype.toString):
        * WebGPUShadingLanguageRI/StageInOutSemantic.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
        (StageInOutSemantic):
        (StageInOutSemantic.prototype.get index):
        (StageInOutSemantic.prototype.isAcceptableType):
        (StageInOutSemantic.prototype.isAcceptableForShaderType):
        (StageInOutSemantic.prototype.toString):
        * WebGPUShadingLanguageRI/StatementCloner.js:
        (StatementCloner.prototype.visitNativeFunc):
        * WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js:
        (synthesizeArrayOperatorLength):
        * WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js:
        (synthesizeCopyConstructorOperator):
        * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js:
        (synthesizeDefaultConstructorOperator):
        * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js:
        (synthesizeEnumFunctions):
        * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
        (setupAnder):
        (synthesizeStructAccessorsForStructType):
        * WebGPUShadingLanguageRI/Test.html:
        * WebGPUShadingLanguageRI/Test.js:
        (tests.shaderTypes):
        * WebGPUShadingLanguageRI/Visitor.js:
        (Visitor.prototype.visitFunc):
        (Visitor.prototype.visitFuncParameter):
        (Visitor.prototype.visitField):
        (Visitor.prototype.visitBuiltInSemantic):
        (Visitor.prototype.visitResourceSemantic):
        (Visitor.prototype.visitStageInOutSemantic):
        (Visitor.prototype.visitSpecializationConstantSemantic):
        (Visitor):
        * WebGPUShadingLanguageRI/index.html:

2018-09-25  Thomas Denney  

        [WHLSL] Test suite for Metal code generation
        https://bugs.webkit.org/show_bug.cgi?id=187738

        Reviewed by Myles C. Maxfield.

        This patch adds an Xcode project that contains a Cocoa app that can be
        used for running WHLSL shaders on the GPU. It also contains an Xcode
        test suite that runs all of the tests in Test.js on the GPU.

        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/.gitignore: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.h: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.m: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/AppIcon.appiconset/Contents.json: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/Contents.json: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Base.lproj/Main.storyboard: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.h: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.m: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.h: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.h: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.m: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Info.plist: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.h: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.m: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.h: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.m: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.h: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.m: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.h: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.m: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.h: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.m: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.h: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.m: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.h: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.m: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.h: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.m: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/WHLSL.entitlements: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/_SharedMetal.txt: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/main.m: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/Info.plist: Added.
        * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/WHLSL_ToyTests.m: Added.
        * WebGPUShadingLanguageRI/Test.js:
        (tests.lotsOfLocalVariables):

2018-09-25  Myles C. Maxfield  

        Unreviewed build fix after r236455
        https://bugs.webkit.org/show_bug.cgi?id=189121

        * WebGPUShadingLanguageRI/Test.js:
        (tests.shaderStages):

2018-09-24  Myles C. Maxfield  

        [WHLSL] Not all functions should be able to run in all shader stages
        https://bugs.webkit.org/show_bug.cgi?id=189121

        Reviewed by Filip Pizlo.

        ddx() and ddy() can only run in fragment shaders, and the barrier functions can only run in compute shaders.
        ddx_coarse() & friends are currently implemented as just calling ddx(), so we only need to modify those functions
        if/when we make them native.

        The texture sampling functions that use implicit derivatives can run in any shader stage - they just use a LOD of
        0. Therefore, those functions are unchanged.

        * WebGPUShadingLanguageRI/All.js:
        * WebGPUShadingLanguageRI/Intrinsics.js:
        * WebGPUShadingLanguageRI/LateChecker.js:
        (LateChecker.prototype._checkShaderType):
        * WebGPUShadingLanguageRI/NativeFunc.js:
        (NativeFunc):
        (NativeFunc.prototype.get stage):
        (NativeFunc.prototype.toDeclString):
        * WebGPUShadingLanguageRI/Parse.js:
        (parseFuncDecl):
        (parseNativeFunc):
        (parseNative):
        * WebGPUShadingLanguageRI/Prepare.js:
        (let.prepare):
        * WebGPUShadingLanguageRI/SPIRV.html:
        * WebGPUShadingLanguageRI/StandardLibrary.js:
        (let.standardLibrary):
        * WebGPUShadingLanguageRI/StatementCloner.js:
        (StatementCloner.prototype.visitNativeFunc):
        * WebGPUShadingLanguageRI/Test.html:
        * WebGPUShadingLanguageRI/Test.js:
        (tests.shaderStages):
        * WebGPUShadingLanguageRI/WSyntaxError.js:
        (WSyntaxError.prototype.toString):
        (WSyntaxError):
        * WebGPUShadingLanguageRI/index.html:

2018-09-24  Thomas Denney  

        [WHLSL] Implement trap statements in Metal code generation
        https://bugs.webkit.org/show_bug.cgi?id=189615

        Reviewed by Myles C. Maxfield.

        Each function called by an entry point now receives an additional
        boolean pointer parameter, which is set to false if the function traps.
        After each function call (to a non-native function) this trap parameter
        is checked. The behavior of the interpreter has also been updated so
        that a function entry point catches the trap and instead returns zero,
        matching the behavior of compiled code.

        * WebGPUShadingLanguageRI/Evaluator.js: Adds a new flag to allow the
        test suite to check for traps and also returns zero from entry points
        whose invocation trapped.
        * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Pass program to function
        declarations.
        * WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Update dependencies.
        * WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Add program
        property.
        * WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Ditto.
        * WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js: Added.
        * WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Conforms to the
        new trapping behavior.
        * WebGPUShadingLanguageRI/Test.js: Update tests that trap.

2018-09-24  Thomas Denney  

        [WHLSL] It shouldn’t be possible to use ternary expressions as l-values
        https://bugs.webkit.org/show_bug.cgi?id=189290

        Reviewed by Myles C. Maxfield.

        It is no longer possible for a ternary expression to be treated as an
        l-value. This patch adds several test cases to verify that this is the
        case.

        * WebGPUShadingLanguageRI/Checker.js:
        (Checker.prototype.visitTernaryExpression): No longer check isLValue.
        * WebGPUShadingLanguageRI/NormalUsePropertyResolver:
        (NormalUsePropertyResolver.visitTernaryExpression): Deleted.
        * WebGPUShadingLanguageRI/Rewriter.js:
        (Rewriter.prototype.visitTernaryExpression): No longer copy isLValue.
        * WebGPUShadingLanguageRI/TernaryExpression.js:
        (TernaryExpression):
        (TernaryExpression.prototype.get elseExpression):
        (TernaryExpression.prototype.get isLValue): Deleted.
        (TernaryExpression.prototype.set isLValue): Deleted.
        * WebGPUShadingLanguageRI/Test.js:
        (tests.ternaryExpression): Add checks for failure if a failure is used
        as an l-value.
        (ternaryExpressionIsLValue.node.TernaryExpressionVisitor.prototype.visitTernaryExpression): Deleted.
        (ternaryExpressionIsLValue.node.TernaryExpressionVisitor): Deleted.
        (tests.ternaryExpressionIsLValue): Deleted.

2018-09-24  Jer Noble  

        SharedBuffer should have an equality test
        https://bugs.webkit.org/show_bug.cgi?id=189919

        Reviewed by Alex Christensen.

        * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
        (TestWebKitAPI::TEST_F):

2018-09-24  Alex Christensen  

        Prepare to replace WKBundleFileHandleCreateWithPath with a version that takes a WKBundlePageRef
        https://bugs.webkit.org/show_bug.cgi?id=189929

        Reviewed by Andy Estes.

        * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp:

2018-09-24  Thomas Denney  

        [WHLSL] Casting user-created types to themselves should always work
        https://bugs.webkit.org/show_bug.cgi?id=189113

        Reviewed by Myles C. Maxfield.

        Casting user-defined types to themselves worked already, but we didn't
        test it anywhere.

        * WebGPUShadingLanguageRI/Test.js:
        (tests.selfCasts):

2018-09-24  Zan Dobersek  

        Unreviewed build fix for Jhbuild-using ports.

        * gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch:
        Adjust the patch so it applies cleanly on the 1.14.3 version of the
        gst-plugins-good package.

2018-09-24  Ryan Haddad  

        Update flakiness dashboard configuration for iOS 12 queues
        https://bugs.webkit.org/show_bug.cgi?id=189688

        Reviewed by Alexey Proskuryakov.

        * TestResultServer/static-dashboards/builders.jsonp:

2018-09-24  Alicia Boya García  

        [GStreamer] Unreviewed build fix.

        A GStreamer patch was not applying cleanly on 1.14.3.

        * gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch:

2018-09-24  Alicia Boya García  

        [MSE][GStreamer] Use no-more-pads event for noticing initialization segments
        https://bugs.webkit.org/show_bug.cgi?id=189868

        Reviewed by Xabier Rodriguez-Calvar.

        Added patch from https://bugzilla.gnome.org/show_bug.cgi?id=797187

        * gstreamer/jhbuild.modules:
        * gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch: Added.

2018-09-24  Alicia Boya García  
        [MSE][GStreamer] Add patch to jhbuild: matroskademux: Allow Matroska headers to be read more than once
        https://bugs.webkit.org/show_bug.cgi?id=185731

        Reviewed by Xabier Rodriguez-Calvar.

        Upstream bug in GStreamer: https://bugzilla.gnome.org/show_bug.cgi?id=793333

        This fixes YTTV 35. AppendMultipleInitOpusAudio (and any other use
        case where two WebM initialization segments are appended on a row).

        * gstreamer/jhbuild.modules:
        * gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Added.
        * gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Added.
        * gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Added.

2018-09-22  Myles C. Maxfield  

        [WHSL] Need grammar to specify kernel group size
        https://bugs.webkit.org/show_bug.cgi?id=189108

        Reviewed by Dean Jackson.

        In HLSL, compute functions are annotated with their workgroup size.
        For example,

        [numthreads(3, 4, 5)] compute void foo(...) { ... }

        * WebGPUShadingLanguageRI/All.js:
        * WebGPUShadingLanguageRI/Func.js:
        (Func):
        (Func.prototype.get attributeBlock):
        * WebGPUShadingLanguageRI/FuncAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
        (FuncAttribute):
        * WebGPUShadingLanguageRI/FuncDef.js:
        (FuncDef):
        * WebGPUShadingLanguageRI/FuncNumThreadsAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
        (FuncNumThreadsAttribute):
        (FuncNumThreadsAttribute.prototype.get x):
        (FuncNumThreadsAttribute.prototype.get y):
        (FuncNumThreadsAttribute.prototype.get z):
        * WebGPUShadingLanguageRI/LateChecker.js:
        (LateChecker.prototype._checkShaderType):
        * WebGPUShadingLanguageRI/Parse.js:
        (parseAttributeBlock):
        (parseFuncDecl):
        (parseFuncDef):
        (parseNativeFunc):
        * WebGPUShadingLanguageRI/SPIRV.html:
        * WebGPUShadingLanguageRI/StatementCloner.js:
        (StatementCloner.prototype.visitFuncDef):
        (StatementCloner.prototype.visitFuncNumThreadsAttribute):
        (StatementCloner):
        * WebGPUShadingLanguageRI/Test.html:
        * WebGPUShadingLanguageRI/Test.js:
        (tests.numThreads):
        * WebGPUShadingLanguageRI/Visitor.js:
        (Visitor.prototype.visitFunc):
        (Visitor.prototype.visitFuncNumThreadsAttribute):
        (Visitor):
        * WebGPUShadingLanguageRI/index.html:

2018-09-22  Myles C. Maxfield  

        Native functions which accept pointers need to do null checks
        https://bugs.webkit.org/show_bug.cgi?id=189883

        Reviewed by Dean Jackson.

        Simply guard all the places where we write through an author-provided pointer.

        * WebGPUShadingLanguageRI/Intrinsics.js:
        (Intrinsics.):
        * WebGPUShadingLanguageRI/Test.js:
        (tests.textureDimensionsNull):

2018-09-22  Myles C. Maxfield  

        [WHLSL] Implement atomic operations and barriers
        https://bugs.webkit.org/show_bug.cgi?id=189025

        Reviewed by Dean Jackson.

        In the interpreter, atomic operations don't need to be atomic.

        * WebGPUShadingLanguageRI/Intrinsics.js:
        (Intrinsics.):
        * WebGPUShadingLanguageRI/StandardLibrary.js:
        (let.standardLibrary):
        * WebGPUShadingLanguageRI/Test.js:
        (tests.atomics):

2018-09-22  Thibault Saunier  

        [WPE] Be very permissive in the MiniBrowser.
        https://bugs.webkit.org/show_bug.cgi?id=189800

        This is just a test tool and we should make
        it just work, security and privacy is not really
        a primary focus here.

        Reviewed by Žan Doberšek.

        * MiniBrowser/wpe/main.cpp:
        (decidePermissionRequest):
        (main):

2018-09-21  Thomas Denney  

        [WHLSL] Local variables should be statically allocated
        https://bugs.webkit.org/show_bug.cgi?id=188402

        Reviewed by Myles C. Maxfield.

        An additional preparation stage is now performed so that all local
        variables and function parameters are allocated in a single struct at
        entry points. A pointer to this struct is then passed for function
        calls.

        * WebGPUShadingLanguageRI/All.js: Update dependencies.
        * WebGPUShadingLanguageRI/AllocateAtEntryPoints.js: Added new stage.
        * WebGPUShadingLanguageRI/CallExpression.js:
        (CallExpression.prototype.set argumentList): Add setter because
        allocateAtEntryPoints needs to change this.
        * WebGPUShadingLanguageRI/EBufferBuilder.js: Remove a redundant
        constructor that wasn't used anywhere.
        * WebGPUShadingLanguageRI/Func.js:
        (Func.prototype.set parameters): Add setter.
        * WebGPUShadingLanguageRI/FuncDef.js:
        (FuncDef.prototype.set body): Ditto.
        * WebGPUShadingLanguageRI/Prepare.js:
        (let.prepare): Add call to allocateAtEntryPoints. This call cannot
        happen any earlier because it depends on having types for call
        arguments.
        * WebGPUShadingLanguageRI/Rewriter.js:
        (Rewriter.prototype.visitReturn): Resolve issue where the return
        statement's function wasn't copied. A null check is required as the
        Rewriter might be used before this property is set.
        * WebGPUShadingLanguageRI/SPIRV.html: Update dependencies.
        * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Abstracted logic
        into a separate function so that allocateAtEntryPoints can create the
        accessors for the struct type it introduces.
        * WebGPUShadingLanguageRI/Test.html: Update dependencies.
        * WebGPUShadingLanguageRI/Test.js: Add new tests to verify the static
        allocation transform works safely.
        * WebGPUShadingLanguageRI/index.html: Update dependencies.

2018-09-21  Jonathan Bedard  

        Bring up queues for iOS 12 (Build fix)
        https://bugs.webkit.org/show_bug.cgi?id=189683

        Unreviewed build fix.

        We should not build ImageDiff as x86 by default since 32 bit projects are
        deprecated in Xcode. ImageDiff should only be built once.

        * Scripts/build-webkit:
        * Scripts/webkitdirs.pm:
        (argumentsForConfiguration):

2018-09-21  Adrian Perez de Castro  

        [WPE] Built RPM of WPE webkit fails to install with "nothing provides libWPEToolingBackends.so()"
        https://bugs.webkit.org/show_bug.cgi?id=189797

        Reviewed by Žan Doberšek.

        * wpe/backends/CMakeLists.txt: Make libWPEToolingBackends a static library to avoid
        the need for installing it. This works fine because the library only contains utility
        code intended to be reused from other various components (MiniBrowser, WebKitTestRunner).

2018-09-20  Daniel Bates  

        Move IOKitSPI.h from TestRunnerShared to PAL
        https://bugs.webkit.org/show_bug.cgi?id=189804

        Reviewed by Wenson Hsieh.

        Towards fixing  move the IOKit SPI forward
        declarations to PAL so that they can be shared by WebKit, DumpRenderTree and WebKitTestRunner.

        No functionality changed. So, no new tests.

        * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
        * TestRunnerShared/spi/UIKitTestSPI.h:
        * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
        * WebKitTestRunner/ios/HIDEventGenerator.mm:

2018-09-20  Thomas Denney  

        [WHLSL] Metal code generation
        https://bugs.webkit.org/show_bug.cgi?id=187735

        Reviewed by Myles C. Maxfield.

        Adds support for generating Metal Shading Language from WHLSL. Clients
        should include the file MetalCodegenAll.js and then call whlslToMsl
        with their program source code to compile to Metal.

        * WebGPUShadingLanguageRI/ArrayType.js:
        (ArrayType.prototype.get arrayRefType): Adds the arrayRefType method to
        all types to find the type of that expression when it is used in a
        MakeArrayRefExpression.
        * WebGPUShadingLanguageRI/MakeArrayRefExpression.js:
        (MakeArrayRefExpression):
        (MakeArrayRefExpression.prototype.get type): Uses the new arrayRefType
        getter on all types to find the type of the expression.
        * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Added.
        * WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Added.
        * WebGPUShadingLanguageRI/Metal/MSLCompileResult.js: Added.
        * WebGPUShadingLanguageRI/Metal/MSLConstexprEmitter.js: Added.
        * WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Added.
        * WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Added.
        * WebGPUShadingLanguageRI/Metal/MSLFunctionForwardDeclaration.js: Added.
        * WebGPUShadingLanguageRI/Metal/MSLNameMangler.js: Added.
        * WebGPUShadingLanguageRI/Metal/MSLNativeFunctionCall.js: Added.
        * WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Added.
        * WebGPUShadingLanguageRI/Metal/MSLTypeAttributes.js: Added.
        * WebGPUShadingLanguageRI/Metal/MSLTypeAttributesMap.js: Added.
        * WebGPUShadingLanguageRI/Metal/MSLTypeUnifier.js: Added.
        * WebGPUShadingLanguageRI/Metal/TypeOf.js: Added.
        * WebGPUShadingLanguageRI/Metal/WhlslToMsl.js: Added.
        * WebGPUShadingLanguageRI/PropertyResolver.js:
        * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
        * WebGPUShadingLanguageRI/Test.js: Added awkward tests for the compiler
        to generate code for.
        (tests.incrementAndDecrement):
        (tests.returnIntLiteralUint):
        (tests.returnIntLiteralFloat):
        (tests.nestedSubscriptWithArraysInStructs):
        (tests.nestedSubscript):
        (tests.lotsOfLocalVariables):
        * WebGPUShadingLanguageRI/Type.js:
        (Type.prototype.get arrayRefType): See above.

2018-09-20  Ryan Haddad  

        Bring up queues for iOS 12
        https://bugs.webkit.org/show_bug.cgi?id=189683

        Unreviewed infrastructure fix.

        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12@2x.png: Renamed from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png.
        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
        (BubbleQueueServer): Move EWS bubbles to the iOS 12 section of the dashboard.

2018-09-20  Ryan Haddad  

        Bring up queues for iOS 12
        https://bugs.webkit.org/show_bug.cgi?id=189683

        Reviewed by Aakash Jain.

        * BuildSlaveSupport/build.webkit.org-config/config.json:
        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12.png: Added.
        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator.png: Added.
        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator@2x.png: Added.
        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png: Added.
        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
        (WebKitBuildbot):
        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
        (table.queue-grid tr.platform.ios-simulator-12 img.logo):
        (table.queue-grid tr.platform.ios-12 img.logo):
        (table.queue-grid tr.platform.ios-simulator-11 img.logo): Deleted.
        (table.queue-grid tr.platform.ios-11 img.logo): Deleted.
        * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
        * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
        (_should_file_trigger_build):
        * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
        (ShouldBuildTest):
        (ShouldBuildTest.test_should_build):

2018-09-20  Basuke Suzuki  

        [Win] TestRunner::queueLoad() fails to generate correct url for some urls.
        https://bugs.webkit.org/show_bug.cgi?id=189679

        Reviewed by Fujii Hironori.

        Replace the implementation with correct API call.

        * DumpRenderTree/win/TestRunnerWin.cpp:
        (TestRunner::queueLoad): Call UrlCombineW.

2018-09-20  Michael Catanzaro  

        [WPE] fails to build on ARM arches complaining about undefined reference to `epoxy_eglMakeCurrent'
        https://bugs.webkit.org/show_bug.cgi?id=189556

        Reviewed by Konstantin Tokarev.

        This is only a speculative build fix as I didn't attempt to reproduce. Explicitly link to
        libepoxy.

        * wpe/backends/CMakeLists.txt:

2018-09-20  Daniel Bates  

        [iOS] Support testing more hardware special keys
        https://bugs.webkit.org/show_bug.cgi?id=189793

        Reviewed by Simon Fraser.

        * TestRunnerShared/spi/IOKitSPI.h: Add more SPI constants.
        * WebKitTestRunner/ios/HIDEventGenerator.mm:
        (keyCodeForDOMFunctionKey): Extracted out logic from hidUsageCodeForCharacter() to return the
        key code for the F1, F2, ..., F12 keys and extended the code to compute the key code for the
        F13, F14, ..., F24 keys.
        (hidUsageCodeForCharacter): Modified to call keyCodeForDOMFunctionKey().

2018-09-20  Michael Catanzaro  

        Unreviewed, remove accidentally-committed debugging changes from flatpakutils script

        Aaaaaah maybe this is why changes are supposed to be reviewed.

        * flatpak/flatpakutils.py:
        (WebkitFlatpak.clean_args):

2018-09-20  Michael Catanzaro  

        Unreviewed, manually rollout our switch to master runtime

        Phil wants html5-codecs, which aren't available yet here. Let's switch back to 3.28 in the
        meantime, where we were already building GStreamer ourselves anyway. But use an updated
        SDK revision.

        * flatpak/files/httpd-autogen.sh: Added.
        * flatpak/flatpakutils.py:
        (WebkitFlatpak.clean_args):
        * flatpak/org.webkit.GTK.yaml:
        * flatpak/org.webkit.WebKit.yaml:
        * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Added.
        * flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Added.

2018-09-20  Thibault Saunier  

        [WPE][GTK] webkit-flatpak intercepts --help for other commands
        https://bugs.webkit.org/show_bug.cgi?id=189058

        The approach of run_in_sandbox_if_available is that we basically have the
        same set of arguments to setup the sandbox (ie. port name, build type, etc...)
        and we can pass those args first to setup the flatpak launcher object
        and then to the underlying script. That doesn't work well with the `--help` argument
        as once processed it 1. prints the help (which make no sense to the user of the calling script)
        2. exits the app - The solution is to just make sure that `--help` is not used when using
        flatpakutils from any script that is not `webkit-flatpak` itself.

        Reviewed by Michael Catanzaro.

        * flatpak/flatpakutils.py:
        (WebkitFlatpak.load_from_args):
        (run_in_sandbox_if_available):

2018-09-20  Xabier Rodriguez Calvar  

        Unreviewed. Add W3C imported tests to the MSEEME watchlist.

        * Scripts/webkitpy/common/config/watchlist:

2018-09-20  Xabier Rodriguez Calvar  

        Unreviewed. Fix the Streams API watchlist.

        * Scripts/webkitpy/common/config/watchlist:

2018-09-19  Chris Dumez  

        Crash under WebProcessProxy::suspendedPageWasDestroyed(WebKit::SuspendedPageProxy&)
        https://bugs.webkit.org/show_bug.cgi?id=189721
        

        Reviewed by Geoffrey Garen.

        Add API test coverage.

        * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

2018-09-19  Thomas Denney  

        [WHLSL] Improve test suite type safety
        https://bugs.webkit.org/show_bug.cgi?id=189502

        Reviewed by Myles C. Maxfield.

        Each of the 'makeT' functions now call the relevant cast function on the
        value before hand. The checkNumber function has also been removed and
        its uses have been replaced with functions that also check the type.
        Some of the arithmetic checks have been updated to reflect that the
        casts happen outside of WHLSL evaluation. Other tests have also been
        updated to reflect that some values cannot be precisely expressed in
        32-bit floating point.

        * WebGPUShadingLanguageRI/Casts.js:
        (castToBool): Added.
        (castAndCheckValue): Added.
        (isBitwiseEquivalent): Moved from Intrinsics.js.
        * WebGPUShadingLanguageRI/Intrinsics.js: Ditto.
        * WebGPUShadingLanguageRI/SPIRV.html: Update depdencies.
        * WebGPUShadingLanguageRI/Test.html: Ditto.
        * WebGPUShadingLanguageRI/Test.js: Update makeT functions to do a cast
        and check the result. Some tests were also updated to reflect the change
        in the behavior of these functions.
        * WebGPUShadingLanguageRI/index.html: Update dependencies.

2018-09-19  John Wilander  

        Resource Load Statistics: Add optional cap on partitioned cache max age
        https://bugs.webkit.org/show_bug.cgi?id=189711
        

        Reviewed by Antti Koivisto and Chris Dumez.

        This change adds infrastructure for layout tests of capped cache max age.

        * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
        * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
        (WTR::TestRunner::setStatisticsCacheMaxAgeCap):
        * WebKitTestRunner/InjectedBundle/TestRunner.h:
        * WebKitTestRunner/TestController.cpp:
        (WTR::TestController::setStatisticsCacheMaxAgeCap):
        * WebKitTestRunner/TestController.h:
        * WebKitTestRunner/TestInvocation.cpp:
        (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

2018-09-19  Dawei Fenton  

       Unreviewed. Update my email and alias in list of contributors.

        * Scripts/webkitpy/common/config/contributors.json:

2018-09-19  Michael Catanzaro  

        [WPE][GTK] Unreviewed, try #3 to fix a typo

        I feel like Charlie Brown, how hard this has been for me....

        * Scripts/run-minibrowser:
        * Scripts/webkitdirs.pm:
        (runInFlatpakIfAvailable):
        (runInFlatpakIfAvailible): Deleted.

2018-09-19  Michael Catanzaro  

        [WPE][GTK] Unreviewed, fix that typo in more places

        It got copied into webkitdirs.pm!

        * Scripts/webkitdirs.pm:
        (runInFlatpakIfAvailible):
        (runInFlatpakIfAvalaible): Deleted.

2018-09-19  Michael Catanzaro  

        [WPE][GTK] Unreviewed, fix a pervasive typo in the webkit-flatpak script

        * flatpak/flatpakutils.py:
        (WebkitFlatpak.load_from_args):
        (WebkitFlatpak.__init__):
        (WebkitFlatpak.run):

2018-09-19  Michael Catanzaro  

        [WPE][GTK] Unreviewed, update to latest GNOME SDK

        * flatpak/org.webkit.WebKit.yaml:

2018-09-19  Michael Catanzaro  

        Unreviewed, rolling out r235500.

        Time to switch back to master runtime

        Reverted changeset:

        "Unreviewed, rolling out r235114."
        https://bugs.webkit.org/show_bug.cgi?id=188731
        https://trac.webkit.org/changeset/235500

2018-09-19  Adrian Perez de Castro  

        Unreviewed. Add Pablo Saavedra to the list of contributors.

        * Scripts/webkitpy/common/config/contributors.json:

2018-09-19  Philippe Normand  

        [GStreamer] Add support for AV1 decoding
        https://bugs.webkit.org/show_bug.cgi?id=189647

        Reviewed by Žan Doberšek.

        Add patches required for AV1 decoding support. They're all
        upstream already and will be shipped in GStreamer 1.16. The aom
        GStreamer plugin depends on the aom library for which there's no
        official release yet.

        * gstreamer/jhbuild.modules:
        * gstreamer/patches/gst-plugins-bad-0001-aomenc-Add-support-for-10-12bit-decoding.patch: Added.
        * gstreamer/patches/gst-plugins-bad-0002-aomenc-Handle-8-bit_depth-images-with-AOM_IMG_FMT_HI.patch: Added.
        * gstreamer/patches/gst-plugins-good-0001-qtdemux-Detect-and-expose-CEA-608-708-Closed-Caption.patch: Added. This one is unrelated but an implicit dependency of the next one.
        * gstreamer/patches/gst-plugins-good-0004-qtdemux-Add-initial-support-for-AV1-demuxing.patch: Added.
        * gstreamer/patches/gst-plugins-good-0005-qtdemux-Extract-AV1-codec_data-and-put-it-in-the-cap.patch: Added.
        * gstreamer/patches/gst-plugins-good-0006-qtdemux-Recognize-more-AV1-atoms.patch: Added.

2018-09-18  Jonathan Bedard  

        webkitpy: Clobbering and building occurs multiple times for iOS Simulator ports
        https://bugs.webkit.org/show_bug.cgi?id=189702
        

        Reviewed by Aakash Jain.

        * Scripts/webkitpy/layout_tests/controllers/manager.py:
        (Manager._set_up_run): Move build check and clobbering to run, since set up is
        run multiple times for iOS simulator.
        (Manager.run):

2018-09-18  Chris Dumez  

        "DidFirstVisuallyNonEmptyLayout" callback does not get called when restoring a page from PageCache
        https://bugs.webkit.org/show_bug.cgi?id=189681
        

        Reviewed by Alex Christensen and Zalan Bujtas.

        Add API test coverage.

        * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
        (TestWebKitAPI::didFinishNavigation):
        (TestWebKitAPI::TEST):

2018-09-18  Claudio Saavedra  

        [WPE] Implement mouse event modifiers
        https://bugs.webkit.org/show_bug.cgi?id=189697

        Reviewed by Carlos Garcia Campos.

        * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
        (WTR::wkEventModifiersToWPE):
        (WTR::EventSenderProxy::mouseDown):
        (WTR::EventSenderProxy::mouseUp):

2018-09-17  Yusuke Suzuki  

        [WTF] Use Semaphore and BinarySemaphore instead of dispatch_semaphore_t
        https://bugs.webkit.org/show_bug.cgi?id=185339

        Reviewed by Mark Lam.

        * TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
        (TestWebKitAPI::ToUpperConverter::stopProducing):
        (TestWebKitAPI::ToUpperConverter::stopConsuming):

2018-09-17  Simon Fraser  

        Many modern media control tests leak documents in testing
        https://bugs.webkit.org/show_bug.cgi?id=189437

        Reviewed by Darin Adler.
        
        In order to accurately detect leaks in media controls tests which use lots of
        SVGImages, we have to:
        - Fire a zero-delay timer after the postTask, in order for ImagesLoader's m_derefElementTimer
          to clear references to elements.
        - Have releaseCriticalMemory() call CachedResourceLoader's garbageCollectDocumentResources()
          to drop the last handle to the CachedResource for an SVGImage.
        - Call WKBundleReleaseMemory() after the GC and timer, since we need garbageCollectDocumentResources()
          to run again after that timer has fired.
        
        This should fix most of the spurious leak reports involving SVGImage documents.

        * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
        (WTR::InjectedBundle::reportLiveDocuments):
        (WTR::InjectedBundle::didReceiveMessageToPage):

2018-09-17  Chris Dumez  

        PSON: window.open() with 'noopener' should only process-swap cross-site, not cross-origin
        https://bugs.webkit.org/show_bug.cgi?id=189602
        

        Reviewed by Geoff Garen.

        Add API test coverage.

        * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

2018-09-17  Philippe Normand  

        [JHBuild] Update to GStreamer 1.14.3
        https://bugs.webkit.org/show_bug.cgi?id=189450

        Reviewed by Xabier Rodriguez-Calvar.

        * gstreamer/jhbuild.modules: Bump GStreamer modules from 1.14.1 to 1.14.3.

2018-09-17  Philippe Normand  

        [JHBuild] Doesn't check sha256 sums
        https://bugs.webkit.org/show_bug.cgi?id=189646

        Reviewed by Michael Catanzaro.

        * gstreamer/jhbuild.modules: Properly set the sha256: prefix on hashes.

2018-09-17  Sihui Liu  

        Move IndexedDB to Network Process
        https://bugs.webkit.org/show_bug.cgi?id=189415
        

        Reviewed by Chris Dumez.

        * TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
        (TEST):
        * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
        (TEST):
        * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
        (TEST):
        * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
        (TEST):
        * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
        (TEST):

2018-09-08  Darin Adler  

        Streamline JSRetainPtr, fix leaks of JSString and JSGlobalContext
        https://bugs.webkit.org/show_bug.cgi?id=189455

        Reviewed by Keith Miller.

        There is a lot of copied and pasted code for WebKit vs. Legacy WebKit
        testing and even for macOS vs. iOS vs. Windows platform-specific code.
        For now, this patch just makes corresponding changes to the copied code.
        Later we might get better results by merging more code instead of having
        all these separate copies.

        * DumpRenderTree/AccessibilityController.cpp:
        (AccessibilityController::makeWindowObject): Use the adopt function
        instead of the special Adopt constructor of JSRetainPtr.

        * DumpRenderTree/AccessibilityTextMarker.cpp: Removed unneeded include.

        * DumpRenderTree/AccessibilityUIElement.cpp: Ditto.
        (allAttributesCallback): Don't adopt at this level; changed the
        underlying function to return a JSRetainPtr so the adopt is right next
        to the call to the create or copy function.
        (attributesOfLinkedUIElementsCallback): Ditto.
        (attributesOfDocumentLinksCallback): Ditto.
        (attributesOfChildrenCallback): Ditto.
        (parameterizedAttributeNamesCallback): Ditto.
        (attributesOfColumnHeadersCallback): Ditto.
        (attributesOfRowHeadersCallback): Ditto.
        (attributesOfColumnsCallback): Ditto.
        (attributesOfRowsCallback): Ditto.
        (attributesOfVisibleCellsCallback): Ditto.
        (attributesOfHeaderCallback): Ditto.
        (rowIndexRangeCallback): Ditto.
        (columnIndexRangeCallback): Ditto.
        (rangeForLineCallback): Ditto.
        (boundsForRangeCallback): Ditto.
        (rangeForPositionCallback): Ditto.
        (stringForRangeCallback): Ditto.
        (attributedStringForRangeCallback): Ditto.
        (uiElementCountForSearchPredicateCallback): Use the free adopt
        function instead of the adopt member function.
        (uiElementForSearchPredicateCallback): Ditto.
        (selectTextWithCriteriaCallback): Don't adopt at this level.
        (attributedStringForElementCallback): Ditto.
        (setValueCallback): Use free adopt.
        (stringAttributeValueCallback): Don't adopt at this level.
        (uiElementArrayAttributeValueCallback): Ditto.
        (uiElementAttributeValueCallback): Ditto.
        (stringForTextMarkerRangeCallback): Ditto.
        (attributedStringForTextMarkerRangeCallback): Ditto.
        (attributedStringForTextMarkerRangeWithOptionsCallback): Ditto.
        (getARIADropEffectsCallback): Ditto.
        (getClassListCallback): Ditto.
        (getRoleCallback): Ditto.
        (getSubroleCallback): Ditto.
        (getRoleDescriptionCallback): Ditto.
        (getComputedRoleStringCallback): Ditto.
        (getTitleCallback): Ditto.
        (getDescriptionCallback): Ditto.
        (getStringValueCallback): Ditto.
        (getLanguageCallback): Ditto.
        (getHelpTextCallback): Ditto.
        (getOrientationCallback): Ditto.
        (getPathDescriptionCallback): Ditto.
        (getSelectedTextRangeCallback): Ditto.
        (speakAsCallback): Ditto.
        (getValueDescriptionCallback): Ditto.
        (getAccessibilityValueCallback): Ditto.
        (getDocumentEncodingCallback): Ditto.
        (getDocumentURICallback): Ditto.
        (getURLCallback): Ditto.
        (characterAtOffsetCallback): Ditto.
        (wordAtOffsetCallback): Ditto.
        (lineAtOffsetCallback): Ditto.
        (sentenceAtOffsetCallback): Ditto.
        (stringForSelectionCallback): Ditto.
        (getIdentifierCallback): Ditto.
        (getTraitsCallback): Ditto.
        (supportedActionsCallback): Ditto.
        (mathPostscriptsDescriptionCallback): Ditto.
        (mathPrescriptsDescriptionCallback): Ditto.
        (AccessibilityUIElement::rangeForLine): Updated to return JSRetainPtr.
        (AccessibilityUIElement::rangeForPosition): Ditto.
        (AccessibilityUIElement::speakAs): Ditto.
        (AccessibilityUIElement::pathDescription const): Ditto.
        (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
        (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
        (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.

        * DumpRenderTree/AccessibilityUIElement.h: Use JSRetainPtr instead of
        raw pointers for the results of the functions that create strings.
        The old way was difficult to get right; the functions didn't even follow
        the create/copy naming rule.

        * DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
        (_platformTypeConstructor): Use the adopt function instead of the
        JSRetainPtr adopt constructor. Also nullptr instead of 0.

        * DumpRenderTree/GCController.cpp:
        (GCController::makeWindowObject): Use adopt function instead of constructor.

        * DumpRenderTree/TestRunner.cpp:
        (pathToLocalResourceCallback): Use adopt function instead of constructor.
        (addDisallowedURLCallback): Ditto.
        (addURLToRedirectCallback): Ditto.
        (clearApplicationCacheForOriginCallback): Ditto.
        (applicationCacheDiskUsageForOriginCallback): Ditto.
        (decodeHostNameCallback): Don't adopt at this level.
        (encodeHostNameCallback): Ditto.
        (execCommandCallback): Use adopt instead of JSRetainPtr::adopt.
        (findStringCallback): Use adopt function instead of constructor.
        (isCommandEnabledCallback): Ditto.
        (overridePreferenceCallback): Ditto.
        (queueLoadCallback): Ditto.
        (queueLoadHTMLStringCallback): Ditto.
        (queueLoadingScriptCallback): Ditto.
        (queueNonLoadingScriptCallback): Ditto.
        (setAuthenticationPasswordCallback): Ditto.
        (setAuthenticationUsernameCallback): Ditto.
        (setDomainRelaxationForbiddenForURLSchemeCallback): Ditto.
        (setMockGeolocationPositionUnavailableErrorCallback): Ditto.
        (setPOSIXLocaleCallback): Ditto.
        (setPersistentUserStyleSheetLocationCallback): Ditto.
        (setUserStyleSheetLocationCallback): Ditto.
        (setValueForUserCallback): Ditto.
        (setWillSendRequestClearHeaderCallback): Ditto.
        (setPageVisibilityCallback): Ditto.
        (evaluateInWebInspectorCallback): Ditto.
        (evaluateScriptInIsolatedWorldCallback): Ditto.
        (evaluateScriptInIsolatedWorldAndReturnValueCallback): Ditto.
        (addOriginAccessWhitelistEntryCallback): Ditto.
        (removeOriginAccessWhitelistEntryCallback): Ditto.
        (setScrollbarPolicyCallback): Ditto.
        (addUserScriptCallback): Ditto.
        (addUserStyleSheetCallback): Ditto.
        (apiTestNewWindowDataLoadBaseURLCallback): Ditto.
        (authenticateSessionCallback): Ditto.
        (getTitleTextDirectionCallback): Ditto.
        (getInspectorTestStubURLCallback): Ditto.
        (simulateLegacyWebNotificationClickCallback): Ditto.
        (setTextDirectionCallback): Ditto.
        (grantWebNotificationPermissionCallback): Ditto.
        (denyWebNotificationPermissionCallback): Ditto.
        (accummulateLogsForChannel): Ditto.
        (runUIScriptCallback): Ditto.
        (TestRunner::makeWindowObject): Ditto.
        (TestRunner::uiScriptDidComplete): Ditto.
        (TestRunner::setOpenPanelFiles): Ditto.

        * DumpRenderTree/TestRunner.h: Use JSRetainPtr instead of
        raw pointers for the results of the functions that create strings.

        * DumpRenderTree/ios/AccessibilityControllerIOS.mm:
        (AccessibilityController::platformName const): Use the adopt
        function instead of the adopt constructor.

        * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
        (createEmptyJSString): Added. This helper function makes reduces the
        repetitive code to create empty strings.
        (concatenateAttributeAndValue): Changed to return a JSRetainPtr.
        (AccessibilityUIElement::identifier): Ditto.
        (AccessibilityUIElement::traits): Ditto.
        (AccessibilityUIElement::url): Ditto.
        (AccessibilityUIElement::speakAs): Ditto.
        (AccessibilityUIElement::stringForSelection): Ditto.
        (AccessibilityUIElement::stringForRange): Ditto.
        (AccessibilityUIElement::attributedStringForRange): Ditto.
        (AccessibilityUIElement::attributedStringForElement): Ditto.
        (AccessibilityUIElement::pathDescription const): Ditto.
        (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
        (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
        (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
        (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
        (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
        (AccessibilityUIElement::attributesOfChildren): Ditto.
        (AccessibilityUIElement::allAttributes): Ditto.
        (AccessibilityUIElement::stringAttributeValue): Ditto.
        (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
        (AccessibilityUIElement::role): Ditto.
        (AccessibilityUIElement::subrole): Ditto.
        (AccessibilityUIElement::roleDescription): Ditto.
        (AccessibilityUIElement::computedRoleString): Ditto.
        (AccessibilityUIElement::title): Ditto.
        (AccessibilityUIElement::description): Ditto.
        (AccessibilityUIElement::orientation const): Ditto.
        (AccessibilityUIElement::stringValue): Ditto.
        (AccessibilityUIElement::language): Ditto.
        (AccessibilityUIElement::helpText const): Ditto.
        (AccessibilityUIElement::valueDescription): Ditto.
        (AccessibilityUIElement::ariaDropEffects const): Ditto.
        (AccessibilityUIElement::boundsForRange): Ditto.
        (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
        (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
        (AccessibilityUIElement::attributesOfColumns): Ditto.
        (AccessibilityUIElement::attributesOfRows): Ditto.
        (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
        (AccessibilityUIElement::attributesOfHeader): Ditto.
        (AccessibilityUIElement::rowIndexRange): Ditto.
        (AccessibilityUIElement::columnIndexRange): Ditto.
        (AccessibilityUIElement::selectedTextRange): Ditto.
        (AccessibilityUIElement::accessibilityValue const): Ditto.
        (AccessibilityUIElement::documentEncoding): Ditto.
        (AccessibilityUIElement::documentURI): Ditto.
        (AccessibilityUIElement::selectTextWithCriteria): Ditto.
        (AccessibilityUIElement::classList const): Ditto.

        * DumpRenderTree/mac/AccessibilityCommonMac.h: Changed the
        createJSStringRef method to return a JSRetainPtr.
        * DumpRenderTree/mac/AccessibilityCommonMac.mm:
        (-[NSString createJSStringRef]): Ditto.
        (searchPredicateParameterizedAttributeForSearchCriteria): Use the
        adopt function instead of the adopt constructor.
        * DumpRenderTree/mac/AccessibilityControllerMac.mm:
        (AccessibilityController::platformName const): Ditto.

        * DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
        (-[NSString createJSStringRef]): Return a JSRetainPtr.
        (makeValueRefForValue): Updated for the above, no adopt needed here now.
        (makeObjectRefForDictionary): Ditto.
        (-[AccessibilityNotificationHandler _notificationReceived:]): Ditto.

        * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
        (createEmptyJSString): Added. This helper function makes reduces the
        repetitive code to create empty strings.
        (concatenateAttributeAndValue): Changed to return a JSRetainPtr.
        (descriptionOfElements): Ditto.
        (selectTextParameterizedAttributeForCriteria): Ditto.
        (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
        (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
        (AccessibilityUIElement::attributesOfChildren): Ditto.
        (AccessibilityUIElement::allAttributes): Ditto.
        (AccessibilityUIElement::stringAttributeValue): Ditto.
        (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
        (AccessibilityUIElement::role): Ditto.
        (AccessibilityUIElement::subrole): Ditto.
        (AccessibilityUIElement::roleDescription): Ditto.
        (AccessibilityUIElement::computedRoleString): Ditto.
        (AccessibilityUIElement::title): Ditto.
        (AccessibilityUIElement::description): Ditto.
        (AccessibilityUIElement::orientation const): Ditto.
        (AccessibilityUIElement::stringValue): Ditto.
        (AccessibilityUIElement::language): Ditto.
        (AccessibilityUIElement::helpText const): Ditto.
        (AccessibilityUIElement::valueDescription): Ditto.
        (AccessibilityUIElement::speakAs): Ditto.
        (AccessibilityUIElement::classList const): Ditto.
        (AccessibilityUIElement::ariaDropEffects const): Ditto.
        (AccessibilityUIElement::rangeForLine): Ditto.
        (AccessibilityUIElement::rangeForPosition): Ditto.
        (AccessibilityUIElement::boundsForRange): Ditto.
        (AccessibilityUIElement::stringForRange): Ditto.
        (AccessibilityUIElement::attributedStringForRange): Ditto.
        (AccessibilityUIElement::selectTextWithCriteria): Ditto.
        (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
        (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
        (AccessibilityUIElement::attributesOfColumns): Ditto.
        (AccessibilityUIElement::attributesOfRows): Ditto.
        (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
        (AccessibilityUIElement::attributesOfHeader): Ditto.
        (AccessibilityUIElement::rowIndexRange): Ditto.
        (AccessibilityUIElement::columnIndexRange): Ditto.
        (AccessibilityUIElement::pathDescription const): Ditto.
        (AccessibilityUIElement::selectedTextRange): Ditto.
        (AccessibilityUIElement::accessibilityValue const): Ditto.
        (AccessibilityUIElement::documentEncoding): Ditto.
        (AccessibilityUIElement::documentURI): Ditto.
        (AccessibilityUIElement::url): Ditto.
        (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
        (createJSStringRef): Ditto.
        (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
        (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
        (AccessibilityUIElement::supportedActions): Ditto.
        (AccessibilityUIElement::mathPostscriptsDescription const): Ditto.
        (AccessibilityUIElement::mathPrescriptsDescription const): Ditto.

        * DumpRenderTree/mac/FrameLoadDelegate.mm:
        (-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
        Use the adopt function instead of the adopt constructor.
        * DumpRenderTree/mac/TestRunnerMac.mm:
        (originsArrayToJS): Ditto.
        (TestRunner::copyDecodedHostName): Return a JSRetainPtr.
        (TestRunner::copyEncodedHostName): Ditto.
        (TestRunner::pathToLocalResource): Ditto.
        (TestRunner::queueLoad): Use adopt function instead of constructor.
        (TestRunner::findString): Ditto.
        (TestRunner::inspectorTestStubURL): Return a JSRetainPtr.

        * DumpRenderTree/win/AccessibilityControllerWin.cpp:
        (AccessibilityController::winNotificationReceived): Use adopt function
        instead of adopt constructor.
        (AccessibilityController::platformName const): Ditto.

        * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
        (createEmptyJSString): Added. This helper function makes reduces the
        repetitive code to create empty strings.
        (AccessibilityUIElement::allAttributes): Changed to return a JSRetainPtr.
        (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
        (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
        (AccessibilityUIElement::attributesOfChildren): Ditto.
        (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
        (AccessibilityUIElement::role): Ditto.
        (AccessibilityUIElement::subrole): Ditto.
        (AccessibilityUIElement::roleDescription): Ditto.
        (AccessibilityUIElement::computedRoleString): Ditto.
        (AccessibilityUIElement::title): Ditto.
        (AccessibilityUIElement::description): Ditto.
        (AccessibilityUIElement::stringValue): Ditto.
        (AccessibilityUIElement::language): Ditto.
        (AccessibilityUIElement::helpText const): Ditto.
        (AccessibilityUIElement::valueDescription): Ditto.
        (AccessibilityUIElement::ariaDropEffects const): Ditto.
        (AccessibilityUIElement::orientation const): Ditto.
        (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
        (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
        (AccessibilityUIElement::attributesOfColumns): Ditto.
        (AccessibilityUIElement::attributesOfRows): Ditto.
        (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
        (AccessibilityUIElement::attributesOfHeader): Ditto.
        (AccessibilityUIElement::rowIndexRange): Ditto.
        (AccessibilityUIElement::columnIndexRange): Ditto.
        (AccessibilityUIElement::boundsForRange): Ditto.
        (AccessibilityUIElement::stringForRange): Ditto.
        (AccessibilityUIElement::attributedStringForRange): Ditto.
        (AccessibilityUIElement::selectTextWithCriteria): Ditto.
        (AccessibilityUIElement::selectedTextRange): Ditto.
        (AccessibilityUIElement::stringAttributeValue): Ditto.
        (AccessibilityUIElement::accessibilityValue const): Ditto.
        (AccessibilityUIElement::documentEncoding): Ditto.
        (AccessibilityUIElement::documentURI): Ditto.
        (AccessibilityUIElement::url): Ditto.
        (AccessibilityUIElement::classList const): Ditto.

        * DumpRenderTree/win/TestRunnerWin.cpp:
        (TestRunner::copyDecodedHostName): Changed to return a JSRetainPtr.
        (TestRunner::copyEncodedHostName): Ditto.
        (TestRunner::pathToLocalResource): Ditto.
        (TestRunner::queueLoad): Ditto.
        (TestRunner::findString): Ditto.
        (TestRunner::inspectorTestStubURL): Ditto.

        * TestRunnerShared/Bindings/JSWrapper.h:
        (WTR::setProperty): Use adopt function instead of constructor.
        * TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
        (UIScriptContext::UIScriptContext): Ditto.
        (UIScriptContext::runUIScript): Ditto.
        * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
        (WTR::toDeviceOrientation): Ditto.

        * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
        (nsTextCheckingType): Changed this function to not take an rvalue
        reference to a JSRetainPtr since it doesn't take ownership.
        (-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Updated
        for the above change.

        * TestWebKitAPI/JavaScriptTest.cpp:
        (TestWebKitAPI::javaScriptCallback): Use adopt function instead of
        adopt member function.

        * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp: Removed unneeded include.
        * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm: Ditto.
        * TestWebKitAPI/Tests/mac/DOMNodeFromJSObject.mm: Use adopt function instead of
        adopt constructor.
        * TestWebKitAPI/Tests/mac/JSWrapperForNodeInWebFrame.mm: Ditto.

        * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
        Removed unneeded includes.
        * WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: Ditto.
        * WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: Ditto.
        * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: Ditto.

        * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
        (_platformTypeConstructor): Use the adopt function instead of the
        JSRetainPtr adopt constructor. Also nullptr instead of 0.

        * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
        (WTR::arrayLength): Use adopt function instead of constructor.
        (WTR::parseModifierArray): Ditto.
        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
        (WTR::propertyValue): Ditto.
        (WTR::dumpPath): Ditto.
        (WTR::toJS): Ditto.
        * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
        (WTR::TestRunner::findString): Ditto.
        (WTR::TestRunner::statisticsDidRunTelemetryCallback): Ditto.
        (WTR::TestRunner::callDidReceiveAllStorageAccessEntriesCallback): Ditto.
        (WTR::TestRunner::setOpenPanelFiles): Ditto.
        * WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
        (WTR::AccessibilityController::platformName): Ditto.

        * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
        (-[NSString createJSStringRef]): Return a JSRetainPtr.
        This fixes storage leaks in many functions below, which were using
        the create function and putting the value right into a JSRetainPtr
        without adoption.
        (WTR::createEmptyJSString): Added. This helper function reduces the
        repetitive code to create empty strings.
        (WTR::concatenateAttributeAndValue): Return a JSRetainPtr.
        (WTR::AccessibilityUIElement::attributesOfLinkedUIElements):
        Use createEmptyJSString, fixing a storage leak due to missing adoption.
        (WTR::AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
        (WTR::AccessibilityUIElement::attributesOfChildren): Ditto.
        (WTR::AccessibilityUIElement::allAttributes): Ditto.
        (WTR::AccessibilityUIElement::stringAttributeValue): Ditto.
        (WTR::AccessibilityUIElement::parameterizedAttributeNames): Ditto.
        (WTR::AccessibilityUIElement::role): Ditto.
        (WTR::AccessibilityUIElement::subrole): Ditto.
        (WTR::AccessibilityUIElement::roleDescription): Ditto.
        (WTR::AccessibilityUIElement::computedRoleString): Ditto.
        (WTR::AccessibilityUIElement::title): Ditto.
        (WTR::AccessibilityUIElement::orientation const): Ditto.
        (WTR::AccessibilityUIElement::language): Ditto.
        (WTR::AccessibilityUIElement::valueDescription): Ditto.
        (WTR::AccessibilityUIElement::ariaDropEffects const): Ditto.
        (WTR::AccessibilityUIElement::boundsForRange): Ditto.
        (WTR::AccessibilityUIElement::stringForRange): Removed unneeded null check.
        (WTR::AccessibilityUIElement::attributedStringForRange): Ditto.
        (WTR::AccessibilityUIElement::attributesOfColumnHeaders):
        Use createEmptyJSString, fixing a storage leak due to missing adoption.
        (WTR::AccessibilityUIElement::attributesOfRowHeaders): Ditto.
        (WTR::AccessibilityUIElement::attributesOfColumns): Ditto.
        (WTR::AccessibilityUIElement::attributesOfRows): Ditto.
        (WTR::AccessibilityUIElement::attributesOfVisibleCells): Ditto.
        (WTR::AccessibilityUIElement::attributesOfHeader): Ditto.
        (WTR::AccessibilityUIElement::selectedTextRange): Ditto.
        (WTR::AccessibilityUIElement::accessibilityValue const): Ditto.
        (WTR::AccessibilityUIElement::documentEncoding): Ditto.
        (WTR::AccessibilityUIElement::documentURI): Ditto.
        (WTR::AccessibilityUIElement::stringForSelection): Removed unneeded
        null check.
        (WTR::AccessibilityUIElement::stringForTextMarkerRange):
        Use createEmptyJSString, fixing a storage leak due to missing adoption.

        * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
        Use JSRetainPtr for the return value of createJSStringRef.
        * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
        (-[NSString createJSStringRef]): Ditto.
        (WTR::searchPredicateParameterizedAttributeForSearchCriteria): Use the
        adopt function instead of the adopt constructor.
        * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
        (WTR::AccessibilityController::platformName): Ditto

        * WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
        (-[NSString createJSStringRef]): Return a JSRetainPtr.
        (makeValueRefForValue): Updated for above by removing adopt.
        (makeObjectRefForDictionary): Ditto.
        (-[AccessibilityNotificationHandler _notificationReceived:]): Ditto.

        * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
        (WTR::createEmptyJSString): Added. This helper function makes reduces the
        repetitive code to create empty strings.
        (WTR::concatenateAttributeAndValue): Return a JSRetainPtr.
        (WTR::descriptionOfElements): Ditto.
        (WTR::selectTextParameterizedAttributeForCriteria): Ditto.
        (WTR::AccessibilityUIElement::accessibilityValue const): Use createEmptyJSString,
        fixing a storage leak due to missing adoption.
        (WTR::AccessibilityUIElement::documentEncoding): Ditto.
        (WTR::AccessibilityUIElement::documentURI): Ditto.
        (WTR::createJSStringRef): Return a JSRetainPtr.

        * WebKitTestRunner/StringFunctions.h:
        (WTR::toWK): Take a const& to eliminate a little bit of reference count churn.
        (WTR::toJS): Use the adopt function instead of the constructor.

2018-09-14  Dean Jackson  

        Add Justin Michaud.

        * Scripts/webkitpy/common/config/contributors.json:

2018-09-14  Ryan Haddad  

        bots should pass --clobber-old-results to run-webkit-tests
        https://bugs.webkit.org/show_bug.cgi?id=189623

        Reviewed by Aakash Jain.

        In order to ensure that bots to not produce confusing results due to transient execptions,
        or run out of space if they continually hit an exception, old layout test results should be clobbered.

        * BuildSlaveSupport/build.webkit.org-config/steps.py:
        (RunWebKitTests):

2018-09-13  Ryan Haddad  

        Unreviewed, rolling out r235954.

        Breaks the watchOS build.

        Reverted changeset:

        "Move IndexedDB to Network Process"
        https://bugs.webkit.org/show_bug.cgi?id=189415
        https://trac.webkit.org/changeset/235954

2018-09-13  Daniel Bates  

        Add Copy WebKit Permalink plugin for Sublime Text
        https://bugs.webkit.org/show_bug.cgi?id=189589

        Rubber-stamped by Joseph Pecoraro.

        Port the Copy WebKit Permalink Automator service to a Sublime Text plugin. Once installed you can
        use the plugin to copy to the Clipboard a trac.webkit.org hyperlink to the selected line in the
        active document with or without blame annotations.

        Once installed, you can Control-click (on Mac) or right-click (on Windows and Linux) on a line and
        choose Copy WebKit Permalink or Copy WebKit Permalink to Blame from the context menu to copy to the
        Clipboard a permanent hyperlink to the selected line without or with blame annotations, respectively.
        On Mac you can also invoke the same functionality using the keyboard shortcuts Command + Shift + Control + C
        and Command + Shift + Control + Option + C, respectively.

        * CopyPermalink/Sublime Text/CopyWebKitPermalink/Context.sublime-menu: Added.
        * CopyPermalink/Sublime Text/CopyWebKitPermalink/CopyWebKitPermalink.py: Added.
        * CopyPermalink/Sublime Text/CopyWebKitPermalink/Default (OSX).sublime-keymap: Added.
        * CopyPermalink/Sublime Text/INSTALL: Added.
        * CopyPermalink/Xcode/Copy WebKit Permalink.workflow/Contents/Info.plist: Renamed from Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/Info.plist.
        * CopyPermalink/Xcode/Copy WebKit Permalink.workflow/Contents/document.wflow: Renamed from Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow.
        * CopyPermalink/Xcode/INSTALL: Renamed from Tools/CopyPermalink/README.

2018-09-13  Carlos Garcia Campos  

        Unreviewed. Fix WebDriver tests after r235225.

        Use wpt serve command to run the http server.

        * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
        (WebDriverW3CWebServer.__init__):
        (WebDriverW3CWebServer.start):
        (WebDriverW3CWebServer.stop):

2018-09-13  Carlos Garcia Campos  

        [GTK][WPE] Allow to run script dialogs asynchronously in the UI process
        https://bugs.webkit.org/show_bug.cgi?id=189544

        Reviewed by Michael Catanzaro.

        Add test cases for the new API.

        * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
        (testWebViewJavaScriptDialogs):

2018-09-12  Fujii Hironori  

        [Win][Clang][ImageDiff] Fix compilation error and warning of PlatformImageCairo.cpp
        https://bugs.webkit.org/show_bug.cgi?id=189496
        

        Unreviewed warning fix.

        r235929 has introduced a new compilation warning:
        > Tools/ImageDiff/cairo/PlatformImageCairo.cpp:34:70: warning: unused parameter ‘imageSize’ [-Wunused-parameter]

        * ImageDiff/cairo/PlatformImageCairo.cpp:
        (ImageDiff::PlatformImage::createFromStdin): Removed the variable name.

2018-09-12  Dan Bernstein  

        [Cocoa] Complete support for Paste as Quotation
        https://bugs.webkit.org/show_bug.cgi?id=189504

        Reviewed by Wenson Hsieh.

        * MiniBrowser/mac/MainMenu.xib: Added a Paste as Quotation command in the Edit menu.

2018-09-12  Sihui Liu  

        Move IndexedDB to Network Process
        https://bugs.webkit.org/show_bug.cgi?id=189415

        Reviewed by Geoffrey Garen.

        * TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
        (TEST):
        * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
        (TEST):
        * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
        (TEST):
        * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
        (TEST):
        * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
        (TEST):

2018-09-12  Chris Dumez  

        PSON: No process swap on back navigation after URL bar navigation
        https://bugs.webkit.org/show_bug.cgi?id=189557
        

        Reviewed by Alex Christensen.

        Add API test coverage.

        * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

2018-09-11  Dean Jackson  

        Header parsing for experimental and internal debug features
        https://bugs.webkit.org/show_bug.cgi?id=189486
        

        Reviewed by Tim Horton.

        Keep track of experimental and internal debug features in TestOptions, and
        allow webkit-test-runner headers to toggle them by name.

        * DumpRenderTree/TestOptions.cpp:
        (TestOptions::TestOptions):
        * WebKitTestRunner/TestController.cpp:
        (WTR::TestController::resetPreferencesToConsistentValues):
        (WTR::updateTestOptionsFromTestHeader):
        * WebKitTestRunner/TestOptions.h:
        (WTR::TestOptions::hasSameInitializationOptions const):

2018-09-12  Fujii Hironori  

        [Win][Clang][DumpRenderTree] 0 and nullptr can't be implicitly converted to AccessibilityUIElement
        https://bugs.webkit.org/show_bug.cgi?id=189492

        Reviewed by Alex Christensen.

        0 and nullptr can't be implicitly converted to
        AccessibilityUIElement because only Windows port typedefs
        PlatformUIElement as COMPtr not a pointer.

        Replaced "return 0" and "return nullptr" with "return { nullptr }".

        * DumpRenderTree/AccessibilityUIElement.cpp:
        (AccessibilityUIElement::horizontalScrollbar const):
        (AccessibilityUIElement::verticalScrollbar const):
        (AccessibilityUIElement::uiElementAttributeValue const):
        (AccessibilityUIElement::accessibilityElementForTextMarker):
        * DumpRenderTree/win/AccessibilityControllerWin.cpp:
        (AccessibilityController::elementAtPoint):
        (AccessibilityController::accessibleElementById):
        (AccessibilityController::focusedElement):
        (AccessibilityController::rootElement):
        * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
        (AccessibilityUIElement::elementAtPoint):
        (AccessibilityUIElement::linkedUIElementAtIndex):
        (AccessibilityUIElement::getChildAtIndex):
        (AccessibilityUIElement::titleUIElement):
        (AccessibilityUIElement::parentElement):
        (AccessibilityUIElement::uiElementForSearchPredicate):
        (AccessibilityUIElement::cellForColumnAndRow):
        (AccessibilityUIElement::disclosedRowAtIndex):
        (AccessibilityUIElement::ariaOwnsElementAtIndex):
        (AccessibilityUIElement::ariaFlowToElementAtIndex):
        (AccessibilityUIElement::ariaControlsElementAtIndex):
        (AccessibilityUIElement::selectedRowAtIndex):
        (AccessibilityUIElement::rowAtIndex):
        (AccessibilityUIElement::disclosedByRow):
        (AccessibilityUIElement::selectedChildAtIndex const):

2018-09-11  Wenson Hsieh  

        FontManagerTests.ChangeFontColorWithColorPanel fails on macOS Sierra
        https://bugs.webkit.org/show_bug.cgi?id=189382

        Reviewed by Ryosuke Niwa.

        Fix the test by specifying colors in RGB colorspace.

        * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
        (TestWebKitAPI::TEST):

2018-09-11  Fujii Hironori  

        [Win][Clang][ImageDiff] Fix compilation error and warning of PlatformImageCairo.cpp
        https://bugs.webkit.org/show_bug.cgi?id=189496

        Reviewed by Alex Christensen.

        * ImageDiff/cairo/PlatformImageCairo.cpp:
        (ImageDiff::PlatformImage::createFromStdin): Removed unnecessary ReadContext struct.
        (ImageDiff::PlatformImage::writeAsPNGToStdout): Use '%lu' format type specifier for unsigned long.

2018-09-07  Dean Jackson  

        Add and expose Internal features from WebKit
        https://bugs.webkit.org/show_bug.cgi?id=189442
        

        Reviewed by Simon Fraser.

        Update MiniBrowser to expose an Internal feature menu.

        * MiniBrowser/mac/AppDelegate.m:
        (defaultConfiguration):
        * MiniBrowser/mac/SettingsController.m:
        (-[SettingsController _populateMenu]):
        (-[SettingsController validateMenuItem:]):
        (-[SettingsController toggleExperimentalFeature:]):
        (-[SettingsController toggleInternalDebugFeature:]):

2018-09-11  Wenson Hsieh  

        [macOS] [WK2] Support changing foreground colors via color panel
        https://bugs.webkit.org/show_bug.cgi?id=189382
        

        Reviewed by Ryosuke Niwa.

        Add an API test that uses NSColorPanel to change the color of selected text, and also apply typing styles when
        the selection is collapsed. The test also exercises switching between opaque colors (alpha = 1) and transparent
        colors, as well as making different parts of a word different colors.

        * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
        (-[TestWKWebView collapseToEnd]):
        (webViewForFontManagerTesting):
        (TestWebKitAPI::TEST):
        * TestWebKitAPI/cocoa/TestWKWebView.h:

== Rolled over to ChangeLog-2018-09-11 ==