blob: 788150d2ef8cbcc2868723096e6e33a560d28dda [file] [log] [blame]
2019-11-08 Jonathan Bedard <jbedard@apple.com>
Simulators having trouble launching apps after booting
<rdar://problem/57032042>
Unreviewed infrastructure fix.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess._start): Temporarily increase timeout to help out bots.
2019-11-08 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: List failing tests for criteria
https://bugs.webkit.org/show_bug.cgi?id=203905
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/controller/api_routes.py:
(APIRoutes.__init__): Add FailureController and /failures endpoint.
* resultsdbpy/resultsdbpy/controller/failure_controller.py: Added.
(FailureController): Added FailureController object to drive /failure endpoint.
(FailureController.__init__):
(FailureController.failures): Return a json list of failures for a range.
* resultsdbpy/resultsdbpy/controller/failure_controller_unittest.py: Added.
(FailureControllerTest): Test the /failure API.
(FailureControllerTest.setup_webserver):
(FailureControllerTest.test_failures_collapsed):
(FailureControllerTest.test_unexpected_failures_collapsed):
(FailureControllerTest.test_failures):
(FailureControllerTest.test_unexpected_failures):
(FailureControllerTest.test_failure_by_time):
* resultsdbpy/resultsdbpy/model/failure_context.py: Added.
(FailureContext): Database access to tables recording test failures.
(FailureContext.TestFailuresBase):
(FailureContext.TestFailuresBase.unpack):
(FailureContext.TestFailuresByCommit): Save test failures sorted by commit.
(FailureContext.TestFailuresByStartTime): Save test failures sorted by start time.
(FailureContext.UnexpectedTestFailuresByCommit): Save unexpected test failures
sorted by commit.
(FailureContext.UnexpectedTestFailuresByStartTime): Save unexpected test failures
sorted by commit.
(FailureContext.__init__):
(FailureContext.register): Register test failures to each of the 4 tables for an upload.
(FailureContext._failures): Return a list of test failures from a table.
(FailureContext.failures_by_commit): Return a list of test failures from a table sorted
by commit.
(FailureContext.failures_by_start_time): Return a list of test failures from a table
sorted by commit.
* resultsdbpy/resultsdbpy/model/failure_context_unittest.py: Added.
(FailureContextTest):
(FailureContextTest.init_database):
(FailureContextTest.test_failures_collapsed):
(FailureContextTest.test_unexpected_failures_collapsed):
(FailureContextTest.test_failures):
(FailureContextTest.test_unexpected_failures):
* resultsdbpy/resultsdbpy/model/model.py:
(Model.__init__):
* resultsdbpy/resultsdbpy/view/templates/documentation.html: Add documentation
for the /failure endpoint.
2019-11-08 Alex Christensen <achristensen@webkit.org>
Fix flaky tests in http/tests/cache/disk-cache
https://bugs.webkit.org/show_bug.cgi?id=203822
Reviewed by Youenn Fablet.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::setCacheModel):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-11-08 Aakash Jain <aakash_jain@apple.com>
Clicking on EWS status-bubble should open the results in new tab
https://bugs.webkit.org/show_bug.cgi?id=204012
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/ews-app/ews/templates/statusbubble.html:
2019-11-06 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Return NotAllowedError immediately for UI cancellations
https://bugs.webkit.org/show_bug.cgi?id=203937
<rdar://problem/56962420>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(TestWebKitAPI::TEST):
2019-11-08 Aakash Jain <aakash_jain@apple.com>
[ews] Prioritize builders over testers when a bot is shared over multiple queues
https://bugs.webkit.org/show_bug.cgi?id=204007
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/loadConfig.py:
(loadBuilderConfig):
(prioritizeBuilders): Method to prioritize builder queues over tester queues.
2019-11-08 Alex Christensen <achristensen@webkit.org>
Build fix for platforms without WebRTC's SSL after r252185
https://bugs.webkit.org/show_bug.cgi?id=203934
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
The new test uses TLS with the HTTPS proxy. Don't compile it if we can't compile it.
2019-11-08 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Add pointer lock permission request API
https://bugs.webkit.org/show_bug.cgi?id=203896
Reviewed by Adrian Perez de Castro.
Handle pointer lock permission requests in MiniBrowser and add a new tests case to check the new API.
* MiniBrowser/gtk/BrowserTab.c:
(pointerLockMessageTimeoutCallback):
(decidePermissionRequest):
(browserTabFinalize):
(browserTabConstructed):
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewPointerLockPermissionRequest):
(beforeAll):
2019-11-07 Chris Dumez <cdumez@apple.com>
TestController may reuse a view that used window.open(), which prevents process-swapping and causes flakiness
https://bugs.webkit.org/show_bug.cgi?id=203981
Reviewed by Ryosuke Niwa.
Stop reusing WebViews that have created other WebViews (via window.open()) since this prevents process-swapping
and may therefore cause flakiness (see Bug 203965).
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::ensureViewSupportsOptionsForTest):
* WebKitTestRunner/TestController.h:
2019-11-07 Aakash Jain <aakash_jain@apple.com>
[ews] rename RunJavaScriptCoreTestsToT to RunJSCTestsWithoutPatch
https://bugs.webkit.org/show_bug.cgi?id=203959
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/ews-build/steps.py:
(RunJSCTestsWithoutPatch): Renamed.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-11-07 Alex Christensen <achristensen@webkit.org>
Re-enable NSURLSession isolation after r252116
https://bugs.webkit.org/show_bug.cgi?id=203934
<rdar://problem/56921584>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(-[DataTaskIdentifierCollisionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[DataTaskIdentifierCollisionDelegate waitForMessages:]):
(-[DataTaskIdentifierCollisionDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TEST):
2019-11-07 Paulo Matos <pmatos@igalia.com>
Add support for remotes file for EWS builders
https://bugs.webkit.org/show_bug.cgi?id=203899
Reviewed by Aakash Jain.
Require to support builders that cross-compile and run tests on native machines
through the use of --remote-config-file.
* BuildSlaveSupport/ews-build/factories.py:
(Factory.__init__):
(StyleFactory.__init__):
(WatchListFactory.__init__):
* BuildSlaveSupport/ews-build/loadConfig.py:
(loadBuilderConfig):
* BuildSlaveSupport/ews-build/steps.py:
(ConfigureBuild.__init__):
(ConfigureBuild.start):
(RunJavaScriptCoreTests.start):
* BuildSlaveSupport/ews-build/steps_unittest.py:
(TestRunJavaScriptCoreTests.test_remote_success):
2019-11-06 Antti Koivisto <antti@apple.com>
REGRESSION: [ iOS ] ( r251015 ) Layout Test fast/text/whitespace/pre-wrap-overflow-selection.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=203366
<rdar://problem/56580680>
Reviewed by Simon Fraser.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::dump):
2019-11-06 Fujii Hironori <Hironori.Fujii@sony.com>
WEBCORE_TESTSUPPORT_EXPORT should be used only for WebCoreTestSupport, not for WebCore
https://bugs.webkit.org/show_bug.cgi?id=203876
Reviewed by Ross Kirsling.
* TestWebKitAPI/win/TestWebKitAPIPrefix.h:
* WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.h:
* WebKitTestRunner/WebKitTestRunnerPrefix.h:
Define WEBCORE_TESTSUPPORT_EXPORT emtpy.
2019-11-06 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] DumpRenderTree.exe and WebKitTestRunner.exe shouldn't link with WebCoreTestSupport
https://bugs.webkit.org/show_bug.cgi?id=203879
Reviewed by Ross Kirsling.
After r252086, WinCairo DumpRenderTree.exe and
WebKitTestRunner.exe can't start because they are linked with
WinCairoRequirements DLLs unexpectedly.
DumpRenderTree.exe and WebKitTestRunner.exe are just wrapper
programs. They shouldn't link with WinCairoRequirements libs.
* DumpRenderTree/PlatformWin.cmake: Set DumpRenderTree_LIBRARIES only shlwapi.
* WebKitTestRunner/PlatformWin.cmake: Set WebKitTestRunner_LIBRARIES only shlwapi.
2019-11-06 Kate Cheney <katherine_cheney@apple.com>
Update entry in contributors.json to fix commit privileges.
* Scripts/webkitpy/common/config/contributors.json:
2019-11-06 Keith Rollin <krollin@apple.com>
Unreviewed build fix: fix TestWebKitAPI in macCatalyst, tvOS, and
watchOS builds by conditionalizing some code on HAVE_UIWEBVIEW and
HAVE_PDFKIT. Follow-up to r251976.
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/JSLockTakesWebThreadLock.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollToRevealSelection.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:
* TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm:
* TestWebKitAPI/config.h:
2019-11-06 Aakash Jain <aakash_jain@apple.com>
All EWS status-bubbles shows #1 on security patches when patch is uploaded with webkit-patch --no-review
https://bugs.webkit.org/show_bug.cgi?id=203903
Reviewed by David Kilzer.
* BuildSlaveSupport/ews-app/ews/fetcher.py:
(BugzillaPatchFetcher.fetch):
2019-11-06 Aakash Jain <aakash_jain@apple.com>
[ews] Increase timeout for svn-apply
https://bugs.webkit.org/show_bug.cgi?id=203909
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
2019-11-06 Aakash Jain <aakash_jain@apple.com>
Add watchlist category for BuildSlaveSupport
https://bugs.webkit.org/show_bug.cgi?id=203900
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/config/watchlist:
2019-11-06 Philippe Normand <philn@igalia.com>
[GTK][WPE] Add libfdk-aac-dev to the install-dependencies script
https://bugs.webkit.org/show_bug.cgi?id=203812
Reviewed by Carlos Garcia Campos.
* gtk/install-dependencies:
* wpe/install-dependencies:
2019-11-06 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Implement support for Pointer Lock API
https://bugs.webkit.org/show_bug.cgi?id=202956
Reviewed by Carlos Alberto Lopez Perez.
* WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
(WTR::getGDKKeySymForKeyRef): Handle escape key.
2019-11-05 Chris Dumez <cdumez@apple.com>
[iOS] Scroll position does not get restored when doing a history navigation while the reader view is shown
https://bugs.webkit.org/show_bug.cgi?id=203871
<rdar://problem/56564603>
Reviewed by Tim Horton.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/simple-tall.html:
* TestWebKitAPI/Tests/WebKitCocoa/RestoreScrollPosition.mm: Added.
(TestWebKitAPI::TEST):
2019-11-05 Jonathan Bedard <jbedard@apple.com>
REGRESSION(r252031): layout tests fail to run in non apple ports after r252031 (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=203844
Rubber-stamped by Aakash Jain.
Remove infinite loop for Windows.
* Scripts/webkitpy/port/win.py:
(WinPort._path_to_default_image_diff):
(WinPort._path_to_image_diff): Deleted.
2019-11-05 Aakash Jain <aakash_jain@apple.com>
EWS should report test failures from clean-tree to results.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=203829
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/loadConfig.py:
(loadBuilderConfig):
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests.__init__):
(RunWebKitTestsWithoutPatch.start):
(RunAPITestsWithoutPatch.start):
* BuildSlaveSupport/ews-build/steps_unittest.py: Added and updated unit-tests.
2019-11-05 Wenson Hsieh <wenson_hsieh@apple.com>
Native text substitutions interfere with HTML <datalist> options resulting in crash
https://bugs.webkit.org/show_bug.cgi?id=203116
<rdar://problem/49875932>
Reviewed by Tim Horton.
Add a new testing hook to wait for datalist suggestions to show up and choose the suggestion at the given index.
* DumpRenderTree/mac/UIScriptControllerMac.h:
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::activateDataListSuggestion):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::activateDataListSuggestion):
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::activateDataListSuggestion):
* WebKitTestRunner/mac/UIScriptControllerMac.h:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::isShowingDataListSuggestions const):
(WTR::UIScriptControllerMac::activateDataListSuggestion):
Dig through the view hierarchy of the NSWindow subclass used to show datalist suggestions for the table view
containing the suggestions; then, select the given row, and invoke the action on the target.
(WTR::UIScriptControllerMac::dataListSuggestionsTableView const):
2019-11-05 Daniel Bates <dabates@apple.com>
TestWebKitAPI.WebKit.DocumentEditingContext is failing on iPad
https://bugs.webkit.org/show_bug.cgi?id=203828
<rdar://problem/55854631>
Reviewed by Myles Maxfield.
Specify both a font size and line height when using Ahem as per [1]. Otherwise, text may be
rendered inconsistently. Plus, disable text-autosizing and fix viewport to make test result
consistent on both iPhone and iPad.
[1] <https://web-platform-tests.org/writing-tests/ahem.html>
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(applyStyle): Remove unused style for <iframe>s and fix up parameter name to conform to style guide.
(applyAhemStyle): Set -webkit-text-size-adjust to 100% to disable auto-sizing. Fix viewport width
and initial scale to ensure the result is the same on both iPhone and iPad. Also remove unused style
for <iframe>s and renamed parameter name to conform to style guide.
(TEST):
2019-11-05 Sihui Liu <sihui_liu@apple.com>
REGRESSION (r250754): web page using IDBIndex doesn't load occasionally
https://bugs.webkit.org/show_bug.cgi?id=203431
Reviewed by Brady Eidson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBInPageCache.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBInPageCache.mm: Added.
(-[IndexedDBInPageCacheMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBNotInPageCache.html: Added.
2019-11-05 Jonathan Bedard <jbedard@apple.com>
webkitpy: Build ImageDiff if it is missing (Follow-fix)
https://bugs.webkit.org/show_bug.cgi?id=183422
Unreviewed infrastructure fix.
* Scripts/webkitpy/port/base.py:
(Port._path_to_image_diff): Use the host build directory.
* Scripts/webkitpy/port/config.py:
(Config.build_directory): Allow the caller to ignore the port argument, which will return the default
build directory for the host running the script.
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.make_port):
2019-11-05 Chris Lord <clord@igalia.com>
[WPE] WebKit.NewFirstVisuallyNonEmptyLayout* unexpected pass
https://bugs.webkit.org/show_bug.cgi?id=203846
Reviewed by Žan Doberšek.
* TestWebKitAPI/glib/TestExpectations.json:
2019-11-05 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r252031): layout tests fail to run in non apple ports after r252031
https://bugs.webkit.org/show_bug.cgi?id=203844
Reviewed by Žan Doberšek.
Since r252032 Port.check_image_diff() assumes that ImageDiff binary is built in the build path, which is not
true for all ports. This patch adds Port._path_to_default_image_diff() to be used instead of the build_path()
and overriden by ports not building the ImageDiff in the build path.
* Scripts/webkitpy/port/base.py:
(Port.check_image_diff):
(Port._path_to_default_image_diff):
(Port._path_to_image_diff):
* Scripts/webkitpy/port/gtk.py:
(GtkPort._path_to_default_image_diff):
* Scripts/webkitpy/port/win.py:
(WinPort._path_to_default_image_diff):
* Scripts/webkitpy/port/wpe.py:
(WPEPort._path_to_default_image_diff):
2019-11-05 Chris Lord <clord@igalia.com>
[WPE] Geolocation API tests are consistently passing
https://bugs.webkit.org/show_bug.cgi?id=203845
Reviewed by Žan Doberšek.
* TestWebKitAPI/glib/TestExpectations.json:
2019-11-05 youenn fablet <youenn@apple.com>
Enforce user gesture for getUserMedia in case a previous getUserMedia call was denied
https://bugs.webkit.org/show_bug.cgi?id=203362
Reviewed by Eric Carlson.
* TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
(TestWebKitAPI::TEST_F):
Update test to take into account the ability to ask again for permission.
* TestWebKitAPI/Tests/WebKit/getDisplayMedia.html:
Update to make sure we notify test if internals is not available.
2019-11-04 Aakash Jain <aakash_jain@apple.com>
[ews] Perform validation of patch before retrying API and layout tests
https://bugs.webkit.org/show_bug.cgi?id=203756
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(ValidatePatch.__init__): Added parameters to optionally skip certain validations.
(ValidatePatch.start): Skip certain validations based on the parameters.
(RunWebKitTests.evaluateCommand): Add a ValidatePatch step before retrying.
(ReRunWebKitTests.evaluateCommand): Ditto.
(RunAPITests.evaluateCommand): Ditto.
(ReRunAPITests.evaluateCommand): Ditto.
2019-11-04 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Guard against unexpected -[_WKWebAuthenticationPanel cancel]
https://bugs.webkit.org/show_bug.cgi?id=203830
<rdar://problem/56797134>
Reviewed by Brent Fulgham .
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
(-[TestWebAuthenticationPanelDelegate panel:dismissWebAuthenticationPanelWithResult:]):
(TestWebKitAPI::TEST):
2019-11-04 Jonathan Bedard <jbedard@apple.com>
webkitpy: Build ImageDiff if it is missing
https://bugs.webkit.org/show_bug.cgi?id=183422
Reviewed by Alexey Proskuryakov.
ImageDiff is built with a different SDK than the rest of the WebKit
stack, and this frequently causes infrastructure failures where ImageDiff
is missing on testers. To address this, we should automatically build
ImageDiff if it is missing.
* Scripts/webkitpy/port/base.py:
(Port.check_build): Unconditionally build ImageDiff if it is missing.
(Port.check_image_diff): Use _build_path since _path_to_image_diff will
attempt to use a back-up location.
(Port._path_to_image_diff): If the provided path to ImageDiff does not
exist, use the path of the one we built.
2019-11-04 Daniel Bates <dabates@apple.com>
Add Googletest assertion support for CGRect and NSRect
https://bugs.webkit.org/show_bug.cgi?id=203817
Reviewed by Myles C. Maxfield.
Add operator== and operator<< overloads for CGRect and NSRect so that these types can be
passed to EXPECT_EQ() and other Googletest assertions.
To make use of these overloads Cocoa tests should include #import "TestCocoa.h" instead of
"Test.h". TestCocoa.h imports Test.h. With these overloads an assertion like this:
EXPECT_EQ(CGRectMake(0, 0, 23, 24), rects[0].CGRectValue);
will produce output like this when it fails:
Expected equality of these values:
CGRectMake(138, 0, 23, 24)
Which is: (origin = (x = 138, y = 0), size = (width = 23, height = 24))
rects.firstObject.CGRectValue
Which is: (origin = (x = 96, y = 0), size = (width = 16, height = 17))
* TestWebKitAPI/SourcesCocoa.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Add source files.
* TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
* TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
Write in terms of EXPECT_EQ() now that it just works when passed CGRects.
* TestWebKitAPI/cocoa/TestCocoa.h: Added.
* TestWebKitAPI/cocoa/TestCocoa.mm: Added.
(ostreamRectCommon):
(operator<<):
(operator==):
2019-11-04 Aakash Jain <aakash_jain@apple.com>
[ews] Status bubble should be white for CANCELLED builds
https://bugs.webkit.org/show_bug.cgi?id=201204
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
2019-11-04 John Wilander <wilander@apple.com>
Resource Load Statistics: Flush the shared ResourceLoadObserver when the webpage is closed by JavaScript
https://bugs.webkit.org/show_bug.cgi?id=203623
<rdar://problem/56756427>
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
2019-11-04 Wenson Hsieh <wenson_hsieh@apple.com>
Consolidate forEachViewInHierarchy and findAllViewsInHierarchyOfType into common helper file
https://bugs.webkit.org/show_bug.cgi?id=203777
Reviewed by Tim Horton.
* TestRunnerShared/cocoa/PlatformViewHelpers.h: Added.
* TestRunnerShared/cocoa/PlatformViewHelpers.mm: Added.
Add a new Cocoa helper file, PlatformViewHelpers, to make it easier to traverse platform view hierarchies
(NSView and UIView) for testing purposes. This is minor refactoring, before I try to create some new testing
primitives to make webkit.org/b/203116 testable.
(forEachViewInHierarchy):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::findEditableImageCanvas const):
(WTR::forEachViewInHierarchy): Deleted.
(WTR::findEditableImageCanvas): Deleted.
2019-11-04 Alex Christensen <achristensen@webkit.org>
Flaky API Test TestWebKitAPI.WebKit.UploadDirectory
https://bugs.webkit.org/show_bug.cgi?id=203652
Reviewed by Alexey Proskuryakov.
It is not important that the directory to upload does not exist before the test starts.
Make the test more robust to state left behind by previous iterations of this test by removing the check.
The important check in this test is the uploaded body size.
* TestWebKitAPI/Tests/WebKitCocoa/UploadDirectory.mm:
(TEST):
2019-11-04 Kate Cheney <katherine_cheney@apple.com>
updated email in contributors.json to match bugzilla.
* Scripts/webkitpy/common/config/contributors.json:
2019-11-04 Andy Estes <aestes@apple.com>
REGRESSION (r251623): When downloading a QuickLook file, the web view navigates to a "The URL can't be shown" error page instead of staying on the current page
https://bugs.webkit.org/show_bug.cgi?id=203790
<rdar://problem/56795440>
Reviewed by Alex Christensen.
Tested that "download" and "cancel" policy decisions for QuickLook files result in a
provisional navigation failure with error code WebKitErrorFrameLoadInterruptedByPolicyChange.
* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(-[QuickLookDelegate navigationError]):
(-[QuickLookDelegate _webView:didFailNavigation:withError:userInfo:]):
(-[QuickLookDelegate webView:didFailProvisionalNavigation:withError:]):
(TEST):
2019-11-04 Peng Liu <peng.liu6@apple.com>
Cannot run WebKit layout tests on iOS devices
https://bugs.webkit.org/show_bug.cgi?id=203796
Reviewed by Jonathan Bedard.
Fix the error to parse iOS version numbers like "xx.yy".
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__):
2019-11-03 Tim Horton <timothy_horton@apple.com>
WKWebView can get stuck blank (Web Content process thinks the app is backgrounded)
https://bugs.webkit.org/show_bug.cgi?id=203774
<rdar://problem/53399054>
Reviewed by Chris Dumez.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm: Added.
(TEST):
(isBackground):
(createHostViewForExtensionIdentifier):
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFViewResizeCrash.mm: Removed.
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFViewStablePresentationUpdateCallback.mm: Removed.
* TestWebKitAPI/cocoa/TestNavigationDelegate.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[WKWebView _test_waitForDidFinishNavigationWithoutPresentationUpdate]):
Merge existing WKPDFView tests into one file, and add one for this bug.
2019-11-02 Devin Rousso <drousso@apple.com>
Web Inspector: Add diagnostic logging for frontend feature usage
https://bugs.webkit.org/show_bug.cgi?id=203579
<rdar://problem/56717410>
Reviewed by Brian Burg.
Original patch by Matt Baker <mattbaker@apple.com>.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS.
2019-11-01 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.layout_tests.model
https://bugs.webkit.org/show_bug.cgi?id=203702
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.model.
* Scripts/webkitpy/layout_tests/models/test_configuration.py:
(SpecifierSorter.sort_specifiers): Convert iterator to list.
(TestConfigurationConverter.to_config_set): Use reduce from functors.
(TestConfigurationConverter.intersect_combination): Ditto.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationsModel.get_test_set_for_keyword): Use iterators in both Python 2
and Python 3.
(TestExpectationsModel._remove_from_sets): Ditto.
(TestExpectations.parse_generic_expectations): Covert iterators to lists for indexing.
(TestExpectations.parse_default_port_expectations): Ditto.
(TestExpectations.parse_override_expectations): Ditto.
(TestExpectations.remove_configuration_from_test): Use any instead of just checking the
first element in the set.
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(summarize_results): Use items instead of iteritems.
2019-11-01 Devin Rousso <drousso@apple.com>
Web Inspector: Timelines: add a timeline that shows information about any recorded CSS animation/transition
https://bugs.webkit.org/show_bug.cgi?id=203651
<rdar://problem/56128726>
Reviewed by Brian Burg.
* TestWebKitAPI/Tests/WTF/Markable.cpp:
(TestWebKitAPI::TEST):
Add tests for extra utility operators.
2019-11-01 Brady Eidson <beidson@apple.com>
Promote "_getWebArchive" to API.
<rdar://problem/17317547> and https://bugs.webkit.org/show_bug.cgi?id=203767
Reviewed by Andy Estes.
* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController saveAsPDF:]):
(-[BrowserWindowController saveAsWebArchive:]):
* MiniBrowser/mac/MainMenu.xib:
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController validateMenuItem:]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController saveAsWebArchive:]):
2019-11-01 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common
https://bugs.webkit.org/show_bug.cgi?id=202462
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.common.
* Scripts/webkitpy/common/find_files_unittest.py: Use full import path.
* Scripts/webkitpy/common/lru_cache_unittest.py:
(LRUCacheTest.test_size_one_pop): Convert iterator to list
* Scripts/webkitpy/common/prettypatch_unittest.py: Check for byte array explicitly.
* Scripts/webkitpy/common/read_checksum_from_png_unittest.py: Use unicode compatible
StringIO.
(ReadChecksumFromPngTest.test_read_checksum):
* Scripts/webkitpy/common/timeout_context.py:
(Timeout.__enter__): Use range instead of xrange.
2019-11-01 Tim Horton <timothy_horton@apple.com>
macCatalyst: Get TestWebKitAPI building
https://bugs.webkit.org/show_bug.cgi?id=203728
Reviewed by Alexey Proskuryakov.
* Makefile:
Only build gtest and TestWebKitAPI for macCatalyst.
* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
Make use of WK_COCOA_TOUCH instead of SDK conditionals.
* TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
Fix some #ifdefs for macCatalyst.
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollToRevealSelection.mm:
(-[LegacyLoadingDelegate webViewDidFinishLoad:]):
* TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
(-[AsyncPolicyDelegateForInsetTest webView:didFinishNavigation:]):
(TestWebKitAPI::TEST):
Util::runUntil wants a bool, not a BOOL.
* TestWebKitAPI/config.h:
Import WebKitLegacy.h after WebKit.h. Traditionally WebKit.h includes
WebKitLegacy.h, except in macCatalyst. Many tests depend on being able
to get WebKitLegacy.h this way.
* Scripts/webkitpy/style/checkers/sdkvariant.py:
* Scripts/webkitpy/port/factory.py:
* Scripts/webkitpy/port/mac.py:
Add a MacCatalyst port behind --maccatalyst, and do the bare minimum
required to get it working and finding the right binaries.
It inherits from Mac instead of iOS because for the purposes of
finding and running binaries, dealing with I/O, etc., these are
100% bona fide macOS products.
2019-11-01 Aakash Jain <aakash_jain@apple.com>
[ews] Improve summary string when there are flaky failures in API tests
https://bugs.webkit.org/show_bug.cgi?id=203747
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults.analyzeResults): Display pre-existing failure string string only
if there are pre-existing API test failures.
2019-11-01 Wenson Hsieh <wenson_hsieh@apple.com>
TestWebKitAPI.EditorStateTests.TypingAttributesTextAlignmentStartEnd is flaky in iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=203733
<rdar://problem/56814640>
Reviewed by Tim Horton.
Try to fix the flaky test by making EditingTestHarness more robust. Instead of checking for expected editor
state entries after the next presentation update, wait for the latest editor state entry to contain the expected
values.
* TestWebKitAPI/EditingTestHarness.mm:
(-[EditingTestHarness _execCommand:argument:expectEntries:]):
Preserve the existing log statement by printing it out once after a few seconds, if the entry is still not found
in the last known editor state.
2019-11-01 Aakash Jain <aakash_jain@apple.com>
[ews] Pass clobber-old-results parameter to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=203736
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests): Added --clobber-old-results paramter to run-webkit-tests. Also re-ordered
--no-new-test-results and --no-show-results to match with build.webkit.org configuration.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-11-01 Fujii Hironori <Hironori.Fujii@sony.com>
[CMake] TestWebCore shouldn't link with WebCoreTestSupport
https://bugs.webkit.org/show_bug.cgi?id=203672
Reviewed by Don Olmstead.
TestWebCore doesn't need to link with WebCoreTestSupport. And, it
causes a problem for Windows because WebCoreTestSupport imports
WebCore symbols by using dllimport, however, WebCore is not a DLL.
(Bug 203663 Comment 4)
* TestWebKitAPI/CMakeLists.txt: Changed TestWebCore not to link
with WebCoreTestSupport. Changed TestWebCore to link with
WebCoreHeaderInterface instead.
2019-10-31 Jonathan Bedard <jbedard@apple.com>
REGRESSION (r251808): run-webkit-test cannot show results.html
https://bugs.webkit.org/show_bug.cgi?id=203709
<rdar://problem/56798620>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.show_results_html_file): os.devnull is a string, not a file.
2019-10-31 Matt Baker <mattbaker@apple.com>
Changed my emails list.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-31 Tim Horton <timothy_horton@apple.com>
Turn on IOSurface support in the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=203026
<rdar://problem/56320993>
Reviewed by Simon Fraser.
* DumpRenderTree/ios/PixelDumpSupportIOS.mm:
(createBitmapContextFromWebView):
Don't use RGB10 if we don't have it.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:
(TEST):
Don't allocate many megabytes on the stack.
This isn't currently a problem, but if you accidentally run the tests on
a 3x simulator it starts crashing.
2019-10-31 Tadeu Zagallo <tzagallo@apple.com>
[WebAssembly] Create a Wasm interpreter
https://bugs.webkit.org/show_bug.cgi?id=194257
<rdar://problem/44186794>
Reviewed by Saam Barati.
Add a mode that runs WebAssembly tests without the LLInt (i.e. only Air)
and update the no-air mode to also disable the LLInt tier.
* Scripts/run-jsc-stress-tests:
2019-10-31 Aakash Jain <aakash_jain@apple.com>
[ews-build] Display pre-existing API test names in the build summary
https://bugs.webkit.org/show_bug.cgi?id=199525
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults.analyzeResults): Include the names of pre-existing test failures in summary string and
limit the number of failures to display to NUM_API_FAILURES_TO_DISPLAY.
2019-10-31 Alex Christensen <achristensen@webkit.org>
Expose more WKPreferences SPI
https://bugs.webkit.org/show_bug.cgi?id=203631
<rdar://problem/56717160>
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
(TEST):
2019-10-30 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] imported/mozilla/svg/text/textpath-selection.svg is still flaky
https://bugs.webkit.org/show_bug.cgi?id=203659
<rdar://problem/52124292>
Reviewed by Tim Horton.
This test still fails in some internal test runner configurations, because the iOS text selection grabber dots
sometimes show up in the actual result and not in the expectation. This still happens even after suppressing
UITextSelectionView during ref test snapshotting in r251526, since the selection grabber dots are embedded as
subviews of the text interaction container view, rather than UITextSelectionView itself, so hiding
UITextSelectionView does not affect the visibility of these grabber views (UITextRangeView's -startGrabber and
-endGrabber).
To address this, we augment the change made in r251526 to apply to the start and end grabber views as well.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::windowSnapshotImage):
2019-10-31 Alex Christensen <achristensen@webkit.org>
CMake build should make WebKit framework able to be used by Safari
https://bugs.webkit.org/show_bug.cgi?id=203685
Rubber-stamped by Tim Horton.
* DumpRenderTree/PlatformMac.cmake:
2019-10-31 Aakash Jain <aakash_jain@apple.com>
[EWS] Limit API tests failures to display in the status-bubble tooltip and buildbot summary
https://bugs.webkit.org/show_bug.cgi?id=203678
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(AnalyzeAPITestsResults): Define NUM_API_FAILURES_TO_DISPLAY as 10.
(AnalyzeAPITestsResults.analyzeResults): Truncate the failure string to contain 10 test failures.
2019-10-30 Peng Liu <peng.liu6@apple.com>
[Picture-in-Picture Web API] Enable the support for iOS
https://bugs.webkit.org/show_bug.cgi?id=202618
Reviewed by Jer Noble.
Enable the Picture-in-Picture API support for iOS (iPad only).
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2019-10-30 Alex Christensen <achristensen@webkit.org>
Prevent Mac CMake build from bit rotting
https://bugs.webkit.org/show_bug.cgi?id=203647
Rubber-stamped by Tim Horton.
* DumpRenderTree/PlatformMac.cmake:
* WebKitTestRunner/PlatformMac.cmake:
2019-10-30 Alex Christensen <achristensen@webkit.org>
WKContentRuleLists should block requests from service workers
https://bugs.webkit.org/show_bug.cgi?id=201980
<rdar://problem/55516735>
Reviewed by Chris Dumez.
NSString initWithContentsOfURL doesn't work with https URLs with certificates without a trusted root,
so I use an ephemeral NSURLSession instead so I can tell it to accept any connection, even our WebKit httpd server.
I also added an API test.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* WebKitTestRunner/mac/TestControllerMac.mm:
(-[WKTRSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(WTR::TestController::configureContentExtensionForTest):
2019-10-30 Daniel Bates <dabates@apple.com>
Add pretty printer for CompactPointerTuple
https://bugs.webkit.org/show_bug.cgi?id=203495
Reviewed by Jer Noble.
Make it easy to see the state of a CompactPointerTuple. Now we will print something like:
(WTF::CompactPointerTuple<WTF::String *, unsigned char>) $0 = { type = 7 } {
[0] = 0x00007ffeefbff220 { length = 8, contents = 'résumé' }
[1] = 7
}
for aCompactPointerTuple defined like this:
String aString { "résumé" };
CompactPointerTuple<String*, uint8_t> aCompactPointerTuple { &aString, 7 };
* lldb/lldbWebKitTester/main.cpp:
(testSummaryProviders):
* lldb/lldb_webkit.py:
(__lldb_init_module):
(__lldb_init_module.lldb_webkit):
(WTFCompactPointerTuple_SummaryProvider):
(WTFCompactPointerTupleProvider):
(WTFCompactPointerTupleProvider.__init__):
(WTFCompactPointerTupleProvider.type_as_string):
(WTFCompactPointerTupleProvider.is_human_readable_type):
The majority of the time CompactPointerTuple will be used with non-character type data. So,
I optimize for this use case and consider the integral value as more readable than than LLDB's
default summary provider that emits the character or equivalent C escape sequence.
(WTFCompactPointerTupleProvider.has_children):
(WTFCompactPointerTupleProvider.num_children):
(WTFCompactPointerTupleProvider.get_child_index):
(WTFCompactPointerTupleProvider.get_child_at_index):
(WTFCompactPointerTupleProvider.update):
* lldb/lldb_webkit_unittest.py:
(TestSummaryProviders.serial_test_WTFOptionSetProvider_aliased_flag):
(TestSummaryProviders):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_empty):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_simple):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_max_type_value):
(TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_bool):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_empty):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_simple):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_max_type_value):
(TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_simple_bool):
2019-10-30 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.port
https://bugs.webkit.org/show_bug.cgi?id=203489
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.port.
* Scripts/webkitpy/common/newstringio.py: Removed.
* Scripts/webkitpy/common/newstringio_unittest.py: Removed.
* Scripts/webkitpy/common/system/executive_mock.py:
(MockProcess.__init__): Ensure that stdout and stderr are byte arrays.
* Scripts/webkitpy/common/version.py:
(Version.__hash__): Add hash function for Version objects.
* Scripts/webkitpy/port/base.py:
(Port.default_baseline_search_path): Convert list to map.
(Port.diff_text): Decode for the native string type.
(Port.skipped_perf_tests): Convert filter to list.
(Port._run_script): No need to decode strings in Python 3, even if decode_output is set.
(Port.diff_text.to_raw_bytes): Deleted.
* Scripts/webkitpy/port/base_unittest.py:
(cmp): Add cmp function for Python 3 comparisons.
(PortTest.test_diff_text): Do not escape spaces.
(PortTest.test_parse_reftest_list): Write to test file explicitly.
* Scripts/webkitpy/port/builders_unittest.py: Use full import path.
* Scripts/webkitpy/port/config_standalone.py: script_dir was refering to Tools,
not Tools/Scripts.
* Scripts/webkitpy/port/config_unittest.py: Use full import path.
* Scripts/webkitpy/port/darwin.py:
(DarwinPort.show_results_html_file): Use os.devnull directly.
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_read_base64_block): Explicitly compare against byte array.
(DriverTest.test_setup_environ_base_vars): Convert iterators to lists.
* Scripts/webkitpy/port/factory.py:
(PortFactory.get.in): Imports need to use the full import path.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.default_baseline_search_path): Convert map to list.
* Scripts/webkitpy/port/leakdetector.py:
(LeakDetector._parse_leaks_output): Search byte array with byte array.
* Scripts/webkitpy/port/leakdetector_valgrind.py:
(ValgrindError.__str__): Split byte array with byte array.
(ValgrindError.error_hash): Correct regex.
(LeakDetectorValgrind._parse_leaks_output): Convert bytes to string.
(LeakDetectorValgrind.parse_and_print_leaks_detail): Standardize Python 2 and 3 sorting order.
* Scripts/webkitpy/port/leakdetector_valgrind_unittest.py: Make unit tests Python 3 compatible.
* Scripts/webkitpy/port/linux_get_crash_log.py:
(GDBCrashLogGenerator._get_trace_from_systemd): Modernize exception handling.
(GDBCrashLogGenerator.generate_crash_log): No need to decode strings in Python 3.
* Scripts/webkitpy/port/mac.py:
(MacPort.start_helper): is_ready will be a byte array.
(MacPort.stop_helper): stdin will be a byte array.
* Scripts/webkitpy/port/mock_drt_unittest.py:
(MockDRTTest.assertTest): Use unicode compatible StringIO objects.
(MockDRTTest.test_main): Ditto.
* Scripts/webkitpy/port/port_testcase.py:
(bind_mock_apple_additions.MockAppleAdditions.version_name_mapping): Use items instead of iteritems.
(PortTestCase.test_expectations_ordering): Convert iterator to list.
(PortTestCase.test_test_expectations): Ditto.
* Scripts/webkitpy/port/win.py:
(WinPort.__init__):
(WinPort.default_baseline_search_path): Convert map to list.
(WinPort.test_search_path): Ditto.
(WinPort.setup_crash_log_saving): Use items instead of iteritems.
(WinPort.restore_crash_log_saving): Ditto.
(WinPort.prevent_error_dialogs): Ditto.
(WinPort.allow_error_dialogs): Ditto.
(WinCairoPort.default_baseline_search_path): Convert map to list.
(WinCairoPort._port_specific_expectations_files): Ditto.
(FTWPort.default_baseline_search_path): Ditto.
(FTWPort._port_specific_expectations_files): Ditto.
* Scripts/webkitpy/port/win_unittest.py: Ditto.
(WinPortTest._assert_search_path): Ditto.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.default_baseline_search_path): Convert map to list.
(WPEPort._port_specific_expectations_files): Ditto.
2019-10-30 Jonathan Bedard <jbedard@apple.com>
Simulator testers are filling up
https://bugs.webkit.org/show_bug.cgi?id=203056
<rdar://problem/56344905>
Reviewed by Aakash Jain.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager.tear_down): Remove some CoreSimulator temporary directories
after tearing down devices.
2019-10-30 Mark Lam <mark.lam@apple.com>
Gardening: fixing broken build.
Not reviewed.
JSON appears to not like commas at the end of the last element in an array.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-30 Chris Dumez <cdumez@apple.com>
WKFrameIsDisplayingMarkupDocument() should return true after a window.open/document.write
https://bugs.webkit.org/show_bug.cgi?id=203587
<rdar://problem/56717726>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp:
(TestWebKitAPI::createNewPageThenClose):
(TestWebKitAPI::TEST):
(TestWebKitAPI::createNewPage):
* TestWebKitAPI/Tests/WebKit/window-open-then-document-open.html: Added.
2019-10-29 Andy Estes <aestes@apple.com>
[Quick Look] Clean up LegacyPreviewLoaderClients
https://bugs.webkit.org/show_bug.cgi?id=203472
Reviewed by Brady Eidson.
Updated API tests to compare data received in
-_webView:didFinishLoadForQuickLookDocumentInMainFrame: with expected data.
* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(readFile):
(-[QuickLookDelegate initWithExpectedFileURL:responsePolicy:]):
(-[QuickLookDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]):
(-[QuickLookDelegate verifyDownload]):
(TEST):
2019-10-29 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Fix tooltip with drawer
https://bugs.webkit.org/show_bug.cgi?id=203527
Rubber-stamped by Aakash Jain.
The interaction between tooltips and drawers needs improvement, tooltips
are inconsistently under the drawer, do not treat the drawer as a boundary.
* resultsdbpy/resultsdbpy/view/static/css/tooltip.css:
(.tooltip): Use topZIndex variable.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(xAxisFromScale): Pass viewport to ToolTip.
(TimelineFromEndpoint): Ditto.
(TimelineFromEndpoint.prototype.update): Ditto.
(TimelineFromEndpoint.prototype.render): Ditto.
(TimelineFromEndpoint.prototype.render.onDotEnterFactory): Ditto.
* resultsdbpy/resultsdbpy/view/static/js/tooltip.js:
(_ToolTip.prototype.toString): Use passed viewport instead of the document size.
(_ToolTip.prototype.setByElement): Set the viewport based on the passed viewport.
* resultsdbpy/resultsdbpy/view/templates/search.html: Define the viewport as the
content element.
* resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
2019-10-29 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Add more information to _WKWebAuthenticationPanel
https://bugs.webkit.org/show_bug.cgi?id=202561
<rdar://problem/55973910>
Reviewed by Youenn Fablet and Brent Fulgham.
Adds new API tests.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(-[TestWebAuthenticationPanelUIDelegate panel]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid.html: Added.
2019-10-07 Jer Noble <jer.noble@apple.com>
Implement the Remote Playback API.
https://bugs.webkit.org/show_bug.cgi?id=162971
Reviewed by Youenn Fablet.
Enable RemotePlayback for DumpRenderTree and WebKitTestRunner.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2019-10-29 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Add fast path for String#localeCompare
https://bugs.webkit.org/show_bug.cgi?id=202676
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::TEST):
2019-10-27 Wenson Hsieh <wenson_hsieh@apple.com>
Add enterkeyhint support
https://bugs.webkit.org/show_bug.cgi?id=189546
<rdar://problem/51021148>
Reviewed by Tim Horton.
Add new API tests to check the resulting UIReturnKeyType that gets set on text input traits in the UI process,
given the different values for "enterkeyhint". Also verifies that the default behaviors of search fields and
text input fields inside actionable form elements is to show "Search" or "Go" as the return key by default,
unless a different value for "enterkeyhint" is specified.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/EnterKeyHintTests.mm: Added.
(-[TestWKWebView test:enterKeyHint:returnKeyType:]):
(TestWebKitAPI::enterKeyHintTestCases):
(TestWebKitAPI::createWebViewAndInputDelegateForTesting):
(TestWebKitAPI::TEST):
2019-10-29 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r251639.
Caused flakey API failures for GetDisplayMediaTest.Constraints
Reverted changeset:
"Enforce user gesture for getUserMedia in case a previous
getUserMedia call was denied"
https://bugs.webkit.org/show_bug.cgi?id=203362
https://trac.webkit.org/changeset/251639
2019-10-29 Chris Dumez <cdumez@apple.com>
Notification permissions are not remembered for origins without port
https://bugs.webkit.org/show_bug.cgi?id=203537
<rdar://problem/55281080>
Reviewed by Brady Eidson.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/WKSecurityOrigin.cpp: Added.
(TestWebKitAPI::TEST):
2019-10-29 Kate Cheney <katherine_cheney@apple.com>
Removed duplicate email address.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-29 Kate Cheney <katherine_cheney@apple.com>
Edited email address for commiting.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-28 Kate Cheney <katherine_cheney@apple.com>
Added myself as a committer.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-28 Alex Christensen <achristensen@webkit.org>
Remove unused _WKProcessPoolConfiguration SPI
https://bugs.webkit.org/show_bug.cgi?id=203066
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
(TEST):
2019-10-28 Brady Eidson <beidson@apple.com>
Expose _printOperationWithPrintInfo: SPI as API
<rdar://problem/36557179> and https://bugs.webkit.org/show_bug.cgi?id=203496
Reviewed by Andy Estes.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController printWebView:]):
2019-10-28 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Show results which are missing expectations
https://bugs.webkit.org/show_bug.cgi?id=203494
<rdar://problem/56436643>
Reviewed by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/css/timeline.css:
(.dot.warning): Add warning dot with dark-orange color.
* resultsdbpy/resultsdbpy/view/static/js/expectations.js:
(Expectations.colorMap): Add warning.
(Expectations.failureTypes): Ditto.
(Expectations.failureTypeMap): Ditto.
(Expectations.symbolMap): Ditto.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js:
(Legend): Add warning bubble.
2019-10-28 John Wilander <wilander@apple.com>
Storage Access API: Make the API work with the experimental 3rd-party cookie blocking
https://bugs.webkit.org/show_bug.cgi?id=203428
<rdar://problem/56626949>
Reviewed by Alex Christensen.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsCallDidSetShouldDowngradeReferrerCallback):
(WTR::TestRunner::statisticsCallDidSetShouldBlockThirdPartyCookiesCallback):
Both of these were missing resets of their m_hasSet*Callback booleans.
2019-10-28 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Report more descriptive configurations for non-Apple ports
https://bugs.webkit.org/show_bug.cgi?id=203490
<rdar://problem/56658244>
Reviewed by Carlos Alberto Lopez Perez.
* Scripts/webkitpy/port/gtk.py:
(GtkPort):
(GtkPort.configuration_for_upload): Return use GTK as the platform.
* Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest):
(GtkPortTest.test_default_upload_configuration):
* Scripts/webkitpy/port/win.py:
(WinCairoPort.configuration_for_upload): Use wincairo as the platform.
* Scripts/webkitpy/port/wpe.py:
(WPEPort):
(WPEPort.configuration_for_upload): Use WPE as the platform.
* Scripts/webkitpy/port/wpe_unittest.py:
(WPEPortTest):
(WPEPortTest.test_default_upload_configuration):
2019-10-28 Aakash Jain <aakash_jain@apple.com>
[ews] Improve summary for CompileWebKit and CompileJSC build step
https://bugs.webkit.org/show_bug.cgi?id=203487
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(CompileWebKit.getResultSummary): Method to generate custom status message.
(CompileJSC.getResultSummary): Ditto.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-10-21 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Warn users when multiple NFC tags present
https://bugs.webkit.org/show_bug.cgi?id=200932
<rdar://problem/54890736>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
(TestWebKitAPI::TEST):
Adds a new test for -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:].
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc-multiple-tags.html: Added.
2019-10-27 Claudio Saavedra <csaavedra@igalia.com>
[GTK][WPE] Test PublicSuffix.TopPrivatelyControlledDomain is failing since r250589
https://bugs.webkit.org/show_bug.cgi?id=203193
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
(TestWebKitAPI::TEST_F): Add a test for a domain consisting only of dots.
2019-10-26 youenn fablet <youenn@apple.com>
Enforce user gesture for getUserMedia in case a previous getUserMedia call was denied
https://bugs.webkit.org/show_bug.cgi?id=203362
Reviewed by Eric Carlson.
Update test to take into account the ability to reask permission.
* TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
(TestWebKitAPI::TEST_F):
2019-10-26 Chris Lord <clord@igalia.com>
Put OffscreenCanvas behind a build flag
https://bugs.webkit.org/show_bug.cgi?id=203146
Reviewed by Ryosuke Niwa.
Put OffscreenCanvas behind a build flag and enable the runtime setting
when running tests on platforms where it's built (GTK and WPE).
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setOffscreenCanvasEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2019-10-25 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.checkout
https://bugs.webkit.org/show_bug.cgi?id=201956
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.common.checkout.
* Scripts/webkitpy/common/checkout/changelog.py: Import Python 3 compatible unicdoe.
* Scripts/webkitpy/common/checkout/changelog_unittest.py: Import Python 3 compatible StringIO.
* Scripts/webkitpy/common/checkout/checkout.py: Use Python 3 compatible reduce.
(Checkout._modified_files_matching_predicate): Convert iterators into lists before returning.
(Checkout.suggested_reviewers): Ditto.
* Scripts/webkitpy/common/checkout/checkout_mock.py: Use full import paths.
* Scripts/webkitpy/common/checkout/checkout_unittest.py: Use full import paths, convert
iterators into lists.
* Scripts/webkitpy/common/checkout/diff_parser_unittest.py: Use full import paths, use Python 3
compatible StringIO.
* Scripts/webkitpy/common/config/committers.py:
(Contributor.__hash__): Committers need to be hashable to be inserted into a set.
2019-10-25 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.xcode
https://bugs.webkit.org/show_bug.cgi?id=203417
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.xcode.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(ReadableBinaryFileObject.seek): Add seek function to mirror actual binary file
behavior and support plistlib.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._disambiguate_device_type): Use values instead of itervalues.
(SimulatedDeviceManager._get_device_identifier_for_type): Use items instead of iteritems.
(SimulatedDeviceManager.device_count_for_type): Use values instead of itervalues.
* Scripts/webkitpy/xcode/simulated_device_unittest.py:
(SimulatedDeviceTest.mock_host_for_simctl): Use items instead of iteritems.
(change_state_to): Explicitly use bytes to edit a binary file.
2019-10-25 Aakash Jain <aakash_jain@apple.com>
[EWS] Status page should show compiler ERRORS
https://bugs.webkit.org/show_bug.cgi?id=203418
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(BuildLogLineObserver): Class for Analyzing build logs and extracting error logs.
(CompileWebKit.start): Initialize the log observer.
(CompileWebKit):
(CompileWebKit.errorReceived): Add the error to the errors log.
2019-10-25 Matt Lewis <jlewis3@apple.com>
Rolling out r251579,r251162,r251512,r251500, and r251498 for build failures
and test failures
Unreviewed rollout.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
(-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):
(-[TestWebAuthenticationPanelUIDelegate panel]): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc-multiple-tags.html: Removed.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid.html: Removed.
2019-10-24 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS 13] fast/forms/ios/accessory-bar-navigation.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=203294
<rdar://problem/54520848>
Reviewed by Tim Horton.
This layout test consistently fails when it is the first test to involve bringing up the keyboard that is run in
a newly created iOS simulator. This is because a software keyboard is presented when focusing the input fields
in the test, and the test expectation (which depends on the visual viewport) requires a hardware keyboard.
WebKitTestRunner already simulates the hardware keyboard being attached using the call to GraphicsServices SPI
in TestController::platformResetStateToConsistentValues. However, this was effectively a no-op in the case where
the simulated device has never (in its lifetime, even through reboots) brought up an input view. This is because
-[UIKeyboardImpl hardwareKeyboardAvailabilityChanged] is never called, due to UIInputResponderController never
having an active instance with an input view set. As a result, the automaticMinimizationEnabled property of
UIKeyboardImpl is never set to its correct initial value (which depends on GSEventIsHardwareKeyboardAttached()).
This leads to UIKeyboardImpl not automatically minimizing itself even though the hardware keyboard is attached
(but only until the next time the keyboard is shown, after a hardware keyboard availability change notification
has been sent, which occurs between every layout test).
To work around this source of flakiness, we ensure that the keyboard preference for enabling automatic
minimization has been set to @YES by the time we attempt to simulate connecting the hardware keyboard by calling
GSEventIsHardwareKeyboardAttached. Note that the extra step of writing the value to com.apple.Preferences is
necessary because logic in TextInput.framework exists that periodically wipes out any cached values for keyboard
preferences on UIInputResponderController, and then attempts to regenerate them by reading defaults in
com.apple.Preferences. However, the same logic also fails to actually update com.apple.Preferences before
reading from it, which results in a software keyboard *very* rarely appearing again when running layout tests
that don't expect to observe a software keyboard.
* WebKitTestRunner/ios/TestControllerIOS.mm:
2019-10-24 Ryosuke Niwa <rniwa@webkit.org>
Add exclusion rules to text manipulation SPI
https://bugs.webkit.org/show_bug.cgi?id=203398
<rdar://problem/56567256>
Reviewed by Wenson Hsieh.
Added tests for including & excluding content based on element names and attribute values.
Also added a test to make sure _startTextManipulationsWithConfiguration calls the completion handler
even when the _WKTextManipulationDelegate isn't set.
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2019-10-25 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Report the correct flavor for leaks
https://bugs.webkit.org/show_bug.cgi?id=203413
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunWebKit1LeakTests.start):
2019-10-25 Ross Kirsling <ross.kirsling@sony.com>
test262-runner should be able to pass JSC a feature flag
https://bugs.webkit.org/show_bug.cgi?id=203301
Reviewed by Keith Miller.
* Scripts/test262/Runner.pm:
Recognize mapping from 262 features to JSC runtime options.
2019-10-25 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.checkout.scm
https://bugs.webkit.org/show_bug.cgi?id=203277
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.common.checkout.scm, add --all flag.
* Scripts/webkitpy/common/checkout/scm/detection.py: Use full import paths.
* Scripts/webkitpy/common/checkout/scm/detection_unittest.py: Ditto.
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.revisions_changing_file): Convert filter iterator to list.
(Git.prepend_svn_revision): Patches need to be bytes.
* Scripts/webkitpy/common/checkout/scm/scm.py: Import unicode.
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py: Use full import paths,
differentiate between binary and text files, replace assertItemsEqual with sorted,
list fix regexes on byte arrays.
* Scripts/webkitpy/common/checkout/scm/stub_repository.py: Use full import paths.
* Scripts/webkitpy/common/checkout/scm/stub_repository_unittest.py: Use full import paths.
* Scripts/webkitpy/common/checkout/scm/svn.py: Use full import paths.
(SVN.diff_for_revision): Diff for revision should be byte array.
(SVN.propget): Use Python 3 compatible encoding.
2019-10-23 Ryosuke Niwa <rniwa@webkit.org>
Add a mechanism to find and manipulate text by paragraphs
https://bugs.webkit.org/show_bug.cgi?id=203286
Reviewed by Wenson Hsieh.
Added basic API tests for the new SPI.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: Added.
(-[TextManipulationDelegate init]):
(-[TextManipulationDelegate _webView:didFindItem:forFrame:]):
(-[TextManipulationDelegate items]):
(TestWebKitAPI::createItem):
2019-10-24 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r251558.
This broke internal builds
Reverted changeset:
"Add a mechanism to find and manipulate text by paragraphs"
https://bugs.webkit.org/show_bug.cgi?id=203286
https://trac.webkit.org/changeset/251558
2019-10-24 Brady Eidson <beidson@apple.com>
Expose pageZoom as API.
https://bugs.webkit.org/show_bug.cgi?id=203381
Reviewed by Andy Estes.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController toggleZoomMode:]):
(-[WK2BrowserWindowController resetZoom:]):
(-[WK2BrowserWindowController canResetZoom]):
(-[WK2BrowserWindowController currentZoomFactor]):
(-[WK2BrowserWindowController setCurrentZoomFactor:]):
2019-10-23 Ryosuke Niwa <rniwa@webkit.org>
Add a mechanism to find and manipulate text by paragraphs
https://bugs.webkit.org/show_bug.cgi?id=203286
Reviewed by Wenson Hsieh.
Added basic API tests for the new SPI.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm: Added.
(-[TextManipulationDelegate init]):
(-[TextManipulationDelegate _webView:didFindItem:forFrame:]):
(-[TextManipulationDelegate items]):
(TestWebKitAPI::createItem):
2019-10-24 Brady Eidson <beidson@apple.com>
Formalize PDF snapshot API.
https://bugs.webkit.org/show_bug.cgi?id=203374
Reviewed by Tim Horton.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController saveAsPDF:]):
* TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm:
(TestWebKitAPI::TEST):
2019-10-24 Andy Estes <aestes@apple.com>
[Cocoa] Make it possible to convert SharedBuffer segments and data views to NSData without copying
https://bugs.webkit.org/show_bug.cgi?id=203348
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
(TestWebKitAPI::TEST_F):
2019-10-23 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS 13] imported/mozilla/svg/text/textpath-selection.svg is flaky
https://bugs.webkit.org/show_bug.cgi?id=203247
<rdar://problem/52124292>
Reviewed by Tim Horton.
Roughly 1 in 3000 runs, this test fails due to an image diff, where only the expectation or test page shows a
native selection view on iOS. Both the test and expectation create DOM selections on the page, which is then
followed by a native selection view on the page at some point in the future.
This "point in the future" depends on both WebKit implementation details (i.e. when the next remote layer tree
commit happens) as well as UIKit implementation details (for example, many methods in UITextSelectionView and
UIWKTextInteractionAssistant will schedule changes to UIView geometry using a runloop timer, instead of applying
the updates immediately). Because of the latter, it's impractical to expect native selection views on iOS to
always appear or not appear after finishing this layout test.
To mitigate this rare source of flakiness, we hide these native text selection views when snapshotting iOS
WKWebViews for the purposes of ref and pixel testing.
Note that we still have a considerable number of layout tests that inspect these native selection views on iOS,
but they work by waiting until the native selection views reach a particular state (e.g. by polling for the
number of ranged selection subviews, or the presence of selection handles, or waiting for a caret selection with
a given geometry, etc.), which ensures that they are robust against subtle changes to the timing of selection
updates in the UI process.
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::windowSnapshotImage):
2019-10-23 Chris Dumez <cdumez@apple.com>
WebBackForwardCache::removeEntriesMatching() may re-enter and crash
https://bugs.webkit.org/show_bug.cgi?id=203341
<rdar://problem/56553939>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-10-23 Megan Gardner <megan_gardner@apple.com>
Rename force-press-related functions to refer to context menus, and fix a former force-press test
https://bugs.webkit.org/show_bug.cgi?id=202663
<rdar://problem/52699530>
Reviewed by Dean Jackson.
Rename all relevant fuctions to more correctly reflect that this does not specifically
require a force press to activate any longer.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptContext.h:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setDidShowContextMenuCallback):
(WTR::UIScriptController::didShowContextMenuCallback const):
(WTR::UIScriptController::setDidDismissContextMenuCallback):
(WTR::UIScriptController::didDismissContextMenuCallback const):
(WTR::UIScriptController::setDidShowForcePressPreviewCallback): Deleted.
(WTR::UIScriptController::didShowForcePressPreviewCallback const): Deleted.
(WTR::UIScriptController::setDidDismissForcePressPreviewCallback): Deleted.
(WTR::UIScriptController::didDismissForcePressPreviewCallback const): Deleted.
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView resetInteractionCallbacks]):
(-[TestRunnerWKWebView _didShowContextMenu]):
(-[TestRunnerWKWebView _didDismissContextMenu]):
(-[TestRunnerWKWebView _didShowForcePressPreview]): Deleted.
(-[TestRunnerWKWebView _didDismissForcePressPreview]): Deleted.
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::setDidShowContextMenuCallback):
(WTR::UIScriptControllerIOS::setDidDismissContextMenuCallback):
(WTR::UIScriptControllerIOS::setDidShowForcePressPreviewCallback): Deleted.
(WTR::UIScriptControllerIOS::setDidDismissForcePressPreviewCallback): Deleted.
2019-10-23 Aakash Jain <aakash_jain@apple.com>
[EWS] Multiple builds are triggered for one patch sometimes in new EWS
https://bugs.webkit.org/show_bug.cgi?id=199417
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/fetcher.py:
(BugzillaPatchFetcher.fetch): Set the flag before sending the patch to buildbot. Unset it in case of failure.
Also added additional check for sent_to_buildbot flag before processing patch.
* BuildSlaveSupport/ews-app/ews/models/patch.py:
(Patch.save_patch): Improved logging.
(Patch.set_sent_to_buildbot): Modified to accept sent_to_buildbot paramater, and set the value accordingly.
2019-10-23 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r251261.
This broke multiple tests
Reverted changeset:
"Using version 1 CFRunloopSource for faster task dispatch"
https://bugs.webkit.org/show_bug.cgi?id=202874
https://trac.webkit.org/changeset/251261
2019-10-23 Aakash Jain <aakash_jain@apple.com>
[ews] iOS-13-Simulator-WK2-Tests-EWS is failing with an KeyError exception
https://bugs.webkit.org/show_bug.cgi?id=203281
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/layout_test_failures.py:
(LayoutTestFailures.results_from_string.get_failing_tests): Gracefully handle the case of missing 'report' key.
2019-10-23 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.results
https://bugs.webkit.org/show_bug.cgi?id=202478
Reviewed by Carlos Alberto Lopez Perez.
* Scripts/test-webkitpy-python3: Add webkitpy.results.
* Scripts/webkitpy/results/upload.py:
(Upload.Encoder.default): Use range instead of xrange.
(Upload.create_configuration): Support items iteration for Python 3.
(Upload.create_run_stats): Change iteritems to items.
(Upload.create_test_result): Ditto.
* Scripts/webkitpy/results/upload_unittest.py:
(UploadTest.Options.__init__): Change iteritems to items.
(UploadTest.normalize): Ditto.
2019-10-22 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Supply FrameInfo in -[WKUIDelegatePrivate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]
https://bugs.webkit.org/show_bug.cgi?id=202563
<rdar://problem/55973968>
Reviewed by Brent Fulgham.
Adds new test contents into existing tests.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelUIDelegate init]):
(-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(-[TestWebAuthenticationPanelUIDelegate frame]):
(TestWebKitAPI::TEST):
2019-10-23 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, fix tvOS and watchOS engineering builds after r251377
-[UIPasteboard itemProviders] is only available on iOS.
* TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm:
(writeMultipleObjectsToPlatformPasteboard):
2019-10-23 Jonathan Bedard <jbedard@apple.com>
Python 3: 2to3 script may not be in a user's path
https://bugs.webkit.org/show_bug.cgi?id=203213
Reviewed by Dewei Zhu.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.__init__): Remove executive dependencies.
(AutoinstallImportHook._install_beautifulsoup): Use multiprocess because 2to3 sets
Some undesirable global logging state.
2019-10-23 Tim Horton <timothy_horton@apple.com>
prepare-ChangeLog should whine about not having tests in WebKit-only patches
https://bugs.webkit.org/show_bug.cgi?id=203027
Reviewed by Ryosuke Niwa.
* Scripts/prepare-ChangeLog:
(generateNewChangeLogs):
Put the "No new tests" or list of newly added tests in the deeper
of the WebCore or WebKit ChangeLogs, depending on which directories
the patch touches.
This is mostly intended to encourage tests for WebKit-only changes.
2019-10-22 Aakash Jain <aakash_jain@apple.com>
[ews] Status bubble should show previous failures if any in case patch is skipped
https://bugs.webkit.org/show_bug.cgi?id=203261
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble._build_bubble): Display build information from previous builds for skipped patch in
case there are multiple builds.
2019-10-22 Alex Christensen <achristensen@webkit.org>
Re-enable legacy TLS by default, keep runtime switch
https://bugs.webkit.org/show_bug.cgi?id=203253
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
(TestWebKitAPI::TEST):
(TestWebKitAPI::getWebSocketEventWebKitLegacy):
2019-10-22 Aakash Jain <aakash_jain@apple.com>
[ews] Download the build archive from master when download from S3 fails
https://bugs.webkit.org/show_bug.cgi?id=203263
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(DownloadBuiltProduct.evaluateCommand):
(DownloadBuiltProductFromMaster): Build step to download the archive from build master.
(DownloadBuiltProductFromMaster.getResultSummary): Added custom failure message.
(DownloadBuiltProductFromMaster.evaluateCommand): Overrided to ensure it doesn't use this method from base
class DownloadBuiltProduct.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2019-10-22 youenn fablet <youenn@apple.com>
Remove mayHaveServiceWorkerRegisteredForOrigin
https://bugs.webkit.org/show_bug.cgi?id=203055
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
Remove obsolete test.
2019-10-22 Antti Koivisto <antti@apple.com>
operator==(Vector, Vector) should work with different inline capacities
https://bugs.webkit.org/show_bug.cgi?id=203245
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
2019-10-22 Carlos Alberto Lopez Perez <clopez@igalia.com>
Add a script to run ImageDiff manually
https://bugs.webkit.org/show_bug.cgi?id=203226
Reviewed by Adrian Perez de Castro.
This allows to manually run the ImageDiff tool more easily, that
is sometimes useful when debugging problems with it.
* Scripts/run-imagediff: Added.
2019-10-21 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Thread JSGlobalObject* instead of ExecState*
https://bugs.webkit.org/show_bug.cgi?id=202392
Reviewed by Geoffrey Garen.
* DumpRenderTree/TestRunner.cpp:
2019-10-22 Dirk Schulze <krit@webkit.org>
Restore my committer status.
Uneviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-21 Zhifei Fang <zhifei_fang@apple.com>
[results.webkit.org] Change dot and lengend dot use same mechanism to center text and image
https://bugs.webkit.org/show_bug.cgi?id=203216
Reviewed by Jonathan Bedard.
* resultsdbpy/resultsdbpy/view/static/library/css/docs.yaml:
* resultsdbpy/resultsdbpy/view/static/library/css/index.html:
* resultsdbpy/resultsdbpy/view/static/library/css/webkit.css:
(.dot *):
(.dot img, .dot .text):
(.dot>img, .dot>.text):
(.dot.small img, .dot.small .text):
(.dot.small>img, .dot.small>.text):
(.dot.medium img, .dot.medium .text):
(.dot.medium>img, .dot.medium>.text):
(.dot.large img, .dot.large .text):
(.dot.large>img, .dot.large>.text):
(.lengend>.item .dot):
(.lengend>.item .dot img, .lengend>.item .dot .text):
(.lengend>.item .dot>img, .lengend>.item .dot>.text):
(.dot.small *): Deleted.
(.dot img, .dot.small img): Deleted.
(.dot.medium *): Deleted.
(.dot.medium img): Deleted.
(.dot.large *): Deleted.
(.dot.large img): Deleted.
(.lengend>.item .dot .text): Deleted.
(.lengend>.item .dot img): Deleted.
2019-10-21 youenn fablet <youenn@apple.com>
Move service worker registration matching for navigation loads to network process
https://bugs.webkit.org/show_bug.cgi?id=203144
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
We are now creating a WebSWClientConnection whenever receiving a WebSWClientConnection message
from NetworkProcess. It is free to do so given it no longer requires sending some IPC.
Update the tests accordingly.
A future patch will remove the service worker registration bit feature and corresponding test.
2019-10-21 Simon Fraser <simon.fraser@apple.com>
TestWebKitAPI.ScrollViewScrollabilityTests.ScrollableWithOverflowHiddenAndInputView is failing on iPad simulator
https://bugs.webkit.org/show_bug.cgi?id=203053
Reviewed by Wenson Hsieh.
Make ScrollableWithOverflowHiddenAndInputView only test the results on iPhones. Test is not designed for ipad.
* TestWebKitAPI/Tests/ios/ScrollViewScrollabilityTests.mm:
(TestWebKitAPI::TEST):
2019-10-21 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Add ability to display time on bubbles
https://bugs.webkit.org/show_bug.cgi?id=203202
<rdar://problem/56436621>
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/static/js/timeline.js: Add switch to show times under each bubble.
* resultsdbpy/resultsdbpy/view/templates/search.html: Correctly update timeline on callback.
2019-10-21 Dean Jackson <dino@apple.com>
Dispatch AR event on the originating anchor element
https://bugs.webkit.org/show_bug.cgi?id=203198
<rdar://55743929>
Reviewed by Simon Fraser.
Improve this test, most importantly so that it
actually works :)
Retrieve the ElementIdentifier for the <a> element,
and trigger a system preview action on it.
* TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
(-[TestSystemPreviewTriggeredHandler userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/system-preview-trigger.html:
2019-10-21 Alex Christensen <achristensen@webkit.org>
ServiceWorker tests should use TCPServer instead of WKURLSchemeHandler
https://bugs.webkit.org/show_bug.cgi?id=203141
Reviewed by Youenn Fablet.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
(-[SWMessageHandlerForRestoreFromDiskTest userContentController:didReceiveScriptMessage:]):
(-[SWSchemes handledRequests]): Deleted.
(-[SWSchemes webView:startURLSchemeTask:]): Deleted.
(-[SWSchemes webView:stopURLSchemeTask:]): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerTCPServer.h: Added.
(ServiceWorkerTCPServer::ServiceWorkerTCPServer):
(ServiceWorkerTCPServer::request):
(ServiceWorkerTCPServer::requestWithLocalhost):
(ServiceWorkerTCPServer::requestWithFragment):
(ServiceWorkerTCPServer::userAgentsChecked):
(ServiceWorkerTCPServer::requestWithFormat):
* TestWebKitAPI/Tests/WebKitCocoa/StorageQuota.mm:
(-[StorageSchemes webView:startURLSchemeTask:]): Deleted.
(-[StorageSchemes webView:stopURLSchemeTask:]): Deleted.
2019-10-21 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.config
https://bugs.webkit.org/show_bug.cgi?id=202463
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.common.config to the test list.
* Scripts/webkitpy/common/config/committers.py:
(Contributor.__init__): Convert lists to maps.
(Contributor.__str__): __str__ will always return the native string type.
(Contributor.__unicode__): Use .format() string.
(CommitterList._exclusive_contributors): Convert filter to list.
(CommitterList._exclusive_committers): Ditto.
(CommitterList.contributors_by_search_string): Ditto.
* Scripts/webkitpy/common/config/committervalidator_unittest.py: Use full import paths.
* Scripts/webkitpy/common/config/contributionareas_unittest.py: Use full import paths.
* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.makeArgs): Use 'in' instead of has_key.
* Scripts/webkitpy/common/config/urls_unittest.py:
* Scripts/webkitpy/common/unicode_compatibility.py:
(encode_for): Encode string for type.
* Scripts/webkitpy/thirdparty/BeautifulSoup.py: Make html5lib import auto-install compatible.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Add html5lib.
(AutoinstallImportHook._install_html5lib): Make html5lib a stand-alone installed package.
(AutoinstallImportHook._install_mechanize): Install html5lib.
(AutoinstallImportHook._install_beautifulsoup): Ditto.
2019-10-21 Wenson Hsieh <wenson_hsieh@apple.com>
[Clipboard API] Implement ClipboardItem.getType() for platform clipboard items
https://bugs.webkit.org/show_bug.cgi?id=203168
Reviewed by Tim Horton.
Add support for the new layout tests, as well as a new API test.
* DumpRenderTree/ios/UIScriptControllerIOS.h:
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::copyText):
Implement UIScriptController.copyText in WebKit1. This is used in one of the new layout tests, which passes in
WebKit1 on macOS and iOS.
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard declareTypes:owner:]):
(-[LocalPasteboard addTypes:owner:]):
(-[LocalPasteboard _addTypesWithoutUpdatingChangeCount:owner:]):
Adjust logic when declaring types on the platform pasteboard, such that it behaves more like the platform; when
declaring types, even if the owner doesn't change, the change count should still get bumped up by 1.
* DumpRenderTree/mac/UIScriptControllerMac.h:
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::copyText):
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm: Added.
(-[TestWKWebView readClipboard]):
(createWebViewForClipboardTests):
(writeMultipleObjectsToPlatformPasteboard):
Add a new API test to verify that clipboard items contain the right data when writing multiple items (each with
different sets of types) to the platform pasteboard using native APIs.
* TestWebKitAPI/Tests/WebKitCocoa/clipboard.html: Added.
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
(-[LocalPasteboard declareTypes:owner:]):
(-[LocalPasteboard addTypes:owner:]):
(-[LocalPasteboard _addTypesWithoutUpdatingChangeCount:owner:]):
2019-10-21 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.net
https://bugs.webkit.org/show_bug.cgi?id=202464
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.common.net.
* Scripts/webkitpy/common/net/credentials_unittest.py: Replace raw_input with input for Python3.
* Scripts/webkitpy/common/net/ewsserver.py:
* Scripts/webkitpy/common/net/resultsjsonparser.py:
(ParsedJSONResults.__init__): Sort results by test name.
* Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
(test_basic): Sort results by test name.
* Scripts/webkitpy/common/net/statusserver.py:
(StatusServer._fetch_url):
* Scripts/webkitpy/common/net/unittestresults_unittest.py:
2019-10-18 Aakash Jain <aakash_jain@apple.com>
EWS should have a way to retry a patch
https://bugs.webkit.org/show_bug.cgi?id=196599
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/models/build.py:
(Build): Add the retried field to keep track of whether a build is requested to be retried or not.
(Build.set_retried): Method to set the retried field.
* BuildSlaveSupport/ews-app/ews/templates/statusbubble.html: Added the 'Retry failed builds' button.
* BuildSlaveSupport/ews-app/ews/views/retrypatch.py:
(RetryPatch.post): Added a check if the build is already retried. Also, set the retried flag appropriately.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble._build_bubble): Updated the status-bubble to in-progress while waiting for build to be retried.
(StatusBubble._build_bubbles_for_patch): Display the retry button only if there are failed builds.
* BuildSlaveSupport/ews-app/ews/migrations/0002_build_retried.py: Added database migration.
2019-10-21 Alicia Boya García <aboya@igalia.com>
[MSE][GStreamer] Revert WebKitMediaSrc rework temporarily
https://bugs.webkit.org/show_bug.cgi?id=203078
Reviewed by Carlos Garcia Campos.
* Scripts/webkitpy/style/checker.py:
2019-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Mark some more WTF unit tests as slow for GTK and WPE
* TestWebKitAPI/glib/TestExpectations.json:
2019-10-21 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Check we don't leak the WebKitWebContext in all tests
https://bugs.webkit.org/show_bug.cgi?id=202981
Reviewed by Žan Doberšek.
Also include the number of references left in leaks report.
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::Test):
(Test::~Test):
2019-10-18 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Warn users when no credentials are found
https://bugs.webkit.org/show_bug.cgi?id=203147
<rdar://problem/55931123>
Reviewed by Brent Fulgham.
Adds new tests for _WKWebAuthenticationPanelUpdateNoCredentialsFound.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-cancel.html:
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-no-credentials.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html:
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc.html:
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-u2f-no-credentials.html: Added.
2019-10-18 Wenson Hsieh <wenson_hsieh@apple.com>
[Clipboard API] Refactor Pasteboard::read() to take an optional item index
https://bugs.webkit.org/show_bug.cgi?id=203161
Reviewed by Tim Horton.
Add a couple of new API tests to verify that the web archive type identifier ("com.apple.webarchive") is (1)
written to the pasteboard when copying a rich text selection, and (2) is read when attempting to paste web
content.
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
2019-10-18 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.watchlist
https://bugs.webkit.org/show_bug.cgi?id=202473
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.common.watchlist.
* Scripts/webkitpy/common/watchlist/watchlist.py:
(WatchList.find_matching_definitions): Use items instead of iteritems.
* Scripts/webkitpy/common/watchlist/watchlist_unittest.py:
(WatchListTest.test_filename_definition_no_matches): Back-slash needs to be escaped.
(WatchListTest.test_filename_definition): Ditto.
(WatchListTest.test_cc_rules_simple): Ditto.
(WatchListTest.test_cc_rules_complex): Ditto.
(WatchListTest.test_cc_and_message_rules_complex): Ditto.
(WatchListTest.test_cc_and_message_rules_no_matches): Ditto.
(WatchListTest.test_more_and_less_match): Ditto.
(WatchListTest.test_complex_match): Ditto.
* Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py:
(WatchListParserTest.test_bad_definition): Back-slash needs to be escaped.
(WatchListParserTest.test_bad_filename_regex): Ditto.
(WatchListParserTest.test_bad_more_regex): Ditto.
(WatchListParserTest.test_bad_match_type): Ditto.
(WatchListParserTest.test_match_type_typo): Ditto.
(WatchListParserTest.test_empty_cc_rule): Ditto.
(WatchListParserTest.test_cc_rule_with_invalid_email): Ditto.
(WatchListParserTest.test_cc_rule_with_secondary_email): Ditto.
(WatchListParserTest.test_empty_message_rule): Ditto.
(WatchListParserTest.test_unused_defintion): Ditto.
(WatchListParserTest.test_cc_rule_with_undefined_defintion_with_suggestion): Ditto.
2019-10-18 Raphael Kubo da Costa <rakuco@webkit.org>
Remove myself from the CMake watchlist
https://bugs.webkit.org/show_bug.cgi?id=203166
Reviewed by Aakash Jain.
* Scripts/webkitpy/common/config/watchlist:
2019-10-18 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, remove an extraneous header import after r251279
Address a post-landing review comment.
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2019-10-18 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Implement AuthenticatorCancel
https://bugs.webkit.org/show_bug.cgi?id=191523
<rdar://problem/55920204>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/FidoHidMessageTest.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-cancel.html: Copied from Tools/TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html:
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc.html:
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion.html:
2019-10-18 Brian Burg <bburg@apple.com>
Cleanup: Stop setting -ApplePersistenceIgnoreState when running debug Mac WebKit
https://bugs.webkit.org/show_bug.cgi?id=203156
Reviewed by Jonathan Bedard.
This is no longer needed. The new value has been supported since 2014.
* Scripts/webkitdirs.pm:
(argumentsForRunAndDebugMacWebKitApp):
2019-10-17 Wenson Hsieh <wenson_hsieh@apple.com>
[Clipboard API] Support navigator.clipboard.read()
https://bugs.webkit.org/show_bug.cgi?id=203021
Reviewed by Ryosuke Niwa.
Make adjustments to WebKitTestRunner and DumpRenderTree to support the new layout tests. See below for more
details.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard pasteboardItems]):
Fixes an existing issue with the mock NSPasteboard used for layout tests. Currently, our logic for converting
the contents of the platform pasteboard to NSPasteboardItem simply writes the pasteboard data as-is to
NSPasteboardItems. However, these pasteboard types may be legacy pasteboard types, in which case
NSPasteboardItem will simply handle the call to `-setData:forType:` as a no-op. AppKit has logic in this
scenario to canonicalize these legacy pasteboard types to their modern counterparts, but this is absent in
DumpRenderTreePasteboard and WebKitTestRunnerPasteboard.
Address this by teaching the mock pasteboards to convert legacy types to modern types when generating platform
pasteboard items.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::copyText):
Add a new UIScriptController method to write a string to the platform pasteboard. This patch adds support for
this new testing hook on macOS and iOS, in WebKit2 (WebKitTestRunner).
* TestRunnerShared/mac/NSPasteboardAdditions.h: Copied from Tools/WebKitTestRunner/mac/UIScriptControllerMac.h.
* TestRunnerShared/mac/NSPasteboardAdditions.mm: Added.
(+[NSPasteboard _modernPasteboardType:]):
Add a helper to convert legacy pasteboard types (and dynamic UTIs that map to legacy pasteboard types) to
modern pasteboard types, suitable for writing to NSPasteboardItems on macOS.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::copyText):
* WebKitTestRunner/mac/UIScriptControllerMac.h:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptControllerMac::copyText):
* WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
Apply the same fix for WebKitTestRunner's mock NSPasteboard.
(-[LocalPasteboard _clearContentsWithoutUpdatingChangeCount]):
(-[LocalPasteboard clearContents]):
Make -clearContents clear out all the contents on the mock pasteboard, instead of crashing in AppKit.
(-[LocalPasteboard declareTypes:owner:]):
(-[LocalPasteboard pasteboardItems]):
2019-10-17 Mark Lam <mark.lam@apple.com>
Use constexpr in more places and remove some unnecessary external linkage.
https://bugs.webkit.org/show_bug.cgi?id=203115
Reviewed by Yusuke Suzuki.
* TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/IsNavigationActionTrusted.mm:
2019-10-17 Sihui Liu <sihui_liu@apple.com>
Using version 1 CFRunloopSource for faster task dispatch
https://bugs.webkit.org/show_bug.cgi?id=202874
Reviewed by Geoffrey Garen.
Fix a flaky test.
* TestWebKitAPI/Tests/WebKit/getUserMedia.html:
2019-10-17 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.net.buildbot
https://bugs.webkit.org/show_bug.cgi?id=202466
Reviewed by Stephanie Lewis.
* Scripts/test-webkitpy-python3: Add webkitpy.common.net.buildbot to the test list.
* Scripts/webkitpy/common/net/buildbot/buildbot.py:
(Builder.url_encoded_name): Call compatible urllib quote.
(Builder.revision_build_pairs_with_results): Convert iterator to list before returning.
(Build.results_url): Call compatible urllib quote.
(BuildBot._parse_last_build_cell):renderContents needs to be decoded in Python 3.
(BuildBot._parse_current_build_cell): BeautifulSoup and bs4 render breaks differently.
(BuildBot._fetch_build_dictionary): Call compatible urllib quote.
* Scripts/webkitpy/common/net/regressionwindow.py:
(RegressionWindow.revisions): Convert range(...) to list.
2019-10-17 Aakash Jain <aakash_jain@apple.com>
[ews] status bubbles should show details from all the builds in case build is retried
https://bugs.webkit.org/show_bug.cgi?id=203117
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble._build_bubble): Display messages from all the builds (including retried builds) for a patch on a queue.
(StatusBubble._steps_messages_from_multiple_builds): Method to generate status using information from all the retried builds.
(StatusBubble.get_all_builds_for_queue): Method to get all the builds instead of just the latest one.
(StatusBubble.get_latest_build_for_queue): Modified to use the new get_all_builds_for_queue() method.
2019-10-17 Emilio Cobos Álvarez <emilio@crisal.io>
[GTK] Explicitly use Python 2 in jhbuild-wrapper
https://bugs.webkit.org/show_bug.cgi?id=202790
Reviewed by Adrian Perez de Castro.
jhbuildutils.py requires Python 2 for the moment, so using just
`python` fails in distros where Python 3 is the default.
* jhbuild/jhbuild-wrapper:
2019-10-17 Paulo Matos <pmatos@igalia.com>
Check values of variables before extracting index in perl
https://bugs.webkit.org/show_bug.cgi?id=202333
Reviewed by Jonathan Bedard.
If compiler doesn't properly report the host and target it was
compiled for, lacking better information we just go ahead and assume
there is no cross compilation involved.
* Scripts/webkitdirs.pm:
(isCrossCompilation):
2019-10-17 Pablo Saavedra <psaavedra@igalia.com>
Add a driver for MiniBrowser running with WPE for
benchmark_runner
https://bugs.webkit.org/show_bug.cgi?id=202994
Reviewed by Žan Doberšek.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowserwpe_driver.py: Added.
(WPEMiniBrowserDriver):
(WPEMiniBrowserDriver.launch_url):
(WPEMiniBrowserDriver.launch_driver):
2019-10-17 Carlos Alberto Lopez Perez <clopez@igalia.com>
run-buildbot-test: sqlalchemy exception when upgrading the database
https://bugs.webkit.org/show_bug.cgi?id=202927
Reviewed by Adrian Perez de Castro.
Update the version of sqlalchemy-migrate for pip used for the test.
That fixes the exception when upgrading the database.
* BuildSlaveSupport/build.webkit.org-config/run-buildbot-test.py:
2019-10-16 Andy Estes <aestes@apple.com>
[Quick Look] Test that legacy web views load previews before deciding content policy
https://bugs.webkit.org/show_bug.cgi?id=202971
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(-[QuickLookLegacyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
(TEST):
(-[QuickLookFrameLoadDelegate webView:didFinishLoadForFrame:]): Deleted.
2019-10-16 Chris Dumez <cdumez@apple.com>
Rename PageCache to BackForwardCache
https://bugs.webkit.org/show_bug.cgi?id=203048
Reviewed by Alex Christensen.
Rename PageCache to BackForwardCache for clarity and consistency with the UIProcess's WebBackForwardCache.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/TestRunner.cpp:
(overridePreferenceCallback):
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
(setWebPreferencesForTestOptions):
* TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/DOMWindowExtensionNoCache.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/DOMWindowExtensionNoCache_Bundle.cpp:
(TestWebKitAPI::DOMWindowExtensionNoCache::willDisconnectDOMWindowExtensionFromGlobalObject):
(TestWebKitAPI::DOMWindowExtensionNoCache::didReconnectDOMWindowExtensionToGlobalObject):
* TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache_Bundle.cpp:
(TestWebKitAPI::DidRemoveFrameFromHiearchyInBackForwardCacheTest::DidRemoveFrameFromHiearchyInBackForwardCacheTest):
(TestWebKitAPI::DidRemoveFrameFromHiearchyInBackForwardCacheTest::didCreatePage):
* TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::overridePreference):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* lldb/lldb_webkit.py:
(WebCoreFrame_SummaryProvider):
(WebCoreDocument_SummaryProvider):
(WebCoreDocumentProvider.page_cache_state):
2019-10-16 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.net.bugzilla
https://bugs.webkit.org/show_bug.cgi?id=202468
Reviewed by Stephanie Lewis.
Make the irc library we use Python 3 compatible.
* Scripts/test-webkitpy-python3: Add webkitpy.common.net.bugzilla to the test list.
* Scripts/webkitpy/thirdparty/irc/ircbot.py: Use full import paths.
* Scripts/webkitpy/thirdparty/irc/irclib.py: Fix exceptions, printing for Python 3.
(Connection._get_socket):
(ServerConnection.connect):
(ServerConnection.process_data):
(ServerConnection.disconnect):
(ServerConnection.send_raw):
(DCCConnection.connect):
(DCCConnection.listen):
(DCCConnection.disconnect):
(DCCConnection.process_data):
(DCCConnection.privmsg):
2019-10-16 John Wilander <wilander@apple.com>
Resource Load Statistics (experimental): Block all third-party cookies on websites without prior user interaction
https://bugs.webkit.org/show_bug.cgi?id=203017
<rdar://problem/56262708>
Reviewed by Alex Christensen.
These changes are test infrastructure to be able to toggle the function
through testRunner.setStatisticsShouldBlockThirdPartyCookies().
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsShouldBlockThirdPartyCookies):
(WTR::TestRunner::statisticsCallDidSetShouldBlockThirdPartyCookiesCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsShouldBlockThirdPartyCookies):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
(WTR::TestInvocation::didSetShouldBlockThirdPartyCookies):
* WebKitTestRunner/TestInvocation.h:
2019-10-16 Kate Cheney <katherine_cheney@apple.com>
WKWebsiteDataStoreStatisticsResetToConsistentState() should call store.setUseITPDatabase(false)
https://bugs.webkit.org/show_bug.cgi?id=203020
<rdar://problem/56314484>
Reviewed by Chris Dumez.
Added a completion handler to setUseITPDatabase() to avoid race
conditions.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setUseITPDatabase):
2019-10-16 Fujii Hironori <Hironori.Fujii@sony.com>
DumpRenderTree should clear WTFLogChannelState::OnWithAccumulation state set by testRunner.accummulateLogsForChannel
https://bugs.webkit.org/show_bug.cgi?id=203024
Reviewed by Alex Christensen.
If a test case calls testRunner.accummulateLogsForChannel("IndexedDB"),
all subsequent IndexedDB tests also dump the log.
This is unnecessarily bloating DumpRenderTree log because
DumpRenderTree is run with --debug-rwt-logging switch on Buildbot.
Add a function to clear WTFLogChannelState::OnWithAccumulation
state, and call it for every test execution.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting):
Call WebCoreTestSupport::clearAllLogChannelsToAccumulate.
2019-10-16 Wenson Hsieh <wenson_hsieh@apple.com>
Remove an API test workaround that is no longer needed
https://bugs.webkit.org/show_bug.cgi?id=203037
Reviewed by Tim Horton.
This worked around <rdar://problem/51510554> by avoiding codepaths that resulted in failure to read dropped
content from NSItemProviders on iOS. <rdar://problem/51510554> is fixed in iOS 13, so we can remove this hack.
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView initWithFrame:configuration:addToWindow:]):
(applyWorkaroundToAllowWritingAttributedStringsToItemProviders): Deleted.
2019-10-16 Pablo Saavedra <psaavedra@igalia.com>
[Tools] Add a driver for cog for benchmark_runner.py
https://bugs.webkit.org/show_bug.cgi?id=202995
Reviewed by Žan Doberšek.
* Scripts/webkitpy/benchmark_runner/browser_driver/linux_cog_driver.py: Added.
(CogBrowserDriver):
(CogBrowserDriver.launch_url):
(CogBrowserDriver.launch_driver):
(CogFdoBrowserDriver):
(CogFdoBrowserDriver.launch_url):
2019-10-16 Youenn Fablet <youenn@apple.com>
WebAudioSourceProviderAVFObjC::provideInput should set its WebAudioBufferList parameters correctly
https://bugs.webkit.org/show_bug.cgi?id=202930
<rdar://problem/56006776>
Reviewed by Eric Carlson.
Add a test that has an audio track that goes from 1 to 2 channels while being piped to a WebAudio pipeline.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
(-[GUMMessageHandler userContentController:didReceiveScriptMessage:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/getUserMedia-webaudio.html: Added.
2019-10-15 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add user messages API
https://bugs.webkit.org/show_bug.cgi?id=202847
Reviewed by Adrian Perez de Castro.
Add a test to check the new API.
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(UserMessageTest::webViewUserMessageReceivedCallback):
(UserMessageTest::webContextUserMessageReceivedCallback):
(UserMessageTest::UserMessageTest):
(UserMessageTest::~UserMessageTest):
(UserMessageTest::sendMessage):
(UserMessageTest::sendMedssageToAllExtensions):
(UserMessageTest::viewUserMessageReceived):
(UserMessageTest::contextUserMessageReceived):
(UserMessageTest::waitUntilViewMessageReceived):
(UserMessageTest::waitUntilContextMessageReceived):
(readFileDescritpor):
(testWebExtensionUserMessages):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(documentLoadedCallback):
(pageMessageReceivedCallback):
(pageCreatedCallback):
(extensionMessageReceivedCallback):
(webkit_web_extension_initialize_with_user_data):
2019-10-15 Aakash Jain <aakash_jain@apple.com>
Improve summary for WebKitPerl Tests build step
https://bugs.webkit.org/show_bug.cgi?id=203006
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/steps.py:
(RunWebKitPerlTests.getResultSummary): Override method to customize summary.
* BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2019-10-15 Zhifei Fang <zhifei_fang@apple.com>
Tool to mark jsc test skip/enable
https://bugs.webkit.org/show_bug.cgi?id=202063
Reviewed by Keith Miller.
* Scripts/run-javascriptcore-tests:
(runJSCStressTests):
* Scripts/run-jsc-stress-tests:
2019-10-15 Peng Liu <peng.liu6@apple.com>
[Picture-in-Picture Web API] Implement HTMLVideoElement.requestPictureInPicture() / Document.exitPictureInPicture()
https://bugs.webkit.org/show_bug.cgi?id=201024
Reviewed by Eric Carlson.
Add configurations for Picture-in-Picture API and enable it in the test runner.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setPictureInPictureAPIEnabled):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2019-10-15 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Rename -[WKUIDelegatePrivate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:] to -[WKUIDelegatePrivate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]
https://bugs.webkit.org/show_bug.cgi?id=202564
<rdar://problem/55974027>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]): Deleted.
2019-10-15 Aakash Jain <aakash_jain@apple.com>
[ews] Use python 3 compatible way to represent octal in buildbot code
https://bugs.webkit.org/show_bug.cgi?id=202999
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/buildbot.tac:
* BuildSlaveSupport/ews-build/steps.py:
2019-10-15 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Add os version to various unix ports
https://bugs.webkit.org/show_bug.cgi?id=202955
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.__init__): Use platform.release() to defined the os_version.
2019-10-15 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION: editing/async-clipboard/clipboard-interfaces.html is failing in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=202940
<rdar://problem/56262298>
Reviewed by Ryosuke Niwa.
Add some plumbing to support the async clipboard API experimental test option in Windows.
* DumpRenderTree/win/DumpRenderTree.cpp:
(setWebPreferencesForTestOptions):
2019-10-15 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Write more tests for _WKWebAuthenticationPanel
https://bugs.webkit.org/show_bug.cgi?id=202565
<rdar://problem/55974128>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:dismissWebAuthenticationPanelWithResult:]):
(-[TestWebAuthenticationPanelUIDelegate init]):
(-[TestWebAuthenticationPanelUIDelegate webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc.html: Added.
2019-10-15 Alex Christensen <achristensen@webkit.org>
Pass CORS-enabled schemes through WebProcess instead of having them NetworkProcess-global
https://bugs.webkit.org/show_bug.cgi?id=202891
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
(-[SWMessageHandlerWithExpectedMessage userContentController:didReceiveScriptMessage:]):
Use EXPECT_WK_STREQ so I can see what is going on on EWS.
2019-10-15 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix several GTK tests in /WebKit2Gtk/TestUIClient crashing since r241988
This was not caused by r241988, but revealed the existing bug. We were not creating the new WebKitWebView in
UIClientTest with the related WebKitWebView. Since r241988, the new WebPageProxy drawing area is passed to
creationParameters(), but it's nullptr because the WebPageProxy hasn't been initialized yet. When using related
views, the new WebPageProxy is already initialized because it has running processes on creation.
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewCreateNavigationData):
2019-10-15 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK test /WebKit2Gtk/TestWebViewEditor
It's failing since we delay the web process launch until the first load. Load about:blank in the test
constructor to fix it.
* TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
2019-10-15 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK test /webkit/Authentication/authentication-storage after r249962
The test was still using the legacy private browsing API that is a no-op since r249962. This partch updates the
test to use a ephemeral WebView instead.
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(EphemeralAuthenticationTest::setup):
(EphemeralAuthenticationTest::teardown):
(testWebViewAuthenticationEphemeral):
(testWebViewAuthenticationStorage):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::initializeWebView):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2019-10-15 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix GTK test /webkit/WebKitSettings/webkit-settings after r249962.
Stop testing WebKitSettings:enable-private-browsing.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
2019-10-15 Alicia Boya García <aboya@igalia.com>
gdb webkit.py: Fix iterator error in Python3
https://bugs.webkit.org/show_bug.cgi?id=202926
Reviewed by Jonathan Bedard.
Some distros use Python3 for gdb, so the script needs to be compatible with both versions for it to work.
* gdb/webkit.py:
(WTFVectorPrinter.Iterator.__next__):
2019-10-14 Zhifei FANG <zhifei_fang@apple.com>
results.webkit.org: TypeError when evaluating empty commits
https://bugs.webkit.org/show_bug.cgi?id=202936
Reviewed by Jonathan Bedard.
*resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js: Draw empty line when invaild scales or dots state pass in
2019-10-14 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support in webkitpy.common.net.bugzilla
https://bugs.webkit.org/show_bug.cgi?id=202465
Reviewed by Dewei Zhu.
* Scripts/test-webkitpy-python3: Add webkitpy.common.net.bugzilla to the test list.
* Scripts/webkitpy/common/net/bugzilla/__init__.py: Use full import paths.
* Scripts/webkitpy/common/net/bugzilla/attachment_unittest.py: Ditto.
* Scripts/webkitpy/common/net/bugzilla/bug.py: Ditto.
(Bug.commit_revision): Dictionary sorting is no longer well defined in Python 3.
* Scripts/webkitpy/common/net/bugzilla/bug_unittest.py: Use full import paths.
* Scripts/webkitpy/common/net/bugzilla/bugzilla.py: Ditto.
(EditUsersParser.login_userid_pairs_from_edit_user_results): Return list, not an iterator.
(EditUsersParser.user_dict_from_edit_user_page): HTML_ENTITIES is logically connected to BeautifulSoup, not
BeautifulStoneSoup.
(BugzillaQueries._parse_attachment_ids_request_query): Explicitly cast date_tag to unicode.
(Bugzilla._parse_attachment_element): Legacy BeautifulSoup and bs4 Elements have different function calls.
(Bugzilla._file_object_for_upload): Use BytesIO instead of StringIO.
(Bugzilla.create_bug):
(reopen_bug): Access map as list, not iterator.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py: Use full import paths.
* Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py: Ditto.
* Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py:
(TestExpectationUpdater._update_from_generic_attachment): Use items over iteritems().
(TestExpectationUpdater._update_from_platform_specific_attachment): Ditto.
(TestExpectationUpdater.do_update): Ditto.
* Scripts/webkitpy/common/net/buildbot/buildbot.py: Use Python 2/3 compatible urllib.
* Scripts/webkitpy/common/net/credentials.py: Use import statement to force autoinstall logic.
* Scripts/webkitpy/common/net/file_uploader.py: Use Python 2/3 compatible urllib.
(FileUploader._upload_data.callback):
(FileUploader):
* Scripts/webkitpy/common/net/resultsjsonparser.py:
(JSONTestResult._tokenize): Force map() call to return a list.
* Scripts/webkitpy/common/net/web_mock.py: Use Python 2/3 compatible urllib.
* Scripts/webkitpy/common/system/autoinstall.py:
(AutoInstaller.install): Return True if install was required, otherwise, return False.
* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.__init__): Encode strings before writing them to the filesystem.
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py: Use Python 2/3 compatible urllib.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser): Use items over iteritems().
* Scripts/webkitpy/layout_tests/models/test_failures.py: Use Python 3 compatible Pickle library.
* Scripts/webkitpy/layout_tests/models/test_results.py: Ditto.
* Scripts/webkitpy/port/darwin_testcase.py:
(DarwinTest.test_crashlog_path): Use dictionary for files.
* Scripts/webkitpy/test/main.py:
(Tester._run_tests): Update directories excluded from testing.
* Scripts/webkitpy/thirdparty/BeautifulSoup.py: Replaced.
(BeautifulSoup):Wrapper class making bs4 BeautifulSoup compatible with legacy BeautifulSoup calls.
(BeautifulStoneSoup): Ditto.
* Scripts/webkitpy/thirdparty/BeautifulSoup_legacy.py: Copied from Tools/Scripts/webkitpy/thirdparty/BeautifulSoup.py.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.__init__): Accept executive.
(AutoinstallImportHook.find_module): Add beautifulsoup.
(AutoinstallImportHook._install_beautifulsoup): bs4 must be converted via 2to3 before use in Python 3.
(AutoinstallImportHook._install): Return result from installer.
* Scripts/webkitpy/thirdparty/mock.py:
(Mock.reset_mock): Use values() instead of itervalues().
2019-10-14 Matt Mokary <mmokary@apple.com>
FindController::findString always updates foundStringMatchIndex even if match is the same as before
https://bugs.webkit.org/show_bug.cgi?id=201775
<rdar://problem/55352425>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm:
(TestWebKitAPI::TEST):
_WKFindOptionsNoIndexChange test
2019-10-14 Andy Estes <aestes@apple.com>
REGRESSION (r243682): Quick Look previews loaded from the memory cache render with the wrong content type
https://bugs.webkit.org/show_bug.cgi?id=202935
<rdar://problem/54318133>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView synchronouslyGoBack]):
(-[WKWebView synchronouslyGoForward]):
2019-10-14 Alex Christensen <achristensen@webkit.org>
REGRESSION: [iOS 13?] TestWebKitAPI.SharedBufferTest.tryCreateArrayBufferLargeSegments is failing
https://bugs.webkit.org/show_bug.cgi?id=201902
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F):
2019-10-14 Saam Barati <sbarati@apple.com>
Canonicalize how we prepare the prototype chain for inline caching
https://bugs.webkit.org/show_bug.cgi?id=202827
<rdar://problem/56193919>
Reviewed by Yusuke Suzuki.
* Scripts/run-jsc-stress-tests:
2019-10-14 Nikolas Zimmermann <nzimmermann@igalia.com>
Update my nickname.
Unreviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-14 Nikolas Zimmermann <nzimmermann@igalia.com>
Fix Tools/Scripts/update-webkitgtk-libs build failure in 'gst-plugins-bad'
https://bugs.webkit.org/show_bug.cgi?id=202931
Reviewed by Philippe Normand.
OpenEXR dependency is not required and causes a build failure on Ubuntu
19.04 with OpenEXR 2.2.1, as described here:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1089
* gstreamer/jhbuild.modules: Disable openexr in meson build options.
2019-10-14 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Make recent=False more usable
https://bugs.webkit.org/show_bug.cgi?id=202873
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/model/configuration_context.py:
(ConfigurationContext.search_for_configuration): If no configuration is specified,
use a set of configurations defined by recent platform.
* resultsdbpy/resultsdbpy/model/configuration_context_unittest.py:
(ConfigurationContextTest.test_expired_configurations): Test that recent=False works.
2019-10-14 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed, set Adrian Perez de Castro as WebKit Reviewer
* Scripts/webkitpy/common/config/contributors.json:
2019-10-14 youenn fablet <youenn@apple.com>
Reuse existing web processes for running service workers
https://bugs.webkit.org/show_bug.cgi?id=202195
Reviewed by Chris Dumez.
Add support for enforcing a separate process for service workers.
This is useful for tests trying to crash the service worker process.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
Update test to use serviceWorkerProcessCount.
Add test to check for in process and out of process service workers.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUseSeparateServiceWorkerProcess):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-10-12 Chris Dumez <cdumez@apple.com>
Back/Forward cache does not work after doing a favorite navigation
https://bugs.webkit.org/show_bug.cgi?id=202762
<rdar://problem/56126911>
Reviewed by Antti Koivisto.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-10-12 Ryosuke Niwa <rniwa@webkit.org>
requestIdleCallback cannot be enabled in DumpRenderTree on Windows
https://bugs.webkit.org/show_bug.cgi?id=202876
Reviewed by Wenson Hsieh.
Added the missing plumbing for Windows port.
* DumpRenderTree/win/DumpRenderTree.cpp:
(setWebPreferencesForTestOptions):
2019-10-11 Aakash Jain <aakash_jain@apple.com>
Update build.webkit.org basedir
https://bugs.webkit.org/show_bug.cgi?id=202856
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/buildbot.tac: Updated basedir. Also increased the
size of twistd.log files and reduced number of files for easier maintenance.
2019-10-11 Aakash Jain <aakash_jain@apple.com>
[ews] Services EWS should also run build.webkit.org unit tests
https://bugs.webkit.org/show_bug.cgi?id=202864
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/ews-build/factories.py:
(ServicesFactory.__init__): Added new RunBuildWebKitUnitTests step.
* BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance): Added paths for build.webkit.org code.
(RunBuildWebKitUnitTests): Build step to run build.webkit.org unit tests.
(RunBuildWebKitUnitTests.__init__): Set workdir, timeout and logEnviron.
(RunBuildWebKitUnitTests.getResultSummary): Customize Buildbot messages for this build step.
* BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2019-10-11 Chris Dumez <cdumez@apple.com>
Move SuspendedPage logic from WebProcessPool to new WebBackForwardCache class
https://bugs.webkit.org/show_bug.cgi?id=202660
Reviewed by Antti Koivisto.
Drop test that relied on reusing a SuspendedPage's process from a loadHTMLStringLoad (optimization).
This no longer works now that SuspendedPages are owned by their associated back/forward item because
we currently do not create a back/forward item for loadHTMLString requests. Suspending a page for a
loadHTMLString was also wasteful since there was no way to restore that page (given that there was
no WebBackForwardListItem to go back to).
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-10-11 Brian Burg <bburg@apple.com>
Remove some dead code in webkitpy's mac.py
https://bugs.webkit.org/show_bug.cgi?id=202853
Reviewed by Alexey Proskuryakov.
- Remove _build_java_test_support as it no longer does anything.
- Remove _check_port_build as it's only used to build Java test support.
- Remove unused is_mavericks() function.
- Remove a log stripping pattern that was fixed several releases ago.
* Scripts/webkitpy/port/base.py:
(Port.check_build):
(Port.check_api_test_build):
(Port._check_driver):
(Port._check_port_build): Deleted.
* Scripts/webkitpy/port/mac.py:
(MacPort.operating_system):
(MacPort.default_child_processes):
(MacPort.logging_patterns_to_strip):
(MacPort.is_mavericks): Deleted.
(MacPort._build_java_test_support): Deleted.
(MacPort._check_port_build): Deleted.
2019-10-11 Aakash Jain <aakash_jain@apple.com>
[build.webkit.org] API tests should output result summary in json format
https://bugs.webkit.org/show_bug.cgi?id=202854
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunAPITests): Output results in json format as well.
2019-10-11 Jonathan Bedard <jbedard@apple.com>
Unreviewed, rolling out r250945.
Broke 18 Debug API tests
Reverted changeset:
"Add support for CompactPointerTuple<..., OptionSet<...>>"
https://bugs.webkit.org/show_bug.cgi?id=201316
https://trac.webkit.org/changeset/250945
2019-10-10 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo] auto-installing raises exception "Inner message: global name 'urllib2' is not defined" since r250869
https://bugs.webkit.org/show_bug.cgi?id=202839
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/common/system/autoinstall.py:
(AutoInstaller._download_to_stream): Replaced urllib2.urlopen with urlopen.
2019-10-10 Kenneth Russell <kbr@chromium.org>
New html5lib requires newer version of six.py than that shipped in macOS 10.14.6
https://bugs.webkit.org/show_bug.cgi?id=202830
Autoinstall six along with html5lib.
Reviewed by Jonathan Bedard.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_mechanize):
(AutoinstallImportHook._install_pytest):
2019-10-10 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Sort out certificates on Catalina
https://bugs.webkit.org/show_bug.cgi?id=202837
Unreviewed infrastructure repair.
This is a temporary strategy until we sort out our certificates on the newly
deployed Catalina bots.
* Scripts/webkitpy/results/upload.py:
(Upload.upload):
(Upload.upload_archive):
* Scripts/webkitpy/results/upload_unittest.py:
(UploadTest.test_upload):
(UploadTest.test_archive_upload):
2019-10-10 Carlos Alberto Lopez Perez <clopez@igalia.com>
W3C test importer breaks svg files.
https://bugs.webkit.org/show_bug.cgi?id=202806
Reviewed by Jonathan Bedard.
The WebKit W3C importer tries to rewrite the xml/html/css files
when importing the tests to rewrite paths and such.
The issue is that to decide if rewrite the file or not uses the
mimetype and the current code was comparing for something like
if "xml" in str(mimetype[0])
But svg files have mimetype "image/svg+xml" so the previous code
was trying to rewrite svg files, breaking them.
This patches changes that code to only rewrite if the mimetype
also contains the "application/" or "text/" string.
It also adds an info log (printed when verbose enabled) to tell
that a file has been rewritten.
* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.import_tests):
2019-10-10 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Serve correct exit codes when aborting
https://bugs.webkit.org/show_bug.cgi?id=202817
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/view/view_routes.py:
(ViewRoutes.error): Return exit code along with html string.
2019-10-10 Matt Lewis <jlewis3@apple.com>
Emergency unittest fix for wkbuild.
Unreviewed test fix.
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
2019-10-10 Aakash Jain <aakash_jain@apple.com>
Updated new Catalina queues names as per new Buildbot naming scheme
https://bugs.webkit.org/show_bug.cgi?id=202816
Reviewed by Jonathan Bedard.
* BuildSlaveSupport/build.webkit.org-config/config.json: Renamed builder name and removed spaces.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: Ditto.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Ditto.
2019-10-10 Matt Lewis <jlewis3@apple.com>
Fixing build scheduling for Catalina queues.
https://bugs.webkit.org/show_bug.cgi?id=202814
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/config.json: Drive By fix of Trigger.
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):
2019-10-10 Sihui Liu <sihui_liu@apple.com>
Add a unit test for StorageQuotaManager
https://bugs.webkit.org/show_bug.cgi?id=202755
Reviewed by Youenn Fablet.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/StorageQuotaManager.cpp: Added.
(TestWebKitAPI::TEST):
2019-10-10 Wenson Hsieh <wenson_hsieh@apple.com>
Support programmatic paste requests on macOS
https://bugs.webkit.org/show_bug.cgi?id=202773
<rdar://problem/48957166>
Reviewed by Tim Horton.
Adds new testing support to enable us to test programmatic paste requests on macOS.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
Add a few new UIScriptController methods:
- activateAtPoint(x, y, callback): used to activate content underneath at (x, y), in root view coordinates
(WKWebView on macOS, and WKContentView on iOS). On macOS, this moves the mouse to the given location and
clicks.
- chooseMenuAction(action, callback): used to select a menu item with the given title.
- dismissMenu(): dismisses the platform menu.
Note that dismissMenu and chooseMenuAction currently only work for the DOM paste menu, but could be extended in
the future to handle the system context menu.
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::dismissMenu):
(WTR::UIScriptController::chooseMenuAction):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::activateAtPoint):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView initWithFrame:configuration:]):
(-[TestRunnerWKWebView _didShowMenu]):
(-[TestRunnerWKWebView _didHideMenu]):
Make these present across both macOS and iOS. On macOS, we listen for NSMenuDidBeginTrackingNotification and
NSMenuDidEndTrackingNotification to know when a menu has been shown or dismissed.
(-[TestRunnerWKWebView dismissActiveMenu]):
(-[TestRunnerWKWebView resetInteractionCallbacks]):
Make these available on both iOS and macOS. The only interaction callbacks on macOS are currently
didShowMenuCallback and didHideMenuCallback.
(-[TestRunnerWKWebView _willHideMenu]):
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
* WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
(WTR::UIScriptControllerCocoa::setDidShowMenuCallback):
(WTR::UIScriptControllerCocoa::setDidHideMenuCallback):
(WTR::UIScriptControllerCocoa::dismissMenu):
(WTR::UIScriptControllerCocoa::isShowingMenu const):
Move these implementations into UIScriptControllerCocoa, from UIScriptControllerIOS.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
Instead of clearing all interaction callbacks in TestControllerIOS, do it in TestControllerCocoa where it
affects both macOS and iOS.
* WebKitTestRunner/ios/UIScriptControllerIOS.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::activateAtPoint):
(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):
(WTR::UIScriptControllerIOS::chooseMenuAction):
(WTR::UIScriptControllerIOS::rectForMenuAction const):
(WTR::UIScriptControllerIOS::setDidShowMenuCallback): Deleted.
(WTR::UIScriptControllerIOS::setDidHideMenuCallback): Deleted.
(WTR::UIScriptControllerIOS::isShowingMenu const): Deleted.
Abstract rectForMenuAction and singleTapAtPointWithModifiers out into private helper methods, such that they can
be used from within other script controller methods.
* WebKitTestRunner/mac/UIScriptControllerMac.h:
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
Implement the new script controller hooks on macOS.
(WTR::UIScriptControllerMac::clearAllCallbacks):
(WTR::UIScriptControllerMac::chooseMenuAction):
(WTR::UIScriptControllerMac::activateAtPoint):
2019-10-10 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Increase default limit for test results (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=202757
Unreviewed follow-up fix.
* resultsdbpy/resultsdbpy/view/templates/commits.html: Switch default and maximum limits.
2019-10-10 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Start reporting results
https://bugs.webkit.org/show_bug.cgi?id=202639
Reviewed by Dewei Zhu.
* BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
(loadBuilderConfig): Load API key for results.webkit.org.
* BuildSlaveSupport/build.webkit.org-config/make_passwords_json.py:
(create_mock_slave_passwords_dict): Add mock for API key.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunWebKitTests): Start reporting to results.webkit.org.
(RunWebKitTests.__init__): Do not print the environment to hide the API key.
(RunWebKitTests.start): Add the API key to the environment.
(RunAPITests): Start reporting to results.webkit.org.
(RunAPITests.__init__): Do not print the environment to hide the API key.
(RunAPITests.start): Add the API key to the environment.
(RunPythonTests): Start reporting to results.webkit.org.
(RunPythonTests.__init__): Do not print the environment to hide the API key.
(RunPythonTests.start): Add the API key to the environment.
* Scripts/webkitpy/results/upload.py:
(Upload):
(Upload.upload): Add API_KEY, if it exists, to the request.
(Upload.upload_archive): Ditto.
2019-10-09 Russell Epstein <repstein@apple.com>
Unreviewed, rolling out r250930.
Broke watchOS Builds
Reverted changeset:
"Add support for CompactPointerTuple<..., OptionSet<...>>"
https://bugs.webkit.org/show_bug.cgi?id=201316
https://trac.webkit.org/changeset/250930
2019-10-09 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthn] Move the mock testing entrance to Internals
https://bugs.webkit.org/show_bug.cgi?id=202560
<rdar://problem/55973793>
Reviewed by Chris Dumez.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebAuthenticationMockConfiguration): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setWebAuthenticationMockConfiguration): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-10-09 Daniel Bates <dabates@apple.com>
Add support for CompactPointerTuple<..., OptionSet<...>>
https://bugs.webkit.org/show_bug.cgi?id=201316
Reviewed by Yusuke Suzuki.
Add a test to ensure we encode and decode a compact pointer tuple correctly when an uint8_t and
a OptionSet<> as the byte value portion of the tuple.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/CompactPointerTuple.cpp: Added.
(TestWebKitAPI::TEST):
2019-10-09 Simon Fraser <simon.fraser@apple.com>
Rename WheelEventTestTrigger and improve naming in related code
https://bugs.webkit.org/show_bug.cgi?id=202772
Reviewed by Tim Horton.
Change the "test trigger" terminology to "monitor wheel events"; after all, tests
call monitorWheelEvents() and callAfterScrollingCompletes(), and this is not triggering
a test.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
2019-10-09 Daniel Bates <dabates@apple.com>
Add support for CompactPointerTuple<..., OptionSet<...>>
https://bugs.webkit.org/show_bug.cgi?id=201316
Reviewed by Yusuke Suzuki.
Add a test to ensure we encode and decode a compact pointer tuple correctly when an uint8_t and
a OptionSet<> as the byte value portion of the tuple.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/CompactPointerTuple.cpp: Added.
(TestWebKitAPI::TEST):
2019-10-09 Jonathan Bedard <jbedard@apple.com>
results.webkit.org: Increase default limit for test results
https://bugs.webkit.org/show_bug.cgi?id=202757
Rubber-stamped by Aakash Jain.
* resultsdbpy/resultsdbpy/controller/suite_controller.py:
(SuiteController): Increase DEFAULT_LIMIT.
* resultsdbpy/resultsdbpy/controller/test_controller.py:
(TestController): Ditto.
* resultsdbpy/resultsdbpy/view/static/js/commit.js:
(_CommitBank.prototype._load): Make commit shards larger.
* resultsdbpy/resultsdbpy/view/static/js/drawer.js: Increase default slider size.
* resultsdbpy/resultsdbpy/view/templates/commits.html: Keep smaller slider size.
2019-10-09 Dean Jackson <dino@apple.com>
Provide an alternate command-line flag for timeout in run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=202758
<rdar://problem/56124032>
Reviewed by Tim Horton.
I always get the flag "--time-out-ms" wrong.
Everywhere else we use the single-word version of "timeout", including
the documentation for --time-out-ms!
Add an alternate that is just "--timeout", and update the documentation
to mention it is measured in milliseconds.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
2019-10-09 youenn fablet <youenn@apple.com>
Remove testRunner.setWebRTCUnifiedPlanEnabled
https://bugs.webkit.org/show_bug.cgi?id=202700
Reviewed by Eric Carlson.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2019-10-09 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r250597): [GTK][WPE] 2.27.1 shows HTML content as text/plain in custom protocols when passing a charset in content type
https://bugs.webkit.org/show_bug.cgi?id=202633
Reviewed by Žan Doberšek.
Add a test case.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextURIScheme):
2019-10-08 Jiewen Tan <jiewen_tan@apple.com>
Partially undo r250811
https://bugs.webkit.org/show_bug.cgi?id=202715
<rdar://problem/56084287>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKit/navigation-client-default-crypto.html:
Modified to crash if SerializedScriptValue doesn't wrap CryptoKey objects.
2019-10-08 Jonathan Bedard <jbedard@apple.com>
REGRESSION (r250375): [old EWS] JSC EWS is always marking Patches as success
https://bugs.webkit.org/show_bug.cgi?id=202419
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/common/system/executive.py:
(Executive._run_command_with_teed_output): Return exit code.
* Scripts/webkitpy/common/system/executive_unittest.py:
(ExecutiveTest.test_run_command_with_bad_command): Test that exceptions are raised
For non-zero exit codes.
2019-10-08 Jonathan Bedard <jbedard@apple.com>
Python 3: Add support to auto-importer
https://bugs.webkit.org/show_bug.cgi?id=201955
Reviewed by Aakash Jain.
* Scripts/test-webkitpy-python3: Auto-install everything.
* Scripts/webkitpy/common/system/autoinstall.py: Import urlopen and urlparse for Python3.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module): Update function definition for Python3.
(AutoinstallImportHook._install_mechanize): Use Python 2/3 compatible version of mechanize.
(AutoinstallImportHook._install_requests): Update urllib3 and requests version.
(AutoinstallImportHook._install_coverage): Use Python 2/3 compatible version of coverage.
(AutoinstallImportHook.greater_than_equal_to_version): Use range instead of xrange.
(AutoinstallImportHook._install_selenium): Update urllib3 version.
(AutoinstallImportHook.install_chromedriver):
(AutoinstallImportHook.install_geckodriver):
(AutoinstallImportHook.get_latest_pypi_url):
(AutoinstallImportHook.install_binary):
* Scripts/webkitpy/thirdparty/__init___unittest.py:
(ThirdpartyTest):
(ThirdpartyTest.test_import_hook): Deleted.
2019-10-08 Yury Semikhatsky <yurys@chromium.org>
Restore my committer status.
Uneviewed.
* Scripts/webkitpy/common/config/contributors.json:
2019-10-08 Kate Cheney <katherine_cheney@apple.com>
Implement Telemetry and Dumping Routines for SQLite backend (195088)
https://bugs.webkit.org/show_bug.cgi?id=195088
<rdar://problem/54213407>
Reviewed by John Wilander.
Updated the current testing for telemetry which only tested 3
statistics. With this patch it now tests 10 statistics.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsDidRunTelemetryCallback):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2019-10-08 Timothy Hatcher <timothy@apple.com>
Copying white text from dark mode WebKit apps and pasting in a light mode app results in white (invisible) text.
https://bugs.webkit.org/show_bug.cgi?id=202662
rdar://problem/48677354
Reviewed by Megan Gardner.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/CopyRTF.mm: Added.
(readRTFDataFromPasteboard):
(copyAttributedStringFromHTML):
(checkColor):
(TEST):
2019-10-08 Brady Eidson <beidson@apple.com>
Service Worker Fetch events should time out.
https://bugs.webkit.org/show_bug.cgi?id=202188
Reviewed by Alex Christensen.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setServiceWorkerFetchTimeout):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::setServiceWorkerFetchTimeoutForTesting):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-10-08 Matt Lewis <jlewis3@apple.com>