2020-04-10 Alicia Boya García [Tools] Fix gdb WebCoreQualifiedNamePrinter https://bugs.webkit.org/show_bug.cgi?id=210109 Reviewed by Daniel Bates. My gdb was throwing exceptions like this when printing QualifiedName's: File "/webkit/Tools/gdb/webkit.py", line 205, in __init__ self.val['m_impl']['m_prefix']['m_string']) gdb.error: There is no member or method named m_prefix. This patch adds a missing m_ptr indirection to traverse RefPtr, fixing the issue. * gdb/webkit.py: (WebCoreQualifiedNamePrinter.__init__): 2020-04-10 Alicia Boya García [Tools] jhbuild should respect PKG_CONFIG_PATH https://bugs.webkit.org/show_bug.cgi?id=210280 Reviewed by Carlos Alberto Lopez Perez. Our jhbuildrc adds the system paths to PKG_CONFIG_PATH. This is not necessary, as they are included implicitly by pkg-config, e.g. $ mkdir /tmp/empty $ PKG_CONFIG_PATH=/tmp/empty pkg-config --cflags glib-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include Apart from not being necessary, it is problematic because it makes impossible to override system libraries in jhbuild-wrapper. $ PKG_CONFIG_PATH=/home/ntrrgc/Apps/gst-1.10-prefix/lib/pkgconfig/ jhbuild-wrapper --gtk run bash /webkit/WebKitBuild/DependenciesGTK/Root/lib64/pkgconfig:/webkit/WebKitBuild/DependenciesGTK/Root/lib/pkgconfig:/webkit/WebKitBuild/DependenciesGTK/Root/share/pkgconfig:/usr/share/pkgconfig:/usr/lib64/pkgconfig:/home/ntrrgc/Apps/gst-1.10-prefix/lib/pkgconfig Note /usr/share/pkgconfig and /usr/lib64/pkgconfig are taking priority over the user environment. This patch removes that code, so that the user PKG_CONFIG_PATH takes priority over the system default paths, while these keep having effect too as explained before. $ PKG_CONFIG_PATH=/home/ntrrgc/Apps/gst-1.10-prefix/lib/pkgconfig jhbuild-wrapper --gtk run bash /webkit/WebKitBuild/DependenciesGTK/Root/lib64/pkgconfig:/webkit/WebKitBuild/DependenciesGTK/Root/lib/pkgconfig:/webkit/WebKitBuild/DependenciesGTK/Root/share/pkgconfig:/home/ntrrgc/Apps/gst-1.10-prefix/lib/pkgconfig * jhbuild/jhbuildrc_common.py: (init): 2020-04-10 Philippe Normand [Flatpak SDK] Flatpak build broken when using 'git config core.webkitbranchbuild=true' https://bugs.webkit.org/show_bug.cgi?id=210292 Reviewed by Žan Doberšek. * Scripts/webkitdirs.pm: (getUserFlatpakPath): Ensure we probe for UserFlatpak always in WebKitBuild, wether we're doing a "git branch" build or not. * flatpak/flatpakutils.py: (WebkitFlatpak.is_branch_build): (WebkitFlatpak.run_in_sandbox): Make and bind-mount default build directory only when not doing "git branch" builds. 2020-04-10 Philippe Normand [Flatpak SDK] Generate one IceCC archive per toolchain https://bugs.webkit.org/show_bug.cgi?id=210189 Reviewed by Žan Doberšek. Add a utility option to webkit-flatpak so it regenerated toolchains without needing a full SDK reinstall. Also we now generate a self-contained toolchain archive embedding GCC and one embedding CLang. * flatpak/flatpakutils.py: (WebkitFlatpak.load_from_args): (WebkitFlatpak.__init__): (WebkitFlatpak.run_in_sandbox): (WebkitFlatpak.setup_icecc): (WebkitFlatpak.setup_dev_env): 2020-04-10 Philippe Normand [GTK][WPE] Flatpak error when running run-webkit-tests https://bugs.webkit.org/show_bug.cgi?id=209229 Reviewed by Žan Doberšek. Report `flatpak build` spawned process errors only in verbose mode. * flatpak/flatpakutils.py: (WebkitFlatpak.execute_command): (WebkitFlatpak.run_in_sandbox): (WebkitFlatpak.run_gdb): 2020-04-10 Philippe Normand [Flatpak SDK] Improved sccache support https://bugs.webkit.org/show_bug.cgi?id=210027 Reviewed by Žan Doberšek. Whitelist SCCACHE environment variables into the sandbox and allow network access when one of those has been set. * flatpak/flatpakutils.py: (WebkitFlatpak.run_in_sandbox): 2020-04-10 Commit Queue Unreviewed, reverting r259818. https://bugs.webkit.org/show_bug.cgi?id=210330 "Causes crashes in at least three layout tests on iOS bots." (Requested by ddkilzer on #webkit). Reverted changeset: "Reset view navigation gesture state between tests" https://bugs.webkit.org/show_bug.cgi?id=210283 https://trac.webkit.org/changeset/259818 2020-04-08 Darin Adler [Cocoa] Simplify NSArray, NSDictionary, and NSNumber idioms throughout WebKit https://bugs.webkit.org/show_bug.cgi?id=210138 Reviewed by Alex Christensen. * DumpRenderTree/AccessibilityController.h: Remove use of NotificationHandler type; it's just "id". * DumpRenderTree/AccessibilityUIElement.cpp: (convertElementsToObjectArray): Moved this up in the file, removed unneeded use of JSValueToObject and unused exception argument. (elementsForRangeCallback): Use convertElementsToObjectArray. (columnHeadersCallback): Updated for removed exception argument. (rowHeadersCallback): Ditto. (uiElementArrayAttributeValueCallback): Ditto. * DumpRenderTree/AccessibilityUIElement.h: Changed to use RetainPtr. * DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm: (createCoreAnimationLayer): Use @{}. * DumpRenderTree/ios/AccessibilityUIElementIOS.mm: (AccessibilityUIElement::AccessibilityUIElement): Removed some unneeded code now that we use RetainPtr. (AccessibilityUIElement::~AccessibilityUIElement): Deleted. (AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use @[]. (AccessibilityUIElement::textMarkerRangeForMarkers): Use @[]. (AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers): Use @[]. * DumpRenderTree/ios/TextInputControllerIOS.m: (-[TextInputController markedRange]): Use @[]. * DumpRenderTree/mac/AccessibilityCommonMac.mm: (searchPredicateParameterizedAttributeForSearchCriteria): Tweak a little. * DumpRenderTree/mac/AccessibilityNotificationHandler.mm: (-[NSString createJSStringRef]): Deleted. Duplicate of a method already implemented in anothe file. * DumpRenderTree/mac/AccessibilityUIElementMac.mm: (makeVectorElement): Added overloads to make both makeVector and makeVector work. (AccessibilityUIElement::AccessibilityUIElement): Removed some unneeded code now that we use RetainPtr. (convertVectorToObjectArray): Removed unneeded use of JSValueToObject and unneeded exception argument. (convertNSArrayToVector): Deleted. (AccessibilityUIElement::getLinkedUIElements): Use makeVector. (AccessibilityUIElement::getDocumentLinks): Ditto. (AccessibilityUIElement::getChildren): Ditto. (AccessibilityUIElement::getChildrenWithRange): Ditto. (AccessibilityUIElement::rowHeaders const): Ditto. (AccessibilityUIElement::columnHeaders const): Ditto. (AccessibilityUIElement::uiElementArrayAttributeValue const): Ditto. (AccessibilityUIElement::role): Updated since m_element is a RetainPtr. (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::lineForIndex): Use @(). (AccessibilityUIElement::rangeForLine): Use @(). (AccessibilityUIElement::searchTextWithCriteria): Use makeVector. (AccessibilityUIElement::attributesOfColumnHeaders): Use makeVector. (AccessibilityUIElement::attributesOfRowHeaders): Ditto. (AccessibilityUIElement::attributesOfColumns): Ditto. (AccessibilityUIElement::attributesOfRows): Ditto. (AccessibilityUIElement::attributesOfVisibleCells): Ditto. (AccessibilityUIElement::cellForColumnAndRow): Use @[] and @(). (AccessibilityUIElement::setSelectedChild const): Use @[]. (AccessibilityUIElement::setSelectedChildAtIndex const): Use @[]. (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Use @{}, @YES, and @NO. (AccessibilityUIElement::textMarkerRangeForMarkers): Use @[]. * DumpRenderTree/mac/DumpRenderTree.mm: (addTestPluginsToPluginSearchPath): Use @[]. (resetWebViewToConsistentStateBeforeTesting): Use @[]. * DumpRenderTree/mac/DumpRenderTreePasteboard.mm: (-[DumpRenderTreePasteboard declareType:owner:]): Use @[]. * DumpRenderTree/mac/EventSendingController.mm: (-[EventSendingController beginDragWithFiles:]): Use @(). (-[EventSendingController sentTouchEventOfType:]): Use @(). * DumpRenderTree/mac/MockWebNotificationProvider.mm: (-[MockWebNotificationProvider cancelNotification:]): Use @[]. * DumpRenderTree/mac/ObjCController.m: (-[ObjCController objectOfClass:]): Use @(). (-[ObjCController arrayOfString]): Use @[]. (-[ObjCController testWrapperRoundTripping:]): Use @(). (-[ObjCController testArray]): Use @[]. * DumpRenderTree/mac/TestRunnerMac.mm: (originsArrayToJS): Removed unneeded use of JSValueToObject. * DumpRenderTree/mac/TextInputControllerMac.m: (-[TextInputController markedRange]): Use @[] and @(). (-[TextInputController selectedRange]): Use @[] and @(). (-[TextInputController firstRectForCharactersFrom:length:]): Use @[] and @(). (-[TextInputController dictatedStringWithPrimaryString:alternative:alternativeOffset:alternativeLength:]): Use @[]. (-[TextInputController interpretKeyEvents:withSender:]): Use @[]. * DumpRenderTree/mac/UIScriptControllerMac.mm: (WTR::UIScriptControllerMac::copyText): Use []. * DumpRenderTree/win/AccessibilityUIElementWin.cpp: Deleted an unneeded copy constructor and destructor. * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm: (-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Use @{}. * TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: (toVector): Deleted. (-[ContentRuleListNotificationDelegate _webView:contentRuleListWithIdentifier:performedAction:forURL:]): Use makeVector. * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: (TestWebKitAPI::TEST): Use @[]. * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm: (writeImageDataToPasteboard): Use @[] and @{}. (writeBundleFileToPasteboard): Use @[]. * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm: (TestWebKitAPI::TEST): Use @[]. * TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm: (TestWebKitAPI::TEST): Use @[]. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): Use @[]. * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm: (TestWebKitAPI::TEST): Use @[]. * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: (TestWebKitAPI::TEST): Use @[]. * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (runWebsiteDataStoreCustomPaths): Use @[]. * TestWebKitAPI/Tests/mac/WebViewCanPasteURL.mm: (TestWebKitAPI::TEST): Use @[]. * TestWebKitAPI/Tests/mac/WebViewCanPasteZeroPng.mm: (TestWebKitAPI::TEST): Use @[]. * TestWebKitAPI/Tests/mac/WebViewDidCreateJavaScriptContext.mm: (-[DidCreateJavaScriptContextFrameLoadDelegate webView:didCreateJavaScriptContext:forFrame:]): Use @[]. * TestWebKitAPI/ios/mainIOS.mm: (main): Use @{}. * TestWebKitAPI/mac/InjectedBundleControllerMac.mm: (TestWebKitAPI::InjectedBundleController::platformInitialize): Use @{} and @(). * TestWebKitAPI/mac/mainMac.mm: (main): Use {}. * WebKitTestRunner/InjectedBundle/AccessibilityController.h: Use id instead of NotificationHandler. * WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.h: Use id for PlatformTextMarkerRange. Added an overload of makeVectorElement to make makeVector> work. * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: Use RetainPtr. Added an overload of makeVectorElement to make makeVector> work. * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm: Removed unneeded include. * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::convertNSArrayToVector): Deleted. (WTR::AccessibilityUIElement::AccessibilityUIElement): Simplified since we use RetainPtr. (WTR::AccessibilityUIElement::~AccessibilityUIElement): Ditto. (WTR::convertElementsToObjectArray): Removed unneeded use of JSValueToObject. (WTR::AccessibilityUIElement::elementsForRange): Use makeVector>. (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use @[]. (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Use @[]. (WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers): * WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm: (WTR::InjectedBundle::platformInitialize): Use @{}. * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::AccessibilityUIElement::AccessibilityUIElement): Simplified since we use RetainPtr. (WTR::AccessibilityUIElement::~AccessibilityUIElement): Ditto. (WTR::convertNSArrayToVector): Deleted. (WTR::AccessibilityUIElement::getLinkedUIElements): Use makeVector>. (WTR::AccessibilityUIElement::getDocumentLinks): Ditto. (WTR::AccessibilityUIElement::getUIElementsWithAttribute const): Ditto. (WTR::AccessibilityUIElement::getChildren): Ditto. (WTR::AccessibilityUIElement::getChildrenWithRange): Ditto. (WTR::AccessibilityUIElement::rowHeaders const): Ditto. (WTR::AccessibilityUIElement::columnHeaders const): Ditto. (WTR::AccessibilityUIElement::allAttributes): Updated since m_element is a RetainPtr. (WTR::AccessibilityUIElement::stringDescriptionOfAttributeValue): Ditto. (WTR::AccessibilityUIElement::role): Ditto. (WTR::AccessibilityUIElement::subrole): Ditto. (WTR::AccessibilityUIElement::roleDescription): Ditto. (WTR::AccessibilityUIElement::computedRoleString): Ditto. (WTR::AccessibilityUIElement::title): Ditto. (WTR::AccessibilityUIElement::description): Ditto. (WTR::AccessibilityUIElement::orientation const): Ditto. (WTR::AccessibilityUIElement::stringValue): Ditto. (WTR::AccessibilityUIElement::language): Ditto. (WTR::AccessibilityUIElement::helpText const): Ditto. (WTR::AccessibilityUIElement::lineForIndex): Use @(). (WTR::AccessibilityUIElement::rangeForLine): Use @(). (WTR::AccessibilityUIElement::searchTextWithCriteria): Use makeVector>. (WTR::AccessibilityUIElement::attributesOfColumnHeaders): Ditto. (WTR::AccessibilityUIElement::attributesOfRowHeaders): Ditto. (WTR::AccessibilityUIElement::attributesOfColumns): Ditto. (WTR::AccessibilityUIElement::attributesOfRows): Ditto. (WTR::AccessibilityUIElement::attributesOfVisibleCells): Ditto. (WTR::AccessibilityUIElement::cellForColumnAndRow): Use @[] and @(). (WTR::AccessibilityUIElement::setSelectedChild const): Use @[]. (WTR::AccessibilityUIElement::setSelectedChildAtIndex const): Use @[]. (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Use @[]. * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveAllStorageAccessEntries): Take Vector&&. (WTR::TestInvocation::didReceiveWebViewCategory): Take String&&. * WebKitTestRunner/TestInvocation.h: Updated for the above. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::cocoaPlatformInitialize): Use @{}and @(). (WTR::TestController::getAllStorageAccessEntries): Use makeVector. (WTR::TestController::loadedThirdPartyDomains): Use makeVector. (WTR::TestController::getWebViewCategory): Update to pass String&&. (WTR::TestController::setAllowedMenuActions): Use createNSArray. * WebKitTestRunner/ios/HIDEventGenerator.mm: (-[HIDEventGenerator interpolatedEvents:]): Use @(). * WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::changeWindowScaleIfNeeded): Use @{} and @(). * WebKitTestRunner/mac/TestControllerMac.mm: Removed unneeded include. * WebKitTestRunner/mac/UIScriptControllerMac.mm: (WTR::UIScriptControllerMac::copyText): Use @[]. * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm: (-[WebKitTestRunnerPasteboard declareType:owner:]): Use @[]. 2020-04-09 Andres Gonzalez WKAccessibilityRootObject must run on the main thread. https://bugs.webkit.org/show_bug.cgi?id=210306 Reviewed by Chris Fleizach. WKAccessibilityRootObject needs to run on the main thread because makes calls into Document and Page. So reverting the change to make it run on the AX thread. This means that we cannot simulate getting the root object on the secondary thread at the moment, as it would with an accessibility client that supports isolated tree mode. So it is a tradeoff made for the time being to be able to make progress in testing the rest of the functionality of AXIsolatedTree/Object. * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm: (WTR::AccessibilityController::accessibleElementById): 2020-04-09 David Kilzer Add using WTF::isInBounds to CheckedArithmetic.h Reviewed by Darin Adler. * TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp: (TestWebKitAPI::TEST): - Remove WTF:: prefix from isInBounds(). 2020-04-09 Keith Rollin Set ENTITLEMENTS_REQUIRED=NO for some Xcode build targets https://bugs.webkit.org/show_bug.cgi?id=210250 Reviewed by Jonathan Bedard. When building with the public version of Xcode 11.4, with XCBuild enabled, and targeting the iOS device, some build targets issue an error like: error: An empty identity is not valid when signing a binary for the product type 'Command-line Tool'. (in target 'yasm' from project 'libwebrtc') A comment in suggests setting ENTITLEMENTS_REQUIRED=NO to relax the requirement. To that end, when building with the public Xcode, establish that setting for the affected targets. With this change, we can also remove IDEProvisioningProfileSupportRelaxed=YES from webkitdirs.pm. * Scripts/webkitdirs.pm: (XcodeOptions): * TestWebKitAPI/Configurations/TestWTF.xcconfig: * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: 2020-04-09 Wenson Hsieh Add an API test for https://bugs.webkit.org/show_bug.cgi?id=210294 Reviewed by Tim Horton. Exercise the pathological case fixed in r259766 by inserting and then immediately removing a paragraph element after starting text manipulation. This test also revealed an existing issue in TextManipulationController, where we will end up hitting a debug assertion when trying to insert { null position, null position } into a HashMap underneath `TextManipulationController::scheduleObservartionUpdate`. * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: (TestWebKitAPI::TEST): 2020-04-09 Simon Fraser Reset view navigation gesture state between tests https://bugs.webkit.org/show_bug.cgi?id=210283 Reviewed by Tim Horton. State in ViewGestureController could leak between tests if a test did not wait for the gesture to complete. Specifically m_activeGestureType could be left as non-None. Fix by plumbing a 'reset' through from TestController::resetStateToConsistentValues(). The implementations leverage code from removeSwipeSnapshot(), but avoid the fact that removeSwipeSnapshot() early returns in various cases by just always calling reset code, which is factored into a new resetState function. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): 2020-04-09 Aakash Jain [ews] Add unit tests to ensure that step names are valid identifier https://bugs.webkit.org/show_bug.cgi?id=210289 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps_unittest.py: (TestStepNameShouldBeValidIdentifier): (TestStepNameShouldBeValidIdentifier.test_step_names_are_valid): unit-test to validate step names. 2020-04-09 Jonathan Bedard Buildbot: Force crash log submission after each test run https://bugs.webkit.org/show_bug.cgi?id=210202 Reviewed by Aakash Jain and Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/factories.py: (TestFactory.__init__): Add steps triggering crash uploads and waiting for crash collection to quiesce. * BuildSlaveSupport/build.webkit.org-config/steps.py: (TriggerCrashCollection): Add step to trigger crash collection. (WaitForCrashCollection): Add step to wait for for crash collection process to quiesce. * BuildSlaveSupport/build.webkit.org-config/steps.py: (BuildStepsConstructorTest): Update Apple testing steps to include crash log collection. * BuildSlaveSupport/ews-build/factories.py: (TestFactory): (TestFactory.__init__): Add willTriggerCrashLogSubmission variable. (iOSTestsFactory): (macOSWK1Factory): (macOSWK2Factory): * BuildSlaveSupport/ews-build/factories_unittest.py: (TestLayoutTestsFactory.test_macos_wk1_release_factory): (TestLayoutTestsFactory.test_macos_wk1_debug_factory): (TestLayoutTestsFactory.test_macos_wk2_factory): (TestLayoutTestsFactory.test_ios_wk2_factory): * BuildSlaveSupport/ews-build/steps.py: (TriggerCrashLogSubmission): (WaitForCrashCollection): * BuildSlaveSupport/trigger-crash-collection: Added. * BuildSlaveSupport/wait-for-crash-collection: Added. (pid_for_name): Given a process name, return the PID for that process. (cpu_percentage): Return float representing the current CPU usage of the provided PID. (main): 2020-04-09 Aakash Jain [ews] rename CompileJSCToT to CompileJSCWithoutPatch https://bugs.webkit.org/show_bug.cgi?id=210265 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (CompileWebKitWithoutPatch): Drive-by fix to rename similar name. (AnalyzeCompileWebKitResults.start): Ditto. (CompileWebKit.evaluateCommand): Renamed CompileJSCToT to CompileJSCWithoutPatch. (CompileJSCWithoutPatch): Ditto. (ReRunJavaScriptCoreTests.evaluateCommand): Ditto. * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests. 2020-04-09 Claudio Saavedra [GTK] Clean-up use of deprecated GtkAction https://bugs.webkit.org/show_bug.cgi?id=210273 Reviewed by Carlos Garcia Campos. GtkAction is deprecated so remove usage of it in the context menu API tests and guard its API usage when we still need to use it to test the deprecated WebKitGTK+ API exposing GtkAction. * TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp: (testContextMenuPopulateMenu): 2020-04-09 Aakash Jain [ews] rename CompileWebKitToT to CompileWebKitWithoutPatch https://bugs.webkit.org/show_bug.cgi?id=210190 Reviewed by Alex Christensen. * BuildSlaveSupport/ews-build/steps.py: Renamed CompileWebKitToT to CompileWebKitWithoutPatch. (CompileWebKit.evaluateCommand): (CompileWebKitWithoutPatch): (AnalyzeCompileWebKitResults.start): (ReRunWebKitTests.evaluateCommand): (ReRunAPITests.evaluateCommand): (CompileWebKitToT): Deleted. (CompileWebKitToT.doStepIf): Deleted. (CompileWebKitToT.hideStepIf): Deleted. (CompileWebKitToT.evaluateCommand): Deleted. * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests accordingly. 2020-04-08 Alex Christensen _corsDisablingPatterns should allow security policy access to those patterns https://bugs.webkit.org/show_bug.cgi?id=210218 Reviewed by Timothy Hatcher. * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: 2020-04-08 Alex Christensen WKWebViews should behave as if they had loaded something after restoring session state https://bugs.webkit.org/show_bug.cgi?id=210097 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: (TEST): 2020-04-08 Ross Kirsling Remove ENABLE_INTL define https://bugs.webkit.org/show_bug.cgi?id=210164 Reviewed by Darin Adler. * Scripts/webkitperl/FeatureList.pm: 2020-04-08 Daniel Bates Track editable elements on screen https://bugs.webkit.org/show_bug.cgi?id=209888 Reviewed by Simon Fraser. Add more unit tests for -_requestTextInputContextsInRect. Also add test infrastructure to be able to verify that WebKit::mayContainEditableElementsInRect() works. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.h: (WTR::UIScriptController::mayContainEditableElementsInRect): Expose an internal function to test WebKit::mayContainEditableElementsInRect(). * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Add feature define. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm: (webViewLoadHTMLStringAndWaitForAllFramesToPaint): Renamed; formerly webViewLoadHTMLStringAndWaitForDOMLoadEvent. Also make it wait for the next presentation update after we paint. (TEST): (squareCenteredAtPoint): Added. (webViewLoadHTMLStringAndWaitForDOMLoadEvent): Deleted; renamed webViewLoadHTMLStringAndWaitForAllFramesToPaint(). * TestWebKitAPI/Tests/WebKitCocoa/editable-region-composited-and-non-composited-overlap.html: Added. * TestWebKitAPI/ios/editable-region-composited-and-non-composited-overlap.html: Added. * WebKitTestRunner/ios/UIScriptControllerIOS.h: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptControllerIOS::mayContainEditableElementsInRect): Added. 2020-04-08 Wenson Hsieh Remove a workaround that allows many API tests to pass on iOS 13.2 https://bugs.webkit.org/show_bug.cgi?id=209709 Reviewed by Megan Gardner. Removes a workaround added in r256297 to get API tests passing on iOS 13.2. This workaround swizzled `-[NSBundle bundleIdentifier]` to return a non-null string, in order to avoid a crash introduced by . This was subsequently fixed in , which has made its way into iOS 13.4. * TestWebKitAPI/cocoa/TestWKWebView.mm: (+[WKWebView initialize]): Deleted. * TestWebKitAPI/ios/UIKitSPI.h: 2020-04-08 Sihui Liu [macOS] TestWebKitAPI.WKHTTPCookieStore.WithoutProcessPoolDuplicates is failing https://bugs.webkit.org/show_bug.cgi?id=209992 Reviewed by Geoffrey Garen. Make sure existing cookies are cleared before test. Otherwise, they will affect test result. * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm: (clearCookies): (TEST): 2020-04-08 Kate Cheney Return app-bound sessions for instances where WKAppBoundDomains is empty https://bugs.webkit.org/show_bug.cgi?id=210124 Reviewed by Brent Fulgham. Clean up test settings between tests. * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: (cleanUpInAppBrowserPrivacyTestSettings): 2020-04-08 Truitt Savell Unreviewed, reverting r259708. Broke the iOS device Build Reverted changeset: "Enable the use of XCBuild by default in Apple builds" https://bugs.webkit.org/show_bug.cgi?id=209890 https://trac.webkit.org/changeset/259708 2020-04-08 Daniel Bates [lldb-webkit] Pretty-print NSEventModifierFlags https://bugs.webkit.org/show_bug.cgi?id=210193 Reviewed by Jer Noble. Enumerations such as NSEventModifierFlags describe disjoint sets of flags. In the case of NSEventModifierFlags it describes both device independent and dependent flags. When pretty printing such types one or more sets of flags may not be publically available. So, add support masking off such inaccessible sets of flags before pretty printing the rest of the set. * lldb/lldb_webkit.py: (addSummaryAndSyntheticFormattersForRawBitmaskType): (addSummaryAndSyntheticFormattersForRawBitmaskType.GeneratedRawBitmaskProvider): (__lldb_init_module): (RawBitmaskProviderBase): (RawBitmaskProviderBase._bitmask): 2020-04-08 Aakash Jain [ews] Improve summary for CheckPatchRelevance build step (follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=210146 Unreviewed follow-up fix. Revert the failure message for CheckPatchRelevance to old one since it needs to match with status-bubble code. * BuildSlaveSupport/ews-build/steps.py: * BuildSlaveSupport/ews-build/steps_unittest.py: (TestCheckPatchRelevance.test_non_relevant_patch): 2020-04-08 Aakash Jain EWS should skip mac-wk1 and mac-debug-wk1 tests for patches that only change WebKit2 sources https://bugs.webkit.org/show_bug.cgi?id=210115 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/factories.py: (macOSWK1Factory.__init__): Set checkRelevance to True for mac wk1 queue. * BuildSlaveSupport/ews-build/steps.py: (CheckPatchRelevance): Added relevance info for wk1 queues. * BuildSlaveSupport/ews-build/factories_unittest.py: Updated unit-tests. (TestLayoutTestsFactory.test_macos_wk1_release_factory): (TestLayoutTestsFactory.test_macos_wk1_debug_factory): * BuildSlaveSupport/ews-build/steps_unittest.py: (TestCheckPatchRelevance.test_relevant_jsc_patch): (TestCheckPatchRelevance.test_relevant_wk1_patch): (TestCheckPatchRelevance.test_queues_without_relevance_info): (TestCheckPatchRelevance.test_non_relevant_patch): 2020-04-08 Claudio Saavedra [GTK] Drop usage of deprecated GdkDeviceManager https://bugs.webkit.org/show_bug.cgi?id=210179 Reviewed by Adrian Perez de Castro. Replace GdkDeviceManager usage for GdkSeat. For GTK4 further changes will be needed but this is a start. * TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp: (WebViewTest::mouseMoveTo): (WebViewTest::keyStroke): (WebViewTest::doMouseButtonEvent): * TestWebKitAPI/gtk/PlatformWebViewGtk.cpp: (TestWebKitAPI::doKeyStroke): (TestWebKitAPI::doMouseButtonEvent): (TestWebKitAPI::PlatformWebView::simulateMouseMove): * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp: (WTR::EventSenderProxy::createMouseButtonEvent): (WTR::EventSenderProxy::keyDown): (WTR::EventSenderProxy::mouseMoveTo): (WTR::EventSenderProxy::mouseScrollBy): (WTR::EventSenderProxy::continuousMouseScrollBy): (WTR::EventSenderProxy::createTouchEvent): 2020-04-08 Keith Rollin Enable the use of XCBuild by default in Apple builds https://bugs.webkit.org/show_bug.cgi?id=209890 Reviewed by Darin Adler. Switch from the "legacy" Xcode build system to the "new" build system (also known as "XCBuild"). Switching to the new system speeds up builds by a small percentage, better validates projects for build-related issues (such as dependency cycles), lets WebKit benefit from future improvements in XCBuild such as those coming from the underlying llbuild open source project, and prepares us for any other tools built for this new ecosystem. Specific changes: - Remove Xcode project and workspace settings that selected the Build system, allowing the default to take hold (which is currently the New build system). - Updated webkitdirs.pm with a terser check for Xcode version. - Update build-webkit and Makefile.shared to be explicit when using the old build system (no longer treat it as a default or fall-back configuration). - Update various xcconfig files similarly to treat the default as using the new build system. - Update various post-processing build steps to check for Xcode 11.4 and to no longer treat the default as using the old build system. * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: * Scripts/build-webkit: * Scripts/webkitdirs.pm: (canUseXCBuild): * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: 2020-04-07 Carlos Garcia Campos [GTK][WPE] WTR: fix handling of WebsiteDataStore https://bugs.webkit.org/show_bug.cgi?id=210106 Reviewed by Adrian Perez de Castro. The TestController::defaultWebsiteDataStore() is created and used but never really assigned to the context. Since we are not assigning a WebsiteDataStore to the context, and we don't use the default WebsiteDataStore, when a new page is created, we end up creating the default one (with the default config, instead of the one created by WTR). * WebKitTestRunner/TestController.cpp: (WTR::TestController::platformAdjustContext): Set defaultWebsiteDataStore() as the primary data store of the context like the GLib API does. 2020-04-07 Fujii Hironori [Clang 10] Fix -Wimplicit-int-float-conversion compilation warnings in TestWebKitAPI https://bugs.webkit.org/show_bug.cgi?id=210067 Reviewed by Darin Adler. There are test cases for overflow, non-overflow, underflow and non-underflow edge cases in WTF.clampToIntegerFloat test. maxPlusOne can be used for overflow edge case, INT_MIN for non-underflow. This change added code to calculate values for non-overflow and underflow cases. * TestWebKitAPI/Tests/WTF/MathExtras.cpp: (TestWebKitAPI::TEST(WTF.clampToIntegerFloat)): * TestWebKitAPI/Tests/WebCore/FloatRect.cpp: (TestWebKitAPI::TEST(FloatRect.EnclosingIntRect)): Replaced shiftMaxXEdgeTo(INT_MAX) with shiftMaxXEdgeTo(0) because it also causes overflow for enclosingIntRect. 2020-04-07 Aakash Jain [ews] Add unit tests for layout tests factories https://bugs.webkit.org/show_bug.cgi?id=210150 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/factories_unittest.py: (TestLayoutTestsFactory): (TestLayoutTestsFactory.test_macos_wk1_release_factory): Added unit-test. (TestLayoutTestsFactory.test_macos_wk1_debug_factory): Ditto. (TestLayoutTestsFactory.test_macos_wk2_factory): Ditto. (TestLayoutTestsFactory.test_ios_wk2_factory): Ditto. (TestGTKFactory): Renamed. 2020-04-07 Aakash Jain [ews] Improve summary for CheckPatchRelevance build step https://bugs.webkit.org/show_bug.cgi?id=210146 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (CheckPatchRelevance): Improved success message. (CheckPatchRelevance.start): (CheckPatchRelevance.getResultSummary): Improved failure message. * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Updated accordingly. 2020-04-07 Jiewen Tan [WebAuthn] Cancel WebAuthn requests when users cancel LocalAuthentication prompts https://bugs.webkit.org/show_bug.cgi?id=209923 Reviewed by Brent Fulgham. Modifies existing tests to accommodate changes in MockWebAuthenticationConfiguration.idl. * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-la.html: * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la-duplicate-credential.html: * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la-error.html: * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la.html: 2020-04-07 Ryan Haddad Unreviewed, reverting r259655. Caused assertion failures and timeouts on iOS bots Reverted changeset: "Return app-bound sessions for instances where WKAppBoundDomains is" https://bugs.webkit.org/show_bug.cgi?id=210124 https://trac.webkit.org/changeset/259655 2020-04-07 Joanmarie Diggs AX: Change ATK mapping of the ARIA alert and alertdialog roles https://bugs.webkit.org/show_bug.cgi?id=210121 Reviewed by Chris Fleizach. Add support for ATK_ROLE_NOTIFICATION. * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: 2020-04-07 Wenson Hsieh Preventing touch events should not prevent gestures installed above WKWebView from recognizing https://bugs.webkit.org/show_bug.cgi?id=210080 Reviewed by Tim Horton. Add a UIScriptController helper method that allows a test to install a tap gesture recognizer on the UIWindow containing the web view. This method additionally takes a JavaScript callback, which is invoked when the tap gesture is recognized. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptContext.h: * TestRunnerShared/UIScriptContext/UIScriptController.h: (WTR::UIScriptController::installTapGestureOnWindow): * WebKitTestRunner/cocoa/TestRunnerWKWebView.h: * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: (-[TestRunnerWKWebView resetInteractionCallbacks]): (-[TestRunnerWKWebView didRecognizeTapOnWindow]): (-[TestRunnerWKWebView windowTapRecognizedCallback]): (-[TestRunnerWKWebView setWindowTapRecognizedCallback:]): (-[TestRunnerWKWebView willMoveToWindow:]): (-[TestRunnerWKWebView didMoveToWindow]): (-[TestRunnerWKWebView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]): * WebKitTestRunner/ios/UIScriptControllerIOS.h: * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptControllerIOS::installTapGestureOnWindow): 2020-04-07 Alexey Shvayka test262/Runner.pm ignores "async" flag https://bugs.webkit.org/show_bug.cgi?id=210127 Reviewed by Ross Kirsling. This change adds dereferencing for `$data->{flags}` array, making `grep` work as expected. Other flags are correctly handled by `getScenarios` function, which gets a dereferenced array as an argument. * Scripts/test262/Runner.pm: (runTest): 2020-04-07 Truitt Savell Unreviewed, reverting r259446. Broke Windows testing Reverted changeset: "[Windows] Ignore render tree dump based results on Windows" https://bugs.webkit.org/show_bug.cgi?id=209897 https://trac.webkit.org/changeset/259446 2020-04-07 Aakash Jain [ews] Add unit-test for CheckPatchRelevance build step https://bugs.webkit.org/show_bug.cgi?id=210140 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests. (TestCheckPatchRelevance): (TestCheckPatchRelevance.test_relevant_patch): (TestCheckPatchRelevance.test_non_relevant_patch): 2020-04-07 Kate Cheney Return app-bound sessions for instances where WKAppBoundDomains is empty https://bugs.webkit.org/show_bug.cgi?id=210124 Reviewed by Brent Fulgham. Cleaned up tests to turn the flag on at the start of each In-App Browser Privacy test. * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: (cleanUpInAppBrowserPrivacyTestSettings): (initializeInAppBrowserPrivacyTestSettings): (TEST): 2020-04-07 Timothy Hatcher WKUserScripts deferred from injection are not injected if -[WKWebView _notifyUserScripts] is called early. https://bugs.webkit.org/show_bug.cgi?id=210131 rdar://problem/61368446 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm: (TEST): 2020-04-07 Ryosuke Niwa TextManipulationController fails to replace a paragraph that ends with a br https://bugs.webkit.org/show_bug.cgi?id=210099 Reviewed by Wenson Hsieh. Added regression tests. * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: (TextManipulation.CompleteTextManipulationReplaceMultipleSimpleParagraphsSeparatedByBR): (TextManipulation.CompleteTextManipulationReplaceParagraphsSeparatedByWrappedBR): (TextManipulation.CompleteTextManipulationFailWhenBRIsInserted): 2020-04-07 Adrian Perez de Castro [GTK] CMake find module for GTK4 https://bugs.webkit.org/show_bug.cgi?id=210110 Reviewed by Don Olmstead. * MiniBrowser/gtk/CMakeLists.txt: Use the GTK::GTK imported target. * TestWebKitAPI/PlatformGTK.cmake: Ditto. * TestWebKitAPI/glib/PlatformGTK.cmake: Ditto. * WebKitTestRunner/PlatformGTK.cmake: Ditto. 2020-04-07 Youenn Fablet Reset mock capture devices between layout tests https://bugs.webkit.org/show_bug.cgi?id=210098 Reviewed by Eric Carlson. This fixes fast/mediastream/anonymize-device-name.html failure since https://trac.webkit.org/changeset/259477/webkit. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): 2020-04-06 Peng Liu REGRESSION (r259531?): [iOS] TestWebKitAPI.WebKitLegacy.ScrollingDoesNotPauseMedia is timing out https://bugs.webkit.org/show_bug.cgi?id=210013 Reviewed by Daniel Bates. Fix mistakes in the test and make it more reliable. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm: (-[ScrollingDoesNotPauseMediaDelegate handleEvent:]): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitLegacy/ios/one-video.html: Added. 2020-04-06 Don Olmstead [CMake] Use WEBKIT_EXECUTABLE in DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=210059 Reviewed by Fujii Hironori. Modify CMake code to use WEBKIT_EXECUTABLE when creating DumpRenderTree. * DumpRenderTree/CMakeLists.txt: * DumpRenderTree/PlatformWin.cmake: 2020-04-06 Jonathan Bedard ImageDiff: Don't build with ASan in automation https://bugs.webkit.org/show_bug.cgi?id=210057 Reviewed by David Kilzer. * ImageDiff/cg/Configurations/ImageDiff.xcconfig: Disable ASan. 2020-04-06 Kenneth Russell Update my committer status https://bugs.webkit.org/show_bug.cgi?id=210072 Reviewed by Dean Jackson. Update contributors.json to reflect that my lapsed committer status was recently reinstated. * Scripts/webkitpy/common/config/contributors.json: 2020-04-06 Ross Kirsling Update minimum ICU version to 60.2 https://bugs.webkit.org/show_bug.cgi?id=209694 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WTF/StringConcatenate.cpp: Remove obsoleted compile-time version checks. * DumpRenderTree/TestRunner.cpp: (TestRunner::runUIScript): * TestWebKitAPI/Tests/WebCore/LineBreaking.mm: (breakingLocationsFromICU): Manually convert between UChar and UniChar/unichar where needed. 2020-04-06 Rick Waldron and Alexey Shvayka Remove unnecessary Test262 harness file and implement $262.IsHTMLDDA https://bugs.webkit.org/show_bug.cgi?id=187526 Reviewed by Darin Adler. Removed file duplicates functionality of jsc.cpp's GlobalObject::finishCreation. * Scripts/test262/Runner.pm: * Scripts/test262/agent.js: Removed. 2020-04-06 Saam Barati Implement 1GB of executable memory on arm64 https://bugs.webkit.org/show_bug.cgi?id=208490 Reviewed by Keith Miller. * Scripts/run-jsc-stress-tests: * TestWebKitAPI/Tests/WTF/MetaAllocator.cpp: (TestWebKitAPI::TEST_F): * TestWebKitAPI/Tests/WTF/RedBlackTree.cpp: (TestWebKitAPI::TEST_F): 2020-04-04 Darin Adler Stop using live ranges in DocumentMarkerController https://bugs.webkit.org/show_bug.cgi?id=209985 Reviewed by Antti Koivisto. * TestWebKitAPI/Tests/WebCore/MarkedText.cpp: (TestWebKitAPI::TEST): Update for change to DocumentMarker constructor. 2020-04-06 Jonathan Bedard run-api-tests spew "setup_environ_for_server" in verbose mode https://bugs.webkit.org/show_bug.cgi?id=210012 Reviewed by Aakash Jain. * Scripts/webkitpy/port/ios_simulator.py: (IOSSimulatorPort.setup_environ_for_server): Do not log this function when called. 2020-04-06 Antoine Quint [macOS] TestWebKitAPI.WKUserContentController.UserStyleSheetAffectingOnlySpecificWebViewSharedConfiguration is a flaky timeout https://bugs.webkit.org/show_bug.cgi?id=209934 Reviewed by Antti Koivisto. Fix a couple of tests which would use `-[WKWebView _test_waitForDidFinishNavigation]` in a way where the navigation may have finished before the method was called. * TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm: (TEST): 2020-04-05 Gus Caplan and Ross Kirsling DLLLauncherMain print to console instead of opening window on fatal error https://bugs.webkit.org/show_bug.cgi?id=206537 Reviewed by Fujii Hironori. * win/DLLLauncher/DLLLauncherMain.cpp: (fatalError): 2020-04-05 Don Olmstead [CMake] Use WEBKIT_EXECUTABLE in MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=206894 Reviewed by Adrian Perez de Castro. Modify CMake ports to use WEBKIT_EXECUTABLE when creating their respective MiniBrowsers. * MiniBrowser/gtk/CMakeLists.txt: * MiniBrowser/win/CMakeLists.txt: * MiniBrowser/wpe/CMakeLists.txt: 2020-04-05 Don Olmstead [CMake] Add WebKit::WebKit target https://bugs.webkit.org/show_bug.cgi?id=210033 Reviewed by Fujii Hironori. Use the WebKit::WebKit target for MiniBrowser and TestWebKit. This removes the need to have WebProcess and NetworkProcess as dependencies since they are attached to the WebKit::WebKit target. Remove references to WebKitFrameworkHeaders as it is now WebKit_CopyHeaders. It is also a dependency of WebKit::WebKit so it does not need to be listed as a dependency. * MiniBrowser/win/CMakeLists.txt: * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/PlatformPlayStation.cmake: * TestWebKitAPI/PlatformWin.cmake: * WebKitTestRunner/CMakeLists.txt: 2020-04-05 Daniel Bates RequestTextInputContext.Simple iframe sub-tests may sometimes fail https://bugs.webkit.org/show_bug.cgi?id=210010 Reviewed by Simon Fraser and Darin Adler. Make the iframe sub tests wait until the DOM Load event has fired in the main frame. When it fires this means that all immediate child frames (like the one added by these sub tests) have fired their DOM Load event. This ensures deterministic results. Also while I am here, extract out the iframe sub-tests into their own TEST() method for testing and debugging convenience. I also fixed up -performAfterLoading so that it wouldn't leak the user script string and made it work if called more than once in the same TEST() by caching this script and only adding it to the user content controller once. Moreover, removed duplication by writing it in terms of -performAfterReceivingMessage. * TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm: (TEST): (webViewLoadHTMLStringAndWaitForDOMLoadEvent): Helper function to load an HTML string into a web view and wait until a DOM Load event is fired at the main frame. * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[TestWKWebView performAfterLoading:]): Modernized and simplified. Modified user script to use addEventListener() instead of onload as the latter overrides any existing load handler. This user script is also added only to the main frame since all existing callers just want to know that all main frame and immediate child frames loaded. Also listen for the load event during the capture phase, which is a tiny bit faster to receive, instead of the bubbling phase. See second paragraph above for more details on the changes I made to this function. 2020-04-04 Wenson Hsieh Add a fourth round of logging to help diagnose https://bugs.webkit.org/show_bug.cgi?id=210011 Reviewed by Darin Adler. Remove all logging previously added to DragAndDropSimulator. * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]): 2020-04-04 Chris Dumez [iOS] Simplify ProcessAssertion class in preparation for switch to RunningBoard https://bugs.webkit.org/show_bug.cgi?id=209984 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2020-04-04 Wenson Hsieh Add even more logging to try and diagnose https://bugs.webkit.org/show_bug.cgi?id=210008 Reviewed by Tim Horton. Replace old logging with new logging (in different places). * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]): (-[DragAndDropSimulator _advanceProgress]): (-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]): Rule out the possibility that the WebKit client (in this case, the drag and drop simulator) is overriding the list of drag items by logging the given NSItemProvider that will be used to start the drag. 2020-04-04 Peng Liu REGRESSION (r259095): ASSERTION FAILED: m_videoFullscreenMode != VideoFullscreenModeNone seen with TestWebKitAPI.WebKitLegacy.AudioSessionCategoryIOS https://bugs.webkit.org/show_bug.cgi?id=209680 Reviewed by Jer Noble. Add an API test for the video fullscreen support of WebKitLegacy on iOS. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitLegacy/ios/PreemptVideoFullscreen.mm: Added. (-[VideoFullscreenStressUIWebViewDelegate webViewDidFinishLoad:]): (-[VideoFullscreenStressUIWebViewDelegate uiWebView:didCommitLoadForFrame:]): (-[VideoFullscreenStressUIWebViewDelegate handleEvent:]): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitLegacy/ios/two-videos.html: Added. 2020-04-03 Alex Christensen Add SPI to make WKUserScripts wait for a notification https://bugs.webkit.org/show_bug.cgi?id=209845 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm: (TEST): 2020-04-03 Kate Cheney Prevent non app-bound domain cookies from being read or set using API calls https://bugs.webkit.org/show_bug.cgi?id=209926 Reviewed by Brady Eidson. Added 3 new API tests to test that non app-bound cookies are not being set or returned via API calls. Also added a function to reset state between tests for internal debugging. * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: (setUpCookieTest): (TEST): 2020-04-03 Wenson Hsieh Add more logging to help diagnose https://bugs.webkit.org/show_bug.cgi?id=209988 Reviewed by Timothy Hatcher. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: Fix a few stray style mistakes (unnecessary `.get()`s). * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]): (-[DragAndDropSimulator _advanceProgress]): 2020-04-03 Truitt Savell Unreviewed, reverting r259440. Introduced 2 failing tests on Mac and iOS Reverted changeset: "Add SPI to configure WebsiteDataStores with a URL for standalone web applications and use it to disable first-party website data removal in ITP" https://bugs.webkit.org/show_bug.cgi?id=209634 https://trac.webkit.org/changeset/259440 2020-04-03 Kate Cheney Remove _setIsNavigatingToAppBoundDomain testing SPI https://bugs.webkit.org/show_bug.cgi?id=209973 Reviewed by David Kilzer. This SPI is no longer needed to set a webView as navigating to an app-bound domain. We can now load a local file instead. * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/in-app-browser-privacy-local-file.html: 2020-04-03 David Kilzer [Xcode] Replace ASAN_OTHER_CFLAGS and ASAN_OTHER_CPLUSPLUSFLAGS with $(inherited) Reviewed by Alexey Proskuryakov. * asan/asan.xcconfig: - Use $(inherited) to get rid of custom ASAN_OTHER_CFLAGS and ASAN_OTHER_CPLUSPLUSFLAGS. Note that ASAN_OTHER_LDFLAGS had been previously removed in r179312, but not in the other *.xcconfig files. * ContentExtensionTester/Configurations/Base.xcconfig: * DumpRenderTree/mac/Configurations/Base.xcconfig: * ImageDiff/cg/Configurations/Base.xcconfig: * MiniBrowser/Configurations/Base.xcconfig: * MobileMiniBrowser/Configurations/Base.xcconfig: * TestWebKitAPI/Configurations/Base.xcconfig: * WebEditingTester/Configurations/Base.xcconfig: * WebKitLauncher/Configurations/Base.xcconfig: * WebKitTestRunner/Configurations/Base.xcconfig: * lldb/lldbWebKitTester/Configurations/Base.xcconfig: - Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS. 2020-04-03 Aakash Jain [ews] Improve error message when patch fails to apply to trunk https://bugs.webkit.org/show_bug.cgi?id=209965 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (ApplyPatch.getResultSummary): Improved error message. (ApplyPatch.evaluateCommand): Ditto. * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests. 2020-04-03 Sihui Liu ASSERTION FAILED: m_delegate in IDBConnectionToClient::identifier() https://bugs.webkit.org/show_bug.cgi?id=209891 Reviewed by Geoffrey Garen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/KillWebProcessWithOpenConnection-1.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/KillWebProcessWithOpenConnection-2.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/WebProcessKillIDBCleanup.mm: (TEST): 2020-04-03 Aakash Jain [ews] Display list of test failures along-with the layout-test build step https://bugs.webkit.org/show_bug.cgi?id=209912 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (RunWebKitTests._addToLog): (RunWebKitTests.commandComplete): Add list of test failures to 'test-failures' log which is displayed in UI. (ReRunWebKitTests.commandComplete): Ditto. (RunWebKitTestsWithoutPatch.commandComplete): Ditto. 2020-04-03 Philippe Normand REGRESSION(r259453): [Flatpak SDK] Build directory no longer bind-mounted when running tests https://bugs.webkit.org/show_bug.cgi?id=209960 Reviewed by Carlos Alberto Lopez Perez. The bind-mount is always needed, not only when running build-webkit. * flatpak/flatpakutils.py: (WebkitFlatpak.run_in_sandbox): 2020-04-03 Diego Pino Garcia [Flatpak SDK] Create platform/Release directory only when build-webkit is called https://bugs.webkit.org/show_bug.cgi?id=209954 Reviewed by Philippe Normand. * flatpak/flatpakutils.py: (WebkitFlatpak.clean_args): Remove creation of self.build_path. (WebkitFlatpak.run_in_sandbox): Create self.build_path if command is build-webkit. 2020-04-03 Philippe Normand [Flatpak SDK] build-webkit --flatpak-cmakeargs option is ignored https://bugs.webkit.org/show_bug.cgi?id=209648 Reviewed by Žan Doberšek. This patch removes redundant options from webkit-flatpak, correctly handles the cmakeargs option and reduces the amount of `flatpak list` calls performed. * flatpak/flatpakutils.py: (check_flatpak): (FlatpakPackages.__init__): (FlatpakPackage.is_installed): (WebkitFlatpak.load_from_args): (WebkitFlatpak.__init__): (WebkitFlatpak.clean_args): (WebkitFlatpak.run_in_sandbox): (WebkitFlatpak.main): (WebkitFlatpak.setup_dev_env): (WebkitFlatpak.run_gdb): 2020-04-03 Diego Pino Garcia [Flatpak SDK] Call setup_icecc only if use_icecream is defined https://bugs.webkit.org/show_bug.cgi?id=209956 Reviewed by Philippe Normand. * flatpak/flatpakutils.py: (WebkitFlatpak.setup_dev_env): 2020-04-03 Antti Koivisto [Windows] Ignore render tree dump based results on Windows https://bugs.webkit.org/show_bug.cgi?id=209897 Reviewed by Darin Adler. Render tree dumps are port specific and so difficult to maintain. They are mostly very old and have been superseded by more modern ref and text dump tests. They rarely reveal any port specific bugs. This patch adds --ignore-render-tree-dump-results option to run-webkit-tests and enables it by default on Apple Windows port. With the option set the render tree dump tests are still run (so crashes are detected) but their output is treated as if it always passed. Missing results are not written to disk. * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py: (SingleTestRunner._compare_text): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): (_set_up_derived_options): 2020-04-02 James Savage Add myself, as a committer, to contributors.json. https://bugs.webkit.org/show_bug.cgi?id=209952. * Scripts/webkitpy/common/config/contributors.json: 2020-04-02 James Savage Add myself to contributors.json. https://bugs.webkit.org/show_bug.cgi?id=209952. * Scripts/webkitpy/common/config/contributors.json: 2020-04-02 John Wilander Add SPI to configure WebsiteDataStores with a URL for standalone web applications and use it to disable first-party website data removal in ITP https://bugs.webkit.org/show_bug.cgi?id=209634 Reviewed by Alex Christensen. Added a new test option called standaloneWebApplicationURL so that layout tests can configure the website data store accordingly. Picking it up and using it requires creating a new website data store with a configuration that has the standalone web application URL. * WebKitTestRunner/TestController.cpp: (WTR::parseStringTestHeaderValueAsURL): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): 2020-04-02 David Kilzer REGRESSION (r234685): Leak of CALayer in createCoreAnimationLayer() in PluginObjectMac.mm Reviewed by Darin Adler. * DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm: (createCoreAnimationLayer): Use RetainPtr<> to fix leak. 2020-04-02 David Kilzer API::PageConfiguration may have conflicting preference values between WebPreferences and WebPreferencesStore::ValueMap instance variables Reviewed by Brent Fulgham. * TestWebKitAPI/Tests/WebKit/mac/GetBackingScaleFactor.mm: (TestWebKitAPI::TEST): - Fix WKView constructor to pass a valid WKPageGroupRef. * WebKitTestRunner/TestController.cpp: (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): - Remove support for custom "enableUndoManagerAPI" setting since layout tests should use "internal:UndoManagerAPIEnabled" instead. 2020-04-02 Alex Christensen Add SPI to restrict loading to main resources or non-network loads https://bugs.webkit.org/show_bug.cgi?id=209893 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: * TestWebKitAPI/cocoa/HTTPServer.h: (TestWebKitAPI::HTTPServer::totalRequests const): * TestWebKitAPI/cocoa/HTTPServer.mm: (TestWebKitAPI::HTTPServer::respondToRequests): 2020-04-02 Kate Cheney Add additional WKAppBoundDomains to TestWebKitAPI's expectations after initializing eTLD+1 by default https://bugs.webkit.org/show_bug.cgi?id=209889 Reviewed by Brent Fulgham. Additional domains will now be included in TestWebKitAPI's WKAppBoundDomains list after https://bugs.webkit.org/show_bug.cgi?id=209839 (Allow WKAppBoundDomains to be initialized with eTLD+1 only (no protocol)). * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: (TEST): 2020-04-01 Per Arne Vollan [Cocoa] UTI from MIME type cache can be removed after r258915 https://bugs.webkit.org/show_bug.cgi?id=209787 Unreviewed rollout of r257828. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/UTIFromMIMEType.mm: Removed. 2020-04-01 Jonathan Bedard run-javascriptcore-tests: runJSCStressTests shouldn't exit the program https://bugs.webkit.org/show_bug.cgi?id=209887 Reviewed by Darin Adler. * Scripts/run-javascriptcore-tests: (runJSCStressTests): Exit the function, not the program. 2020-04-01 Chris Dumez Regression(r257963) didFailProvisionalNavigation delegate no longer gets called when cancelling a cross-site provisional navigation https://bugs.webkit.org/show_bug.cgi?id=209873 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2020-04-01 Don Olmstead [PlayStation] Use OBJECT libraries for WebCore and PAL https://bugs.webkit.org/show_bug.cgi?id=209835 Reviewed by Ross Kirsling. Use the object libraries when compiling TestWebCore. * TestWebKitAPI/PlatformPlayStation.cmake: 2020-04-01 Jack Lee Unreviewed, add new committer to contributors.json * Scripts/webkitpy/common/config/contributors.json: 2020-04-01 Philippe Normand [Flatpak SDK] Migration to version 0.2 https://bugs.webkit.org/show_bug.cgi?id=209850 Reviewed by Carlos Alberto Lopez Perez. Version 0.2 of the SDK is now built with Buildstream instead of flatpak-builder. With this new version it will be easier to add new dependencies and hack on dependencies shipped by the SDK. Sadly I haven't found a nice way to upgrade smoothly without removing the UserFlatpak directory. In theory this shouldn't be needed but then old SDK branches would accumulate there, wasting disk-space. * flatpak/flatpakutils.py: (Console): (Console.colored_message): (Console.error_message): (Console.warning_message): (check_flatpak): (FlatpakObject.flatpak): (FlatpakRepo.__init__): (FlatpakRepo): (FlatpakRepo.is_app_installed): (FlatpakPackage.__init__): (FlatpakPackage.install): (FlatpakPackage.update): (WebkitFlatpak.__init__): (WebkitFlatpak.clean_args): (WebkitFlatpak._reset_repository): (WebkitFlatpak.setup_gstbuild): (WebkitFlatpak.main): (WebkitFlatpak.run): (WebkitFlatpak.setup_dev_env): (WebkitFlatpak._get_packages): 2020-04-01 Carlos Garcia Campos [GTK] MiniBrowser: valgrind claims 'Invalid write of size 8' on close https://bugs.webkit.org/show_bug.cgi?id=209471 Reviewed by Adrian Perez de Castro. This is because we need to remove the weak pointer added in child windows to their parent. * MiniBrowser/gtk/BrowserWindow.c: (browserWindowDispose): Remove the parentWindow weak ref. (browser_window_class_init): Add dispose. 2020-03-31 Kate Cheney Requests for messageHandlers() in the DOMWindow should be ignored for non-app-bound navigations https://bugs.webkit.org/show_bug.cgi?id=209836 Reviewed by Brent Fulgham. Most of this patch is changes to the tests, which formerly relied on message handlers to test script injection protections. I rewrote three tests to remove the use of message handlers which were used to confirm normal script injection behavior before enabling In-App Browser Privacy. Since normal script injection behavior is tested in WKUserContentController.mm already it is unecessary to test here. I removed one test, IgnoreAppBoundDomainsAcceptsUserScripts, which fully relied on message handler use and could not be tested without somehow disabling this feature. * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: (TEST): (-[TestInAppBrowserScriptMessageHandler userContentController:didReceiveScriptMessage:]): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/in-app-browser-privacy-local-file.html: Add a message handler to this page to demonstrate that message handlers work for app-bound navigations (file:// protocol is always app-bound). 2020-03-31 Alex Christensen Send correct UserContentControllerIdentifier after using SPI WKWebpagePreferences._userContentController https://bugs.webkit.org/show_bug.cgi?id=209833 Reviewed by Tim Hatcher. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: 2020-03-31 Brent Fulgham Allow WKAppBoundDomains to be initialized with eTLD+1 only (no protocol) https://bugs.webkit.org/show_bug.cgi?id=209839 Reviewed by Darin Adler. * TestWebKitAPI/Info.plist: 2020-03-31 Alex Christensen Add SPI WKWebpagePreferences._userContentController https://bugs.webkit.org/show_bug.cgi?id=209795 Reviewed by Tim Hatcher. * TestWebKitAPI/SourcesCocoa.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm: (-[TestUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: * TestWebKitAPI/cocoa/TestUIDelegate.h: Added. * TestWebKitAPI/cocoa/TestUIDelegate.mm: Added. (-[TestUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): (-[TestUIDelegate waitForAlert]): 2020-03-31 Aakash Jain Delete code for security EWS from old EWS (follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=209683 Revert 233220. Unreviewed follow-up fix. * Scripts/webkitpy/common/net/statusserver_mock.py: * Scripts/webkitpy/tool/commands/queues.py: 2020-03-30 Peng Liu PiP support of MiniBrowser is broken https://bugs.webkit.org/show_bug.cgi?id=209749 Reviewed by Jer Noble. Add com.apple.PIPAgent to the mach-lookup.global.name temporary exception entitlement. * MiniBrowser/MiniBrowser.entitlements: Fix an issue that the intended preferences are overwritten by default values and enable the PiP support. * MiniBrowser/mac/AppDelegate.m: (-[BrowserAppDelegate defaultConfiguration]): 2020-03-30 Zhifei Fang [results.webkit.org: Timeline]: Left side of the timeline scale is usually bigger than the right https://bugs.webkit.org/show_bug.cgi?id=209569 Reviewed by Jonathan Bedard. * resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js: 2020-03-30 Frank Yang Update my name in contributors.json https://bugs.webkit.org/show_bug.cgi?id=209751 Added myself to contributors.json. Also some changes to other people's information are made after running the canonicalize script. Reviewed by Myles C. Maxfield. * Scripts/webkitpy/common/config/contributors.json: 2020-03-30 Aakash Jain Delete code for security EWS from old EWS https://bugs.webkit.org/show_bug.cgi?id=209683 Reverted r232979, r233061, r233190, r233219, r233276 and r233288. Rubber-stamped by Jonathan Bedard. * QueueStatusServer/handlers/releasepatch.py: Reverted changes for security EWS in old EWS. * QueueStatusServer/main.py: * QueueStatusServer/config/authorization.py: Removed. * QueueStatusServer/handlers/fetchattachment.py: Removed. * QueueStatusServer/handlers/uploadattachment.py: Removed. * QueueStatusServer/model/attachmentdata.py: Removed. * QueueStatusServer/templates/uploadattachment.html: Removed. * Scripts/webkitpy/common/net/bugzilla/constants.py: Removed. * Scripts/webkitpy/common/net/bugzilla/attachment.py: * Scripts/webkitpy/common/net/bugzilla/attachment_unittest.py: * Scripts/webkitpy/common/net/bugzilla/bug.py: * Scripts/webkitpy/common/net/bugzilla/bugzilla.py: * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py: * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py: * Scripts/webkitpy/common/net/statusserver.py: * Scripts/webkitpy/common/net/statusserver_mock.py: * Scripts/webkitpy/tool/bot/feeders.py: * Scripts/webkitpy/tool/bot/stylequeuetask.py: * Scripts/webkitpy/tool/commands/download.py: * Scripts/webkitpy/tool/commands/earlywarningsystem.py: * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py: * Scripts/webkitpy/tool/commands/queries_unittest.py: * Scripts/webkitpy/tool/commands/queues.py: * Scripts/webkitpy/tool/commands/queues_unittest.py: * Scripts/webkitpy/tool/commands/upload_unittest.py: * Scripts/webkitpy/tool/main.py: * Scripts/webkitpy/tool/steps/obsoletepatches.py: 2020-03-30 Michael Catanzaro Add user agent quirk for Red Hat Bugzilla https://bugs.webkit.org/show_bug.cgi?id=209484 Reviewed by Adrian Perez de Castro. * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp: (TestWebKitAPI::TEST): 2020-03-30 Per Arne Vollan [Cocoa] Sleep disabling should be performed in the UI process https://bugs.webkit.org/show_bug.cgi?id=209676 Reviewed by Darin Adler. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/SleepDisabler.mm: Added. (TEST): 2020-03-30 Per Arne Vollan [macOS] REGRESSION(r258949) API test failures https://bugs.webkit.org/show_bug.cgi?id=209702 Reviewed by Darin Adler. After r258949, the preference observer is started when the app is activated, but since the app running API tests is not being activated, the preference observer needs to be manually instantiated in each test. * TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm: (-[WKTestPreferenceObserver preferenceDidChange:key:encodedValue:]): (TEST): 2020-03-28 Alex Christensen REGRESSION(r257963) UI process crashes when setting navigation delegate inside navigation delegate callbacks https://bugs.webkit.org/show_bug.cgi?id=209705 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebKitCocoa/AsyncPolicyForNavigationResponse.mm: (-[TestAsyncNavigationDelegate webView:didFailNavigation:withError:]): (-[TestAsyncNavigationDelegate webView:didFailProvisionalNavigation:withError:]): 2020-03-28 Alex Christensen Deprecate injected bundle page group SPI https://bugs.webkit.org/show_bug.cgi?id=209687 Reviewed by Timothy Hatcher. * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic_Bundle.cpp: (TestWebKitAPI::DOMWindowExtensionBasic::didCreatePage): (TestWebKitAPI::DOMWindowExtensionBasic::initialize): Deleted. * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionNoCache_Bundle.cpp: (TestWebKitAPI::DOMWindowExtensionNoCache::didCreatePage): (TestWebKitAPI::DOMWindowExtensionNoCache::initialize): Deleted. * TestWebKitAPI/Tests/WebKit/DocumentStartUserScriptAlertCrash_Bundle.cpp: (TestWebKitAPI::DocumentStartUserScriptAlertCrashTest::didCreatePage): (TestWebKitAPI::DocumentStartUserScriptAlertCrashTest::initialize): Deleted. * TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior_Bundle.cpp: (TestWebKitAPI::InjectedBundleNoDisableOverrideBuiltinsBehaviorTest::initialize): Deleted. (TestWebKitAPI::InjectedBundleDisableOverrideBuiltinsBehaviorTest::initialize): Deleted. * TestWebKitAPI/Tests/WebKit/InjectedBundleMakeAllShadowRootsOpen_Bundle.cpp: (TestWebKitAPI::InjectedBundleMakeAllShadowRootOpenTest::didCreatePage): (TestWebKitAPI::InjectedBundleMakeAllShadowRootOpenTest::initialize): Deleted. 2020-03-28 ChangSeok Oh [GTK] No libsystemd-devel for DNF https://bugs.webkit.org/show_bug.cgi?id=209697 Reviewed by Philippe Normand. Replace libsystemd-devel to systemd-devel for DNF. * gtk/install-dependencies: * wpe/install-dependencies: 2020-03-27 Philippe Normand [Flatpak SDK] Allow passing gst-build Meson options https://bugs.webkit.org/show_bug.cgi?id=209608 Reviewed by Žan Doberšek. Add support for the GST_BUILD_ARGS env var storing gst-build Meson options. * flatpak/flatpakutils.py: (WebkitFlatpak.setup_gstbuild): 2020-03-27 Philippe Normand [Flatpak SDK] Warn when gst-build support was requested but GST_BUILD_PATH is not set https://bugs.webkit.org/show_bug.cgi?id=209599 Reviewed by Žan Doberšek. * flatpak/flatpakutils.py: (WebkitFlatpak.setup_gstbuild): (WebkitFlatpak.setup_dev_env): 2020-03-26 Chris Dumez REGRESSION: Unable to show Web Inspector on empty tabs in Safari https://bugs.webkit.org/show_bug.cgi?id=209639 Reviewed by Darin Adler. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2020-03-26 Fujii Hironori [Win] lld-link: error: /manifestdependency: is not allowed in .drectve https://bugs.webkit.org/show_bug.cgi?id=204831 Reviewed by Ross Kirsling. * TestWebKitAPI/win/main.cpp: * win/DLLLauncher/DLLLauncherMain.cpp: 2020-03-24 Ryan Haddad Unreviewed test gardening for iOS API tests. * TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm: (TEST): * TestWebKitAPI/Tests/ios/FocusPreservationTests.mm: (TestWebKitAPI::TEST): 2020-03-26 Daniel Bates WebPage::selectPositionAtPoint() does not focus an element in a non-focused frame https://bugs.webkit.org/show_bug.cgi?id=209559 Reviewed by Wenson Hsieh. Add a test. * TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm: (TEST): 2020-03-26 Fujii Hironori WebKitTestRunner should enable ResourceLoadStatistics also for non-Cocoa ports https://bugs.webkit.org/show_bug.cgi?id=209410 Reviewed by Youenn Fablet. Cocoa WebKitTestRunner always enables ResourceLoadStatistics. Other ports should do so. * WebKitTestRunner/TestController.cpp: (WTR::TestController::platformAdjustContext): Enable ResourceLoadStatistics by using WKWebsiteDataStoreSetResourceLoadStatisticsEnabled. 2020-03-26 Kate Cheney Guard AppBound domain protections with PLATFORM(iOS_FAMILY) https://bugs.webkit.org/show_bug.cgi?id=209615 Reviewed by Darin Adler. Tests should only be run on iOS. * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: 2020-03-26 Aakash Jain [ews] status-bubble for tester queues should point to tester queue while waiting in queue (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=209598 Unreviewed follow-up fix. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._build_bubble): Display the tester name in tester's status-bubble hover-over message. 2020-03-26 Aakash Jain [ews] status-bubble for tester queues should point to tester queue while waiting in queue https://bugs.webkit.org/show_bug.cgi?id=209598 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._build_bubble): 2020-03-26 Chris Fleizach AX: WKTR: Don't update isolated tree mode behavior if not required https://bugs.webkit.org/show_bug.cgi?id=209555 Reviewed by Darin Adler. If the isolated tree mode has not changed, then we should not poke at the mechanisms for turning it on/off. This might have the side effect of turning on accessibility unexpectedly. * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: (WTR::AccessibilityController::setAccessibilityIsolatedTreeMode): 2020-03-26 Philippe Normand [Flatpak SDK] Pass all the arguments of build-webkit to webkit-flatpak https://bugs.webkit.org/show_bug.cgi?id=209558 Reviewed by Žan Doberšek. When using flatpak some of the arguments we pass to build-webkit are not meant to be used by that script but by webkit-flatpak. However we are not passing all of them to webkit-flatpak but just the configuration ones (port, release/debug...). This means that all the arguments that configure the behaviour of webkit-flatpak are lost. * Scripts/webkitdirs.pm: (runInFlatpak): Filter-out Flatpak SDK-specific arguments to a separate array, passed to webkit-flatpak. 2020-03-26 Commit Queue Unreviewed, reverting r259035. https://bugs.webkit.org/show_bug.cgi?id=209597 broke windows layout-tests (Requested by aakashjain on #webkit). Reverted changeset: "[Win] lld-link: error: /manifestdependency: is not allowed in .drectve" https://bugs.webkit.org/show_bug.cgi?id=204831 https://trac.webkit.org/changeset/259035 2020-03-26 Philippe Normand [Flatpak SDK] update-webkitgtk-libs fails https://bugs.webkit.org/show_bug.cgi?id=209546 Reviewed by Žan Doberšek. Simplify the code a bit, add a `--assumeyes` argument to the `flatpak update` command to make it non-interactive and improve error handling/reporting a bit as well. * flatpak/flatpakutils.py: (FlatpakObject.flatpak): (WebkitFlatpak.main): (WebkitFlatpak.run): (WebkitFlatpak.install_all): (WebkitFlatpak.update_all): Deleted. 2020-03-26 Philippe Normand [Flatpak SDK] Crash post-mortem debugging is broken https://bugs.webkit.org/show_bug.cgi?id=209537 Reviewed by Žan Doberšek. webkit-flatpak --gdb now properly launches gdb to inspect the last crash reported to coredumpctl. The -m argument can be used to select another crash dump. * flatpak/flatpakutils.py: (WebkitFlatpak.clean_args): (WebkitFlatpak.run_in_sandbox): (WebkitFlatpak.run_gdb): 2020-03-25 Fujii Hironori [Win] lld-link: error: /manifestdependency: is not allowed in .drectve https://bugs.webkit.org/show_bug.cgi?id=204831 Reviewed by Ross Kirsling. * TestWebKitAPI/win/main.cpp: * win/DLLLauncher/DLLLauncherMain.cpp: 2020-03-25 Alexey Shvayka Invalid numeric and named references should be early syntax errors https://bugs.webkit.org/show_bug.cgi?id=178175 Reviewed by Ross Kirsling. Removes FIXME as YarrParser is correct not to throw errors as it is parsing in non-Unicode mode. Also adds a few named groups tests. * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: 2020-03-25 Zhifei Fang [Timeline] A better default get label function, which fit the assumpation the label is always a string https://bugs.webkit.org/show_bug.cgi?id=209567 Reviewed by Jonathan Bedard. * resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js: 2020-03-25 Zhifei Fang [Timeline] Fix the out of bound dot index https://bugs.webkit.org/show_bug.cgi?id=209492 Reviewed by Jonathan Bedard. * resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js: (Timeline.CanvasSeriesComponent): 2020-03-25 Daniel Bates Element context character rects may be in wrong coordinate system https://bugs.webkit.org/show_bug.cgi?id=209493 Reviewed by Wenson Hsieh. Add some tests. * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm: (TEST): 2020-03-25 Doug Kelly Unreviewed, add new committer to contributors.json * Scripts/webkitpy/common/config/contributors.json: 2020-03-25 Frank Yang Unprefix -webkit-text-orientation https://bugs.webkit.org/show_bug.cgi?id=196139 Reviewed by Myles C. Maxfield. This change is made to add the extra flag "related-property" in CSSProperty.json in the jsonchecker so that the jsonchecker would not complain about unrecognized key * Scripts/webkitpy/style/checkers/jsonchecker.py: added check for related-property (JSONCSSPropertiesChecker.check_codegen_properties): 2020-03-25 Aakash Jain [ews] commit-queue should comment on bug if it fails to find any modified ChangeLog https://bugs.webkit.org/show_bug.cgi?id=209550 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (FindModifiedChangeLogs): Set haltOnFailure to false. (FindModifiedChangeLogs.getResultSummary): (FindModifiedChangeLogs.evaluateCommand): Add build steps to comment on bug and set cq- on patch appropriately. * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests. 2020-03-25 Aakash Jain [ews] status-bubble should link to buildbot queue while waiting in queue https://bugs.webkit.org/show_bug.cgi?id=209543 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._build_bubble): Link to buildbot queue whil patch is waiting in queue. * BuildSlaveSupport/ews-app/ews/common/buildbot.py: (Buildbot.update_icons_for_queues_mapping): Generate the mapping for shortname to full queue name. 2020-03-25 Ting-Wei Lan [GTK] Add user agent quirk for auth.mayohr.com https://bugs.webkit.org/show_bug.cgi?id=209378 Reviewed by Michael Catanzaro. * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp: (TestWebKitAPI::assertUserAgentForURLHasNoSafariVersionQuirk): (TestWebKitAPI::TEST): 2020-03-24 Daniel Bates Unreviewed, reverting r258945. Revert change that broke API tests while I investigate offline. Reverted changeset: "Element context character rects may be in wrong coordinate system" https://bugs.webkit.org/show_bug.cgi?id=209493 https://trac.webkit.org/changeset/258945 2020-03-24 Jiewen Tan Unreviewed, skips a test for iOS * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: 2020-03-24 Jonathan Bedard results.webkit.org: Documentation for uncollapsed failure endpoints is wrong https://bugs.webkit.org/show_bug.cgi?id=209496 Rubber-stamped by Aakash Jain. * resultsdbpy/resultsdbpy/view/templates/documentation.html: 2020-03-24 Jonathan Bedard results.webkit.org: Filter suite results by expectation by default https://bugs.webkit.org/show_bug.cgi?id=209500 Rubber-stamped by Aakash Jain. * resultsdbpy/resultsdbpy/view/static/js/timeline.js: Allow the Legend constructor to set a willFilterExpected default. * resultsdbpy/resultsdbpy/view/templates/suite_results.html: 2020-03-24 Per Arne Vollan [Cocoa] Fix launch time regression with CF prefs direct mode enabled https://bugs.webkit.org/show_bug.cgi?id=209244 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm: (TEST): (sharedInstanceMethodOverride): 2020-03-24 Jonathan Bedard results.webkit.org: Correct UUID capitalization in documentation https://bugs.webkit.org/show_bug.cgi?id=209497 Reviewed by Aakash Jain. * resultsdbpy/resultsdbpy/view/templates/documentation.html: 2020-03-24 Aakash Jain [ews] commit-queue should comment on bug if it fails to create git commit https://bugs.webkit.org/show_bug.cgi?id=209487 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (CreateLocalGITCommit): (CreateLocalGITCommit.start): (CreateLocalGITCommit.evaluateCommand): * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests. 2020-03-24 Daniel Bates Element context character rects may be in wrong coordinate system https://bugs.webkit.org/show_bug.cgi?id=209493 Reviewed by Wenson Hsieh. Add some tests. * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm: (TEST): 2020-03-24 Aakash Jain [ews] position in queue shown in status-bubble is larger than actual position https://bugs.webkit.org/show_bug.cgi?id=209481 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._queue_position): Use created timestamp instead of modified. 2020-03-24 Daniel Bates [iOS][WK2] Set text trait isSingleLineDocument https://bugs.webkit.org/show_bug.cgi?id=209391 Reviewed by Darin Adler. Add a test. * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/ios/UIKitSPI.h: Expose more SPI. 2020-03-24 Alex Christensen Unreviewed, reverting r258862. SPI was not what was needed Reverted changeset: "Add SPI to move localStorage to a different domain" https://bugs.webkit.org/show_bug.cgi?id=209260 https://trac.webkit.org/changeset/258862 2020-03-24 Chris Lord [GTK][WPE] WEB_PROCESS_CMD_PREFIX and others have stopped working https://bugs.webkit.org/show_bug.cgi?id=209478 Make sure *_PROCESS_CMD_PREFIX variables are whitelisted in the Flatpak sandbox. Reviewed by Philippe Normand. * flatpak/flatpakutils.py: (WebkitFlatpak.run_in_sandbox): 2020-03-23 Simon Fraser [mac-wk1] fast/scrolling/arrow-key-scroll-in-rtl-document.html is a flaky timeout https://bugs.webkit.org/show_bug.cgi?id=209427 Reviewed by Wenson Hsieh. 0 => NULL * DumpRenderTree/mac/DumpRenderTree.mm: (invalidateAnyPreviousWaitToDumpWatchdog): 2020-03-23 Dean Jackson webkitpy Git class must expose the repository URL https://bugs.webkit.org/show_bug.cgi?id=209439 Reviewed by Simon Fraser. Some internal tools were relying on the svn_url() method that was changed/removed in r258164. Add a replacement. * Scripts/webkitpy/common/checkout/scm/git.py: (Git.svn_repository_url): 2020-03-23 Alex Christensen Fix memory leak introduced in r257726 https://bugs.webkit.org/show_bug.cgi?id=208399 Reviewed by John Wilander. * WebKitTestRunner/TestController.cpp: (WTR::TestController::websiteDataStore): We were leaking page configurations. 2020-03-23 John Wilander Add the capability to change all of a website's cookies to SameSite=Strict https://bugs.webkit.org/show_bug.cgi?id=209369 Reviewed by Alex Christensen and David Kilzer. These changes add TestRunner function statisticsSetToSameSiteStrictCookies(). * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessageToPage): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::statisticsSetToSameSiteStrictCookies): (WTR::TestRunner::statisticsCallDidSetToSameSiteStrictCookiesCallback): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::setStatisticsToSameSiteStrictCookies): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): (WTR::TestInvocation::didSetToSameSiteStrictCookies): * WebKitTestRunner/TestInvocation.h: 2020-03-23 Nikos Mouchtaris Uneviewed, added myself to contributors.json. * Scripts/webkitpy/common/config/contributors.json: 2020-03-23 Daniel Bates Support inserting text or dictation alternative by simulating keyboard input https://bugs.webkit.org/show_bug.cgi?id=209380 Reviewed by Darin Adler. Add tests to ensure that DOM events are dispatched on insertion when shouldSimulateKeyboardInput is enabled. I also added a convenience assertion function, EXPECT_NS_EQUAL, that can compare NSObjects so long as they implement -isEqual and -description. I make use of this to compare the actual array of fired DOM events types to an expected array. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: (TestWebKitAPI::shouldSimulateKeyboardInputOnTextInsertionOverride): (TestWebKitAPI::TEST): * TestWebKitAPI/cocoa/TestCocoa.h: (TestWebKitAPI::Util::assertNSObjectsAreEqual): Added. (EXPECT_NS_EQUAL): Added. * TestWebKitAPI/ios/insert-text.html: Added. 2020-03-23 Kate Cheney Add checks for app-bound navigations when evaluating user style sheets https://bugs.webkit.org/show_bug.cgi?id=209368 Reviewed by Brent Fulgham. Tested cases based on those in UserContentController.mm. * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: (-[InAppBrowserSchemeHandler webView:startURLSchemeTask:]): (expectScriptEvaluatesToColor): (TEST): 2020-03-23 Alex Christensen Add SPI to move localStorage to a different domain https://bugs.webkit.org/show_bug.cgi?id=209260 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): 2020-03-23 youenn fablet Disable TestWebKitAPI.ProcessSwap.GetUserMediaCaptureState if getUserMedia is not supported https://bugs.webkit.org/show_bug.cgi?id=209428 Reviewed by Jonathan Bedard. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2020-03-23 Chris Lord Add missing committer status to Chris Lord in contributors.json Unreviewed * Scripts/webkitpy/common/config/contributors.json: 2020-03-23 youenn fablet StringView::startsWith and String::startsWith do not treat null strings the same https://bugs.webkit.org/show_bug.cgi?id=209273 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WTF/StringView.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WTF/WTFString.cpp: (TestWebKitAPI::TEST): 2020-03-22 Antoine Quint DocumentTimeline / CSSTransition objects are leaking on CNN.com https://bugs.webkit.org/show_bug.cgi?id=208069 Reviewed by Simon Fraser, Geoffrey Garen and Darin Adler. Add a test that checks that a ListHashSet containing RefPtr<> types correctly calls the destructor for those items when the assignment operator is used. * TestWebKitAPI/Tests/WTF/ListHashSet.cpp: (TestWebKitAPI::ListHashSetReferencedItem::create): (TestWebKitAPI::ListHashSetReferencedItem::ListHashSetReferencedItem): (TestWebKitAPI::ListHashSetReferencedItem::~ListHashSetReferencedItem): (TestWebKitAPI::FakeElementAnimationRareData::FakeElementAnimationRareData): (TestWebKitAPI::FakeElementAnimationRareData::~FakeElementAnimationRareData): (TestWebKitAPI::FakeElementAnimationRareData::collection): (TestWebKitAPI::FakeElementAnimationRareData::setCollection): (TestWebKitAPI::TEST): 2020-03-21 Michael Catanzaro [GTK] Use ${PYTHON_EXECUTABLE} to run generate-gtkdoc https://bugs.webkit.org/show_bug.cgi?id=208970 Reviewed by Konstantin Tokarev. We are allowed to use /usr/bin/env in this script because it's not installed (so not packaged). Therefore we can make the shebang compatible with FreeBSD in this particularl case. * gtkdoc/generate-gtkdoc: 2020-03-20 Jonathan Bedard run-webkit-tests: Report MacCatalyst as a unique platform https://bugs.webkit.org/show_bug.cgi?id=209361 Rubber-stamped by Aakash Jain. * Scripts/webkitpy/port/mac.py: (MacCatalystPort): (MacCatalystPort.configuration_for_upload): Treat MacCatalyst as a separate platform from Mac. 2020-03-20 Alex Christensen CORS-disabling SPI introduced in r253978 should make responses non-opaque https://bugs.webkit.org/show_bug.cgi?id=209351 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: 2020-03-20 Aakash Jain commit-queue should skip building and testing if patch already passed tests on mac-wk2 queue https://bugs.webkit.org/show_bug.cgi?id=208938 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (RunWebKitTests.doStepIf): Skip testing if patch already passed mac-wk2 tests. (CheckPatchStatusOnEWSQueues): Build-step to check patch status on other queues. (CheckPatchStatusOnEWSQueues.get_patch_status): (CheckPatchStatusOnEWSQueues.start): * BuildSlaveSupport/ews-build/steps_unittest.py: (test_skip_for_mac_wk2_passed_patch_on_commit_queue): Added unit-tests. * BuildSlaveSupport/ews-build/factories.py: Added build-step to check the patch status on other queues. * BuildSlaveSupport/ews-build/factories_unittest.py: Updated unit-test. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Added the new step status to STEPS_TO_HIDE. 2020-03-20 Aakash Jain [ews] Better organize patch status api data https://bugs.webkit.org/show_bug.cgi?id=209342 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/views/status.py: (Status._build_status): (Status._build_statuses_for_patch): Updated to return dictionary instead of list. (Status.get): Remove safe=false now that we are returning a dictionary. 2020-03-20 Tim Horton Upstream a variety of Cocoa-platform HAVE and ENABLE macros https://bugs.webkit.org/show_bug.cgi?id=209307 Reviewed by Andy Estes. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2020-03-20 Jacob Uphoff Unreviewed, reverting r258748. This commit broke the Catalina build Reverted changeset: "Upstream a variety of Cocoa-platform HAVE and ENABLE macros" https://bugs.webkit.org/show_bug.cgi?id=209307 https://trac.webkit.org/changeset/258748 2020-03-20 Aakash Jain [ews] commit-queue should comment on bug if patch fails to apply https://bugs.webkit.org/show_bug.cgi?id=209334 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (ApplyPatch): (ApplyPatch.evaluateCommand): Overridden to check build status and queue name and comment on bug accordingly. * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests. (TestApplyPatch): (TestApplyPatch.setUp): (TestApplyPatch.setUp.mock_start): (TestApplyPatch.tearDown): (TestApplyPatch.test_success): (TestApplyPatch.test_failure): (TestApplyPatch.test_failure_on_commit_queue): 2020-03-20 Aakash Jain [EWS] Limit number of builds to display in status-bubble hover over message in case of lot of retried builds https://bugs.webkit.org/show_bug.cgi?id=209122 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._build_bubble): 2020-03-19 Tim Horton Upstream a variety of Cocoa-platform HAVE and ENABLE macros https://bugs.webkit.org/show_bug.cgi?id=209307 Reviewed by Andy Estes. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2020-03-19 Alex Christensen Remove test failing after r258734 https://bugs.webkit.org/show_bug.cgi?id=209303 We removed the functionality it was testing because it did nothing useful except call the callback. I'm about to remove the only user of WKContextGetStatistics. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/WebCoreStatisticsWithNoWebProcess.cpp: Removed. 2020-03-19 Aakash Jain commit-queue status-bubble shows incorrect position in queue https://bugs.webkit.org/show_bug.cgi?id=209313 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._queue_position): 2020-03-19 Takashi Komori [Curl] Add an API returns description of verification errors. https://bugs.webkit.org/show_bug.cgi?id=208913 Reviewed by Fujii Hironori. WKCertificateInfoCopyVerificationErrorDescription returns the description of SSL verification error as human readable string. Browser can display more precise error information with this API. API Test: Curl.CertificateAPI * MiniBrowser/win/Common.cpp: (askServerTrustEvaluation): * MiniBrowser/win/Common.h: * MiniBrowser/win/WebKitBrowserWindow.cpp: (createPEMString): (WebKitBrowserWindow::canTrustServerCertificate): * TestWebKitAPI/Tests/WebKit/curl/Certificates.cpp: (TestWebKitAPI::Curl::TEST): 2020-03-19 Aakash Jain Update build.webkit.org link for EWS https://bugs.webkit.org/show_bug.cgi?id=209280 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/templates/root.html: 2020-03-19 Stephan Szabo [WinCairo] extract-built-product fails after r258612 https://bugs.webkit.org/show_bug.cgi?id=209285 extractBuiltProduct also references the old name for the requirements on wincairo. Reviewed by Ross Kirsling. * BuildSlaveSupport/built-product-archive: 2020-03-19 Philippe Normand [Flatpak SDK] Release logs not sent to journald when running within the SDK runtime https://bugs.webkit.org/show_bug.cgi?id=209223 Reviewed by Carlos Alberto Lopez Perez. flatpak build doesn't expose a --socket option for white-listing the systemd journal socket. So white-list everything in /run. 🤷 * flatpak/flatpakutils.py: (WebkitFlatpak.run_in_sandbox): 2020-03-19 Charlie Turner Fix many warnings with Clang 7.0 on GTK x86-64 in Debug. https://bugs.webkit.org/show_bug.cgi?id=209146 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebCore/TransformationMatrix.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp: (testDownloadMIMEType): (testContextMenuDownloadActions): * TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp: 2020-03-19 Carlos Garcia Campos [GTK][WPE] REGRESSION(r258626): flatpak is used even when WEBKIT_JHBUILD is set https://bugs.webkit.org/show_bug.cgi?id=209278 Reviewed by Philippe Normand. This happens when using an external jhbuild, because shouldUseFlatpak() assumes that no command prefix always means flatpak. * Scripts/webkitdirs.pm: (shouldUseFlatpak): Return early if WEBKIT_JHBUILD is set. 2020-03-19 Philippe Normand [CMake] cache not cleared when build-webkit options change https://bugs.webkit.org/show_bug.cgi?id=209277 Reviewed by Adrian Perez de Castro. * Scripts/webkitdirs.pm: (shouldRemoveCMakeCache): The expected function signature never included the cache file path. Remove it. 2020-03-18 Philippe Normand REGRESSION(r258626): webkit-dirs warning https://bugs.webkit.org/show_bug.cgi?id=209221 Reviewed by Adrian Perez de Castro. * Scripts/webkitdirs.pm: (buildCMakeProjectOrExit): Fix Perl Warning. 😎 2020-03-19 Chris Lord Add Chris Lord (clord@igalia.com) to the list of contributors https://bugs.webkit.org/show_bug.cgi?id=209274 Unreviewed * Scripts/webkitpy/common/config/contributors.json: 2020-03-19 Ryan Haddad Remove commit queue bubble from bot watchers dashboard https://bugs.webkit.org/show_bug.cgi?id=209271 Reviewed by Alexey Proskuryakov. Remove commit queue bubble from bot watchers dashboard now that it has moved to the new EWS. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: (BubbleQueueServer): 2020-03-18 Simon Fraser eventSender.monitorWheelEvents() is very fragile https://bugs.webkit.org/show_bug.cgi?id=197819 Reviewed by Tim Horton. Deflake tests using eventSender.monitorWheelEvents() by fixing several causes of flakiness, adding back changes from r257844 that were reverted in r258558. First, have EventSendingController keep track of whether it's seen then "end" event for the scrolling and momentum phases, and pass this down to WheelEventTestMonitor, which now waits until it sees these, which prevents premature triggering which was a common cause of failure before. Second, remove WheelEventTestMonitor's 1/60s timer and instead have WheelEventTestMonitor test for completion in a callout from the end of Page::updateRendering(), which makes it test and fire at a more consistent time. Third, push WheelEventTestMonitor to the ScrollingTree, so that reasons for deferral can be added on the scrolling thread. This fixes an issue where the RunLoop::main().dispatch() used to send the "ScrollingThreadSyncNeeded" reason to the main thread would get delayed, also resulting in a premature trigger. * DumpRenderTree/mac/EventSendingController.h: * DumpRenderTree/mac/EventSendingController.mm: (-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]): (-[EventSendingController monitorWheelEvents]): (-[EventSendingController callAfterScrollingCompletes:]): * DumpRenderTree/win/EventSender.cpp: (mouseScrollBy): * WebKitTestRunner/InjectedBundle/EventSendingController.cpp: (WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases): (WTR::EventSendingController::monitorWheelEvents): (WTR::EventSendingController::callAfterScrollingCompletes): * WebKitTestRunner/InjectedBundle/EventSendingController.h: 2020-03-18 John Wilander WebResourceLoadStatisticsStore::requestStorageAccessUnderOpener() should call its ephemeral counterpart when appropriate https://bugs.webkit.org/show_bug.cgi?id=209245 Reviewed by Chris Dumez. These changes to the TestRunner makes sure that - statisticsClearInMemoryAndPersistentStore() - statisticsClearInMemoryAndPersistentStoreModifiedSinceHours() ... use their own StatisticsDidClearInMemoryAndPersistentStoreCallbackID and adds the infrastructure for that. * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessageToPage): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::statisticsClearInMemoryAndPersistentStore): (WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): (WTR::TestRunner::statisticsCallClearInMemoryAndPersistentStoreCallback): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::statisticsClearInMemoryAndPersistentStore): (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didClearStatisticsInMemoryAndPersistentStore): * WebKitTestRunner/TestInvocation.h: 2020-03-18 Wenson Hsieh REGRESSION (r257214): Targeted preview animates to the wrong place when dropping in editable content https://bugs.webkit.org/show_bug.cgi?id=209218 Reviewed by Tim Horton. Augment the drag and drop test harness to verify that for all targeted previews, if they have container views, those views must be parented (i.e. they must be connected to a UIWindow). * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]): (-[DragAndDropSimulator _expectNoDropPreviewsWithUnparentedContainerViews]): (-[DragAndDropSimulator _invokeDropAnimationCompletionBlocksAndConcludeDrop]): 2020-03-18 Aakash Jain [ews] commit-queue should comment on bug in case of test failures https://bugs.webkit.org/show_bug.cgi?id=209226 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (AnalyzeLayoutTestsResults.report_failure): Comment on bug and set cq- in case of test failure on commit-queue. (BuildLogLineObserver.outLineReceived): Drive-by fix to use single quotes instead of double quotes. (SetBuildSummary): Ditto. * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test. 2020-03-18 Philippe Normand REGRESSION (r258626): test262 tests failing to run on macOS with error 'Undefined subroutine &Test262::Runner::setConfiguration' https://bugs.webkit.org/show_bug.cgi?id=209238 Reviewed by Jonathan Bedard. * Scripts/test262-runner: Perform the flatpak check on Linux only. 2020-03-18 Stephan Szabo [WinCairo] archive-built-product fails after r258612 https://bugs.webkit.org/show_bug.cgi?id=209237 Reviewed by Alex Christensen. * BuildSlaveSupport/built-product-archive: Update name of version file for requirements version file for wincairo. 2020-03-18 Aakash Jain commit-queue should allow patches which are reviewed by patch author https://bugs.webkit.org/show_bug.cgi?id=209231 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (BugzillaMixin._does_patch_have_acceptable_review_flag): 2020-03-18 Philippe Normand [JHBuild] Flatpak used for run-minibrowser even when forcing jhbuild https://bugs.webkit.org/show_bug.cgi?id=209222 Reviewed by Carlos Alberto Lopez Perez. * Scripts/webkitdirs.pm: (runInFlatpakIfAvailable): If a command wrapper is required it means Flatpak shouldn't be used. 2020-03-18 Aakash Jain [ews] commit-queue should comment on bug in case patch fails to build https://bugs.webkit.org/show_bug.cgi?id=209227 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (AnalyzeCompileWebKitResults.start): * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test. 2020-03-18 Philippe Normand [GTK][WPE] Migrate to Flatpak-based dev SDK https://bugs.webkit.org/show_bug.cgi?id=205658 Reviewed by Carlos Alberto Lopez Perez. JHBuild will now be used only if the WEBKIT_JHBUILD environment variable is set to 1, which is the case for the time being on the GTK and WPE EWS/build bots. By default the build dependencies are now locally installed from a Flatpak repository hosted at https://software.igalia.com. The repository can be regenerated with the scripts from the webkit-flatpak-sdk Github project (https://github.com/Igalia/webkit-flatpak-sdk). This is done transparently with the update-webkit{gtk,wpe}-libs scripts. As there is no need to rebuild the dependencies from scratch, the developer user-experience should now be much more friendly and overall build times reduced. As an additional commodity, the new environment supports the GStreamer gst-build-based workflow. Just set the GST_BUILD_PATH environment variable to your gst-build path. This feature was contributed by Thibault Saunier. The JHBuild infrastructure will be removed once all the bots have been switched over to Flatpak. * BuildSlaveSupport/ews-build/steps.py: (InstallGtkDependencies): (InstallWpeDependencies): (CompileWebKit.start): * BuildSlaveSupport/gtk/buildbot/run: * Scripts/build-webkit: * Scripts/run-bindings-tests: * Scripts/run-builtins-generator-tests: * Scripts/run-gtk-tests: * Scripts/run-javascriptcore-tests: * Scripts/run-minibrowser: * Scripts/run-qt-wpe-minibrowser: * Scripts/run-webdriver-tests: * Scripts/run-wpe-tests: * Scripts/test-webkitperl: * Scripts/test-webkitpy: * Scripts/test262-runner: * Scripts/update-webkit-flatpak: Renamed from Tools/Scripts/update-webkitgtk-flatpak. * Scripts/update-webkitgtk-libs: * Scripts/update-webkitwpe-flatpak: Removed. * Scripts/update-webkitwpe-libs: * Scripts/webkitdirs.pm: (getUserFlatpakPath): (inFlatpakSandbox): (runInFlatpakIfAvailable): (wrapperPrefixIfNeeded): (shouldUseJhbuild): (shouldUseFlatpak): (shouldRemoveCMakeCache): * Scripts/webkitpy/common/system/executive.py: (Executive.kill_all): * Scripts/webkitpy/port/base.py: (Port._path_to_apache): (Port._should_run_as_pixel_test): (Port._in_flatpak_sandbox): * Scripts/webkitpy/port/gtk.py: (GtkPort.setup_environ_for_server): (GtkPort._get_crash_log): * Scripts/webkitpy/port/linux_get_crash_log.py: (GDBCrashLogGenerator): (GDBCrashLogGenerator.__init__): (GDBCrashLogGenerator.generate_crash_log): * Scripts/webkitpy/port/linux_get_crash_log_unittest.py: (GDBCrashLogGeneratorTest.test_generate_crash_log): * Scripts/webkitpy/port/wpe.py: (WPEPort.setup_environ_for_server): (WPEPort._get_crash_log): * Scripts/webkitpy/port/xvfbdriver.py: (XvfbDriver._setup_environ_for_test): * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp: (WTR::getFontsPath): * WebKitTestRunner/InjectedBundle/wpe/ActivateFontsWPE.cpp: (WTR::getFontsPath): * flatpak/files/default.xkm: Removed. * flatpak/files/httpd-autogen.sh: Removed. * flatpak/flatpakutils.py: (check_flatpak): (FlatpakRepos.update): (FlatpakPackage.__repr__): (FlatpakPackage.__str__): (WebkitFlatpak.load_from_args): (WebkitFlatpak.__init__): (WebkitFlatpak.clean_args): (WebkitFlatpak.setup_builddir): (WebkitFlatpak): (WebkitFlatpak.setup_gstbuild): (WebkitFlatpak.run_in_sandbox): (WebkitFlatpak.run): (WebkitFlatpak.has_environment): (WebkitFlatpak.save_config): (WebkitFlatpak.setup_dev_env): (WebkitFlatpak.install_all): (WebkitFlatpak.run_gdb): * flatpak/org.webkit.CommonModules.yaml: Removed. * flatpak/org.webkit.GTK.yaml: Removed. * flatpak/org.webkit.WPE.yaml: Removed. * flatpak/org.webkit.WPEModules.yaml: Removed. * flatpak/org.webkit.WPEQT.yaml: Removed. * flatpak/org.webkit.WebKit.yaml: Removed. * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Removed. * flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Removed. * flatpak/patches/xvfb-0001-HACK-Avoid-compiling-a-kbm-file.patch: Removed. 2020-03-17 Kate Cheney Expand In-App-Browser-Privacy testing https://bugs.webkit.org/show_bug.cgi?id=209142 Reviewed by Darin Adler. Expanded test coverage by adding new tests and creating a custom url scheme handler to get around the fact that local file loads are always classified as app-bound. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: (-[InAppBrowserSchemeHandler webView:startURLSchemeTask:]): If the path indicates testing user scripts on load, notify the script message handler that the navigation has finished. If the path indicates testing user-agent scripts, set the window.wkUserScriptInjected variable to true. A user agent script will attempt to read this variable and should fail. (-[InAppBrowserSchemeHandler webView:stopURLSchemeTask:]): (initializeInAppBrowserPrivacyTestSettings): Basic test setup. Initialize the main run loop and make sure we are starting with a clean state. (TEST): Add tests for all protocols checked in shouldBeTreatedAsAppBound, except for blob files which must be generated within the web content. * TestWebKitAPI/Tests/WebKitCocoa/in-app-browser-privacy-local-file.html: Added. Basic html document to test local file loads are classified as app-bound. * TestWebKitAPI/Tests/WebKitCocoa/in-app-browser-privacy-test-user-agent-script.html: Removed. * TestWebKitAPI/Tests/WebKitCocoa/in-app-browser-privacy-test-user-script.html: Removed. These files are no longer needed as their content is directly copied into the URL scheme handler. 2020-03-17 Chris Dumez REGRESSION: [ macOS wk1 ] ASSERTION FAILED: _notifications.contains(notificationID) imported/w3c/web-platform-tests/notifications/constructor-basic.html is flaky crashing https://bugs.webkit.org/show_bug.cgi?id=207307 Reviewed by Alex Christensen. When [MockWebNotificationProvider reset] was called at the end of the test, it would remove all notifications from the map but not tell WebCore that the notification were discarded. As a result, WebCore would later tell the MockWebNotificationProvider to cancel the notification but this notification would no longer be in the map, causing us to hit an assertion in debug. To address the issue, we now call Notification::finalize() in [MockWebNotificationProvider reset] to let WebCore know the notification was discarded. This is similar to what is already done for WebKit2 in WebNotificationManager::clearNotifications(). * DumpRenderTree/mac/MockWebNotificationProvider.mm: (-[MockWebNotificationProvider reset]): 2020-03-17 Don Olmstead [WinCairo][FTW] Update path to requirements download https://bugs.webkit.org/show_bug.cgi?id=209202 Reviewed by Ross Kirsling. Repository was renamed from WinCairoRequirements to WebKitRequirements in the WebKitForWindows org on GitHub. Additionally the .zip file was renamed to WebKitRequirementsWin64.zip. * Scripts/update-webkit-wincairo-libs.py: 2020-03-17 Aakash Jain [ews] Resubmit patches to commit-queue which were cq- by commit-queue and later cq+ https://bugs.webkit.org/show_bug.cgi?id=208920 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/common/buildbot.py: (Buildbot.update_builder_name_to_id_mapping): Method to generate builder name to id mapping. (Buildbot.fetch_pending_and_inprogress_builds): Method to fetch pendign and in-progress builds from buildbot. (Buildbot.get_patches_in_queue): Method to fetch list of patches which are pending or are in-progress on buildbot. * BuildSlaveSupport/ews-app/ews/common/bugzilla.py: (Bugzilla.get_cq_plus_timestamp): Get UTC timestamp when cq+ flag was set. * BuildSlaveSupport/ews-app/ews/fetcher.py: (FetchLoop.run): Update builder name to id mapping. We just need to update it one-time, since we need the id only for commit-queue which isn't expected to change. (BugzillaPatchFetcher.fetch_commit_queue_patches): (BugzillaPatchFetcher.send_patches_to_buildbot): Allow sending the patch again to commit-queue. (BugzillaPatchFetcher.patches_to_send_to_commit_queue): Find patches which needs to be sent to commit-queue. Filter out patches which are already waiting or in-progress on commit-queue, or whose recent build was completed after setting cq+ flag on bugzilla. 2020-03-17 Chris Dumez [WKTR] testRunner API that takes in a completion handler should use async IPC https://bugs.webkit.org/show_bug.cgi?id=209187 Reviewed by John Wilander. testRunner API that takes in a completion handler should use async IPC. This hangs the WebProcess for no reason and can cause deadlocks if the UIProcess then tries to IPC the WebProcess as a result of this testRunner call. * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setStatisticsHasHadUserInteraction): (WTR::TestRunner::statisticsUpdateCookieBlocking): (WTR::TestRunner::statisticsClearInMemoryAndPersistentStore): (WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): (WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval): (WTR::TestRunner::setStatisticsShouldDowngradeReferrer): (WTR::TestRunner::setStatisticsFirstPartyWebsiteDataRemovalMode): (WTR::TestRunner::statisticsResetToConsistentState): (WTR::TestRunner::getAllStorageAccessEntries): (WTR::TestRunner::removeAllSessionCredentials): (WTR::TestRunner::getApplicationManifestThen): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2020-03-17 Aakash Jain [ews-app] Timestamp shown in status-bubble hover-over message is in future https://bugs.webkit.org/show_bug.cgi?id=196628 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/events.py: (JSONProducer.json_serialize_datetime): Keep the timestamp in UTC, instead of converting it to local time zone. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble.get_all_builds_for_queue): Sort the queues based on build number instead of start time, since the timestamps for new builds might be less than timestamps for old builds which completed immediately prior to this change. 2020-03-17 Alex Christensen Add WKUIDelegatePrivate SPI _webView:printFrame:completionHandler: https://bugs.webkit.org/show_bug.cgi?id=209192 Reviewed by Geoff Garen. * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm: (-[PrintDelegateWithCompletionHandler _webView:printFrame:completionHandler:]): (-[PrintDelegateWithCompletionHandler waitForPrintFrameCall]): (TEST): 2020-03-17 Chris Dumez Use less sync IPC for ITP testRunner methods https://bugs.webkit.org/show_bug.cgi?id=209184 Reviewed by Alex Christensen. * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setStatisticsDebugMode): (WTR::TestRunner::setStatisticsPrevalentResourceForDebugMode): (WTR::TestRunner::setStatisticsLastSeen): (WTR::TestRunner::setStatisticsMergeStatistic): (WTR::TestRunner::setStatisticsPrevalentResource): (WTR::TestRunner::setStatisticsVeryPrevalentResource): (WTR::TestRunner::installStatisticsDidScanDataRecordsCallback): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2020-03-17 Chris Dumez [WKTR] Crash when trying to open a new window in an ephemeral session test https://bugs.webkit.org/show_bug.cgi?id=209181 Reviewed by Geoffrey Garen. Make sure that the new WKWebView is using the same data store as its related WKWebView. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateOtherPage): 2020-03-17 Jacob Uphoff Unreviewed, reverting r257844. this revision caused a test to start timing out Reverted changeset: "(r256513) [ Mac ] fast/scrolling/programmatic-scroll-to-zero- zero.html is a flaky failure" https://bugs.webkit.org/show_bug.cgi?id=207948 https://trac.webkit.org/changeset/257844 2020-03-16 Justin Michaud Add personal email to Tools/Scripts/webkitpy/common/config/contributors.json https://bugs.webkit.org/show_bug.cgi?id=209151 Reviewed by Yusuke Suzuki. * Scripts/webkitpy/common/config/contributors.json: 2020-03-16 Chris Dumez Crash under WebCookieCache::clearForHost() https://bugs.webkit.org/show_bug.cgi?id=209149 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/CookiePrivateBrowsing.mm: (TEST): 2020-03-16 Keith Rollin Remove support for WebKitSystemInterface https://bugs.webkit.org/show_bug.cgi?id=208894 Reviewed by Brent Fulgham. This project provided support for facilities that are now handled elsewhere and is no longer needed. * Scripts/copy-webkitlibraries-to-product-directory: 2020-03-16 Per Arne Vollan [macOS] Accessibility sandbox regressions https://bugs.webkit.org/show_bug.cgi?id=209065 Reviewed by Brent Fulgham. * TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm: (TEST): * TestWebKitAPI/Tests/WebKit/GrantAccessToPreferencesService.mm: (TEST): 2020-03-16 Ryan Haddad Unreviewed infrastructure fix. * BuildSlaveSupport/ews-build/config.json: Temporarily remove ews114 while the hardware is out for repair. 2020-03-13 Sergio Villar Senin [WebXR] IDLs, stubs and build configuration for WPE https://bugs.webkit.org/show_bug.cgi?id=208702 Reviewed by Dean Jackson. * Scripts/webkitperl/FeatureList.pm: Added WebXR. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Added ENABLE_WEBXR, off by default. 2020-03-16 Per Arne Vollan [Cocoa] Limit set of classes that can be decoded when a preference has changed https://bugs.webkit.org/show_bug.cgi?id=208012 Reviewed by Brent Fulgham. * TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm: (TEST): 2020-03-16 youenn fablet Unique origins should not be Potentially Trustworthy https://bugs.webkit.org/show_bug.cgi?id=209049 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp: (TestWebKitAPI::TEST_F): 2020-03-15 Fujii Hironori KeyedDecoderGeneric fails to allocate Vector while decoding broken data https://bugs.webkit.org/show_bug.cgi?id=207324 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebCore/KeyedCoding.cpp: (TestWebKitAPI::generateRandomData): Added. (TestWebKitAPI::KeyedCoding.DecodeRandomData): Added a new test decoding random data. 2020-03-15 Yusuke Suzuki Should not use variable-length-array (VLA) https://bugs.webkit.org/show_bug.cgi?id=209043 Reviewed by Mark Lam. * ContentExtensionTester/Configurations/Base.xcconfig: * lldb/lldbWebKitTester/Configurations/Base.xcconfig: 2020-03-13 Alex Christensen WKWebView._negotiatedLegacyTLS should be correct after back/forward navigations https://bugs.webkit.org/show_bug.cgi?id=209011 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: (TestWebKitAPI::TEST): 2020-03-13 Wenson Hsieh [watchOS] Don’t display empty text suggestions in Quickboard when editing input fields https://bugs.webkit.org/show_bug.cgi?id=209089 Reviewed by Tim Horton. Add an API test for watchOS. Also rename a few occurrences of "Autofill" to "AutoFill", to reflect the official marketing name for the feature. * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (runUntilReceivesAutoplayEvent): Additionally fix the watchOS engineering build for arm64_32, which was failing due to comparisons between 64-bit and 32-bit integers. This is because this function took a `WKAutoplayEvent` (a 32-bit integer), but compared against the `_WKAutoplayEvent` type (an NSInteger that is 64 bits on this architecture). There didn't seem to be any compelling reason to compare against different types here (especially since we only set `receivedAutoplayEvent` under the Objective-C delegate method that provides a `_WKAutoplayEvent`), so I changed these all to be `_WKAutoplayEvent`. * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm: (-[AutoFillTestView _autofillInputView]): (-[AutoFillTestView textInputHasAutoFillContext]): (TestWebKitAPI::TEST): (-[AutofillTestView initWithFrame:]): Deleted. (-[AutofillTestView _autofillInputView]): Deleted. (-[AutofillTestView textInputHasAutofillContext]): Deleted. * TestWebKitAPI/ios/UIKitSPI.h: 2020-03-13 Chris Dumez Unreviewed, reverting r256232. Caused ResizeObserver tests to become flaky Reverted changeset: "[DRT] InternalSettingsGenerated::resetToConsistentState() may override TestOptions" https://bugs.webkit.org/show_bug.cgi?id=207481 https://trac.webkit.org/changeset/256232 2020-03-13 Kate Cheney [ iOS and Mac wk2 ] http/tests/in-app-browser-privacy/ tests failing https://bugs.webkit.org/show_bug.cgi?id=209016 Reviewed by Chris Dumez. Re-initialize the app-bound domains when the correct TestOptions parameter is set. * WebKitTestRunner/TestController.cpp: (WTR::TestController::createWebViewWithOptions): (WTR::TestController::reinitializeAppBoundDomains): * WebKitTestRunner/TestController.h: 2020-03-13 Kate Cheney Report all third party loads on a per-page basis https://bugs.webkit.org/show_bug.cgi?id=209032 Reviewed by Chris Dumez. Mostly naming updates to reflect the change in use for this SPI call. It now returns all loaded third party domains, not just prevalent ones. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessageToPage): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::getLoadedThirdPartyDomains): (WTR::TestRunner::callDidReceiveLoadedThirdPartyDomainsCallback): (WTR::TestRunner::getPrevalentDomains): Deleted. (WTR::TestRunner::callDidReceivePrevalentDomainsCallback): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): (WTR::TestController::getLoadedThirdPartyDomains): (WTR::TestController::clearLoadedThirdPartyDomains): (WTR::TestController::getPrevalentDomains): Deleted. (WTR::TestController::clearPrevalentDomains): Deleted. * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): (WTR::TestInvocation::didReceiveLoadedThirdPartyDomains): (WTR::TestInvocation::didReceivePrevalentDomains): Deleted. * WebKitTestRunner/TestInvocation.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::getLoadedThirdPartyDomains): (WTR::TestController::clearLoadedThirdPartyDomains): (WTR::TestController::getPrevalentDomains): Deleted. (WTR::TestController::clearPrevalentDomains): Deleted. 2020-03-13 Aakash Jain [ews] run FindModifiedChangeLogs early in the build https://bugs.webkit.org/show_bug.cgi?id=209060 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/factories.py: * BuildSlaveSupport/ews-build/factories_unittest.py: Updated unit-test. 2020-03-13 Diego Pino Garcia [GTK] Add EWS testers to run GTK layout tests https://bugs.webkit.org/show_bug.cgi?id=207648 Reviewed by Carlos Alberto Lopez Perez and Aakash Jain. Queue 'GTK-Webkit2-EWS' was renamed to 'GTK-Build-EWS'. A new queue, named 'GTK-WK2-Tests-EWS', was added for WK2 tests (layout tests). * BuildSlaveSupport/ews-build/config.json: Added new queue for WK2 tests. * BuildSlaveSupport/ews-build/factories.py: (GTKTestsFactory): * BuildSlaveSupport/ews-build/factories_unittest.py: (TestCommitQueueFactory.test_commit_queue_factory): (TestGTKFactory): Added unit-test. (TestGTKFactory.test_gtk_factory): * BuildSlaveSupport/ews-build/loadConfig.py: * BuildSlaveSupport/ews-build/loadConfig_unittest.py: (TagsForBuilderTest.test_getTagsForBuilder): 2020-03-13 Aakash Jain Add API endpoint in EWS django app to provide patch status in json format https://bugs.webkit.org/show_bug.cgi?id=208940 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/urls.py: Added url for new api endpoint. * BuildSlaveSupport/ews-app/ews/views/status.py: Added. 2020-03-13 Kate Cheney WebKit2UseRemoteLayerTreeDrawingArea should be reset to NO between layout tests https://bugs.webkit.org/show_bug.cgi?id=209055 Reviewed by Simon Fraser. Now that WebKitTestRunner has a bundleID, its' user default values persist between tests. This patch resets WebKit2UseRemoteLayerTreeDrawingArea to NO before running tests. It will be set to YES in PlatformWebView if specified by the test. * WebKitTestRunner/mac/main.mm: (setDefaultsToConsistentValuesForTesting): 2020-03-13 Konstantin Tokarev [CMake] Eleminate mismatches between Find* module names and variables they set https://bugs.webkit.org/show_bug.cgi?id=208948 Reviewed by Michael Catanzaro. * wpe/backends/CMakeLists.txt: 2020-03-13 Aakash Jain [ews-app] reduce logging https://bugs.webkit.org/show_bug.cgi?id=209062 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/common/bugzilla.py: (BugzillaBeautifulSoup.authenticate): (BugzillaBeautifulSoup._load_query): 2020-03-13 Ryosuke Niwa Crash in TextIterator::node via TextManipulationController::replace https://bugs.webkit.org/show_bug.cgi?id=209048 Reviewed by Wenson Hsieh. Added a regression test. * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: (TextManipulation.CompleteTextManipulationShouldReplaceContentsAroundParagraphWithJustImage): 2020-03-13 Saam Barati Pull in JS tests from "Internal" when there are "Internal" tests in an adjacent directory https://bugs.webkit.org/show_bug.cgi?id=209038 Reviewed by Keith Miller. This allows us to automatically pull in some tests that are in non open sourced Apple checkouts. * Scripts/run-javascriptcore-tests: (runJSCStressTests): 2020-03-12 Ryosuke Niwa Crash in TextManipulationController::replace https://bugs.webkit.org/show_bug.cgi?id=209021 Reviewed by Wenson Hsieh. Added a regression test. * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: (TextManipulation.CompleteTextManipulationShouldReplaceContentFollowedAfterImageInCSSTable): 2020-03-12 Per Arne Vollan [macOS] _AXSApplicationAccessibilityEnabled should not be called https://bugs.webkit.org/show_bug.cgi?id=208953 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: 2020-03-12 Kate Cheney Resource load statistics data summary should return all third party data https://bugs.webkit.org/show_bug.cgi?id=209000 Reviewed by John Wilander. Marked only 2 of 3 domains prevalent in data summary tests to ensure the call returns all third parties, not just prevalent ones. Added a more aggressive check for the size of the array at the beginning of the test to ensure the array is still returning 3 values. Also removed the ASSERT statements as they seem to cause timeouts (not clear crashes) when they are not true, which is hard to debug. If these values are nil, the test will fail in the EXPECT_WK_STREQ checks, we don't need ASSERT statements. * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm: (TEST): 2020-03-12 Jonathan Bedard resultsdpy: Add script to run local instance https://bugs.webkit.org/show_bug.cgi?id=208746 Rubber-stamped by Aakash Jain. * resultsdbpy/resultsdbpy/example: Added. * resultsdbpy/resultsdbpy/example/__init__.py: Added. * resultsdbpy/resultsdbpy/example/environment.py: Added. (Environment): Organize environment variables used by results database. (ModelFromEnvironment): Construct the database model from the environment. (main): Create and drop tables, if required. * resultsdbpy/resultsdbpy/example/main.py: Added. (health): Web-server health check. (handle_errors): (main): Run results database web-server. * resultsdbpy/resultsdbpy/example/worker.py: Added. (main): Asynchronously process uploaded results. * resultsdbpy/resultsdbpy/run: Added. 2020-03-12 Wenson Hsieh run-webkit-tests --use-gpu-process should enable GPU Process for canvas https://bugs.webkit.org/show_bug.cgi?id=209004 Reviewed by Tim Horton. Add "RenderCanvasInGPUProcessEnabled" to the list of internal features that should be enabled when `use_gpu_process` is specified. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): 2020-03-12 Matt Lewis Make flatpack import for run-webkit-tests only happen on linux systems https://bugs.webkit.org/show_bug.cgi?id=208954 Reviewed by Philippe Normand. * Scripts/run-webkit-tests: Added an if statement to find the system platform to determine if we need the flatpackutils import. 2020-03-12 Alex Christensen WKWebView.hasOnlySecureContent should be correct after back/forward navigations https://bugs.webkit.org/show_bug.cgi?id=207609 Reviewed by Ryosuke Niwa. * TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: (TestWebKitAPI::TEST): 2020-03-12 Daniel Bates FocusController::setFocusedElement() should tell client of refocused element https://bugs.webkit.org/show_bug.cgi?id=208880 Reviewed by Wenson Hsieh. Adds a test to ensure that calling -selectPositionAtPoint on an already focused element tries to start an input session. Currently, it does not even try. * TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm: (TEST): 2020-03-12 Michael Catanzaro [GTK] Use #!/usr/bin/python3 shebang to run generate-gtkdoc https://bugs.webkit.org/show_bug.cgi?id=208970 Reviewed by Daniel Bates. Fedora and Ubuntu are both patching generate-gtkdoc to use #!/usr/bin/python3 rather than #!/usr/bin/env python. #!/usr/bin/env and /usr/bin/python are both banned in Fedora packages. I guess Ubuntu probably has similar rules. Note this is the only script that attempts to use /usr/bin/python in tarball builds. Everything else that does so is probably only used by webkit-build. https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_multiple_python_runtimes * gtkdoc/generate-gtkdoc: 2020-03-11 Jiewen Tan [WebAuthn] Formalize the Keychain schema https://bugs.webkit.org/show_bug.cgi?id=183533 Reviewed by Brent Fulgham. Modifies the test infra to use Credential ID as the unique identifier for a credential instead of the original combination of RP ID and user handle. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::cleanUpKeychain): (WTR::TestRunner::keyExistsInKeychain): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::cleanUpKeychain): (WTR::TestController::keyExistsInKeychain): 2020-03-11 Keith Miller Test262-runner should always consider crashes as new failures https://bugs.webkit.org/show_bug.cgi?id=208943 Reviewed by Yusuke Suzuki. Right now the runner will consider crashes with no output as passes, which is obviously bad. Since we should never crash on a conformance test we should consider a crash as a new failure 100% of the time. * Scripts/test262/Runner.pm: (processFile): (runTest): (processResult): 2020-03-11 Chris Dumez Assertion hit under WebPageProxy::suspendCurrentPageIfPossible() when bypassing certificate warning page https://bugs.webkit.org/show_bug.cgi?id=208927 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: 2020-03-11 Diego Pino Garcia [GTK] Switch EWS api-gtk bot from buildAndTest to testOnly https://bugs.webkit.org/show_bug.cgi?id=208860 Reviewed by Carlos Alberto Lopez Perez. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble): Added 'api-gtk'. * BuildSlaveSupport/ews-build/config.json: * BuildSlaveSupport/ews-build/factories.py: (BuildFactory.__init__): Call InstallGTKDependencies() if platform is GTK. (TestFactory.__init__): Call InstallGTKDependencies() if platform is GTK. (GTKBuildFactory): (GTKBuildFactory.__init__): Deleted. (GTKBuildAndTestFactory): Deleted. (GTKBuildAndTestFactory.__init__): Deleted. (GTKAPIBuildAndTestFactory): Deleted. * BuildSlaveSupport/ews-build/loadConfig.py: 2020-03-11 Aakash Jain [ews] Add unit test to prevent multiple schedulers for a builder. https://bugs.webkit.org/show_bug.cgi?id=208917 Reviewed by Carlos Alberto Lopez Perez. * BuildSlaveSupport/ews-build/loadConfig_unittest.py: (ConfigDotJSONTest.test_multiple_scheduers_for_builder): Added unit test. (TagsForBuilderTest): Fixed a typo. 2020-03-11 Philippe Normand [GTK] Failing API tests under the Flatpak SDK environment https://bugs.webkit.org/show_bug.cgi?id=208871 Reviewed by Michael Catanzaro. The load-failed signal callback should return a boolean result, otherwise we enter in unknown territory depending on how the toolchain compiles this, possibly triggering bad behavior (with GCC 9.2 from the Flatpak SDK) or not caring at all (with current GCC toolchain on buildbots). Patch suggested by Michael Catanzaro. * TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp: (loadFailedCallback): 2020-03-10 Don Olmstead Sync FeatureList.pm with CMake definitions https://bugs.webkit.org/show_bug.cgi?id=208866 Reviewed by Michael Catanzaro. * Scripts/webkitperl/FeatureList.pm: 2020-03-10 Aakash Jain [ews] Add unit tests for commit queue factory https://bugs.webkit.org/show_bug.cgi?id=208862 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/factories_unittest.py: (TestCommitQueueFactory): (TestCommitQueueFactory.test_commit_queue_factory): Added unit-test for commit-queue factory. 2020-03-10 Aakash Jain [ews-app] Status bubble should only display important messages in pop-over - part 3 https://bugs.webkit.org/show_bug.cgi?id=208865 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble): Added more strings to STEPS_TO_HIDE. 2020-03-10 Lauro Moura [WPE] MiniBrowser: Close child WebViews when exiting https://bugs.webkit.org/show_bug.cgi?id=208689 Reviewed by Carlos Garcia Campos. Store created views so we can release them before exiting. * MiniBrowser/wpe/main.cpp: (webViewClose): (createWebView): (main): 2020-03-10 Aakash Jain Add ValidateCommiterAndReviewer and ValidateChangeLogAndReviewer build steps in commit-queue https://bugs.webkit.org/show_bug.cgi?id=208861 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/factories.py: (Factory.__init__): Remove verifycqplus parameter. (CommitQueueFactory): Inherit from factory.BuildFactory base class instead of custom Factory class. (CommitQueueFactory.__init__): Add required build steps, especially ValidateCommiterAndReviewer, UpdateWorkingDirectory and ValidateChangeLogAndReviewer. 2020-03-10 Philippe Normand [GTK] API favicon test flaky timeouts https://bugs.webkit.org/show_bug.cgi?id=208189 Reviewed by Carlos Garcia Campos. Sometimes the favicon changes already during the load. Keeping track of it in the WebView favicon property notification handler gets us rid of the race. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp: (testFaviconDatabaseGetFavicon): 2020-03-10 Aakash Jain Generate commit-queue status bubble from new EWS https://bugs.webkit.org/show_bug.cgi?id=208811 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: (StatusBubble._build_bubbles_for_patch): 2020-03-09 Don Olmstead Remove obsolete feature flags https://bugs.webkit.org/show_bug.cgi?id=208830 Reviewed by Alex Christensen. Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they are no longer used. Also remove ENABLE_POINTER_EVENTS since the FeaturesDefines.xcconfig was not modified when the compilation flag was removed in r258148. Remove ENABLE_ACCELERATED_OVERFLOW_SCROLLING, ENABLE_CSS_IMAGE_ORIENTATION, ENABLE_CUSTOM_SCHEME_HANDLER, and ENABLE_FETCH_API from FeatureList.pm. * Scripts/webkitperl/FeatureList.pm: * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2020-03-09 Kate Cheney WebKitTestRunner bundleID should not be cleared before every test https://bugs.webkit.org/show_bug.cgi?id=208823 Reviewed by Per Arne Vollan. This is causing test failures for layout tests which rely on the Info.plist bundle identifier (not the one set via the override method). * WebKitTestRunner/TestController.cpp: (WTR::TestController::createWebViewWithOptions): (WTR::TestController::ensureViewSupportsOptionsForTest): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: 2020-03-09 Per Arne Vollan [macOS] Notification observer is not removed https://bugs.webkit.org/show_bug.cgi?id=208834 Reviewed by Tim Horton. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/EnableAccessibility.mm: Added. (TEST): 2020-03-06 Brian Burg upload.py gets confused by git-svn checkouts, unable to upload test results from my desk build https://bugs.webkit.org/show_bug.cgi?id=208729 Reviewed by Jonathan Bedard. Improve upload.py to look for the svn branch and revision for the 'webkit' project and prefer those to the git equivalents (eg, prefer trunk/rNNNNN to master/). * Scripts/webkitpy/common/checkout/scm/git.py: (Git): (Git.git_svn_id_regexp): (Git._field_from_git_svn_id): (Git.svn_revision): (Git.svn_branch): (Git.svn_url): (Git.native_branch): Refactor svn revision, branch, url to use the same regexp and helper code. * Scripts/webkitpy/common/checkout/scm/stub_repository.py: (StubRepository.svn_branch): Expose a stub since this is used unconditionally by Port.commits_for_upload. * Scripts/webkitpy/common/checkout/scm/svn.py: (SVN.svn_branch): (SVN.native_revision): (SVN): (SVN.native_branch): Refactor so the actual implementation is contained in svn_revision / svn_branch. The native_* methods call out to the SVN equivalents since this is an SVN repository. * Scripts/webkitpy/port/base.py: (Port.commits_for_upload): Add special git-svn handling for the WebKit repository so that SVN branch and revision is preferred over the git equivalents. 2020-03-09 Antoine Quint TestWebKitAPI fails to build on watchOS https://bugs.webkit.org/show_bug.cgi?id=208820 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: 2020-03-09 Jonathan Bedard resultsdbpy: Add tool to manage resultsdbpy container https://bugs.webkit.org/show_bug.cgi?id=208743 Rubber-stamped by Aakash Jain. Add tool to start, stop and restart the resultsdbpy Docker container. * resultsdbpy/resultsdbpy/container: Added. 2020-03-09 Carlos Garcia Campos [GTK][WPE] Surrounding text for input methods should not be limited to the current paragraph https://bugs.webkit.org/show_bug.cgi?id=208706 Reviewed by Žan Doberšek. Add test case to check surrounding text in multiline context. * TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp: (testWebKitInputMethodContextSurrounding): 2020-03-08 Per Arne Vollan [iOS] Mapping to UTI from tag and tag class should be performed in the UI process https://bugs.webkit.org/show_bug.cgi?id=208783 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: 2020-03-07 Ross Kirsling Replace the use of term "rollout" to "revert" in various tools https://bugs.webkit.org/show_bug.cgi?id=208775 Reviewed by Ryosuke Niwa. See this webkit-dev thread for the originating discussion: https://lists.webkit.org/pipermail/webkit-dev/2020-March/031132.html 'rollout' is a confusing term to anyone unacquainted with WebKit; consensus seems to be that 'revert' would be the best replacement (as opposed to 'rollback'). Given the long legacy of this term within WebKit, it's important to deprecate and not remove 'rollout' commands. As such, this patch aims to make 'revert' the preferred term everywhere without making 'rollout' fail. * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/Trac.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/trac_unittests.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js: * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions_unittests.js: * BuildSlaveSupport/ews-build/steps.py: * BuildSlaveSupport/ews-build/steps_unittest.py: * Scripts/webkit-tools-completion.sh: * Scripts/webkitpy/common/checkout/changelog_unittest.py: * Scripts/webkitpy/common/checkout/checkout_unittest.py: * Scripts/webkitpy/common/checkout/scm/svn.py: * Scripts/webkitpy/common/net/bugzilla/attachment.py: * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py: * Scripts/webkitpy/tool/bot/commitqueuetask.py: * Scripts/webkitpy/tool/bot/feeders.py: * Scripts/webkitpy/tool/bot/feeders_unittest.py: * Scripts/webkitpy/tool/bot/irc_command.py: * Scripts/webkitpy/tool/bot/irc_command_unittest.py: * Scripts/webkitpy/tool/bot/ircbot_unittest.py: * Scripts/webkitpy/tool/bot/sheriff.py: * Scripts/webkitpy/tool/commands/download.py: * Scripts/webkitpy/tool/commands/download_unittest.py: * Scripts/webkitpy/tool/commands/newcommitbot.py: * Scripts/webkitpy/tool/commands/newcommitbot_unittest.py: * Scripts/webkitpy/tool/commands/queues_unittest.py: * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py: * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: * Scripts/webkitpy/tool/steps/__init__.py: * Scripts/webkitpy/tool/steps/postdiffforrevert.py: * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py: * Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py: * Scripts/webkitpy/tool/steps/reopenbugafterrevert.py: Renamed from Tools/Scripts/webkitpy/tool/steps/reopenbugafterrollout.py. 2020-03-07 David Quesada Crash in -[_WKRemoteObjectRegistry _invokeMethod:] block when calling a reply block after the web view has deallocated https://bugs.webkit.org/show_bug.cgi?id=208781 rdar://problem/60061016 Reviewed by Alex Christensen. Add a test that recreates the conditions of this crash: - Send a message from the injected bundle to the UI process that contains a reply block. - Hold a reference to the reply block. - Let the web view deallocate. - Call the block, and expect not to crash. * TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h: (localObjectInterface): * TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm: (-[LocalObject doSomethingWithCompletionHandler:]): (TEST): * TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistryPlugIn.mm: (-[RemoteObjectRegistryPlugIn callUIProcessMethodWithReplyBlock]): 2020-03-07 Ryosuke Niwa TextManipulationController should work with ARIA labels https://bugs.webkit.org/show_bug.cgi?id=208759 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: (TextManipulation.StartTextManipulationFindAttributeContent): Added. (TextManipulation.CompleteTextManipulationShouldPreserveOrderOfBlockImage): Updated the expected number of tokens for the first item as the very first image is correctly detected per the code change. (TextManipulation.CompleteTextManipulationShouldReplaceAttributeContent): Added. 2020-03-07 Alex Christensen Regression r258042: Failing API test TestWebKitAPI.URLSchemeHandler.Frames https://bugs.webkit.org/show_bug.cgi?id=208767 * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: The frameID of the main frame before loading is only 0 on Mac right now. The test is still good because it validates that execution works in the main frame before loading. 2020-03-06 Aakash Jain [ews] commit queue is not skipping layout tests for rollout patches https://bugs.webkit.org/show_bug.cgi?id=208716 Unreviewed minor fix. * BuildSlaveSupport/ews-build/steps.py: (RunWebKitTests.doStepIf): (RunWebKit1Tests.doStepIf): Moved to base class RunWebKitTests. * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test. 2020-03-05 Sam Weinig Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h https://bugs.webkit.org/show_bug.cgi?id=207436 Reviewed by Darin Adler. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Remove JSC related defines. 2020-03-07 Chris Fleizach AX: Provide a way to run tests in isolated tree mode https://bugs.webkit.org/show_bug.cgi?id=208629 Reviewed by Ryosuke Niwa. Provide the ability to run tests for accessibility in the isolated tree mode. This sends a flag over to the injected bundle which calls the right HIServices override so that the system thinks it is in isolated mode. * Scripts/compare-webkit-configurations: (flag_for_comparison): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (parse_args): * Scripts/webkitpy/port/driver.py: (Driver.cmd_line): * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: (WTR::AccessibilityController::AccessibilityController): (WTR::AccessibilityController::setAccessibilityIsolatedTreeMode): (WTR::AccessibilityController::updateIsolatedTreeMode): (WTR::AccessibilityController::executeOnAXThreadIfPossible): * WebKitTestRunner/InjectedBundle/AccessibilityController.h: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessageToPage): (WTR::InjectedBundle::beginTesting): * WebKitTestRunner/InjectedBundle/InjectedBundle.h: * WebKitTestRunner/Options.cpp: (WTR::handleOptionAccessibilityIsolatedTreeMode): (WTR::OptionsHandler::OptionsHandler): * WebKitTestRunner/Options.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): * WebKitTestRunner/TestController.h: (WTR::TestController::accessibilityIsolatedTreeMode const): 2020-03-06 Per Arne Vollan [Cocoa] Re-enable CFPrefs direct mode https://bugs.webkit.org/show_bug.cgi?id=208690 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/GrantAccessToPreferencesService.mm: Added. (TEST): * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm: (TestWebKitAPI::TEST): 2020-03-06 Kate Cheney UIProcess needs mechanism to specify AppBound domains https://bugs.webkit.org/show_bug.cgi?id=208528 Reviewed by Brent Fulgham. Added test app-bound domains to the plist and tested that the domains are properly stored in the website data store after a navigation. * TestWebKitAPI/Info.plist: * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: (TEST): 2020-03-06 Alex Christensen Add SPI to disable cross origin access control checks https://bugs.webkit.org/show_bug.cgi?id=208748 Reviewed by Tim Hatcher. * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: Add a test that verifies this SPI allows Access-Control-Allow-Origin: * with credentials. 2020-03-06 Basuke Suzuki [webkitpy] Fix executive on Windows to run wpt server correctly https://bugs.webkit.org/show_bug.cgi?id=208693 Reviewed by Jonathan Bedard. Bug fix for Windows environment a) fixing a typo. b) fixing path c) fix how to kill subprocesses. * Scripts/webkitpy/common/system/executive.py: (Executive._windows_kill_command): (Executive.interrupt): (Executive.kill_all): * Scripts/webkitpy/port/base.py: (Port.web_platform_test_server_doc_root): 2020-03-06 Alex Christensen Evaluating JavaScript in main frame before loading should succeed https://bugs.webkit.org/show_bug.cgi?id=208733 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: 2020-03-06 Ryosuke Niwa TextManipulationController should preserve images https://bugs.webkit.org/show_bug.cgi?id=208692 Reviewed by Wenson Hsieh. Added tests for preserving images and their ordering. * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: (TextManipulation.CompleteTextManipulationShouldPreserveImagesAsExcludedTokens): (TextManipulation.CompleteTextManipulationShouldPreserveSVGAsExcludedTokens): (TextManipulation.CompleteTextManipulationShouldPreserveOrderOfBlockImage): 2020-03-06 David Quesada Add _WKResourceLoadInfo.resourceType SPI https://bugs.webkit.org/show_bug.cgi?id=208723 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm: (TEST): 2020-03-06 Jonathan Bedard Stop reporting to webkit-test-results.webkit.org https://bugs.webkit.org/show_bug.cgi?id=207218 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/steps.py: (RunWebKitTests): 2020-03-06 Sihui Liu UIProcess crash after using _prepareForMoveToWindow, then deallocating the WKWebView before moving to the window https://bugs.webkit.org/show_bug.cgi?id=208365 Reviewed by Geoffrey Garen. * TestWebKitAPI/Tests/WebKitCocoa/PrepareForMoveToWindow.mm: (TEST): 2020-03-06 Aakash Jain EWS should be able to fetch patch status for security bugs while processing them https://bugs.webkit.org/show_bug.cgi?id=206511 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/ews-build/steps.py: (BugzillaMixin.fetch_data_from_url_with_authentication): Method to fetch data from bugzilla using api key. (BugzillaMixin.get_patch_json): (BugzillaMixin.get_bug_json): (BugzillaMixin._is_bug_closed): (ApplyPatch.hideStepIf): Use 'sensitive' build property instead of 'validated'. (TransferToS3.hideStepIf): Ditto. 2020-03-06 Aakash Jain [ews] commit-queue should show the trac url for the commit on the build page https://bugs.webkit.org/show_bug.cgi?id=208715 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (PushCommitToWebKitRepo.evaluateCommand): 2020-03-06 Alex Christensen Fix ResourceLoadDelegate.LoadInfo API test after r257816 https://bugs.webkit.org/show_bug.cgi?id=208550 * TestWebKitAPI/cocoa/HTTPServer.mm: (TestWebKitAPI::HTTPServer::respondToRequests): Sometimes we need a separate read to read the HTTP body after a request header, sometimes it comes in the same read. If it comes in the same read, send the response immediately. Otherwise read the HTTP body then send the response. 2020-03-06 Lauro Moura [WPE][WebDriver] MiniBrowser should react to close session commands https://bugs.webkit.org/show_bug.cgi?id=207529 Reviewed by Carlos Garcia Campos. Do not call g_object_unref on the first created view if it has already been disposed in the "close" signal handler. Based on original patch by Yury Semikhatsky. * MiniBrowser/wpe/main.cpp: (main): 2020-03-06 Michael Catanzaro [WPE][GTK] Use Firefox user agent quirk more aggressively on Google Docs https://bugs.webkit.org/show_bug.cgi?id=208647 Reviewed by Carlos Garcia Campos. * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp: (TestWebKitAPI::TEST): 2020-03-05 Alex Christensen Add WKNavigationDelegatePrivate SPI to inform application of subframe navigations https://bugs.webkit.org/show_bug.cgi?id=208670 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm: (-[FrameNavigationDelegate waitForNavigations:]): (-[FrameNavigationDelegate requests]): (-[FrameNavigationDelegate frames]): (-[FrameNavigationDelegate callbacks]): (-[FrameNavigationDelegate _webView:didStartProvisionalLoadWithRequest:inFrame:]): (-[FrameNavigationDelegate _webView:didFailProvisionalLoadWithRequest:inFrame:withError:]): (-[FrameNavigationDelegate _webView:didCommitLoadWithRequest:inFrame:]): (-[FrameNavigationDelegate _webView:didFailLoadWithRequest:inFrame:withError:]): (-[FrameNavigationDelegate _webView:didFinishLoadWithRequest:inFrame:]): (TEST): 2020-03-05 Alex Christensen Add WKFrameInfo._parentFrameHandle SPI https://bugs.webkit.org/show_bug.cgi?id=208674 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: 2020-03-05 Jiewen Tan [WebAuthn] Implement SPI -[_WKWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:] https://bugs.webkit.org/show_bug.cgi?id=208626 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:]): (TestWebKitAPI::TEST): (-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:completionHandler:]): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-multiple-accounts.html: * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-la.html: Added. 2020-03-05 Antoine Quint Page-specific UserStyleSheets should wait until the initial empty document has been removed to be injected https://bugs.webkit.org/show_bug.cgi?id=208644 Reviewed by Brady Eidson. Add new tests for -[_WKUserStyleSheet initWithSource:forWKWebView:forMainFrameOnly:userContentWorld:]) that check: 1. that a _WKUserStyleSheet can be added immediately after a WKWebView's creation and will be injected once the initial empty document has been removed in favor of the document for the requested URL, 2. that removing a _WKUserStyleSheet immediately after it was added but before the initial empty document was removed correctly does not injected the style sheet. * TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm: 2020-03-05 Aakash Jain [ews] Add build step to push commit to WebKit repository https://bugs.webkit.org/show_bug.cgi?id=208589 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (PushCommitToWebKitRepo): Build step to push the local commit to WebKit repository. (PushCommitToWebKitRepo.start): Initialize log observer. (PushCommitToWebKitRepo.evaluateCommand): Check command return status and comment on bug accordingly. (PushCommitToWebKitRepo.comment_text_for_bug): Generate comment text for commenting on bug. (PushCommitToWebKitRepo.svn_revision_from_commit_text): Extract the svn revision from commit text. (PushCommitToWebKitRepo.getResultSummary): Set custom failure message. * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests. * BuildSlaveSupport/ews-build/factories.py: 2020-03-05 Aakash Jain [ews] Add unit tests for ValidateCommiterAndReviewer build step https://bugs.webkit.org/show_bug.cgi?id=208262 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests for ValidateCommiterAndReviewer. 2020-03-05 Aakash Jain commit-queue should run WK2 tests instead of WK1 tests https://bugs.webkit.org/show_bug.cgi?id=208544 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/factories.py: 2020-03-05 Aakash Jain [ews] ValidateCommiterAndReviewer should validate emails in case insensitive manner https://bugs.webkit.org/show_bug.cgi?id=208645 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/ews-build/steps.py: (ValidateCommiterAndReviewer.load_contributors): (ValidateCommiterAndReviewer.start): 2020-03-05 Carlos Alberto Lopez Perez style-checker: Add UAF to the list of security words to warn about. https://bugs.webkit.org/show_bug.cgi?id=208643 Reviewed by Jonathan Bedard. UAF is a common acronym used for use after free. * Scripts/webkitpy/style/checkers/changelog.py: (ChangeLogChecker.check_for_unwanted_security_phrases): 2020-03-04 Basuke Suzuki [MSVC] Add .natvis support of WebKit types https://bugs.webkit.org/show_bug.cgi?id=193119 Reviewed by Don Olmstead. To help the WebKit developer while debugging, this file defines how WebKit types are displayed in debugger of Visual Studio. Very limited set of WebKit types, but it changes the world. * VisualStudio/WebKit.natvis: Added. 2020-03-04 Wenson Hsieh Add system trace points around display list replay https://bugs.webkit.org/show_bug.cgi?id=208616 Reviewed by Simon Fraser. Add a new "Display list replay" trace point. * Tracing/SystemTracePoints.plist: 2020-03-04 Alex Christensen Call globalObjectIsAvailableForFrame before evaluating JavaScript in newly created worlds https://bugs.webkit.org/show_bug.cgi?id=208615 Reviewed by Alex Christensen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/ContentWorldPlugIn.mm: Added. (-[ContentWorldPlugIn webProcessPlugIn:didCreateBrowserContextController:]): (-[ContentWorldPlugIn webProcessPlugInBrowserContextController:globalObjectIsAvailableForFrame:inScriptWorld:]): * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm: (TEST): Also make a test written in bug 206310 actually run code. 2020-03-04 Aakash Jain [build.webkit.org] Remove leaks queue https://bugs.webkit.org/show_bug.cgi?id=208580 Reviewed by Jonathan Bedard. * BuildSlaveSupport/build.webkit.org-config/config.json: * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: 2020-03-04 Alex Christensen Add SPI to evaluate JavaScript in an iframe https://bugs.webkit.org/show_bug.cgi?id=208605 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: 2020-03-03 Jiewen Tan [WebAuthn] Implement -[_WKWebAuthenticationPanelDelegate panel:decidePolicyForLocalAuthenticatorWithCompletionHandler:] SPI https://bugs.webkit.org/show_bug.cgi?id=208533 Reviewed by Alex Christensen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelDelegate panel:decidePolicyForLocalAuthenticatorWithCompletionHandler:]): (TestWebKitAPI::TEST): (-[TestWebAuthenticationPanelDelegate panel:verifyUserWithAccessControl:completionHandler:]): Deleted. * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-la.html: Removed. 2020-03-04 Alex Christensen callAsyncJavaScript with an invalid parameter and no completionHandler should not crash https://bugs.webkit.org/show_bug.cgi?id=208593 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/AsyncFunction.mm: (TestWebKitAPI::TEST): 2020-03-04 Alex Christensen WKWebView's frames accessor should return a traversable type https://bugs.webkit.org/show_bug.cgi?id=208591 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: 2020-03-04 Antoine Quint Add an SPI to allow UserStyleSheet injection to target a specific WKWebView https://bugs.webkit.org/show_bug.cgi?id=208575 Reviewed by Brady Eidson. Add new tests for the new SPI which check: 1. that specifying forWKWebView: when initializing a _WKUserStyleSheet will inject the provided CSS source in the specified WKWebView alone, 2. that the same test works with two WKWebViews with a shared WKWebKitConfiguration, 3. that a WKWebView-specific _WKUserStyleSheet can be removed, 4. that a WKWebView-specific _WKUserStyleSheet can be added twice and removed once and be removed as expected, 5. and that a WKWebView-specific _WKUserStyleSheet is automatically removed when navigating to a new page, 6. and that the same test also works with PSON enabled. * TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm: 2020-03-04 Ryan Haddad [macOS] test-lldb-webkit failing on debug bots https://bugs.webkit.org/show_bug.cgi?id=208545 Reviewed by Jonathan Bedard. The lldb-webkit-test step must pass in the build configuration as an argument to the test-lldb-webkit script so that it uses the lldbWebKitTester binary that is downloaded with the rest of the build products. Without this argument, the bots expect to find the binary in the 'WebKitBuild/Release' directory regardless of their actual build configuration. * BuildSlaveSupport/build.webkit.org-config/steps.py: (RunLLDBWebKitTests): Pass in the build configuration to the test-lldb-webkit script. * Scripts/test-lldb-webkit: (LldbTester.parse_args): Capitalize the constants for Debug / Release since that is what webkitpy expects. 2020-03-04 Aakash Jain [ews] Add build step to create local git commit for commit-queue (follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=208539 Unreviewed follow-up fix. * BuildSlaveSupport/ews-build/steps.py: 2020-03-04 Daniel Bates Should use -bounds instead of -frame in RequestTextInputContext.mm tests https://bugs.webkit.org/show_bug.cgi?id=208565 Reviewed by Wenson Hsieh. Pass the bounds of the web view to -synchronouslyRequestTextInputContextsInRect: instead of its frame as a means to find all the editable elements in the visible content area of the web view. Coincidentally this makes no difference to the test results right now because the web view happens to be located at the origin (0, 0) in the window. However if in the future the web view would be located at some other point then the tests may fail because the rectangle passed to -synchronouslyRequestTextInputContextsInRect: would no longer represent the rectangle for the visible content area. * TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm: (TEST): 2020-03-04 Daniel Bates Organize tests in RequestTextInputContext.mm tests under test name RequestTextInputContext https://bugs.webkit.org/show_bug.cgi?id=208564 Reviewed by Alex Christensen. Group the tests in RequestTextInputContext.mm under the test case name RequestTextInputContext to make it easy to run just these tests. Currently, the tests are organized under the test case name WebKit. This means you need to pass run-api-tests the name of each sub-test as there is no easy way to run them all without also running all the TestWebKitAPI.WebKit sub-tests. Instead organize them under RequestTextInputContext so that a person can run just these test using: run-api-tests --debug TestWebKitAPI.RequestTextInputContext * TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm: (TEST): 2020-03-04 Aakash Jain [ews] Add build step to create local git commit for commit-queue https://bugs.webkit.org/show_bug.cgi?id=208539 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (CreateLocalGITCommit): Build step to create local git commit. (CreateLocalGITCommit.start): (CreateLocalGITCommit.getResultSummary): Set custom failure message. * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests and restructured imports. * BuildSlaveSupport/ews-build/factories.py: 2020-03-04 Simon Fraser (r256513) [ Mac ] fast/scrolling/programmatic-scroll-to-zero-zero.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=207948 Reviewed by Zalan Bujtas. EventSendingController needs to trigger layout so that the WebHTMLView is not 0x0, so that it receives the wheel events. * DumpRenderTree/mac/EventSendingController.mm: (-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]): * DumpRenderTree/win/EventSender.cpp: (mouseScrollBy): 2020-03-04 Andres Gonzalez REGRESSION (r257739): two fast/events/autoscroll test have started to fail https://bugs.webkit.org/show_bug.cgi?id=208520 Reviewed by Chris Fleizach. Calling InjectedBundle::singleton().page()->page() in the constructor of the AccessibilityController is having this side effect on iOS. So #if to MAC where it's actually being used. * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: (WTR::AccessibilityController::AccessibilityController): 2020-03-03 Alex Christensen Add SPI _WKResourceLoadInfo.loadedFromCache https://bugs.webkit.org/show_bug.cgi?id=208554 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm: (TEST): 2020-03-03 Ryosuke Niwa Batch observations and completions of text manipulations https://bugs.webkit.org/show_bug.cgi?id=208406 Reviewed by Wenson Hsieh. Updated the existing tests to use new APIs, and added new tests for batching finding & replacing multiple paragraphs at once. * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: (-[TextManipulationDelegate _webView:didFindTextManipulationItems:]): (-[TextManipulationDelegate items]): (-[LegacyTextManipulationDelegate init]): (-[LegacyTextManipulationDelegate _webView:didFindTextManipulationItem:]): (TextManipulation.StartTextManipulationSupportsLegacyDelegateCallback): Added. (TextManipulation.LegacyCompleteTextManipulationReplaceSimpleSingleParagraph): Added. (TextManipulation.CompleteTextManipulationReplaceMultipleSimpleParagraphsAtOnce): Added. (TextManipulation.CompleteTextManipulationShouldBatchItemCallback): Added. (TextManipulation.CompleteTextManipulationFailWhenItemIdentifierIsDuplicated): Added. (TextManipulation.CompleteTextManipulationCanHandleSubsetOfItemsToFail): Added. 2020-03-03 Per Arne Vollan [Cocoa] Mapping from MIME type to UTI type should be done in the UI process https://bugs.webkit.org/show_bug.cgi?id=208415 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/UTIFromMIMEType.mm: Added. (TEST): 2020-03-03 Alex Christensen Add response to _WKResourceLoadDelegate didCompleteWithError callback https://bugs.webkit.org/show_bug.cgi?id=208553 Reviewed by Simon Fraser. * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm: (-[TestResourceLoadDelegate webView:resourceLoad:didCompleteWithError:response:]): (TEST): (-[TestResourceLoadDelegate webView:resourceLoad:didCompleteWithError:]): Deleted. 2020-03-03 Brady Eidson API Test [Mojave+ WK2 Debug ] TestWebKitAPI.WKAttachmentTestsMac.InsertDroppedFilePromisesAsAttachments is a flaky crash. https://bugs.webkit.org/show_bug.cgi?id=198795 Reviewed by Chris Dumez. This test appears to no longer be flaky. Let's re-enable it. * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm: (TestWebKitAPI::TEST): 2020-03-03 Alex Christensen Requests sent to _WKResourceLoadDelegate should include HTTPBody https://bugs.webkit.org/show_bug.cgi?id=208550 Reviewed by Tim Hatcher. * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm: (TEST): * TestWebKitAPI/cocoa/HTTPServer.mm: (TestWebKitAPI::HTTPServer::respondToRequests): HTTPServer now looks for Content-Length in its request. If it finds this header, that means that the HTTP body is going to be received in another read, then the response should be sent after receiving that. 2020-03-03 Alex Christensen Expose originalURL and originalHTTPMethod on _WKResourceLoadInfo https://bugs.webkit.org/show_bug.cgi?id=208522 Reviewed by Brian Weinstein. * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm: (TEST): 2020-03-03 Aakash Jain commit-queue should update working directory and reapply patch just before commiting https://bugs.webkit.org/show_bug.cgi?id=208521 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/factories.py: 2020-03-03 Matt Lewis Add Unittest to commits_for_upload() and fix multiple unittests for several test suites. https://bugs.webkit.org/show_bug.cgi?id=208485 Reviewed by Jonathan Bedard. * Scripts/webkitpy/common/checkout/scm/stub_repository.py: (StubRepository.__init__): Fixing the constructor to call upon the parent class as we were not doing this before. It also means that we don't have to recreate the variables that are already created. * Scripts/webkitpy/common/checkout/scm/stub_repository_unittest.py: High level changed the imports to better reflect what we are using from each module, rather than making extra imports that we don't need. (StubRepositoryTest.mock_host_for_stub_repository): Since we are calling both an executive and a filesystem mock for most of the tests. it makes more sense to create a mock host with the files needed, than it does to instantiate each of these as separate objects and not part of the host. (StubRepositoryTest.test_in_working_directory): Changed the filesystem call to the host call. (StubRepositoryTest.test_native_revision): Changed the filesystem call to the host call. (StubRepositoryTest.test_native_branch): Changed the filesystem call to the host call. (StubRepositoryTest.test_svn_revision): Changed the filesystem call to the host call. (StubRepositoryTest.test_find_checkout_root): Changed the filesystem call to the host call. (StubRepositoryTest.test_find_checkout_root_failure): Changed the filesystem call to the host call. (StubRepositoryTest.test_find_parent_path_matching_callback_condition_with_file_system): Changed the filesystem call to the host call. * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py: (SummarizedResultsTest.test_svn_revision_exists): Changed the name to original test to better reflect that it was just looking to see if we were geting any value at all (SummarizedResultsTest.test_svn_revision): Added a test to make sure that the revision we are getting is what we expect to get and make sure we aren't gabking the wrong key:value pair * Scripts/webkitpy/port/base_unittest.py: Changed from MockSystemHost to MockHost as we want the extras that come with the MockHosts and MockHost inherits from MockSystemHost. (PortTest.make_port): Changed the port to call MockHost that will creat the required stub_repository files. (test_commits_for_upload): Added amissing test for commits_for_upload as this has been an issue when trying to make changes to the various upload steps. 2020-03-03 Aakash Jain [ews] Add build step to find list of modified changelogs https://bugs.webkit.org/show_bug.cgi?id=208514 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/factories.py: * BuildSlaveSupport/ews-build/steps.py: (FindModifiedChangeLogs): Build step to find modified ChangeLogs. (FindModifiedChangeLogs.start): Initialize log observer. (FindModifiedChangeLogs.getResultSummary): Set custom failure message. (FindModifiedChangeLogs.evaluateCommand): (FindModifiedChangeLogs.is_path_to_changelog): Check if the file is a ChangeLog. (FindModifiedChangeLogs._status_regexp): Regex to match files from git output. (FindModifiedChangeLogs.extract_changelogs): Method to get list of ChangeLogs from git output. * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests. 2020-03-03 Ryan Haddad [iOS EWS] TestWebKitAPI.WKWebsiteDataStore.RemoveAndFetchData is failing https://bugs.webkit.org/show_bug.cgi?id=208451 Unreviewed test gardening. * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: Disable the test for iOS since it is slowing down EWS. 2020-03-03 Jiten Mehta Adopt HTTP Alternative Services Storage https://bugs.webkit.org/show_bug.cgi?id=208387 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (checkUntilEntryFound): (TEST): 2020-03-03 Kate Cheney Check for navigation to app-bound domain during script evaluation https://bugs.webkit.org/show_bug.cgi?id=208319 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: Added. (-[TestInAppBrowserScriptMessageHandler userContentController:didReceiveScriptMessage:]): (TEST): * TestWebKitAPI/Tests/WebKitCocoa/in-app-browser-privacy-test-user-agent-script.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/in-app-browser-privacy-test-user-script.html: Added. 2020-03-03 Commit Queue Unreviewed, rolling out r257754. https://bugs.webkit.org/show_bug.cgi?id=208513 Introduced API test failure (Requested by perarne on #webkit). Reverted changeset: "[Cocoa] Mapping from MIME type to UTI type should be done in the UI process" https://bugs.webkit.org/show_bug.cgi?id=208415 https://trac.webkit.org/changeset/257754 2020-03-03 Diego Pino Garcia REGRESSION(r257726): [GTK] LayoutTests crashing after r257726 https://bugs.webkit.org/show_bug.cgi?id=208506 Reviewed by Carlos Garcia Campos. * WebKitTestRunner/TestController.cpp: (WTR::TestController::platformAdjustContext): Remove unnecessary code. 2020-03-02 Ben Nham Add performance probes for HTML parsing https://bugs.webkit.org/show_bug.cgi?id=208271 Reviewed by Daniel Bates. This adds probes that show which lines of HTML are have been parsed. * Tracing/SystemTracePoints.plist: 2020-03-02 Per Arne Vollan [Cocoa] Mapping from MIME type to UTI type should be done in the UI process https://bugs.webkit.org/show_bug.cgi?id=208415 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/UTIFromMIMEType.mm: Added. (TEST): 2020-03-02 Jacob Uphoff Unreviewed, rolling out r257725. This commit caused 10 API tests to fail Reverted changeset: "[Cocoa] Mapping from MIME type to UTI type should be done in the UI process" https://bugs.webkit.org/show_bug.cgi?id=208415 https://trac.webkit.org/changeset/257725 2020-03-02 Saam Barati Don't skip tests unnecessarily on arm64 https://bugs.webkit.org/show_bug.cgi?id=208470 Reviewed by Tadeu Zagallo. * Scripts/run-jsc-stress-tests: 2020-03-02 Andres Gonzalez Fix for LayoutTests/accessibility/mac/search-text/search-text.html in IsolatedTree mode. https://bugs.webkit.org/show_bug.cgi?id=208434 Reviewed by Chris Fleizach. * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: (WTR::AccessibilityController::AccessibilityController): Initializes m_useAXThread. (WTR::AccessibilityController::rootElement): No need to set m_useAXThread here since it is initialize in the constructor. * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm: (WTR::AccessibilityController::accessibleElementById): Same as above. 2020-03-02 John Wilander ResourceLoadStatistics: Enable cookie blocking and the Storage Access API in ephemeral sessions https://bugs.webkit.org/show_bug.cgi?id=208399 Reviewed by Brent Fulgham. The majority of the changes in WTR::TestController is (partially) fixing a bug where the TestRunner would statically use the default website datastore instead of the website data store configure for the page. This worked for persistent storage testing but not for ephemeral sessions which is what this patch is all about. The previous TestController::websiteDataStore() is now called TestController::defaultWebsiteDataStore() and the new TestController::websiteDataStore() returns the configured website data store. Most of the use of the default website data store should probably change but that's not really for this patch to deal with. I did however move all of resource load statistics' use to the new TestController::websiteDataStore(). A new TestRunner function was added: isStatisticsEphemeral() It allows test cases to query the ephemeral status of resource load statistics. One problem that is mitigated in this patch but not fully fixed is that for Cocoa platforms, the TestRunner sets up two ephemeral sessions, once in TestController::generatePageConfiguration() via C API WKPageConfigurationSetWebsiteDataStore(), and then again in TestControllerCocoa's initializeWebViewConfiguration() via Cocoa API [copiedConfiguration setWebsiteDataStore:ephemeralWebsiteDataStore]. I tried removing the latter since one session for all platforms should be Enough but got broken behavior as a result. So now both are still there and both enable resource load statistics. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::isStatisticsEphemeral): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::defaultWebsiteDataStore): (WTR::TestController::websiteDataStore): (WTR::TestController::generatePageConfiguration): (WTR::TestController::resetPreferencesToConsistentValues): (WTR::TestController::resetStateToConsistentValues): (WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): (WTR::TestController::decidePolicyForNavigationAction): (WTR::TestController::platformAdjustContext): (WTR::TestController::clearServiceWorkerRegistrations): (WTR::TestController::clearDOMCache): (WTR::TestController::clearDOMCaches): (WTR::TestController::clearIndexedDatabases): (WTR::TestController::clearLocalStorage): (WTR::TestController::hasDOMCache): (WTR::TestController::domCacheSize): (WTR::TestController::setStatisticsEnabled): (WTR::TestController::isStatisticsEphemeral): (WTR::TestController::setStatisticsDebugMode): (WTR::TestController::setStatisticsPrevalentResourceForDebugMode): (WTR::TestController::setStatisticsLastSeen): (WTR::TestController::setStatisticsMergeStatistic): (WTR::TestController::setStatisticsPrevalentResource): (WTR::TestController::setStatisticsVeryPrevalentResource): (WTR::TestController::dumpResourceLoadStatistics): (WTR::TestController::isStatisticsPrevalentResource): (WTR::TestController::isStatisticsVeryPrevalentResource): (WTR::TestController::isStatisticsRegisteredAsSubresourceUnder): (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder): (WTR::TestController::isStatisticsRegisteredAsRedirectingTo): (WTR::TestController::setStatisticsHasHadUserInteraction): (WTR::TestController::isStatisticsHasHadUserInteraction): (WTR::TestController::isStatisticsOnlyInDatabaseOnce): (WTR::TestController::setStatisticsGrandfathered): (WTR::TestController::isStatisticsGrandfathered): (WTR::TestController::setUseITPDatabase): (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin): (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin): (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo): (WTR::TestController::setStatisticsSubresourceUniqueRedirectFrom): (WTR::TestController::setStatisticsTopFrameUniqueRedirectTo): (WTR::TestController::setStatisticsTopFrameUniqueRedirectFrom): (WTR::TestController::setStatisticsCrossSiteLoadWithLinkDecoration): (WTR::TestController::setStatisticsTimeToLiveUserInteraction): (WTR::TestController::statisticsProcessStatisticsAndDataRecords): (WTR::TestController::statisticsUpdateCookieBlocking): (WTR::TestController::statisticsSubmitTelemetry): (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned): (WTR::TestController::setStatisticsIsRunningTest): (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval): (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured): (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval): (WTR::TestController::setStatisticsGrandfatheringTime): (WTR::TestController::setStatisticsMaxStatisticsEntries): (WTR::TestController::setStatisticsPruneEntriesDownTo): (WTR::TestController::statisticsClearInMemoryAndPersistentStore): (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): (WTR::TestController::statisticsClearThroughWebsiteDataRemoval): (WTR::TestController::statisticsDeleteCookiesForHost): (WTR::TestController::isStatisticsHasLocalStorage): (WTR::TestController::setStatisticsCacheMaxAgeCap): (WTR::TestController::hasStatisticsIsolatedSession): (WTR::TestController::setStatisticsShouldDowngradeReferrer): (WTR::TestController::setStatisticsShouldBlockThirdPartyCookies): (WTR::TestController::setStatisticsFirstPartyWebsiteDataRemovalMode): (WTR::TestController::statisticsResetToConsistentState): (WTR::TestController::clearAdClickAttributionsThroughWebsiteDataRemoval): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::invoke): (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::initializeWebViewConfiguration): (WTR::TestController::platformCreateWebView): 2020-03-02 Per Arne Vollan [Cocoa] Mapping from MIME type to UTI type should be done in the UI process https://bugs.webkit.org/show_bug.cgi?id=208415 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/UTIFromMIMEType.mm: Added. (TEST): 2020-03-02 Daniel Bates Page::editableElementsInRect() should find nested editable elements and return found elements in paint order https://bugs.webkit.org/show_bug.cgi?id=208352 Reviewed by Wenson Hsieh. Update test results to reflect the new behavior. To do this I also need to fix up the test code to actually scroll the web content. This also means we now execute the same code on both Mac and iOS to do the scrolling: window.scrollTo(0, 5000). Also fixed up sub-test "Inputs scrolled outside the requested rect; should not be included." to use a 10000px height
so that you can scroll to a y position of 5000. Otherwise, it's impossible to do because the page height is < 5000px. * TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm: (TEST): 2020-03-02 Jacob Uphoff Unreviewed, rolling out r257687. This commit caused debug tests to crash for macOS & iOS Reverted changeset: "[Cocoa] Mapping from MIME type to UTI type should be done in the UI process" https://bugs.webkit.org/show_bug.cgi?id=208415 https://trac.webkit.org/changeset/257687 2020-03-01 Wenson Hsieh Unreviewed, rolling out r257618. This allegedly causes Safari to crash when closing a window (see rdar://problem/59922725). Reverted changeset: "UIProcess crash after using _prepareForMoveToWindow, then deallocating the WKWebView before moving to the window" https://bugs.webkit.org/show_bug.cgi?id=208365 https://trac.webkit.org/changeset/257618 2020-02-29 Yusuke Suzuki Remove std::lock_guard https://bugs.webkit.org/show_bug.cgi?id=206451 Reviewed by Anders Carlsson. Add std::lock_guard lint rule to prevent from using it. * Scripts/webkitpy/style/checkers/cpp.py: (check_lock_guard): (check_style): (CppChecker): * Scripts/webkitpy/style/checkers/cpp_unittest.py: (WebKitStyleTest.test_lock_guard): * TestWebKitAPI/Tests/WTF/Condition.cpp: * TestWebKitAPI/Tests/WTF/ParkingLot.cpp: * TestWebKitAPI/Tests/WTF/bmalloc/IsoHeap.cpp: (assertHasObjects): (assertHasOnlyObjects): * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: (WTR::AXThread::dispatch): (WTR::AXThread::dispatchFunctionsFromAXThread): * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm: (WTR::AXThread::initializeRunLoop): 2020-02-29 Per Arne Vollan [Cocoa] Mapping from MIME type to UTI type should be done in the UI process https://bugs.webkit.org/show_bug.cgi?id=208415 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/UTIFromMIMEType.mm: Added. (TEST): 2020-02-28 Fujii Hironori Unreviewed, rolling out r257565. It broke WinCairo MiniBrowser Reverted changeset: "[CMake] Use WEBKIT_EXECUTABLE in MiniBrowser" https://bugs.webkit.org/show_bug.cgi?id=206894 https://trac.webkit.org/changeset/257565 2020-02-28 Aakash Jain EWS fails to retry build in case of kill-old-processes exception https://bugs.webkit.org/show_bug.cgi?id=208003 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (KillOldProcesses.evaluateCommand): (KillOldProcesses.getResultSummary): 2020-02-28 Aakash Jain [ews] commit-queue should update the ChangeLog with Reviewer name https://bugs.webkit.org/show_bug.cgi?id=206535 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (ApplyPatch.start): Update the patch with the patch reviewer name if available. 2020-02-28 Jonathan Bedard run-javascriptcore-tests: Make upload format valid https://bugs.webkit.org/show_bug.cgi?id=208341 Rubber-stamped by Aakash Jain. * Scripts/run-javascriptcore-tests: (uploadResults): Remove. FIXME. * Scripts/webkitdirs.pm: (splitVersionString): Handle case where the subminor version number has a - in it. * Scripts/webkitperl/webkitdirs_unittest/splitVersion.pl: Add unit tests. 2020-02-28 youenn fablet [MacOS/iOS] Enable audio/video capture in GPUProcess by default https://bugs.webkit.org/show_bug.cgi?id=208130 Reviewed by Eric Carlson. * WebKitTestRunner/TestOptions.h: Use GPU process to capture by default. We will remove this option once done verifying that every test works smoothly. 2020-02-28 Aakash Jain [ews] commit queue should skip building and testing for rollout patches https://bugs.webkit.org/show_bug.cgi?id=208329 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (BugzillaMixin._is_patch_obsolete): Set rollout property appropriately. (CompileWebKit.doStepIf): Skip tests for rollout patches on commit-queue. (RunWebKit1Tests.doStepIf): Ditto. * BuildSlaveSupport/ews-build/steps_unittest.py: (TestCompileWebKit.test_skip_for_rollout_patches_on_commit_queue): Added unit-test. (TestRunWebKit1Tests.test_skip_for_rollout_patches_on_commit_queue): Ditto. 2020-02-28 Daniel Bates Update my watch list preferences and contributor's entry. * Scripts/webkitpy/common/config/contributors.json: * Scripts/webkitpy/common/config/watchlist: 2020-02-27 Don Olmstead Fix WebCore export macros for declspec https://bugs.webkit.org/show_bug.cgi?id=208363 Reviewed by Konstantin Tokarev. Remove setting of WEBCORE_EXPORT and WEBCORE_TESTSUPPORT_EXPORT from the header files. Removed precompiled headers that were empty. * DumpRenderTree/DumpRenderTreePrefix.h: * DumpRenderTree/win/DefaultPolicyDelegate.cpp: Added a missing config.h. * MiniBrowser/win/stdafx.h: * TestWebKitAPI/win/TestWebKitAPIPrefix.cpp: Removed. * TestWebKitAPI/win/TestWebKitAPIPrefix.h: Removed. * WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.cpp: Removed. * WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.h: Removed. * WebKitTestRunner/PlatformFTW.cmake: * WebKitTestRunner/PlatformWin.cmake: * WebKitTestRunner/WebKitTestRunnerPrefix.h: 2020-02-27 Tim Horton UIProcess crash after using _prepareForMoveToWindow, then deallocating the WKWebView before moving to the window https://bugs.webkit.org/show_bug.cgi?id=208365 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/PrepareForMoveToWindow.mm: (TEST): Add a test! It was a 100% repro crash before this change. 2020-02-27 Kate Cheney TestWebKitAPI and WebKitTestRunner should have bundle identifiers https://bugs.webkit.org/show_bug.cgi?id=208260 Reviewed by Tim Horton. Followed instructions for adding an Info.plist for Single-File Tools found on https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html The default WebsiteDataStore file path will change with this test to reflect the new bundleID so we must change expectations for any api tests which rely on knowing the path. * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/IDBObjectStoreInfoUpgradeToV2.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBStructuredCloneBackwardCompatibility.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/LoadFileURL.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/LocalStorageClear.mm: (TEST): (defaultWebsiteCacheDirectory): * TestWebKitAPI/Tests/WebKitCocoa/LocalStorageNullEntries.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: * TestWebKitAPI/Tests/WebKitCocoa/StoreBlobThenDelete.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (runWebsiteDataStoreCustomPaths): (TEST): * TestWebKitAPI/Tests/mac/SetAndUpdateCacheModel.mm: (TestWebKitAPI::resetTestState): Now that we set a bundleID, we have to reset the cache model between tests, otherwise it gets stored between tests. (TestWebKitAPI::TEST): * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: 2020-02-27 Ryosuke Niwa TextManipulationController should not generate a new item for content in manipulated paragraphs https://bugs.webkit.org/show_bug.cgi?id=208286 Reviewed by Wenson Hsieh. Added a regression test. * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: (TextManipulation.InsertingContentIntoAlreadyManipulatedContentDoesNotCreateTextManipulationItem): 2020-02-27 Jonathan Bedard run-javascriptcore-tests: Make upload format valid https://bugs.webkit.org/show_bug.cgi?id=208341 Reviewed by Aakash Jain. * Scripts/run-javascriptcore-tests: (uploadResults): Print json blob for upload after failure for debugging. 2020-02-27 Don Olmstead [CMake] Add WebKit::PAL target https://bugs.webkit.org/show_bug.cgi?id=198493 Reviewed by Michael Catanzaro. Add workaround for Windows where PAL_FRAMEWORK_HEADERS_DIR is not propagating. * DumpRenderTree/PlatformWin.cmake: 2020-02-27 Alex Christensen Add SPI to query WKFrameInfos in a WKWebView https://bugs.webkit.org/show_bug.cgi?id=208212 Reviewed by Brady Eidson. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp: Removed. * WebKitTestRunner/TestController.cpp: (WTR::TestController::saltForOrigin): 2020-02-27 Jacob Uphoff Unreviewed, rolling out r257530. This commit seems to have broke the build internally for watchOS Reverted changeset: "Add SPI to query WKFrameInfos in a WKWebView" https://bugs.webkit.org/show_bug.cgi?id=208212 https://trac.webkit.org/changeset/257530 2020-02-27 Don Olmstead [CMake] Use WEBKIT_EXECUTABLE in MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=206894 Reviewed by Adrian Perez de Castro. Modify CMake ports to use WEBKIT_EXECUTABLE when creating their respective MiniBrowsers. * MiniBrowser/gtk/CMakeLists.txt: * MiniBrowser/win/CMakeLists.txt: * MiniBrowser/wpe/CMakeLists.txt: 2020-02-26 Alex Christensen Remove unused WebsiteDataStore::setSourceApplicationBundleIdentifier https://bugs.webkit.org/show_bug.cgi?id=206456 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): 2020-02-26 Alex Christensen _WKUserContentWorld should be a wrapper around WKContentWorld https://bugs.webkit.org/show_bug.cgi?id=208274 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/UserContentWorld.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm: (TEST): 2020-02-26 Ryan Haddad Unreviewed, rolling out r257522. Caused 16 API test failures on the bots Reverted changeset: "TestWebKitAPI and WebKitTestRunner should have bundle identifiers" https://bugs.webkit.org/show_bug.cgi?id=208260 https://trac.webkit.org/changeset/257522 2020-02-26 Alex Christensen Add SPI to query WKFrameInfos in a WKWebView https://bugs.webkit.org/show_bug.cgi?id=208212 Reviewed by Brady Eidson. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp: Removed. * WebKitTestRunner/TestController.cpp: (WTR::TestController::saltForOrigin): 2020-02-26 Kate Cheney TestWebKitAPI and WebKitTestRunner should have bundle identifiers https://bugs.webkit.org/show_bug.cgi?id=208260 Reviewed by Tim Horton. Followed instructions for adding an Info.plist for Single-File Tools found on https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: * TestWebKitAPI/Info.plist: Added. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: * WebKitTestRunner/Info.plist: Added. * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: 2020-02-26 Kate Cheney Tests should each use a unique ResourceLoadStatistics file path for its database store https://bugs.webkit.org/show_bug.cgi?id=208206 Reviewed by Brady Eidson. Initialize a default website data store before checking for the ITP store to ensure the directory exists after the file has been deleted. * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: (TEST): 2020-02-26 Christopher Reid [Win] Implement NetworkCache::Data by using FileSystem::MappedFileData https://bugs.webkit.org/show_bug.cgi?id=197684 Reviewed by Yusuke Suzuki. Add test for FileSystem::createFile * TestWebKitAPI/Tests/WTF/FileSystem.cpp: 2020-02-26 Aakash Jain [ews] commit-queue should verify patch committer and reviewer https://bugs.webkit.org/show_bug.cgi?id=206532 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (ValidateCommiterAndReviewer): Build step to validate patch commiter and reviewer. (ValidateCommiterAndReviewer._addToLog): (ValidateCommiterAndReviewer.getResultSummary): (ValidateCommiterAndReviewer.fail_build): (ValidateCommiterAndReviewer.load_contributors): Load contributors information. (ValidateCommiterAndReviewer.is_reviewer): (ValidateCommiterAndReviewer.is_committer): (ValidateCommiterAndReviewer.full_name_from_email): (ValidateCommiterAndReviewer.start): 2020-02-26 Daniel Bates [iOS] Send focus update immediately on becoming or resigning first responder https://bugs.webkit.org/show_bug.cgi?id=208082 Rubber-stamped by Jer Noble. Add a test to ensure that selecting a position at a point after the web view becomes first responder is allowed. Such an operation is only allowed if the web view is focused. * TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm: (-[TestWKWebView selectPositionAtPoint:]): (TEST): * TestWebKitAPI/ios/UIKitSPI.h: Forward declare SPI. 2020-02-26 Chris Dumez Unreviewed, disable new DragAndDropTests.DragAndDropOnEmptyView API test on iOS. The test was added for macOS and times out on iOS. * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm: (TEST): 2020-02-26 Youenn Fablet Use WebPageProxy preferences for capture instead of WebProcessPool configuration parameters https://bugs.webkit.org/show_bug.cgi?id=208238 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm: (TEST): Remove use of deleted parameter. 2020-02-25 Devin Rousso Web Inspector: safari app extension isolated worlds and injected files use the extension's identifier instead of its name https://bugs.webkit.org/show_bug.cgi?id=206911 Reviewed by Brian Burg. * TestWebKitAPI/Tests/WTF/HashSet.cpp: (TestWebKitAPI::TEST): Add test for `WTF::HashSet::reserveInitialCapacity`. * TestWebKitAPI/Tests/WTF/HashMap.cpp: (TestWebKitAPI::TEST): Actually check the value of `WTF::HashMap::capacity`. * TestWebKitAPI/Tests/WebKitCocoa/_WKInspectorDelegate.mm: Added. (-[InspectorDelegate _webView:didAttachInspector:]) (-[InspectorDelegate _webView:browserDomainEnabledForInspector:]) (-[InspectorDelegate _webView:browserDomainDisabledForInspector:]) (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm: (-[InspectorDelegate _webView:didAttachInspector:]): Deleted. (TestWebKitAPI::TEST): Deleted. 2020-02-25 Matt Lewis Add checkout_root to stubrepository.py https://bugs.webkit.org/show_bug.cgi?id=208213 Reviewed by Jonathan Bedard. * Scripts/webkitpy/common/checkout/scm/stub_repository.py: (StubRepository.__init__): We are creating our own class variable for checkout_root rather than calling the parent SCM variable because when initially we left out the parent constructor due to trying to override the fact that we don't actually have a SCM. 2020-02-25 Daniel Bates TestWebKitAPI.PasteMixedContent.CopyAndPasteWithCustomPasteboardDataOnly should wait until copy operation completes https://bugs.webkit.org/show_bug.cgi?id=208214 Reviewed by Wenson Hsieh. Wait until the copy operation completes before loading the second web view and testing paste to ensure that something was actually copied to the clipboard. * TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme: * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm: (TestWebKitAPI::TEST): Substitute -_synchronouslyExecuteEditCommand for -_executeEditCommand so that we wait until the command completes. 2020-02-25 Chris Dumez REGRESSION (r256882): Can't drag an HTML file into a new (empty) Safari tab https://bugs.webkit.org/show_bug.cgi?id=208199 Reviewed by Alex Christensen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm: (TEST): 2020-02-25 Sihui Liu spinRunLoop should take a non-zero integer as parameter https://bugs.webkit.org/show_bug.cgi?id=208148 Unreviewed iOS build fix. * TestWebKitAPI/cocoa/UtilitiesCocoa.mm: (TestWebKitAPI::Util::spinRunLoop): 2020-02-25 Sihui Liu spinRunLoop should take a non-zero integer as parameter https://bugs.webkit.org/show_bug.cgi?id=208148 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: * TestWebKitAPI/cocoa/UtilitiesCocoa.mm: (TestWebKitAPI::Util::spinRunLoop): 2020-02-24 Yusuke Suzuki [WTF] Add tests for CompactRefPtrTuple https://bugs.webkit.org/show_bug.cgi?id=208172 Reviewed by Darin Adler. We copy tests from RefPtr for CompactRefPtrTuple to ensure that it is working correctly. Many of tests are not necessary since currently CompactRefPtrTuple is non-copyable / non-movable. * TestWebKitAPI/CMakeLists.txt: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WTF/CompactRefPtrTuple.cpp: Added. (TestWebKitAPI::TEST): 2020-02-24 Aakash Jain [ews] commit-queue should check that patch have appropriate review flag https://bugs.webkit.org/show_bug.cgi?id=208138 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (BugzillaMixin._is_patch_obsolete): Drive-by fix to set build properties for patch author, commiter and reviewer. (BugzillaMixin._is_patch_cq_plus): (BugzillaMixin._does_patch_have_acceptable_review_flag): Method to check if patch have r? or r- flag. (ValidatePatch.start): 2020-02-24 Jiewen Tan [WebAuthn] Implement SPI for the platform authenticator https://bugs.webkit.org/show_bug.cgi?id=208087 Reviewed by Brent Fulgham. Besides adding API tests, this patch also teaches TestWebKitAPI to use restricted entitlements. * TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements: * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]): (-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:completionHandler:]): (-[TestWebAuthenticationPanelDelegate panel:verifyUserWithAccessControl:completionHandler:]): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-la.html: Copied from Tools/TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion.html. * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la-duplicate-credential.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la-error.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-la.html: Added. 2020-02-24 Yusuke Suzuki Unreviewed, updating LLDB test for CompactPointerTuple. https://bugs.webkit.org/show_bug.cgi?id=207827 * lldb/lldb_webkit.py: (WTFCompactPointerTupleProvider): (WTFCompactPointerTupleProvider.update): 2020-02-24 Ellie Epskamp-Hunt Provide alternate way to name Web Content process https://bugs.webkit.org/show_bug.cgi?id=205224 rdar://57038084 Reviewed by Alex Christensen. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/DisplayName.mm: Added. (TestWebKitAPI::TEST): 2020-02-24 Jonathan Bedard results.webkit.org: Link to result archives https://bugs.webkit.org/show_bug.cgi?id=207646 Rubber-stamped by Aakash Jain. * resultsdbpy/resultsdbpy/view/static/js/archiveRouter.js: Added. (_ArchiveRouter): Retrieve json from archive-router endpoint. (_ArchiveRouter.prototype._determineArgumentFromAncestry): Given an argument, default and ancestry values, return the most specific value. (_ArchiveRouter.prototype.hasArchive): Check if a suite and mode have an archive link. (_ArchiveRouter.prototype.pathFor): Construct the path for archive access. (_ArchiveRouter.prototype.labelFor): Return a label for an archive link. * resultsdbpy/resultsdbpy/view/static/js/investigate.js: (parametersForInstance): Extract from lambda function. (testRunLink): Use parametersForInstance instead of a lambda function. (archiveLink): Return an archive link for data. (contentForData): Add archive link to view. * resultsdbpy/resultsdbpy/view/static/js/timeline.js: (TimelineFromEndpoint): Accept both suite and test. (TimelineFromEndpoint.prototype.render.onDotEnterFactory): Add archive link to pop-over. * resultsdbpy/resultsdbpy/view/templates/search.html: Pass suite and test to TimelineEndpoint. * resultsdbpy/resultsdbpy/view/templates/suite_results.html: Pass suite to TimelineEndpoint. * resultsdbpy/resultsdbpy/view/view_routes.py: (ViewRoutes.__init__): Add archive_route dictionary. 2020-02-24 Alex Christensen WKWebViewConfiguration._corsDisablingPatterns should also disable CORS for non-DocumentThreadableLoader loading https://bugs.webkit.org/show_bug.cgi?id=208035 Reviewed by Tim Hatcher. * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: 2020-02-22 Darin Adler Fix some include mistakes and make some coding style tweaks to WebKit and WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=208099 Reviewed by Antti Koivisto. * WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm: Sorted includes the traditional way. Added an include of AccessibilityCommonMac.h so we can use the -[NSString createJSStringRef] method. (-[NSString createJSStringRef]): Deleted. This is a duplicate of the method defined in AccessibilityCommonMac.mm, and was causing a linker warning. 2020-02-22 Wenson Hsieh fast/forms/ios/force-gregorian-calendar-for-credit-card-expiry.html is failing in iOS 13.4 beta https://bugs.webkit.org/show_bug.cgi?id=208096 Reviewed by Alexey Proskuryakov. In the iOS 13.4 beta, the fix for changed -[UIDatePicker setCalendar:], such that if the new calendar locale matches that of the current calendar's locale (and several other properties of the new NSCalendar are also unchanged), then the UIDatePicker's calendar will also avoid changing. In our layout tests, the mechanism we use to simulate the user changing their preferred calendar is no longer compatible with the above change since the swizzled NSCalendar instance does not have a locale set, so it will default to the same locale as the one used in the original NSCalendar. This means the call to -setCalendar: ends up being a no-op, so the test fails to override the simulated Japanese calendar type with a Gregorian calendar in the credit card expiry field. To fix this, additionally specify a calendar locale identifier when generating the mock NSCalendar. * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.h: (WTR::UIScriptController::setDefaultCalendarType): * WebKitTestRunner/TestController.h: Change m_overriddenCalendarIdentifier to m_overriddenCalendarAndLocaleIdentifiers, a pair of calendar identifier and calendar locale identifier. * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::swizzledCalendar): (WTR::TestController::overriddenCalendarIdentifier const): (WTR::TestController::overriddenCalendarLocaleIdentifier const): Clean these up by returning the `NSString *` instead of making another `RetainPtr`. (WTR::TestController::setDefaultCalendarType): Plumb the new calendar's locale identifier through this method. (WTR::TestController::cocoaResetStateToConsistentValues): (WTR::TestController::getOverriddenCalendarIdentifier const): Deleted. * WebKitTestRunner/cocoa/UIScriptControllerCocoa.h: * WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm: (WTR::UIScriptControllerCocoa::setDefaultCalendarType): 2020-02-21 Kate Cheney App-bound domains should have separate Network Sessions https://bugs.webkit.org/show_bug.cgi?id=208026 Reviewed by Brent Fulgham. This patch is mostly test infrastructure involving 3 functions. One sets in-app browser privacy as enabled in the network process manually for the test. One ensures that setting the WebView category works properly, and the last one checks for an app-bound session for an app-bound navigation. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessageToPage): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::getWebViewCategory): (WTR::TestRunner::callDidReceiveWebViewCategoryCallback): (WTR::TestRunner::hasAppBoundSession): (WTR::TestRunner::setInAppBrowserPrivacyEnabled): (WTR::TestRunner::callDidSetInAppBrowserPrivacyEnabledCallback): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::ensureViewSupportsOptionsForTest): Clearing the bundleID should happen right before setting a new one, otherwise it clears the ID after it is set and returns a null ID. (WTR::TestController::resetStateToConsistentValues): (WTR::TestController::getWebViewCategory): (WTR::InAppBrowserPrivacyCallbackContext::InAppBrowserPrivacyCallbackContext): (WTR::inAppBrowserPrivacyBooleanResultCallback): (WTR::inAppBrowserPrivacyVoidResultCallback): (WTR::TestController::hasAppBoundSession): (WTR::TestController::setInAppBrowserPrivacyEnabled): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): (WTR::TestInvocation::didSetInAppBrowserPrivacyEnabled): (WTR::TestInvocation::didReceivePrevalentDomains): (WTR::TestInvocation::didReceiveWebViewCategory): * WebKitTestRunner/TestInvocation.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::getWebViewCategory): 2020-02-21 Jonathan Bedard Build DumpRenderTree and WebKitTestRunner for macCatalyst https://bugs.webkit.org/show_bug.cgi?id=208068 Reviewed by Tim Horton. * DumpRenderTree/ios/TextInputControllerIOS.m: Import WebKitLegacy explicitly. * DumpRenderTree/mac/Configurations/Base.xcconfig: Use cocoatouch instead of SDK. * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Ditto. * DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig: Ditto. * DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig: Ditto. * DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig: Ditto. * DumpRenderTree/mac/EditingDelegate.mm: Import WebKitLegacy explicitly. * DumpRenderTree/mac/EventSendingController.h: Ditto. * DumpRenderTree/mac/ObjCPlugin.m: Ditto. * DumpRenderTree/mac/ResourceLoadDelegate.mm: Ditto. * Makefile: Add DumpRenderTree and WebKitTestRunner. * WebKitTestRunner/Configurations/Base.xcconfig: Use cocoatouch instead of SDK. * WebKitTestRunner/Configurations/InjectedBundle.xcconfig: Ditto. * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: Ditto. 2020-02-21 Aakash Jain [ews] Add build step to Validate ChangeLog for commit-queue https://bugs.webkit.org/show_bug.cgi?id=208064 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (ValidateChangeLogAndReviewer): Build step to validate ChangeLog. (ValidateChangeLogAndReviewer.start): (ValidateChangeLogAndReviewer.evaluateCommand): If the validation fails, comment on bug and mark patch as cq-. (SetCommitQueueMinusFlagOnPatch.start): End the build (after marking the patch cq-) if build_finish_summary property is set. 2020-02-21 Aakash Jain [ews] Add build step to set cq- flag on bugzilla patch https://bugs.webkit.org/show_bug.cgi?id=208021 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (BugzillaMixin.set_cq_minus_flag_on_patch): (SetCommitQueueMinusFlagOnPatch): (SetCommitQueueMinusFlagOnPatch.start): (SetCommitQueueMinusFlagOnPatch.getResultSummary): 2020-02-20 Matt Lewis Stub repositories fail to upload some results due to missing head svn revision https://bugs.webkit.org/show_bug.cgi?id=207684 Reviewed by Jonathan Bedard. * Scripts/webkitpy/common/host_mock.py: Added in call for creating stub repo checkout information for upload tests. (MockHost.__init__): * Scripts/webkitpy/layout_tests/models/test_run_results.py: (summarize_results): Changed call to head_svn_revision to port.commits_for_upload() to bring * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py: (SummarizedResultsTest.setUp): Added in new required parameter for testing. * Scripts/webkitpy/port/base.py: (Port.commits_for_upload): Removed the forced movement up the systems tree that prevented us from using mock SCMs and more * Scripts/webkitpy/port/test.py: Added function to make the checkout_information.json for upload testing. 2020-02-21 Diego Pino Garcia [JSCOnly] Add --verbose flag when running JavaScriptCore tests https://bugs.webkit.org/show_bug.cgi?id=208051 Reviewed by Carlos Alberto Lopez Perez. Verbose flag prints out each test name executed. Without this flag stdout prints out one or two periods. * BuildSlaveSupport/build.webkit.org-config/steps.py: (RunJavaScriptCoreTests.start): 2020-02-21 Michael Catanzaro [WPE][GTK] googleapis.com is a public suffix, defeating isGoogle() check in UserAgentQuirks.cpp https://bugs.webkit.org/show_bug.cgi?id=207984 Reviewed by Daniel Bates. * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp: (TestWebKitAPI::TEST): 2020-02-20 Michael Catanzaro [GTK] Improve user agent quirk for Google Docs and Google Drive https://bugs.webkit.org/show_bug.cgi?id=206506 Reviewed by Carlos Garcia Campos. * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp: (TestWebKitAPI::assertUserAgentForURLHasFirefoxBrowserQuirk): (TestWebKitAPI::TEST): 2020-02-20 Fujii Hironori check-webkit-style: Check if *_EXPORT and *_EXPORT_PRIVATE macros are used under corresponding directories https://bugs.webkit.org/show_bug.cgi?id=207380 Reviewed by Jonathan Bedard. Added a new rule 'build/export_macro'. Removed a obsolete rule 'readability/webkit_export' which was used only by Chromium port (r148185). * Scripts/webkitpy/style/checkers/cpp.py: (_FunctionState.export_macro): (check_function_definition): (_unix_path): Added. (is_generated_file): Use _unix_path. (check_has_config_header): Ditto. (CppChecker): * Scripts/webkitpy/style/checkers/cpp_unittest.py: (WebKitStyleTest.test_export_macro_check): (WebKitStyleTest.test_webkit_export_check): Deleted. 2020-02-20 Fujii Hironori [Win][MiniBrowser] Add prettier toolbar button icons https://bugs.webkit.org/show_bug.cgi?id=207999 Reviewed by Ross Kirsling. Use a custom toolbar button icons instead of system stock icons. Fixed a bug toolbar button dropdown arrows always looked being hovered. TBSTYLE_FLAT should be given. Removed the window border line of Progress Indicator. * MiniBrowser/win/MainWindow.cpp: (MainWindow::createToolbar): * MiniBrowser/win/MiniBrowserLib.rc: * MiniBrowser/win/MiniBrowserLibResource.h: * MiniBrowser/win/toolbar.bmp: Added. 2020-02-20 Aakash Jain Update run-webkit-tests help description for skip-failing-tests https://bugs.webkit.org/show_bug.cgi?id=208031 Reviewed by Alexey Proskuryakov. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: 2020-02-20 Chris Dumez REGRESSION (r255677): Reloading tab with beforeunload prompt closes tab when asking to stay on page https://bugs.webkit.org/show_bug.cgi?id=208015 Reviewed by Geoffrey Garen. Add API test coverage. * TestWebKitAPI/Tests/WebKitCocoa/ModalAlerts.mm: (TEST): 2020-02-20 Tim Horton WKWebView with non-zero origin has the wrong top content inset with NSWindowStyleMaskFullSizeContentView https://bugs.webkit.org/show_bug.cgi?id=207998 Reviewed by Sam Weinig. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/TopContentInset.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/FullscreenTopContentInset.mm. (-[FullscreenChangeMessageHandler userContentController:didReceiveScriptMessage:]): (TestWebKitAPI::TEST): Add some tests for top content insets. 2020-02-20 Jonathan Bedard results.webkit.org: Correctly report JSC tests for windows (Follow-up fix) https://bugs.webkit.org/show_bug.cgi?id=207910 Unreviewed infrastructure fix. * Scripts/run-javascriptcore-tests: (configurationForUpload): Use the major version instead of the sub-minor version for version name. 2020-02-20 Don Olmstead [CMake] Add WPE::libwpe target https://bugs.webkit.org/show_bug.cgi?id=207970 Reviewed by Adrian Perez de Castro. Use the WPE::libwpe target. * MiniBrowser/wpe/CMakeLists.txt: * TestWebKitAPI/PlatformWPE.cmake: * TestWebKitAPI/glib/PlatformWPE.cmake: * wpe/backends/CMakeLists.txt: 2020-02-19 Fujii Hironori [Win][MiniBrowser] Add 'Go Home' menu item and toolbar button https://bugs.webkit.org/show_bug.cgi?id=207749 Reviewed by Ross Kirsling. Added "Set Default URL to Current URL" menu item like Mac MiniBrowser. * MiniBrowser/win/MainWindow.cpp: (MainWindow::createToolbar): (MainWindow::WndProc): (MainWindow::setDefaultURLToCurrentURL): (MainWindow::goHome): Added. (MainWindow::onURLBarEnter): * MiniBrowser/win/MainWindow.h: * MiniBrowser/win/MiniBrowserLib.rc: * MiniBrowser/win/MiniBrowserLibResource.h: * MiniBrowser/win/MiniBrowserReplace.h: * MiniBrowser/win/WinMain.cpp: (wWinMain): 2020-02-19 Peng Liu Fix check-webkit-style errors related to AVFoundationSPI.h https://bugs.webkit.org/show_bug.cgi?id=207834 Reviewed by Daniel Bates. Revert the change in r256770 regarding the headers ordering. Headers in the same category should be in sorted order (case sensitive, as done by the command-line sort tool or the Xcode sort selection command). * Scripts/webkitpy/style/checkers/cpp.py: (check_include_line): 2020-02-19 Jonathan Bedard results.webkit.org: Correctly report JSC tests for windows https://bugs.webkit.org/show_bug.cgi?id=207910 Rubber-stamped by Aakash Jain. * Scripts/run-javascriptcore-tests: (configurationForUpload): Give Windows a version name. * Scripts/webkitdirs.pm: (determineWinVersion): Correctly parse Windows 10 version numbers, conform to Version dictionary. 2020-02-19 Chris Dumez Unreviewed, fix assertions in storage access API layout tests after r256882. Drop dead testRunner code to toggle storage access API feature. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setStorageAccessAPIEnabled): Deleted. * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2020-02-18 Zan Dobersek [WPE] Support 2D axis, smooth-motion events https://bugs.webkit.org/show_bug.cgi?id=207881 Reviewed by Carlos Garcia Campos. * wpe/jhbuild.modules: Bump to a newer libwpe commit. 2020-02-18 Ryan Haddad Unreviewed, rolling out r256851. Broke internal bots Reverted changeset: "Stub repositories fail to upload some results due to missing head svn revision" https://bugs.webkit.org/show_bug.cgi?id=207684 https://trac.webkit.org/changeset/256851 2020-02-18 Fujii Hironori [Win][MiniBrowser] Support back/forward mouse buttons by handing APPCOMMAND_BROWSER_BACKWARD and APPCOMMAND_BROWSER_FORWARD https://bugs.webkit.org/show_bug.cgi?id=207883 Reviewed by Ross Kirsling. Unlike other mouse buttons, 4th and 5th mouse buttons are processed differently. Clicking them dispatches WM_XBUTTONDOWN and WM_XBUTTONUP events to the window under the mouse cursor. Unhandled WM_XBUTTONUP events are automatically converted to WM_APPCOMMAND. And, unhandle WM_APPCOMMAND are propagated to the parent window. Unlike other WM_* commands, WM_APPCOMMAND should return 1 if it is handled. * MiniBrowser/win/BrowserWindow.h: * MiniBrowser/win/MainWindow.cpp: (MainWindow::WndProc): * MiniBrowser/win/WebKitBrowserWindow.cpp: (WebKitBrowserWindow::navigateForwardOrBackward): * MiniBrowser/win/WebKitBrowserWindow.h: * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp: (WebKitLegacyBrowserWindow::navigateForwardOrBackward): * MiniBrowser/win/WebKitLegacyBrowserWindow.h: 2020-02-18 Alex Christensen Expand WKRemoteObjectCoder supported POD types to encode NSURLResponse types https://bugs.webkit.org/show_bug.cgi?id=207912 Reviewed by Brian Weinstein. * TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h: * TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistryPlugIn.mm: (-[RemoteObjectRegistryPlugIn sendRequest:response:challenge:error:completionHandler:]): 2020-02-18 Wenson Hsieh [macOS] Web process may crash under ServicesOverlayController::buildPotentialHighlightsIfNeeded https://bugs.webkit.org/show_bug.cgi?id=207899 Reviewed by Tim Horton and Simon Fraser. Make it possible to run tests on macOS with services controls enabled, via a new TestOptions flag. * WebKitTestRunner/TestController.cpp: (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::platformCreateWebView): 2020-02-18 Matt Lewis Stub repositories fail to upload some results due to missing head svn revision https://bugs.webkit.org/show_bug.cgi?id=207684 Reviewed by Jonathan Bedard. * Scripts/webkitpy/api_tests/run_api_tests.py: (main): Added initializing the scm to the host object. * Scripts/webkitpy/layout_tests/models/test_run_results.py: (summarize_results): Changed call to head_svn_revision to port.commits_for_upload() to bring it in line with modern code. * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (main): Added inializing the scm to the host object. * Scripts/webkitpy/port/base.py: (Port.commits_for_upload): Removed the forced movement up the systems tree that prevented us from using mock SCMs and more * Scripts/webkitpy/test/main.py: (main): Removed the forced movement up the systems tree, initialized the SCM on the host object, and converted the webkit_root variable to the SCM checkout root. (Tester._run_tests): 2020-02-18 Per Arne Vollan Move [UIDevice currentDevice] calls to UI process https://bugs.webkit.org/show_bug.cgi?id=204320 Reviewed by Darin Adler. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/LocalizedDeviceModel.mm: Added. (TEST): 2020-02-18 Simon Fraser Move from "layer flush" terminology to "rendering update" https://bugs.webkit.org/show_bug.cgi?id=207870 Reviewed by Tim Horton. Rename various functions and member variables to move away from the legacy "layer flush" terminology and instead use "rendering update", matching Page::updateRendering(). The fact that we have layers is an implementation detail. Change LayerFlushThrottlingState to be an OptionSet<>. * Tracing/SystemTracePoints.plist: 2020-02-17 Zhifei Fang [Webkit.css] Adding popover style element This help to prevent us reinventing the wheel ever again https://bugs.webkit.org/show_bug.cgi?id=207787 Reviewed by Dean Jackson. * resultsdbpy/resultsdbpy/view/static/library/css/docs.yaml: * resultsdbpy/resultsdbpy/view/static/library/css/index.html: * resultsdbpy/resultsdbpy/view/static/library/css/webkit.css: (.popover): (.popover>.content): (.popover.display): (.popover .arrow): (.popover .arrow.point-top): (.popover .arrow.point-bottom): (.popover .arrow.point-left): (.popover .arrow.point-right): (@media (prefers-color-scheme: dark) .popover>.content): (@media (prefers-color-scheme: dark) .popover.display): (@media (prefers-color-scheme: dark) .popover .arrow): (.popover>.content>.section): Deleted. (.popover:focus>.content, .popover:hover>.content): Deleted. (.popover.right>.content): Deleted. (.popover.right :focus>.content, .popover.right:hover>.content): Deleted. (.popover.left>.content): Deleted. (.popover.left :focus>.content, .popover.left:hover>.content): Deleted. (.popover.bottom>.content): Deleted. (.popover.bottom :focus>.content, .popover.bottom:hover>.content): Deleted. 2020-02-17 Brent Fulgham Update WebKit Tools to issue mach extensions as needed https://bugs.webkit.org/show_bug.cgi?id=207850 Reviewed by Per Arne Vollan. Revise the codesign settings for our testing tools to allow the process to vend mach extensions to its child processes (WebContent, GPU, Network, etc.) as needed. * MiniBrowser/MiniBrowser.entitlements: * TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements: Added. * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * WebKitTestRunner/Configurations/WebKitTestRunner.entitlements: 2020-02-17 Peng Liu Fix check-webkit-style errors related to AVFoundationSPI.h https://bugs.webkit.org/show_bug.cgi?id=207834 Reviewed by Eric Carlson. We need to use case-insensitive comparison to check whether the headers are alphabetically sorted in each header section. Soft-link headers can be included as either "file.h" or . * Scripts/webkitpy/style/checkers/cpp.py: (_classify_include): (check_include_line): 2020-02-17 Keith Rollin Unreviewed build fix after r256715. Fix tvOS and watchOS builds. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm: 2020-02-17 Per Arne Vollan Use CF prefs direct mode in the WebContent process https://bugs.webkit.org/show_bug.cgi?id=203420 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm: Added. (TEST): 2020-02-17 Aakash Jain EWS should be able to file Bugzilla bugs https://bugs.webkit.org/show_bug.cgi?id=207845 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/ews-build/steps.py: (BugzillaMixin.create_bug): Method to file bugzilla bug using bugzilla REST API. 2020-02-17 Aakash Jain EWS should be able to comment on Bugzilla https://bugs.webkit.org/show_bug.cgi?id=201927 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (BugzillaMixin.comment_on_bug): Method to comment on bugzilla bug. (BugzillaMixin.remove_flags_on_patch): Drive-by fix to correctly identify failure based on status code. (BugzillaMixin.close_bug): Ditto. (CommentOnBug): Build step to comment on bugzilla bug. 2020-02-17 Antti Koivisto [macOS] Add trace points for layer flush runloop observer https://bugs.webkit.org/show_bug.cgi?id=207837 Reviewed by Sam Weinig. * Tracing/SystemTracePoints.plist: 2020-02-17 Don Olmstead [CMake] Use builtin targets https://bugs.webkit.org/show_bug.cgi?id=205166 Reviewed by Darin Adler. * TestWebKitAPI/PlatformWin.cmake: 2020-02-17 Aakash Jain [ews] add SetBuildSummary step for Windows EWS https://bugs.webkit.org/show_bug.cgi?id=207556 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/factories.py: (WindowsFactory.__init__): (GTKBuildAndTestFactory.__init__): * BuildSlaveSupport/ews-build/factories_unittest.py: (TestBuildAndTestsFactory.test_windows_factory): Added unit-test. 2020-02-17 Alberto Garcia [WPE] Change the QML plugin install path https://bugs.webkit.org/show_bug.cgi?id=207761 Reviewed by Philippe Normand. * Scripts/run-qt-wpe-minibrowser: * glib/api_test_runner.py: (TestRunner._run_test_qt): 2020-02-16 Fujii Hironori Remove remaining WTF_EXPORT and WTF_IMPORT by replacing them with WTF_EXPORT_DECLARATION and WTF_IMPORT_DECLARATION https://bugs.webkit.org/show_bug.cgi?id=207746 Reviewed by Don Olmstead. * MiniBrowser/win/stdafx.h: 2020-02-16 Brady Eidson Expose "allowsContentJavaScript" on WKWebpagePreferences and https://bugs.webkit.org/show_bug.cgi?id=207427 Reviewed by Darin Adler. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm: (TEST): * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm: (-[WebsitePoliciesNavigationDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]): (TEST): (-[WebsitePoliciesNavigationDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]): Deleted. * TestWebKitAPI/cocoa/TestNavigationDelegate.h: * TestWebKitAPI/cocoa/TestNavigationDelegate.mm: (-[TestNavigationDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]): (-[TestNavigationDelegate waitForDidFinishNavigationWithPreferences:]): (-[WKWebView _test_waitForDidFinishNavigationWithPreferences:]): (-[TestNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted. * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[WKWebView synchronouslyLoadHTMLString:preferences:]): 2020-02-14 Yusuke Suzuki NetworkLoadMetrics should be shared by multiple ResourceResponse instances https://bugs.webkit.org/show_bug.cgi?id=207747 Reviewed by Keith Miller. * TestWebKitAPI/Tests/WebCore/ParsedContentRange.cpp: (TestWebKitAPI::TEST): 2020-02-14 Alex Christensen Allow UIDNAInfo.errors from uidna_nameToUnicode that would not cause URL parsing failures https://bugs.webkit.org/show_bug.cgi?id=207360 Reviewed by Ryosuke Niwa. * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: (TestWebKitAPI::TEST): 2020-02-14 Don Olmstead [CMake] Add Fontconfig::Fontconfig target https://bugs.webkit.org/show_bug.cgi?id=207730 Reviewed by Adrian Perez de Castro. Use the Fontconfig::Fontconfig target. * WebKitTestRunner/PlatformGTK.cmake: 2020-02-13 Kate Cheney Expose prevalent domains on a per-page basis https://bugs.webkit.org/show_bug.cgi?id=207523 Reviewed by Chris Dumez. Added WebKitTestRunner functions so this functionality can be tested. clearPrevalentDomains should be called between tests to reset the state. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::didReceiveMessageToPage): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::getPrevalentDomains): (WTR::TestRunner::callDidReceivePrevalentDomainsCallback): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetStateToConsistentValues): (WTR::TestController::getPrevalentDomains): (WTR::TestController::clearPrevalentDomains): * WebKitTestRunner/TestController.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): (WTR::TestInvocation::didReceivePrevalentDomains): * WebKitTestRunner/TestInvocation.h: * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::TestController::getPrevalentDomains): (WTR::TestController::clearPrevalentDomains): 2020-02-13 Fujii Hironori [Win][MiniBrowser] Reimplement the toolbar by using toolbar common control https://bugs.webkit.org/show_bug.cgi?id=207682 Reviewed by Ross Kirsling. The toolbar placed button common controls as the toolbar buttons. However, because these buttons are focusable, shortcut keys don't work after clicking them. Added Home button, Add to Bookmarks button, dropdown buttons of back and forward buttons, but they aren't implemented yet. Just placeholders at the moment. * MiniBrowser/win/MainWindow.cpp: (MainWindow::createToolbar): Added. (MainWindow::resizeToolbar): Added. (MainWindow::rescaleToolbar): Added. (MainWindow::init): (MainWindow::resizeSubViews): (MainWindow::updateDeviceScaleFactor): * MiniBrowser/win/MainWindow.h: Added m_toolbarItemsWidth. 2020-02-13 Ryosuke Niwa Dark Mode: In Notes, list item becomes invisible in dark mode after outdenting https://bugs.webkit.org/show_bug.cgi?id=207676 Reviewed by Wenson Hsieh and Timothy Hatcher. Added regression tests for pasting content with -apple-system-label and outdenting content. * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm: (PasteHTML.TransformColorsOfDarkContentButNotSemanticColor): (PasteHTML.DoesNotTransformColorsOfLightContentDuringOutdent): 2020-02-13 Alex Christensen _WKResourceLoadInfo should conform to NSSecureCoding https://bugs.webkit.org/show_bug.cgi?id=207667 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm: (TEST): 2020-02-13 Stephan Szabo [PlayStation] Add Buildbots for Debug/Release builds https://bugs.webkit.org/show_bug.cgi?id=199454 Reviewed by Aakash Jain. * BuildSlaveSupport/build.webkit.org-config/config.json: Add PlayStation slaves, builders * BuildSlaveSupport/build.webkit.org-config/factories.py: Use higher timeout for playstation as with win bot * BuildSlaveSupport/build.webkit.org-config/loadConfig.py: Set PlayStation category for playstation platform * BuildSlaveSupport/build.webkit.org-config/steps.py: Use same path as gtk, wincairo, etc for appendCustomBuildFlags * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Add PlayStation expectations 2020-02-13 Per Arne Vollan [iOS] Check if PIP is supported in the UI process https://bugs.webkit.org/show_bug.cgi?id=207406 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/PictureInPictureSupport.mm: Added. (TEST): 2020-02-13 Jonathan Bedard TestWebKitAPI: Conditionalize fullscreen tests on fullscreen API https://bugs.webkit.org/show_bug.cgi?id=207397 Reviewed by Jer Noble. * TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm: * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm: 2020-02-13 Jonathan Bedard TestWebKitAPI: Re-baseline DocumentEditingContext for Catalyst https://bugs.webkit.org/show_bug.cgi?id=207696 Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm: 2020-02-13 Wenson Hsieh [iOS] -updateSelectionWithExtentPoint:completionHandler: should work without requiring floating cursor https://bugs.webkit.org/show_bug.cgi?id=207680 Reviewed by Tim Horton. Add a new API test to verify that calling -updateSelectionWithExtentPoint:completionHandler: with a point behind the current selection works. * TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm: (-[TestWKWebView updateSelectionWithExtentPoint:]): * TestWebKitAPI/ios/UIKitSPI.h: 2020-02-13 Said Abou-Hallawa Unreviewed, rolling out r255158, 255405 and r255486 Caused test flakiness and PLT regression. * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebPreferencesToConsistentValues): * DumpRenderTree/win/DumpRenderTree.cpp: (enableExperimentalFeatures): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): 2020-02-12 Jonathan Bedard run-javascriptcore-tests: Allow insecure requests on upload https://bugs.webkit.org/show_bug.cgi?id=207662 Rubber-stamped by Aakash Jain. * Scripts/run-javascriptcore-tests: (uploadResults): Allow insecure curl request when posting results. 2020-02-12 Truitt Savell Unreviewed, rolling out r256463. Caused major flakiness on Mac wk2 Reverted changeset: "REGRESSION (r255158): http/tests/frame-throttling/raf- throttle-in-cross-origin-subframe.html is a flaky failure" https://bugs.webkit.org/show_bug.cgi?id=206839 https://trac.webkit.org/changeset/256463 2020-02-12 Jonathan Bedard results.webkit.org: Remove debug JS logging https://bugs.webkit.org/show_bug.cgi?id=207663 Reviewed by Aakash Jain. * resultsdbpy/resultsdbpy/view/static/js/investigate.js: (elapsed): * resultsdbpy/resultsdbpy/view/static/js/tooltip.js: (_ToolTip.prototype.toString): * resultsdbpy/resultsdbpy/view/static/library/js/Ref.js: (prototype.addWithDelay): * resultsdbpy/resultsdbpy/view/templates/archive_list.html: 2020-02-12 Simon Fraser Remove CSS_DEVICE_ADAPTATION https://bugs.webkit.org/show_bug.cgi?id=203479 Reviewed by Tim Horton. CSS Working Group resolved to remove @viewport , so remove the code. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2020-02-12 Said Abou-Hallawa REGRESSION (r255158): http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=206839 Reviewed by Simon Fraser. Remove the WKPreference key 'RenderingUpdateThrottlingEnabled'. * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebPreferencesToConsistentValues): * DumpRenderTree/win/DumpRenderTree.cpp: (enableExperimentalFeatures): * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): 2020-02-12 Jonathan Bedard results.webkit.org: Cache archive content https://bugs.webkit.org/show_bug.cgi?id=207589 Reviewed by Aakash Jain. * resultsdbpy/resultsdbpy/flask_support/util.py: (cache_for): Add decorator function which sets the cache values on the returned response. * resultsdbpy/resultsdbpy/view/archive_view.py: (ArchiveView): Cache archive content client-side for 12 hours. * resultsdbpy/resultsdbpy/view/archive_view_unittest.py: (ArchiveViewUnittest.test_file): Verify that archived content is cached. 2020-02-12 Youenn Fablet WebSWServerConnection::registerServiceWorkerClient is not sending IPC message to UIProcess when it should https://bugs.webkit.org/show_bug.cgi?id=207537 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2020-02-11 Rob Buis Bug 207424: Crash in WebCore::ParsedContentType::parseContentType when parsing invalid MIME type Reviewed by Rob Buis. * TestWebKitAPI/Tests/WebCore/ParsedContentType.cpp: (TestWebKitAPI::TEST): Add more tests. 2020-02-11 Commit Queue Unreviewed, rolling out r256314. https://bugs.webkit.org/show_bug.cgi?id=207594 It is breaking an API test (Requested by youenn on #webkit). Reverted changeset: "WebSWServerConnection::registerServiceWorkerClient is not sending IPC message to UIProcess when it should" https://bugs.webkit.org/show_bug.cgi?id=207537 https://trac.webkit.org/changeset/256314 2020-02-11 Jonathan Bedard results.webkit.org: Configuration documentation should include architecture https://bugs.webkit.org/show_bug.cgi?id=207584 Reviewed by Aakash Jain. * resultsdbpy/resultsdbpy/view/templates/documentation.html: Add architecture documentation. 2020-02-11 Youenn Fablet Regression: RTCRtpSender.getCapabilities("video") returns null on iOS 13.4 (17E5223h) https://bugs.webkit.org/show_bug.cgi?id=207325 Reviewed by Eric Carlson. * TestWebKitAPI/Tests/WebKit/GetUserMedia.mm: (TestWebKitAPI::TEST): Add a test validating that RTCRtpSender.getCapabilities does not return null. * TestWebKitAPI/Tests/WebKit/getUserMedia.html: 2020-02-11 Wenson Hsieh KeyboardInputTests.SupportsImagePaste fails on recent versions of UIKit https://bugs.webkit.org/show_bug.cgi?id=207557 Reviewed by Jonathan Bedard. The exception occurs because UIKit attempts to create a QoS interval upon setting the initially selected row in a UITableView when we focus a date picker. This fails because TestWebKitAPI isn't actually an app, so the call to `work_interval_create` with `WORK_INTERVAL_TYPE_CA_CLIENT` as the option flag fails. For the time being, work around this by focusing an empty select element instead (for which we won't attempt to create and select any table view cells). * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: 2020-02-11 Alex Christensen Add WKHTTPCookieStore._getCookiesForURL SPI https://bugs.webkit.org/show_bug.cgi?id=207527 Reviewed by Brady Eidson. * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm: (TEST): 2020-02-11 Youenn Fablet WebSWServerConnection::registerServiceWorkerClient is not sending IPC message to UIProcess when it should https://bugs.webkit.org/show_bug.cgi?id=207537 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 2020-02-11 Lauro Moura [WPE][WebDriver] MiniBrowser should react to close session commands https://bugs.webkit.org/show_bug.cgi?id=207529 Reviewed by Carlos Garcia Campos. WebDriver delete session command asks to close the WebView associated to the current automation session. We must react to it to avoid lots of timeouts and errors. * MiniBrowser/wpe/main.cpp: (main): Listen to "close" signal on the main WebView. 2020-02-11 Wenson Hsieh [iOS] Non-internal API test runners frequently crash due to Objective-C exceptions https://bugs.webkit.org/show_bug.cgi?id=207525 Reviewed by Tim Horton. After the fix for , some scroll view content offset changes will attempt to call into CoreAnalytics API to try and report data about scrolling velocities. In the iOS 13.3 simulator, this involves creating a dictionary, of which one of the keys is the bundle identifier of the application. The value is unconditionally inserted into the dictionary. Since TestWebKitAPI does not run in the context of a UIApplication, the bundle identifier (that is, `NSBundle.mainBundle.bundleIdentifier`) ends up being nil, causing us to crash upon trying to create the dictionary. While it would make things easier, we can't just swizzle -bundleIdentifier for the entirely of every test, since some tests expect the bundle identifier to be nil (or call into system frameworks that expect the bundle identifier to be nil). These tests fail or time out when -bundleIdentifier is unconditionally swizzled throughout the test run. To work around this bug for the time being, simply pretend that we have a bundle identifier when running API tests on iOS, by swizzling `-[NSBundle bundleIdentifier]` to return a string at the beginning of each API test. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/cocoa/TestWKWebView.mm: (overrideBundleIdentifier): Move this to the top of the file, so it can be shared. (+[WKWebView initialize]): At the start of each test, force UIKit to cache a fake value for `_UIMainBundleIdentifier()` by invoking an internal class method that calls into the internal helper function, with no other side effects. * TestWebKitAPI/ios/UIKitSPI.h: 2020-02-10 Jonathan Bedard TestWebKitAPI: Support ClipboardTests.ReadMultipleItems on Catalyst https://bugs.webkit.org/show_bug.cgi?id=207501 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm: (writeMultipleObjectsToPlatformPasteboard): All iOS family ports should have The same behavior. 2020-02-10 Alan Sien Wei Hshieh Add a variant of -[WKWebViewPrivate _getContentsAsStringWithCompletionHandler:] that includes contents from subframes https://bugs.webkit.org/show_bug.cgi?id=207352 Reviewed by Alex Christensen. Add a test to exercise the new SPI. * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewGetContents.mm: Add a test for getting text from all frames with a webpage that contains text in subframes. 2020-02-10 Per Arne Vollan [iOS] Crash when granting access to asset services https://bugs.webkit.org/show_bug.cgi?id=207520 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/GrantAccessToMobileAssets.mm: Added. (TEST): 2020-02-10 Chris Dumez [DRT] InternalSettingsGenerated::resetToConsistentState() may override TestOptions https://bugs.webkit.org/show_bug.cgi?id=207481 Reviewed by Alexey Proskuryakov. InternalSettingsGenerated::resetToConsistentState() may override TestOptions such as enableBackForwardCache. This is causing issues such as the back/forward cache sometimes getting enabled on tests where TestOptions::enableBackForwardCache() is false, because a previous test has enabled the back/forward cache. * DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting): Make sure we reset preferences after we call WebCoreTestSupport::resetInternalsObject(), since resetInternalsObject() updates settings and TestOptions / DRT preferences should have priority over internal settings. 2020-02-10 Per Arne Vollan [watchOS] Notification listener is never unregistered https://bugs.webkit.org/show_bug.cgi?id=207459 Reviewed by Maciej Stachowiak. Add a test which tests that posting a backlight level change notification will not cause a crash. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit/BacklightLevelNotification.mm: Added. (TEST): 2020-02-10 James Howard Standard gamepad mapping for GameControllerGamepads https://bugs.webkit.org/show_bug.cgi?id=206033 Reviewed by Dean Jackson. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setMockGamepadDetails): * WebKitTestRunner/InjectedBundle/TestRunner.h: * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle): 2020-02-10 Aakash Jain [ews] Display flaky layout test names in build summary https://bugs.webkit.org/show_bug.cgi?id=207504 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (ReRunWebKitTests.evaluateCommand): Drive-by fix to correct the pluralization. (AnalyzeLayoutTestsResults.report_pre_existing_failures): Append the flaky failure information. (AnalyzeLayoutTestsResults.start): 2020-02-10 Aakash Jain [ews] Use SetBuildSummary instead of buildFinished in Layout tests https://bugs.webkit.org/show_bug.cgi?id=207492 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (RunWebKitTests.evaluateCommand): (ReRunWebKitTests.evaluateCommand): (AnalyzeLayoutTestsResults.report_pre_existing_failures): * BuildSlaveSupport/ews-build/factories.py: (TestFactory.__init__): 2020-02-10 Truitt Savell Unreviewed, rolling out r256091. Broke internal builds Reverted changeset: "Move trivial definitions from FeatureDefines.xcconfig to PlatformEnableCocoa.h" https://bugs.webkit.org/show_bug.cgi?id=207155 https://trac.webkit.org/changeset/256091 2020-02-10 Truitt Savell Unreviewed, rolling out r256103. This patch is blocking the rollout of r256091 Reverted changeset: "Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h" https://bugs.webkit.org/show_bug.cgi?id=207436 https://trac.webkit.org/changeset/256103 2020-02-10 Jonathan Bedard results.webkit.org: Abstract archive storage solutions https://bugs.webkit.org/show_bug.cgi?id=207277 Rubber-stamped by Aakash Jain. * resultsdbpy/resultsdbpy/model/archive_context.py: (ArchiveContext): (ArchiveContext.ArchiveMetaDataByCommit.unpack): (ArchiveContext.__init__): Add archiver member. (ArchiveContext.__enter__): archiver is a context manager. (ArchiveContext.__exit__): Ditto. (ArchiveContext.register): The archiver member owns saving an archive. (ArchiveContext.find_archive): The archiver member owns retrieving an archive. (ArchiveContext.ArchiveChunks): Move to CassandraArchiver. * resultsdbpy/resultsdbpy/model/archiver.py: Added. (Archiver): Base class for all Archiving systems. (Archiver.archive_digest): Given a file-like archive, calculate it's digest. (Archiver.archive_size): Given a file-like archive, calculate it's size. (Archiver.save): (Archiver.retrieve): * resultsdbpy/resultsdbpy/model/cassandra_archiver.py: Added. (CassandraArchiver): (CassandraArchiver.ArchiveChunks): Moved from ArchiveContext. (CassandraArchiver.__init__): (CassandraArchiver.__enter__): (CassandraArchiver.__exit__): (CassandraArchiver.save): Split the provided archive into chunks for saving, moved from ArchiveContext. (CassandraArchiver.retrieve): Retrieve an archive with the provided hash, moved from ArchiveContext. 2020-02-09 Lauro Moura [GTK][WPE] Expose allowTopNavigationToDataURL https://bugs.webkit.org/show_bug.cgi?id=207384 Reviewed by Adrian Perez de Castro. Updates with new "allow-top-navigation-to-data-urls" property. * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: (testWebViewAllowModalDialogs): This test requires this property to be set. * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettings): Added tests for getter/setter. 2020-02-08 Sam Weinig Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h https://bugs.webkit.org/show_bug.cgi?id=207436 Reviewed by Tim Horton. * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Remove ENABLE_FAST_JIT_PERMISSIONS and ENABLE_FTL_JIT. 2020-02-08 Yusuke Suzuki [WTF] Try using 75% load factor for HashTable https://bugs.webkit.org/show_bug.cgi?id=207183 Reviewed by Mark Lam. * TestWebKitAPI/Tests/WTF/HashSet.cpp: (TestWebKitAPI::testInitialCapacity): 2020-02-08 Sam Weinig Move trivial definitions from FeatureDefines.xcconfig to PlatformEnableCocoa.h https://bugs.webkit.org/show_bug.cgi?id=207155 Reviewed by Tim Horton. Move all trivial definitions (just ENABLE_FOO = ENABLE_FOO; or ENABLE_BAR = ;) from the FeatureDefines.xcconfigs to PlatformEnableCocoa.h, ensuring each one also has a default value in PlatformEnable.h * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2020-02-07 Wenson Hsieh Several iOS API tests that call -makeKeyWindow assert after r255907 https://bugs.webkit.org/show_bug.cgi?id=207411 Reviewed by Tim Horton. r255907 asserted in -makeKeyWindow that the shared UIApplication exists. While this was guaranteed for all call sites of -makeKeyWindow from API tests, -makeKeyWindow may also be invoked from within UIKit code; in this case, nothing guarantees that the application has been initialized, and we end up hitting this assertion. To fix this, replace the assertion with logic to bootstrap the shared UIApplication (if it didn't already exist). * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: (TestWebKitAPI::TEST): (TestWebKitAPI::overrideBundleIdentifier): Deleted. * TestWebKitAPI/cocoa/TestWKWebView.mm: (overrideBundleIdentifier): (setOverriddenApplicationKeyWindow): 2020-02-07 Jonathan Bedard TestWebKitAPI: Disable legacy ActionSheet tests on Catalyst https://bugs.webkit.org/show_bug.cgi?id=207405 Reviewed by Wenson Hsieh. * TestWebKitAPI/Tests/ios/ActionSheetTests.mm: 2020-02-07 Alex Christensen Remember if we used legacy TLS in the back/forward cache like we remember if we have only secure content https://bugs.webkit.org/show_bug.cgi?id=207409 rdar://problem/59275641 Reviewed by Chris Dumez. * TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: (TestWebKitAPI::TEST): 2020-02-07 Ryan Haddad Unreviewed, rolling out r256051. Broke internal builds. Reverted changeset: "Move trivial definitions from FeatureDefines.xcconfig to PlatformEnableCocoa.h" https://bugs.webkit.org/show_bug.cgi?id=207155 https://trac.webkit.org/changeset/256051 2020-02-07 Jonathan Bedard iPad testers failing to launch processes https://bugs.webkit.org/show_bug.cgi?id=207401 Unreviewed infrastructure fix. This is a speculative fix because I've had problems reproducing this error. The only time I managed to reproduce the problem was immediately after killing the SimulatorTrampoline and CoreSimulator.xpc processes. * BuildSlaveSupport/kill-old-processes: (main): Only kill Simulator.app, not all associated simulator processes. 2020-02-07 Jiewen Tan [WebAuthn] Report CTAP Client Pin Error to clients https://bugs.webkit.org/show_bug.cgi?id=205837 Reviewed by Brent Fulgham. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm: (-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-pin-auth-blocked-error.html: Copied from Tools/TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-get-pin-token-error.html. * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-pin-invalid-error-retry.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-auth-blocked-error.html: Copied from Tools/TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-get-pin-token-error.html. * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-get-pin-token-pin-auth-blocked-error.html: Copied from Tools/TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-get-pin-token-error.html. * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-get-pin-token-pin-auth-invalid-error-retry.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-get-pin-token-pin-blocked-error.html: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-get-pin-token-error.html. * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-get-pin-token-pin-invalid-error-retry.html: Added. * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid-pin-invalid-error-retry.html: Added. 2020-02-07 Jonathan Bedard run-safari Doesn't work with the latest Xcode version and iOS https://bugs.webkit.org/show_bug.cgi?id=207394 Reviewed by Ryosuke Niwa. * Scripts/webkitdirs.pm: (iosSimulatorRuntime): Determine the runtime from valid runtimes. (findOrCreateSimulatorForIOSDevice): iPhone 5 is unsupported, remove code. 2020-02-07 Daniel Bates Legacy WebKit: Have linkedOnOrAfter() respect the NSDefault WebKitLinkedOnOrAfterEverything and opt DumpRenderTree in https://bugs.webkit.org/show_bug.cgi?id=207366 Reviewed by Brent Fulgham. Enable default WebKitLinkedOnOrAfterEverything in DumpRenderTree just as we do in WebKitTestRunner. This lets me put test results for Mac and iOS Legacy WebKit in the same cross-platform directory as the actual test instead of under a platform-specific directory even when the tests' behavior depends on the link-time version of WebKit. Note that testing of pre-linked behavior can still be accomplished by test writers by exposing settings and toggling them in a test. * DumpRenderTree/mac/DumpRenderTree.mm: (setDefaultsToConsistentValuesForTesting): 2020-02-03 Sam Weinig Move trivial definitions from FeatureDefines.xcconfig to PlatformEnableCocoa.h https://bugs.webkit.org/show_bug.cgi?id=207155 Reviewed by Tim Horton. Move all trivial definitions (just ENABLE_FOO = ENABLE_FOO; or ENABLE_BAR = ;) from the FeatureDefines.xcconfigs to PlatformEnableCocoa.h, ensuring each one also has a default value in PlatformEnable.h * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: 2020-02-07 Kate Cheney Update WebView category name to be more accurate https://bugs.webkit.org/show_bug.cgi?id=207334 Reviewed by Brent Fulgham. * TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm: (TEST): 2020-02-07 Aakash Jain [ews] add commit-queue build step to close the bug https://bugs.webkit.org/show_bug.cgi?id=207387 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (BugzillaMixin.close_bug): Method to close the bugzilla bug. (CloseBug): Build step to close bugzilla bug. 2020-02-05 Aakash Jain [ews] add commit-queue build step to clear flags on patch https://bugs.webkit.org/show_bug.cgi?id=206536 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (BugzillaMixin): Class for common bugzilla related methods. (BugzillaMixin.get_bugzilla_api_key): Method to read bugzilla api key from file. (BugzillaMixin.remove_flags_on_patch): Method to remove flags on patch. (ValidatePatch): (RemoveFlagsOnPatch): Class to remove flags on patch. (RemoveFlagsOnPatch.start): (ValidatePatch._addToLog): Moved. (ValidatePatch.fetch_data_from_url): Moved. (ValidatePatch.get_patch_json): Moved. (ValidatePatch.get_bug_json): Moved. (ValidatePatch.get_bug_id_from_patch): Moved. (ValidatePatch._is_patch_obsolete): Moved. (ValidatePatch._is_patch_review_denied): Moved. (ValidatePatch._is_patch_cq_plus): Moved. (ValidatePatch._is_bug_closed): Moved. 2020-02-07 Jonathan Bedard EWS should run resultsdbpy tests https://bugs.webkit.org/show_bug.cgi?id=201928 Reviewed by Aakash Jain. * BuildSlaveSupport/ews-build/factories.py: (ServicesFactory.__init__): Add RunResultsdbpyTests. * BuildSlaveSupport/ews-build/factories_unittest.py: (TestTestsFactory.test_services_factory): Add RunResultsdbpyTests. * BuildSlaveSupport/ews-build/steps.py: (CheckPatchRelevance): resultsdbpy changes should trigger service tests. (RunResultsdbpyTests): Add step which runs resultsdbpy tests. * BuildSlaveSupport/ews-build/steps_unittest.py: (TestRunResultsdbpyTests): (TestRunResultsdbpyTests.setUp): (TestRunResultsdbpyTests.tearDown): (TestRunResultsdbpyTests.test_success): (TestRunResultsdbpyTests.test_failure): 2020-02-07 Jacob Uphoff Adding myself to contributors.json Unreviewed * Scripts/webkitpy/common/config/contributors.json: 2020-02-07 Jason Lawrence Adding myself to contributors.json Unreviewed * Scripts/webkitpy/common/config/contributors.json: 2020-02-07 Patrick Griffis [GTK][WPE] Add same-site cookie support https://bugs.webkit.org/show_bug.cgi?id=204137 Reviewed by Carlos Garcia Campos. Update libsoup to 2.69.90 in JHBuild. * gtk/jhbuild.modules: * wpe/jhbuild.modules: 2020-02-07 Yusuke Suzuki Unreviewed, revert 75% load-factor because of JetStream2/string-unpack-code-SP regression https://bugs.webkit.org/show_bug.cgi?id=207183 * TestWebKitAPI/Tests/WTF/HashSet.cpp: (TestWebKitAPI::testInitialCapacity): 2020-02-06 Wenson Hsieh WebPage::rangeForGranularityAtPoint always returns null in the case of CharacterGranularity https://bugs.webkit.org/show_bug.cgi?id=207350 Reviewed by Tim Horton. Add a test to exercise the corner case in the SPI. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/ios/UIWKInteractionViewProtocol.mm: Added. 2020-02-06 Jiewen Tan Adopt new SOAuthorizationOption constants https://bugs.webkit.org/show_bug.cgi?id=207186 Reviewed by Brent Fulgham. * TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm: (checkAuthorizationOptions): 2020-02-06 Brady Eidson Cleanup and promote WKContentWorld and its clients in WKWebView. https://bugs.webkit.org/show_bug.cgi?id=207351 Reviewed by Alex Christensen. * TestWebKitAPI/Tests/WebKitCocoa/AsyncFunction.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm: (TEST): * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[WKWebView objectByCallingAsyncFunction:withArguments:error:]): 2020-02-06 Fujii Hironori [Win][MiniBrowser] Accelerator keys don't work unless the main window is focused https://bugs.webkit.org/show_bug.cgi?id=207250 Reviewed by Alex Christensen. MiniBrowser has shortcut keys, Ctrl-W to close window, Ctrl-R to reload. However, they don't work unless the main window is focused. Ctrl-W should be processed differently. Ctrl-W should be handled without dispatching to WebKit, others should be handled only when WebKit didn't consume. So, this change split the accelerator table into two, one is for Ctrl-W, another is for other shortcut keys. For Ctrl-W, key events are processed before dispatching to WebView. It is converted to IDM_CLOSE_WINDOW of WM_COMMAND, and dispatched to WebView. WebKit2 WebView bubbles up unhandled WM_COMMAND to the parent window. Then, IDM_CLOSE_WINDOW is handled in the main window's WndProc. However, it doesn't work for WebKit1 because this change doesn't add the bubbling up code to WebKit1 WebView. For other shortcut keys, for example Ctrl-R, key events are dispatched to WebView without accelerator key translations. Then, WebKitBrowserWindow::didNotHandleKeyEvent is called back if they aren't consumed. didNotHandleKeyEvent posts the messasge to the main window. The message loop processed key events dispatched to the main window with another accelerator table. However, it doesn't work for WebKit1, because WebKit1 doesn't have a API equivalent to didNotHandleKeyEvent. After switching the active window by pressing Alt-Tab and reactivating the main window, the main window got the focus. This was the reason shortcut keys worked only after reactivating the main window. But, this is not the desired behavior after this change because other shortcut keys don't work if the main window is focused. So. set the focus to the brower window when WM_ACTIVATE of the main window. Shortcut keys Ctrl++ (zoom in) and Ctrl+- (zoom out) were effective only for keyboard numpad. Add VK_OEM_MINUS and VK_OEM_PLUS for them. Add a shortcut key Ctrl-0 to reset page zoom scale to actual. * MiniBrowser/win/MainWindow.cpp: (MainWindow::isInstance): (MainWindow::WndProc): * MiniBrowser/win/MainWindow.h: * MiniBrowser/win/MiniBrowserLib.rc: Add a new accelerator table IDR_ACCELERATORS_PRE for Ctrl-W. * MiniBrowser/win/MiniBrowserLibResource.h: * MiniBrowser/win/WebKitBrowserWindow.cpp: (WebKitBrowserWindow::didNotHandleKeyEvent): * MiniBrowser/win/WinMain.cpp: (wWinMain): 2020-02-06 Jonathan Bedard results.webkitorg: Dead CI links https://bugs.webkit.org/show_bug.cgi?id=207340 Reviewed by Alexey Proskuryakov. * resultsdbpy/resultsdbpy/view/static/js/configuration.js: (Configuration.prototype.toParams): Version name and version number often duplicate the same information, exception version number is often more specific than is useful. 2020-02-06 Brent Fulgham Prevent navigating top level frames to Data URLs https://bugs.webkit.org/show_bug.cgi?id=206962 Reviewed by Youenn Fablet. Revise test running code to allow data URL navigations by default, since they are so frequently used in testing. However, provide a flag to turn this off in tests so we can confirm proper function. * DumpRenderTree/TestOptions.cpp: (TestOptions::TestOptions): * DumpRenderTree/TestOptions.h: * DumpRenderTree/mac/DumpRenderTree.mm: (setWebPreferencesForTestOptions): * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (DownloadAttributeDoesNotStartDownloads): Revise configuration to allow script navigation of the main frame to a Data URL. (StartDownloadWithDownloadAttribute): Ditto. * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm: (WebViewWillPerformClientRedirect): Ditto. (WebViewDidCancelClientRedirect): Ditto. * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: (NavigateToDataURLThenBack): Ditto. (ContentExtensionBlocksMainLoadThenReloadWithoutExtensions): Ditto. * WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues): (WTR::updateTestOptionsFromTestHeader): * WebKitTestRunner/TestOptions.h: (WTR::TestOptions::hasSameInitializationOptions const): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::initializeWebViewConfiguration): (WTR::TestController::platformCreateWebView): 2020-02-05 Wenson Hsieh [iOS] Provide a way to suppress software keyboards on WKWebView's WKContentView https://bugs.webkit.org/show_bug.cgi?id=207272 Reviewed by Tim Horton. Add an API test to verify (through UIKeyboardImpl) that the software keyboard should be suppressed when setting -_setSuppressSoftwareKeyboard: on the web view. This involves making `-makeKeyWindow` "work" in the API testing environment on iOS, by swizzling out both `-[NSBundle bundleIdentifier]` and `-[UIApplication keyWindow]`. * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: (TestWebKitAPI::overrideBundleIdentifier): * TestWebKitAPI/cocoa/TestWKWebView.mm: (setOverriddenApplicationKeyWindow): (applicationKeyWindowOverride): (-[TestWKWebViewHostWindow makeKeyWindow]): * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: * TestWebKitAPI/ios/UIKitSPI.h: Also move the `UIResponder (UIKitSPI)` category from the internal section to the SPI section; this is redundant when using the internal SDK to build, since these methods are already declared in UIResponder_Private.h. 2020-02-05 Don Olmstead [PlayStation] Build a shared JavaScriptCore https://bugs.webkit.org/show_bug.cgi?id=198446 Reviewed by Fujii Hironori. Add TARGET_OBJECTS for bmalloc and WTF so TestWTF links. * TestWebKitAPI/PlatformPlayStation.cmake: 2020-02-05 Stephan Szabo [WinCairo] Set up fonts for layout tests for test bot image https://bugs.webkit.org/show_bug.cgi?id=207223 Reviewed by Fujii Hironori. * WebKitTestRunner/InjectedBundle/win/ActivateFontsWin.cpp: Implement activateFonts to load fonts for test 2020-02-05 Don Olmstead [PlayStation] Miscellaneous build fixes February 2020 edition https://bugs.webkit.org/show_bug.cgi?id=207312 Unreviewed build fix. * TestWebKitAPI/PlatformWebView.h: Remove #elif guard and just use #else 2020-02-05 Yusuke Suzuki [WTF] Try using 75% load factor for HashTable https://bugs.webkit.org/show_bug.cgi?id=207183 Reviewed by Mark Lam. Fix load-factor assumption in existing tests. * TestWebKitAPI/Tests/WTF/HashSet.cpp: (TestWebKitAPI::testInitialCapacity): 2020-02-05 Jonathan Bedard resulsdbpy: Fix unit tests https://bugs.webkit.org/show_bug.cgi?id=207304 Reviewed by Aakash Jain. * resultsdbpy/resultsdbpy/model/configuration_context_unittest.py: (ConfigurationContextTest.test_partition_by_configuration): Add branch to testing table. (ConfigurationContextTest.test_partition_by_partial_configuration): Ditto. * resultsdbpy/resultsdbpy/model/failure_context_unittest.py: (FailureContextTest.test_failures): Sort test failures by uuid for a predictable order in testing. (FailureContextTest.test_unexpected_failures): Ditto. * resultsdbpy/resultsdbpy/model/mock_model_factory.py: (MockModelFactory.iterate_all_commits): Do not batch requests since this function has no way of knowing how expensive the callback may be. 2020-02-05 Chris Dumez Unreviewed, another build fix after r255846 * TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: 2020-02-05 Ryan Haddad Unreviewed infrastructure fix. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: (WebKitBuildbot): Delete entries for queues that have been removed from buildbot. 2020-02-05 Chris Dumez Unreviewed build fix after r255846. * TestWebKitAPI/cocoa/HTTPServer.h: 2020-02-05 Jiewen Tan Defer ending AppSSO sheets til NSWindowDidDeminiaturize or NSApplicationDidUnhide https://bugs.webkit.org/show_bug.cgi?id=207173 Reviewed by Brent Fulgham. * TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm: (TestWebKitAPI::TEST): * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[TestWKWebView _setUpTestWindow:]): Make the TestWKWebViewHostWindow miniaturizable to enable the test. 2020-02-05 Jonathan Bedard results.webkit.org: Apply ttl to archive shards https://bugs.webkit.org/show_bug.cgi?id=207295 Rubber-stamped by Aakash Jain. * resultsdbpy/resultsdbpy/model/archive_context.py: (ArchiveContext.ArchiveMetaDataByCommit): Use new table. (ArchiveContext.ArchiveChunks): Use new table. (ArchiveContext.register): Add ttl to archive shards. 2020-02-05 Alex Christensen Make WKWebView._negotiatedLegacyTLS accurate when loading main resouorce from network or cache https://bugs.webkit.org/show_bug.cgi?id=207207 Reviewed by Chris Dumez. HTTPServer now supports HTTPS. Tell your friends! * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: (testCertificate): (testIdentity): (credentialWithIdentity): * TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: (TestWebKitAPI::webViewWithNavigationDelegate): (TestWebKitAPI::TEST): * TestWebKitAPI/cocoa/HTTPServer.h: * TestWebKitAPI/cocoa/HTTPServer.mm: (TestWebKitAPI::HTTPServer::HTTPServer): (TestWebKitAPI::HTTPServer::request const): 2020-02-05 Brady Eidson _WKDownload should expose the originating FrameInfo. and https://bugs.webkit.org/show_bug.cgi?id=207185 Reviewed by Geoff Garen. * TestWebKitAPI/Tests/WebKitCocoa/Download.mm: (-[DownloadTestSchemeDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): (-[DownloadSecurityOriginDelegate _downloadDidStart:]): (loaded): * TestWebKitAPI/cocoa/HTTPServer.mm: 2020-02-05 Xabier Rodriguez Calvar [GTK] Fix dependencies build https://bugs.webkit.org/show_bug.cgi?id=207273 Reviewed by Carlos Garcia Campos. * gtk/jhbuild.modules: Bumped wpebackend-fdo version to 1.4.1 and added mesa as one of its deps. Added the xserver patch as well. * gtk/patches/xserver-gl-version.patch: Added. 2020-02-05 Chris Dumez REGRESSION(r255595): page not closed after beforeunload handler returns true https://bugs.webkit.org/show_bug.cgi?id=207189 Reviewed by Youenn Fablet. Add API test coverage for fix landed in r255677. * TestWebKitAPI/Tests/WebKitCocoa/ModalAlerts.mm: (-[SlowBeforeUnloadPromptUIDelegate _webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:completionHandler:]): (TEST): 2020-02-05 Jonathan Bedard results.webkit.org should disable auto-capitalize over the search field https://bugs.webkit.org/show_bug.cgi?id=207240 Rubber-stamped by Aakash Jain. * resultsdbpy/resultsdbpy/view/static/js/search.js: 2020-02-01 Darin Adler Replace RGBA32 typedef with a class to improve type safety https://bugs.webkit.org/show_bug.cgi?id=206862 Reviewed by Sam Weinig. * TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm: (TestWebKitAPI::TEST): Use the Color constructor instead of Color::createUnchecked. 2020-02-04 Darin Adler Remove NSKeyedArchiverSPI.h now that WebKit only uses API https://bugs.webkit.org/show_bug.cgi?id=207203 Reviewed by Anders Carlsson. * TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm: Removed include of NSKeyedArchiverSPI.h and call methods of NSKeyedArchiver directly. * TestWebKitAPI/Tests/WebKitCocoa/Coding.mm: Ditto. * TestWebKitAPI/Tests/ios/WKWebViewOpaque.mm: Ditto. * TestWebKitAPI/Tests/mac/EarlyKVOCrash.mm: Ditto. 2020-02-04 Jonathan Bedard results.webkit.org: Support Internal in run-javascriptcore-tests https://bugs.webkit.org/show_bug.cgi?id=204095 Rubber-stamped by Aakash Jain. * Scripts/VCSUtils.pm: (gitBisectStartBranchForDirectory): Renamed from gitBisectStartBranch. (gitBranchForDirectory): Compute branch for directory. (gitBranch): Compute branch for the current git directory. (commitForDirectory): Add git support. (gitBisectStartBranch): Renamed to gitBisectStartBranchForDirectory. * Scripts/run-javascriptcore-tests: (uploadResults): Check for Internal repository. 2020-02-04 Alex Christensen REGRESSION: (r255611) [ Mac ] 3 lldb tests failing related to HashMap https://bugs.webkit.org/show_bug.cgi?id=207204 Reviewed by Simon Fraser. Remove support for HashSet and HashMap until we are able to do the equivalent of reinterpret_cast(pointer)[-1] in LLDB's python API. * lldb/lldb_webkit_unittest.py: (TestSummaryProviders.serial_test_WTFHashMap_tablesize_and_size): (TestSummaryProviders.serial_test_WTFHashMap_of_vectors_tablesize_and_size): (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size): 2020-02-04 Lauro Moura [EWS] Stop GTK/WPE build if jhbuild fails. https://bugs.webkit.org/show_bug.cgi?id=207220 Reviewed by Adrian Perez de Castro. * BuildSlaveSupport/ews-build/steps.py: (InstallGtkDependencies): Halt on failure (InstallWpeDependencies): Ditto 2020-02-04 Alex Christensen Fix Mac CMake build https://bugs.webkit.org/show_bug.cgi?id=207231 * DumpRenderTree/PlatformMac.cmake: * MiniBrowser/mac/CMakeLists.txt: * MiniBrowser/mac/WK2BrowserWindowController.m: (-[WK2BrowserWindowController awakeFromNib]): * WebKitTestRunner/PlatformMac.cmake: 2020-02-04 Don Olmstead [PlayStation] Enable TestWebKit https://bugs.webkit.org/show_bug.cgi?id=207211 Reviewed by Ross Kirsling. Stub out PlayStation implementation of TestWebKit so it builds. * TestWebKitAPI/PlatformPlayStation.cmake: * TestWebKitAPI/PlatformWebView.h: Simplify platform define * TestWebKitAPI/playstation/PlatformUtilitiesPlayStation.cpp: Added. (TestWebKitAPI::Util::createInjectedBundlePath): (TestWebKitAPI::Util::createURLForResource): (TestWebKitAPI::Util::URLForNonExistentResource): (TestWebKitAPI::Util::isKeyDown): * TestWebKitAPI/playstation/PlatformWebViewPlayStation.cpp: Added. (TestWebKitAPI::PlatformWebView::PlatformWebView): (TestWebKitAPI::PlatformWebView::~PlatformWebView): (TestWebKitAPI::PlatformWebView::initialize): (TestWebKitAPI::PlatformWebView::page const): (TestWebKitAPI::PlatformWebView::resizeTo): (TestWebKitAPI::PlatformWebView::focus): (TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress): (TestWebKitAPI::PlatformWebView::simulateAltKeyPress): (TestWebKitAPI::PlatformWebView::simulateMouseMove): (TestWebKitAPI::PlatformWebView::simulateRightClick): 2020-02-04 Jonathan Bedard results.webkit.org: Support branches in run-javascriptcore-tests https://bugs.webkit.org/show_bug.cgi?id=204094 Rubber-stamped by Aakash Jain. * Scripts/run-javascriptcore-tests: (uploadResults): Use webkitdirs function to generate commit information. * Scripts/VCSUtils.pm: (commitForDirectory): Generate commit information for SVN repository, including branch name. 2020-02-04 Matt Lewis Replace bot677 due to hardware failure https://bugs.webkit.org/show_bug.cgi?id=207224 Reviewed by Aakash Jain. * BuildSlaveSupport/build.webkit.org-config/config.json: 2020-02-04 Jonathan Bedard TestWebKitAPI: Handle case where test result does not contain path https://bugs.webkit.org/show_bug.cgi?id=207216 Reviewed by Tim Horton. * TestWebKitAPI/TestsController.cpp: (TestWebKitAPI::Printer::OnTestPartResult): It's possible that the TestPartResult will not contain a file name. We should handle this case. 2020-02-04 Jonathan Bedard results.webkit.org: Better order upload callbacks https://bugs.webkit.org/show_bug.cgi?id=207219 Reviewed by Aakash Jain. Order upload callbacks more deliberately so that the quickest callbacks that are least likely to link to information from unfinished callbacks are executed first. * resultsdbpy/resultsdbpy/model/model.py: (Model.__init__): Generate buildbot links first, then generate a failure list, then generate the collective suite results and finally, individual test results. 2020-02-04 Aakash Jain [EWS] Do not remove TestWebKitAPI prefix from api test failures https://bugs.webkit.org/show_bug.cgi?id=207210 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (AnalyzeAPITestsResults.analyzeResults): 2020-02-04 Aakash Jain [EWS] Do not remove webkitpy prefix from test failures https://bugs.webkit.org/show_bug.cgi?id=207206 Reviewed by Jonathan Bedard. * BuildSlaveSupport/ews-build/steps.py: (WebKitPyTest.getResultSummary): Do not remove 'webkitpy' from test name. Also handled the case when json output doesn't have failures/errors key. * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests. 2020-02-04 Ross Kirsling [CMake] Add Cairo::Cairo target https://bugs.webkit.org/show_bug.cgi?id=207159 Reviewed by Konstantin Tokarev. * DumpRenderTree/PlatformWin.cmake: * ImageDiff/Cairo.cmake: * TestWebKitAPI/PlatformWPE.cmake: * TestWebKitAPI/PlatformWin.cmake: * TestWebKitAPI/glib/CMakeLists.txt: * WebKitTestRunner/PlatformGTK.cmake: * WebKitTestRunner/PlatformWPE.cmake: * WebKitTestRunner/PlatformWin.cmake: * wpe/backends/CMakeLists.txt: 2020-02-03 Jiewen Tan Pass a hint from the extension to decidePolicyForSOAuthorizationLoadWithCurrentPolicy https://bugs.webkit.org/show_bug.cgi?id=207079 Reviewed by Brent Fulgham. * TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm: (-[TestSOAuthorizationDelegate _webView:decidePolicyForSOAuthorizationLoadWithCurrentPolicy:forExtension:completionHandler:]): (overrideGetAuthorizationHintsWithURL): (TestWebKitAPI::TEST): 2020-02-03 Jonathan Bedard results.webkit.org: Support jsc stress tests https://bugs.webkit.org/show_bug.cgi?id=204096 Rubber-stamped by Aakash Jain. * Scripts/run-javascriptcore-tests: (runJSCStressTests): Add pass and failures to reported results. 2020-02-03 Alexey Shvayka Make Bugzilla._find_select_element_for_flag more robust https://bugs.webkit.org/show_bug.cgi?id=207148 Reviewed by Jonathan Bedard. This patch resolves two FIXMEs: 1. _find_select_element_for_flag() is now used in _fill_attachment_form() method. 2. _find_select_element_for_flag() now does not rely on order of and