blob: cd5f8e9da55f0db31095a33719584575ab5e3f5b [file] [log] [blame]
2019-01-10 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r239825.
https://bugs.webkit.org/show_bug.cgi?id=193330
Broke tests on armv7/linux bots (Requested by guijemont on
#webkit).
Reverted changeset:
"Enable DFG on ARM/Linux again"
https://bugs.webkit.org/show_bug.cgi?id=192496
https://trac.webkit.org/changeset/239825
2019-01-10 Zhifei Fang <zhifei_fang@apple.com>
Disable the run-jsc-stress-test remote host key check.
https://bugs.webkit.org/show_bug.cgi?id=192988
Reviewed by Alexey Proskuryakov.
* Scripts/run-jsc-stress-tests:
2019-01-10 John Wilander <wilander@apple.com>
Override the session configuration for cookieAcceptPolicy
https://bugs.webkit.org/show_bug.cgi?id=190925
<rdar://problem/45497382>
Reviewed by Alexey Proskuryakov and Alex Christensen.
Test infrastructure for setting a first-party-only cookie policy.
* DumpRenderTree/TestRunner.cpp:
(setOnlyAcceptFirstPartyCookiesCallback):
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setOnlyAcceptFirstPartyCookies):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setOnlyAcceptFirstPartyCookies):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setOnlyAcceptFirstPartyCookies):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2019-01-09 Matt Rajca <mrajca@apple.com>
Put per-document autoplay behavior behind runtime website policies quirk instead of a compile time flag
https://bugs.webkit.org/show_bug.cgi?id=193301
Reviewed by Jer Noble.
Added API tests.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/autoplaying-multiple-media-elements.html: Added.
2019-01-10 Zalan Bujtas <zalan@apple.com>
[LFC][BFC][MarginCollapsing] Take collapsed through siblings into account when computing vertical position
https://bugs.webkit.org/show_bug.cgi?id=193310
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2019-01-10 Dominik Infuehr <dinfuehr@igalia.com>
Enable DFG on ARM/Linux again
https://bugs.webkit.org/show_bug.cgi?id=192496
Reviewed by Yusuke Suzuki.
After changing the bytecode format DFG was disabled on all 32-bit
architectures. Enable DFG now again on ARM/Linux. Run again JIT-tests
on ARM by default.
* Scripts/run-jsc-stress-tests:
2019-01-09 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][MiniBrowser] wchar_t strings shouldn't be treated as BSTR
https://bugs.webkit.org/show_bug.cgi?id=193271
Reviewed by Brent Fulgham.
BSTR is a special data structure created by SysAllocString, not a
wchar_t null-terminated string.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setDatabaseQuota): Use L"" instead of "" for _bstr_t.
* MiniBrowser/win/MiniBrowserWebHost.cpp:
(MiniBrowserWebHost::didFinishLoadForFrame): Use _bstr_t to create
BSTR from wide string literals.
2019-01-09 Alexey Proskuryakov <ap@apple.com>
Tweak wording for build/version_check style checker error
https://bugs.webkit.org/show_bug.cgi?id=193256
Reviewed by Tim Horton.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_os_version_checks):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_os_version_checks):
2019-01-09 Aakash Jain <aakash_jain@apple.com>
[ews-build] Add link to bug along with bug title
https://bugs.webkit.org/show_bug.cgi?id=193293
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/steps.py:
(ValidatePatch._is_bug_closed): Fetch bug title from Bugzilla and add it to the build.
(ConfigureBuild.add_bug_id_url): Deleted.
(ConfigureBuild.getBugURL): Deleted.
2019-01-09 Aakash Jain <aakash_jain@apple.com>
[ews-build] Use https for ews-build server
https://bugs.webkit.org/show_bug.cgi?id=193193
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/steps.py:
2019-01-09 Aakash Jain <aakash_jain@apple.com>
[ews-build] Parse and display number of style failures
https://bugs.webkit.org/show_bug.cgi?id=193280
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/steps.py:
(CheckStyle): Use TestWithFailureCount as base class.
(CheckStyle.countFailures): Count the number of style failures.
2019-01-09 Aakash Jain <aakash_jain@apple.com>
[ews-build] use patch_id instead of ewspatchid
https://bugs.webkit.org/show_bug.cgi?id=193235
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/factories.py: Replaced ewspatchid with patch_id.
* BuildSlaveSupport/ews-build/steps.py: Ditto.
* BuildSlaveSupport/ews-build/steps_unittest.py: Ditto.
2019-01-09 Zalan Bujtas <zalan@apple.com>
[LFC][BFC][MarginCollapsing] Add support for peculiar cases.
https://bugs.webkit.org/show_bug.cgi?id=192625
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2019-01-09 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Purge use of g_assert() under TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=192841
Reviewed by Carlos Garcia Campos.
There are separate g_assert_*() macros for use in tests, which we use inconsistently
currently. Use them always. We'll get nicer error messages now when tests fail, and the
assertions will now run during tests even if G_DISABLE_ASSERT is used when building.
Note that the documentation of g_assert() says that it is not to be used when writing tests.
* TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
* TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp:
(WebKitWebEditorTest::testSelectionChanged):
* TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
(WebKitFrameTest::testMainFrame):
(WebKitFrameTest::testURI):
(WebKitFrameTest::testJavaScriptContext):
(WebKitFrameTest::testJavaScriptValues):
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
(testWebViewAuthenticationRequest):
(testWebViewAuthenticationLoadCancelled):
(testWebViewAuthenticationFailure):
(testWebViewAuthenticationStorage):
(ProxyAuthenticationTest::ProxyAuthenticationTest):
(testWebViewAuthenticationProxy):
(testWebViewAuthenticationProxyHTTPS):
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
(testAutomationSessionRequestSession):
* TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
(testBackForwardListNavigation):
(testWebKitWebViewSessionState):
(testWebKitWebViewSessionStateWithFormData):
* TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:
(ConsoleMessageTest::consoleMessageReceivedCallback):
(testWebKitConsoleMessageConsoleAPI):
(testWebKitConsoleMessageJavaScriptException):
(testWebKitConsoleMessageNetworkError):
(testWebKitConsoleMessageSecurityError):
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(testCookieManagerAcceptPolicy):
(testCookieManagerCookiesChanged):
(testCookieManagerPersistentStorage):
(testCookieManagerPersistentStorageDeleteAll):
(testCookieManagerEphemeral):
* TestWebKitAPI/Tests/WebKitGLib/TestDOMElement.cpp:
(testWebKitDOMElementAutoFill):
* TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
(downloadLocalFileSuccessfully):
(createFileAtDestination):
(testDownloadOverwriteDestinationDisallowed):
(testDownloadLocalFileError):
(testDownloadRemoteFile):
(testDownloadRemoteFileError):
(testWebViewDownloadURI):
(testPolicyResponseDownload):
(testPolicyResponseDownloadCancel):
(testDownloadMIMEType):
(contextMenuCallback):
(testContextMenuDownloadActions):
(testBlobDownload):
* TestWebKitAPI/Tests/WebKitGLib/TestEditor.cpp:
(testWebKitWebEditorSelectionChanged):
* TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
(testWebKitFrameMainFrame):
(testWebKitFrameURI):
(testWebKitFrameJavaScriptContext):
(testWebKitFrameJavaScriptValues):
* TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
(LoadStopTrackingTest::loadFailed):
(testWebViewTitle):
(testURIRequestHTTPHeaders):
(testURIRequestHTTPMethod):
(testURIResponseHTTPHeaders):
(testRedirectToDataURI):
* TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
(testProcessPerWebView):
(testWebProcessLimit):
* TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
(testWebViewResources):
(testWebResourceLoading):
(testWebResourceSuggestedFilename):
(testWebResourceGetData):
(testWebResourceGetDataError):
(testWebViewResourcesHistoryCache):
(testWebResourceSendRequest):
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(testSSL):
(testInsecureContent):
(testTLSErrorsPolicy):
(testTLSErrorsRedirect):
(testTLSErrorsHTTPAuth):
(testLoadFailedWithTLSErrors):
(testSubresourceLoadFailedWithTLSErrors):
(httpsServerCallback):
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewCreateNavigationData):
(testWebViewJavaScriptDialogs):
(testWebViewWindowProperties):
(testWebViewMouseTarget):
(testWebViewFileChooserRequest):
(testWebViewColorChooserRequest):
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(testWebExtensionGetTitle):
(testDocumentLoadedSignal):
(testWebKitWebViewProcessCrashed):
(testWebExtensionWindowObjectCleared):
(testWebExtensionIsolatedWorld):
(permissionRequestCallback):
(didAssociateFormControlsCallback):
(testWebExtensionFormControlsAssociated):
(FormSubmissionTest::FormSubmissionTest):
(FormSubmissionTest::testFormSubmissionResult):
(testWebExtensionFormSubmissionSteps):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
(testNotInitialized):
(testClearDatabase):
(testPrivateBrowsing):
(testGetFavicon):
(testWebViewFavicon):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
(testFindControllerTextFound):
(testFindControllerTextNotFound):
(testFindControllerMatchCount):
(testFindControllerMaxMatchCount):
(testFindControllerNext):
(testFindControllerPrevious):
(testFindControllerCountedMatches):
(testFindControllerOptions):
(testFindControllerHide):
(testFindControllerInstance):
(testFindControllerGetters):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
(testNavigationPolicy):
(testResponsePolicy):
(testNewWindowPolicy):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp:
(testSecurityOriginBasicConstructor):
(testSecurityOriginURIConstructor):
(testSecurityOriginDefaultPort):
(testSecurityOriginFileURI):
(testOpaqueSecurityOrigin):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
(testWebKitSettingsNewWithSettings):
(testWebKitSettingsUserAgent):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
(testWebViewNewWithUserContentManager):
(isStyleSheetInjectedForURLAtPath):
(isScriptInjectedForURLAtPath):
(testUserContentManagerInjectedStyleSheet):
(testUserContentManagerInjectedScript):
(UserScriptMessageTest::scriptMessageReceived):
(UserScriptMessageTest::waitUntilMessageReceived):
(UserScriptMessageTest::runJavaScriptFinished):
(testUserContentManagerScriptMessageReceived):
(testUserContentManagerScriptMessageInWorldReceived):
(testUserContentManagerScriptMessageFromDOMBindings):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextDefault):
(testWebContextEphemeral):
(testWebContextGetPlugins):
(testWebContextURIScheme):
(testWebContextSpellChecker):
(testWebContextLanguages):
(consoleMessageReceivedCallback):
(testWebContextSecurityFileXHR):
(ProxyTest::ProxyTest):
(testWebContextProxySettings):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewWebContext):
(testWebViewWebBackend):
(testWebViewEphemeral):
(testWebViewCustomCharset):
(testWebViewSettings):
(testWebViewRunJavaScript):
(testWebViewCanShowMIMEType):
(testWebViewSubmitForm):
(testWebViewSave):
(testWebViewPageVisibility):
(testWebViewSnapshot):
(testWebViewNotification):
(testWebViewNotificationInitialPermissionAllowed):
(testWebViewNotificationInitialPermissionDisallowed):
(testWebViewIsPlayingAudio):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(WebsiteDataTest::WebsiteDataTest):
(WebsiteDataTest::remove):
(WebsiteDataTest::clear):
(testWebsiteDataConfiguration):
(testWebsiteDataEphemeral):
(testWebsiteDataCache):
(testWebsiteDataStorage):
(testWebsiteDataDatabases):
(testWebsiteDataAppcache):
(testWebsiteDataCookies):
(testWebsiteDataDeviceIdHashSalt):
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(emitDocumentLoaded):
(emitURIChanged):
(sendRequestCallback):
(contextMenuCallback):
(consoleMessageSentCallback):
(emitFormControlsAssociated):
(formControlsAssociatedCallback):
(emitFormSubmissionEvent):
(willSubmitFormCallback):
(windowObjectCleared):
(methodCallCallback):
(registerGResource):
(webkit_web_extension_initialize_with_user_data):
* TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
(checkLeaks):
(WebProcessTest::create):
(runTest):
* TestWebKitAPI/Tests/WebKitGtk/AutocleanupsTest.cpp:
(AutocleanupsTest::testWebProcessAutocleanups):
* TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp:
(WebKitDOMClientRectTest::testDivBoundingClientRectPosition):
(WebKitDOMClientRectTest::testDivClientRectsPositionAndLength):
* TestWebKitAPI/Tests/WebKitGtk/DOMDOMWindowTest.cpp:
(WebKitDOMDOMWindowTest::testSignals):
(WebKitDOMDOMWindowTest::testDispatchEvent):
(WebKitDOMDOMWindowTest::testGetComputedStyle):
* TestWebKitAPI/Tests/WebKitGtk/DOMNodeFilterTest.cpp:
(WebKitDOMNodeFilterTest::testTreeWalker):
(WebKitDOMNodeFilterTest::testNodeIterator):
* TestWebKitAPI/Tests/WebKitGtk/DOMNodeTest.cpp:
(WebKitDOMNodeTest::testHierarchyNavigation):
(WebKitDOMNodeTest::testInsertion):
(WebKitDOMNodeTest::testTagNamesNodeList):
(WebKitDOMNodeTest::testTagNamesHTMLCollection):
(WebKitDOMNodeTest::testDOMCache):
* TestWebKitAPI/Tests/WebKitGtk/DOMXPathNSResolverTest.cpp:
(WebKitDOMXPathNSResolverTest::evaluateFooChildTextAndCheckResult):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverNative):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverCustom):
* TestWebKitAPI/Tests/WebKitGtk/TestAutocleanups.cpp:
(testUIProcessAutocleanups):
(testWebProcessAutocleanups):
* TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
(testContextMenuPopulateMenu):
(testContextMenuDismissed):
* TestWebKitAPI/Tests/WebKitGtk/TestDOMClientRect.cpp:
(testWebKitDOMClientRectDivBoundingClientRectPosition):
(testWebKitDOMClientRectDivClientRectsPositionAndLength):
* TestWebKitAPI/Tests/WebKitGtk/TestDOMDOMWindow.cpp:
(testWebKitDOMDOMWindowSignals):
(testWebKitDOMDOMWindowDispatchEvent):
(testWebKitDOMDOMWindowGetComputedStyle):
* TestWebKitAPI/Tests/WebKitGtk/TestDOMNode.cpp:
(testWebKitDOMNodeHierarchyNavigation):
(testWebKitDOMNodeInsertion):
(testWebKitDOMNodeTagNamesNodeList):
(testWebKitDOMNodeTagNamesHTMLCollection):
(testWebKitDOMObjectCache):
* TestWebKitAPI/Tests/WebKitGtk/TestDOMNodeFilter.cpp:
(testWebKitDOMNodeFilterTreeWalker):
(testWebKitDOMNodeFilterNodeIterator):
* TestWebKitAPI/Tests/WebKitGtk/TestDOMXPathNSResolver.cpp:
(testWebKitDOMXPathNSResolverNative):
(testWebKitDOMXPathNSResolverCustom):
* TestWebKitAPI/Tests/WebKitGtk/TestInspector.cpp:
(testInspectorDefault):
(testInspectorManualAttachDetach):
(testInspectorCustomContainerDestroyed):
* TestWebKitAPI/Tests/WebKitGtk/TestInspectorServer.cpp:
(startTestServer):
(testInspectorServerPageList):
* TestWebKitAPI/Tests/WebKitGtk/TestOptionMenu.cpp:
(OptionMenuTest::showOptionMenuCallback):
(OptionMenuTest::menuCloseCallback):
(OptionMenuTest::close):
(OptionMenuTest::activateItem):
(OptionMenuTest::selectItem):
(testOptionMenuSimple):
(testOptionMenuGroups):
(testOptionMenuActivate):
(testOptionMenuSelect):
* TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp:
(testPrintOperationPrintSettings):
(webViewPrintCallback):
(testPrintOperationPrint):
(testPrintCustomWidget):
* TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
(checkAtspiAccessible):
(testAtspiBasicHierarchy):
* TestWebKitAPI/Tests/WebKitGtk/TestWebKitVersion.cpp:
(testWebKitCheckVersion):
* TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
(testWebViewEditorCutCopyPasteNonEditable):
(testWebViewEditorCutCopyPasteEditable):
(testWebViewEditorSelectAllNonEditable):
(testWebViewEditorSelectAllEditable):
(loadContentsAndTryToCutSelection):
(testWebViewEditorNonEditable):
(testWebViewEditorEditable):
(testWebViewEditorEditorStateTypingAttributes):
(testWebViewEditorInsertImage):
(testWebViewEditorCreateLink):
* TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp:
(loadChangedCallback):
(loadFailedCallback):
(loadFailedWithTLSErrorsCallback):
(LoadTrackingTest::LoadTrackingTest):
* TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:
(registerGResource):
(removeNonEmptyDirectory):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::adoptView):
(Test::~Test):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp:
(WebKitTestBus::getOrCreateConnection):
(WebKitTestBus::createProxy):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::getWebSocketURIForPath const):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::initializeWebView):
(WebViewTest::loadURI):
(WebViewTest::loadHtml):
(WebViewTest::loadPlainText):
(WebViewTest::loadBytes):
(WebViewTest::loadRequest):
(WebViewTest::loadAlternateHTML):
(WebViewTest::goBack):
(WebViewTest::goForward):
(WebViewTest::goToBackForwardListItem):
(resourceGetDataCallback):
(WebViewTest::mainResourceData):
(WebViewTest::javascriptResultToCString):
(WebViewTest::javascriptResultToNumber):
(WebViewTest::javascriptResultToBoolean):
(WebViewTest::javascriptResultIsNull):
(WebViewTest::javascriptResultIsUndefined):
(onSnapshotReady):
(WebViewTest::runWebProcessTest):
* TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp:
(WebViewTest::platformInitializeWebView):
(WebViewTest::showInWindow):
(WebViewTest::showInWindowAndWaitUntilMapped):
(WebViewTest::mouseMoveTo):
(WebViewTest::emitPopupMenuSignal):
(WebViewTest::keyStroke):
(WebViewTest::doMouseButtonEvent):
2019-01-09 Philippe Normand <pnormand@igalia.com>
[WPE] API tests can't run in flatpak environment
https://bugs.webkit.org/show_bug.cgi?id=193242
Reviewed by Michael Catanzaro.
* Scripts/run-wpe-tests: Add --wpe to arguments passed to
flatpakutils so that it knows which port it's dealing with.
* glib/common.py: Remove build_dir globals so that subsequent
calls actually take args into account.
(library_build_path):
(binary_build_path):
2019-01-08 Dean Jackson <dino@apple.com>
Blob references for System Previews don't get a correct file extension
https://bugs.webkit.org/show_bug.cgi?id=193268
<rdar://problem/47133037>
Reviewed by Tim Horton.
New test that a Blob download of a USDZ file gets named correctly.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[BlobWithUSDZExtensionDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
(-[BlobWithUSDZExtensionDownloadDelegate _downloadDidFinish:]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/SystemPreviewBlobNaming.html: Added.
2019-01-08 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Support U2F HID Authenticators on macOS
https://bugs.webkit.org/show_bug.cgi?id=191535
<rdar://problem/47102027>
Reviewed by Brent Fulgham.
This patch:
1) adds support for U2F mocking mechanism;
2) updates tests to reflect U2fCommandConstructor changes.
* TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/FidoTestData.h:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebAuthenticationMockConfiguration):
2019-01-08 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Dispatch a synthetic mousedown event prior to starting drags
https://bugs.webkit.org/show_bug.cgi?id=193229
<rdar://problem/46717097>
Reviewed by Tim Horton.
Add a cross-platform drag and drop test to verify that calling `preventDefault()` on the mousedown event
prevents a drag from starting.
* TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/link-and-target-div.html:
Tweak this test to make it robust when dragging the link to the target element multiple times in a single test.
2019-01-08 Zhifei Fang <zhifei_fang@apple.com>
Layout test will generate a perf metric file to results dir.
https://bugs.webkit.org/show_bug.cgi?id=192030
<rdar://problem/32779516>
Reviewed by Aakash Jain.
Layout test running time will be collected to a perf metric file.
For now, instead of outputing running time of all tests (which is huge),
we aggregate them by test directories which are at most two level deep.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._end_test_run):
(Manager._output_perf_metrics):
(Manager._print_expectation_line_for_test):
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
(add_test_perf_metric):
(test_perf_metrics):
* Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
(JSONGeneratorTest.test_test_timings_trie):
(JSONGeneratorTest):
(JSONGeneratorTest.test_test_perf_metrics):
* Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(RebaselineTest.test_reset_results):
(RebaselineTest.test_missing_results):
(RebaselineTest.test_new_baseline):
2019-01-08 Patrick Griffis <pgriffis@igalia.com>
[WPE][GTK] Add php-json to install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=193233
Reviewed by Michael Catanzaro.
* gtk/install-dependencies:
* wpe/install-dependencies:
2019-01-08 Chris Dumez <cdumez@apple.com>
Regression(PSON-r239182): Blank view when navigating back and forth between google.com and stack overflow
https://bugs.webkit.org/show_bug.cgi?id=193224
<rdar://problem/47097726>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-01-07 David Kilzer <ddkilzer@apple.com>
Leak of ScrollCompletionCallbackData (16 bytes) in com.apple.WebKit.WebContent running WebKit layout tests
<https://webkit.org/b/193222>
<rdar://problem/46862309>
Reviewed by Joseph Pecoraro.
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::executeCallback): Fix camel case of variable name.
(WTR::EventSendingController::callAfterScrollingCompletes): If
WKBundlePageRegisterScrollOperationCompletionCallback() returns
false, make sure to release the ScrollCompletionCallbackData
object. This fixes the leak.
2019-01-07 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] EWS: wincairo-ews cannot apply a patch with *.png
https://bugs.webkit.org/show_bug.cgi?id=193044
Reviewed by Daniel Bates.
WinCairo EWS bots are using Windows Perl. Binary files should be
opened as binary mode.
* Scripts/svn-apply:
(handleGitBinaryChange): Use 'binmode' for binary file handles.
2019-01-07 Don Olmstead <don.olmstead@sony.com>
[CMake] Add ENABLE_CSS_TYPED_OM option
https://bugs.webkit.org/show_bug.cgi?id=193216
Reviewed by Michael Catanzaro.
* Scripts/webkitperl/FeatureList.pm:
2019-01-07 David Kilzer <ddkilzer@apple.com>
Prefer RetainPtr<NSObject> to RetainPtr<NSObject *>
<https://webkit.org/b/193056>
Reviewed by Alex Christensen.
* Scripts/webkitpy/style/checker.py:
- Ignore use of new runtime/retainptr check in
Tools/TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm since it
contains tests to ensure RetainPtr<NSObject *> is compatible
with RetainPtr<NSObject>.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_language):
(CppChecker):
- Add checker for use of '*' in RetainPtr<> type. A for loop
was used instead of a single regex so that angle brackets
could be matched up when checking the type contained within
the RetainPtr<> type.
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest):
- Add unit test for new runtime/retainptr check.
* TestRunnerShared/EventSerialization/mac/EventSerializerMac.h:
* TestWebKitAPI/EditingTestHarness.h:
- Remove '*' from RetainPtr<> type.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Add cf/RetainPtr.cpp back to TestWTFLibrary target! This
regressed in r201938.
* TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp:
(TestWebKitAPI::TEST):
- Update tests to match RetainPtr.mm tests (except for the
`*SimilarNSType` tests since there is no CF equivalent of
RetainPtr<NSString> and RetainPtr<NSString *>).
* TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm:
(TestWebKitAPI::TEST):
- Update tests to:
- Not conflict by name with equivalent CF tests in
RetainPtr.cpp.
- Add test cases for RetainPtr<NSObject>,
RetainPtr<NSObject *> and RetainPtr<id> were appropriate.
- Add `*SimilarNSType` tests for converting between
RetainPtr<NSObject> and RetainPtr<NSObject *>.
- Change `0` to `nil` as appropriate.
- Re-alphabetize the tests by name.
- Add Optional<RetainPtr<>> tests.
- Add retainPtr() tests.
* TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
(-[DownloadProgressTestRunner _download:decideDestinationWithSuggestedFilename:completionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/IconLoadingDelegate.mm:
(TEST):
- Remove '*' from RetainPtr<> type.
* TestWebKitAPI/Tests/WebKitCocoa/JITEnabled.mm:
(TEST(WebKit, JITEnabled)):
- Add missing WTFMove(). Apparently a temporary was being
created before in the argument list due to mismatched
RetainPtr<> types.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
(TestWebKitAPI::setUpWebViewForTestingVideoControlsManager):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
* WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
(WTR::resourcesDirectoryURL):
* WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm:
(WTR::InjectedBundle::platformInitialize):
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
- Remove '*' from RetainPtr<> type.
2019-01-07 Eric Carlson <eric.carlson@apple.com>
A MediaTime timescale must never be zero
https://bugs.webkit.org/show_bug.cgi?id=193156
<rdar://problem/32504501>
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WTF/MediaTime.cpp:
(TestWebKitAPI::TEST): Add tests for zero timescale.
2019-01-07 Youenn Fablet <youenn@apple.com>
API test broken: TestWebKitAPI.WebKit.CustomDataStorePathsVersusCompletionHandlers
https://bugs.webkit.org/show_bug.cgi?id=193175
Reviewed by Chris Dumez.
Updated API test as we bumped the SW schema to version 4.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-4.sqlite3: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-3.sqlite3.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2019-01-06 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][Clang] Fix compilation warnings of MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=193029
Reviewed by Ross Kirsling.
* MiniBrowser/win/MiniBrowserWebHost.h: Removed unused m_oldFont
and m_URLBarFont. Reorder member variables to fix -Wreorder
warning.
* MiniBrowser/win/PageLoadTestClient.cpp:
(PageLoadTestClient::PageLoadTestClient): Reorder the member initializer list.
* MiniBrowser/win/PageLoadTestClient.h: Removed 'virtual' of
pageLoadStartedAtTime and pageLoadEndedAtTime. Removed unused
m_currentURLIndex.
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::WebKitBrowserWindow): Initialize
navigationClient with '{ }' to fix the missing field warning.
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
(initDocStruct): Changed the argument type docname to const.
2019-01-06 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Import U2F command/response converters from Chromium
https://bugs.webkit.org/show_bug.cgi?id=193150
<rdar://problem/47054028>
Reviewed by Brent Fulgham.
Adds API tests.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
(TestWebKitAPI::getTestAttestedCredentialDataBytes):
(TestWebKitAPI::getTestAuthenticatorDataBytes):
(TestWebKitAPI::getTestAttestationObjectBytes):
(TestWebKitAPI::getTestSignResponse):
(TestWebKitAPI::getTestU2fRegisterResponse):
(TestWebKitAPI::TEST):
(TestWebKitAPI::convertToVector): Deleted.
* TestWebKitAPI/Tests/WebCore/FidoTestData.h:
* TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp: Added.
(TestWebKitAPI::constructMakeCredentialRequest):
(TestWebKitAPI::constructGetAssertionRequest):
(TestWebKitAPI::TEST):
2019-01-05 Oriol Brufau <obrufau@igalia.com>
[GTK] Add python3-setuptools, libunistring-dev, bison and flex dependencies
https://bugs.webkit.org/show_bug.cgi?id=193136
Reviewed by Michael Catanzaro.
* gtk/install-dependencies:
Add python3-setuptools, libunistring-dev, bison and flex to install-dependencies,
they are needed by update-webkitgtk-libs.
2019-01-05 Aakash Jain <aakash_jain@apple.com>
Unreviewed follow-up fix to r239650
https://bugs.webkit.org/show_bug.cgi?id=193140
<rdar://problem/47063037>
Typecast patch_id to string.
* BuildSlaveSupport/ews-build/steps.py:
(ValidatePatch._is_patch_obsolete):
2019-01-04 Daniel Bates <dabates@apple.com>
[lldb-webkit]: Add support for pretty-printing raw bitmask types
https://bugs.webkit.org/show_bug.cgi?id=193024
Reviewed by Jer Noble.
Add support infrastructure to pretty-print a raw bitmask type. Included is a pretty-printer
for the bitmask type WebEventFlags as an example.
Exposed a new function lldb_webkit.addSummaryAndSyntheticFormattersForRawBitmaskType()
that can be used to register summary and synthetic child formatters for a bitmask type.
For example, consider the following enum and bitmask typedefs:
typedef enum {
A = 1 << 0,
B = 1 << 1,
C = 1 << 2,
} SpecialFlagValues;
typedef unsigned SpecialFlags;
To teach lldb-webkit how to pretty print SpecialFlags types, add the following code inside
__lldb_init_module():
addSummaryAndSyntheticFormattersForRawBitmaskType(debugger, "SpecialFlags", {
1 << 0: "A",
1 << 1: "B",
1 << 2: "C",
})
* lldb/lldb_webkit.py:
(addSummaryAndSyntheticFormattersForRawBitmaskType):
(addSummaryAndSyntheticFormattersForRawBitmaskType.GeneratedRawBitmaskProvider):
(addSummaryAndSyntheticFormattersForRawBitmaskType.raw_bitmask_summary_provider):
(addSummaryAndSyntheticFormattersForRawBitmaskType.lldb_webkit):
A convenience function to dynamically creaste a synthetic formatter class and summary
string function for the specified bitmask type and enumerator value to name map. This
function register the dynamically created class and function with LLDB.
(__lldb_init_module):
(FlagEnumerationProvider):
(FlagEnumerationProvider._enumerator_value_to_name_map):
(FlagEnumerationProvider._bitmask):
(FlagEnumerationProvider._update):
(FlagEnumerationProvider.has_children):
(FlagEnumerationProvider.num_children):
(FlagEnumerationProvider.get_child_index):
(FlagEnumerationProvider.get_child_at_index):
(FlagEnumerationProvider.update):
Extract out provider logic from WTFOptionSetProvider into a base class that can be shared.
(WTFOptionSetProvider):
(WTFOptionSetProvider._enumerator_value_to_name_map):
(WTFOptionSetProvider._bitmask):
(WTFOptionSetProvider._update):
Write in terms of the base class.
(RawBitmaskProviderBase):
(RawBitmaskProviderBase._enumerator_value_to_name_map):
(RawBitmaskProviderBase._bitmask):
Added. Base synthetic formatter class for a raw bitmask type. Derived classes are expected to
override the class variable ENUMERATOR_VALUE_TO_NAME_MAP with a dictionary of the form:
{
1 << 0: "A",
1 << 1: "B",
1 << 2: "C",
}
It is not necessary to instantiate such a derived class directory. Instead use the convenience
function addSummaryAndSyntheticFormattersForRawBitmaskType.
(WTFOptionSetProvider.has_children): Deleted.
(WTFOptionSetProvider.num_children): Deleted.
(WTFOptionSetProvider.get_child_index): Deleted.
(WTFOptionSetProvider.get_child_at_index): Deleted.
(WTFOptionSetProvider.update): Deleted.
2019-01-04 Aakash Jain <aakash_jain@apple.com>
[ews-build] Add build step to validate the patch before processing it
https://bugs.webkit.org/show_bug.cgi?id=193140
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/factories.py:
(Factory.__init__): Added ValidatePatch step.
* BuildSlaveSupport/ews-build/steps.py:
(ValidatePatch):
(ValidatePatch.fetch_data_from_url): Fetch data from a url.
(ValidatePatch.get_patch_json): Get patch json data.
(ValidatePatch.get_bug_json): Get bug json data.
(ValidatePatch.get_bug_id_from_patch): Get bug id from a patch id.
(ValidatePatch._is_patch_obsolete): Check if the patch is obsolete.
(ValidatePatch._is_patch_review_denied): Check if the patch is marked r-.
(ValidatePatch._is_bug_closed): Check if the bug is already closed.
(ValidatePatch.skip_build): Skip the build.
(ValidatePatch.start):
2019-01-04 Alex Christensen <achristensen@webkit.org>
Progress towards fixing Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=193105
Reviewed by Don Olmstead.
* TestWebKitAPI/PlatformMac.cmake:
2019-01-04 Alex Christensen <achristensen@webkit.org>
Fix API test after r239631
https://bugs.webkit.org/show_bug.cgi?id=193118
* TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
(TestWebKitAPI::TEST):
This test relied on m_maximumProcessCount being set to 1 in ProcessPoolConfiguration::createWithLegacyOptions.
Do the same thing via the API to fix the test.
2019-01-04 Jer Noble <jer.noble@apple.com>
[WebKitLegacy] Media playback pauses on scroll
https://bugs.webkit.org/show_bug.cgi?id=192829
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/StopSuspendResumeAllMedia.mm: Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm: Added.
(-[ScrollingDoesNotPauseMediaDelegate webViewDidFinishLoad:]):
(-[ScrollingDoesNotPauseMediaDelegate uiWebView:didCommitLoadForFrame:]):
(-[ScrollingDoesNotPauseMediaDelegate handleEvent:]):
(TestWebKitAPI::TEST):
2019-01-04 Chris Dumez <cdumez@apple.com>
Add support for toggling device orientation API support per site
https://bugs.webkit.org/show_bug.cgi?id=193143
<rdar://problem/46605724>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[DataMappingSchemeHandler setTaskHandler:]):
(-[DataMappingSchemeHandler webView:startURLSchemeTask:]):
(-[WebsitePoliciesDeviceOrientationDelegate initWithDeviceOrientationEventEnabled:]):
(-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[WebsitePoliciesDeviceOrientationDelegate webView:didFinishNavigation:]):
2019-01-04 Aakash Jain <aakash_jain@apple.com>
[ews-build] use svn-apply script to apply the patches
https://bugs.webkit.org/show_bug.cgi?id=193138
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/factories.py:
(Factory.__init__): Add the ApplyPatch step.
* BuildSlaveSupport/ews-build/steps.py:
(CheckOutSource): Added step name.
(CheckOutSource.__init__): Used alwaysUseLatest so that it doesn't apply patch.
(ApplyPatch): Build step to apply patch using svn-apply script.
(UnApplyPatchIfRequired):
(UnApplyPatchIfRequired.__init__): Deleted, since the alwaysUseLatest parameter is now in base class.
2019-01-04 Alex Christensen <achristensen@webkit.org>
Deprecate WKContextCreate
https://bugs.webkit.org/show_bug.cgi?id=193118
Reviewed by Brady Eidson.
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(WebKitBrowserWindow::WebKitBrowserWindow):
* TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/DownloadDecideDestinationCrash.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/EnumerateMediaDevices.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/EvaluateJavaScript.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/Find.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/FindMatches.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
(TestWebKitAPI::loadAlternateHTMLString):
* TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp:
(TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
* TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp:
(TestWebKitAPI::buildAndPerformTest):
* TestWebKitAPI/Tests/WebKit/ModalAlertsSPI.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/NavigationClientDefaultCrypto.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/PageGroup.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/PreventEmptyUserAgent.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/ProcessDidTerminate.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/WebCoreStatisticsWithNoWebProcess.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
(WebKit2_CommandBackForwardTestWKView::SetUp):
* TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/SchemeRegistry.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/mac/WebKitAgnosticTest.mm:
(TestWebKitAPI::WebKitAgnosticTest::runWebKit2Test):
2019-01-03 Matt Rajca <mrajca@apple.com>
Make DidPlayMediaPreventedFromPlaying autoplay event more generic.
https://bugs.webkit.org/show_bug.cgi?id=193128
rdar://34554231
Reviewed by Jer Noble.
Today, the "DidPlayMediaPreventedFromPlaying" autoplay event is only sent for
media prevented from autoplaying. It could be generalized to a "DidPlayMediaWithUserGesture"
event along with a flag that indicates whether or not autoplay was actually prevented.
Tests: existing API tests were updated to reflect the new names. New API tests
were added for the new case in which the "DidPlayMediaWithUserGesture" event is sent.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/long-test.mp4: Added.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/audio-with-play-button.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/video-with-play-button.html: Added.
2019-01-04 Chris Dumez <cdumez@apple.com>
[PSON] Calling history.back() from inside the load event handler prevents process-swapping
https://bugs.webkit.org/show_bug.cgi?id=193120
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-01-04 Chris Dumez <cdumez@apple.com>
Crash under WebProcessPool::addSuspendedPage()
https://bugs.webkit.org/show_bug.cgi?id=193110
Reviewed by Youenn Fablet.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2019-01-04 Aakash Jain <aakash_jain@apple.com>
[ews-build] Check patch relevance before applying the patch
https://bugs.webkit.org/show_bug.cgi?id=193102
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/factories.py:
(Factory.__init__): Moved CheckPatchRelevance step to base class.
2019-01-04 Aakash Jain <aakash_jain@apple.com>
[ews-build] Check patch relevance step should print patch id
https://bugs.webkit.org/show_bug.cgi?id=193137
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance.start): Update the status to include patch id.
2019-01-04 Jonathan Bedard <jbedard@apple.com>
webkitpy: Increase simulator teardown timeout
https://bugs.webkit.org/show_bug.cgi?id=193141
<rdar://problem/46174217>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager.tear_down): Use SIMULATOR_BOOT_TIMEOUT.
2019-01-03 Ross Kirsling <ross.kirsling@sony.com>
test262-runner misbehaves when test file YAML has a trailing space
https://bugs.webkit.org/show_bug.cgi?id=193053
Reviewed by Yusuke Suzuki.
* Scripts/test262/Runner.pm:
(parseData):
Accept trailing space when parsing a test file's YAML block.
2019-01-03 Michael Catanzaro <mcatanzaro@igalia.com>
UserMedia test should use WKPageNavigationClient
https://bugs.webkit.org/show_bug.cgi?id=192913
Reviewed by Youenn Fablet.
The test currently uses the deprecated WKPageLoaderClient. It should use
WKPageNavigationClient instead, which provides the same callback under a similar name.
* TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
(TestWebKitAPI::TEST):
2019-01-02 Alex Christensen <achristensen@webkit.org>
Homograph with LATIN SMALL LETTER R WITH FISHHOOK
https://bugs.webkit.org/show_bug.cgi?id=192944
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
2019-01-02 Wenson Hsieh <wenson_hsieh@apple.com>
Add support for using the current text selection as the find string on iOS
https://bugs.webkit.org/show_bug.cgi?id=193034
<rdar://problem/45138739>
Reviewed by Tim Horton.
Add a new API test to verify that the new WebKit SPI (_stringForFind, _takeFindStringFromSelection:, and
_setStringForFind) works as expected.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/UseSelectionAsFindString.mm: Added.
2019-01-02 Aakash Jain <aakash_jain@apple.com>
[ews-build] Use git on OpenSource EWS bots
https://bugs.webkit.org/show_bug.cgi?id=193092
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/steps.py:
(CheckOutSource): Use git instead of svn.
(CheckOutSource.__init__): Use timeout of 2 hours since the initial checkout might take a long time.
2019-01-02 Daniel Bates <dabates@apple.com>
[lldb-webkit] Remove broken code to print WTF::OptionSet::m_storage
https://bugs.webkit.org/show_bug.cgi?id=193023
Reviewed by Simon Fraser.
The code to print WTF::OptionSet::m_storage as an item in the set never worked and does
not seem meaningful to fix because WTF::OptionSet::m_storage is just the sum of the printed
enumerator values. We should just remove this code.
* lldb/lldb_webkit.py:
(WTFOptionSetProvider.has_children):
(WTFOptionSetProvider.num_children):
(WTFOptionSetProvider.get_child_index):
(WTFOptionSetProvider.get_child_at_index):
2018-12-29 Yusuke Suzuki <yusukesuzuki@slowstart.org>
.ycm_extra_conf.py should handle XXXInlines.h
https://bugs.webkit.org/show_bug.cgi?id=193055
Reviewed by Carlos Garcia Campos.
compile_commands.json database only records flags and options for cpp source files.
So, when we open headers, this database does not have any information for that.
Our .ycm_extra_conf.py alleviates this by using XXX.cpp's configuration for XXX.h.
But this mitigation does not handle XXXInlines.h well since we do not have XXXInlines.cpp.
This patch adds support for XXXInlines.h in .ycm_extra_conf.py. When XXXInlines.h is queried,
we attempt to find XXX.cpp and use the configuration if it exists.
* gtk/ycm_extra_conf.py:
(getImplementationFilename):
(FlagsForFile):
2018-12-31 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Support PHP 7.3 in Debian.
Add 7.3 to the list of php versions supported in Debian.
* Scripts/webkitpy/port/base.py:
(Port._debian_php_version):
2018-12-27 Alex Christensen <achristensen@webkit.org>
Resurrect Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=192658
Reviewed by Yusuke Suzuki.
* DumpRenderTree/PlatformMac.cmake:
* MiniBrowser/mac/CMakeLists.txt:
* TestWebKitAPI/PlatformMac.cmake:
2018-12-26 Adrian Perez de Castro <aperez@igalia.com>
[Tools] Remove references to Bison and Flex
https://bugs.webkit.org/show_bug.cgi?id=193033
Reviewed by Michael Catanzaro.
The Bison and Flex tools are not needed anymore since r209883.
* CygwinDownloader/cygwin-downloader.py:
* EWSTools/ubuntu-ews-packages:
* Scripts/filter-build-webkit:
(shouldIgnoreLine):
* gtk/install-dependencies:
* wpe/install-dependencies:
2018-12-22 Carlos Garcia Campos <cgarcia@igalia.com>
WebDriver: warn about non existing tests when parsing expectations
https://bugs.webkit.org/show_bug.cgi?id=192979
Reviewed by Michael Catanzaro.
It's common to update web driver tests and forget updating the test expectations in case of tests removed or
renamed.
* Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
(WebDriverTestRunner.__init__):
2018-12-21 Chris Dumez <cdumez@apple.com>
navigator.userAgent in service workers does not reflect customUserAgent set by client
https://bugs.webkit.org/show_bug.cgi?id=192951
Reviewed by Youenn Fablet.
Extend API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
(-[SWCustomUserAgentDelegate initWithUserAgent:]):
(-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[SWUserAgentMessageHandler initWithExpectedMessage:]):
(-[SWUserAgentMessageHandler userContentController:didReceiveScriptMessage:]):
2018-12-21 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] userPresence should always be true
https://bugs.webkit.org/show_bug.cgi?id=192835
<rdar://problem/46538788>
Reviewed by Brent Fulgham.
* TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp:
(TestWebKitAPI::TEST):
2018-12-19 Simon Fraser <simon.fraser@apple.com>
Add support to run-benchmark to use non-default copies of the browser apps
https://bugs.webkit.org/show_bug.cgi?id=192905
rdar://problem/46845840
Reviewed by Dewei Zhu.
Add support for a --browser-path argument to run-benchmark, which allows you to use
a custom app bundle for a given browser (only implemented for Safari at present).
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.__init__):
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
(BrowserDriver.__init__):
* Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
(BrowserDriverFactory.create):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
(OSXBrowserDriver._launch_process):
(OSXBrowserDriver._launch_process_with_caffeinate): Fix spelling.
(OSXBrowserDriver._launch_process_with_caffinate): Deleted.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeCanaryDriver.launch_url):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
(OSXFirefoxNightlyDriver.launch_url):
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.__init__):
(OSXSafariDriver.launch_url):
* Scripts/webkitpy/benchmark_runner/run_benchmark.py:
(parse_args):
(run_benchmark_plan):
* Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
(WebServerBenchmarkRunner.__init__):
* Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py:
(FakeBenchmarkRunner.__init__):
2018-12-21 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Import an APDU coder from Chromium
https://bugs.webkit.org/show_bug.cgi?id=192949
<rdar://problem/46879933>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/ApduTest.cpp: Added.
(TestWebKitAPI::TEST):
2018-12-21 Wenson Hsieh <wenson_hsieh@apple.com>
Setting the file wrapper and content type of an attachment to a PDF should update its image
https://bugs.webkit.org/show_bug.cgi?id=192984
<rdar://problem/46798028>
Reviewed by Tim Horton.
Add an API test to verify that setting the file wrapper for a _WKAttachment with an enclosing image element with
PDF data correctly updates the image element.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2018-12-21 Michael Catanzaro <mcatanzaro@igalia.com>
Add JSCOnly to bot dashboard
https://bugs.webkit.org/show_bug.cgi?id=192964
Reviewed by Alexey Proskuryakov.
Apparently we have five JSCOnly test bots and multiple developers working on keeping them in
good shape. Sadly, they are hidden bots not exposed in the dashboard. They would be more
useful if they were not so secret, so add them.
There appear to be no build-only bots, so the first column is blank. And of course there are
no WebKit1 or WebKit2 bots, because this is JSCOnly, so the second and third columns are
blank too. That's OK. This will be the last bot on the dashboard, so it won't look too bad,
and there's plenty of room in the final column for all the bots.
I had a hard time picking a logo to use, because the JavaScript language does not have an
official logo. But I believe I've found one that will be satisfactory.
I will sneak in one bonus change: WPE's EWS queue was missing, and has been added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/SquirrelFish.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/SquirrelFish@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform.linux-jsconly img.logo):
2018-12-21 Benjamin Poulain <benjamin@webkit.org>
<rdar://problem/46194315> macOS: WebKit1 does not handle occlusion changes
https://bugs.webkit.org/show_bug.cgi?id=192821
Reviewed by Chris Dumez.
* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
* TestWebKitAPI/mac/WebKitAgnosticTest.mm:
2018-12-20 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][Clang] Fix compilation warnings of DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=192924
Reviewed by Alex Christensen.
* DumpRenderTree/AccessibilityController.h: Added member variable initializations in the class definition.
* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(AccessibilityController::AccessibilityController): Moved member variable initializations to the class definition.
* DumpRenderTree/win/DumpRenderTree.cpp:
(dumpHistoryItem): String literals can't be converted non-const type. Use auto for them.
(resetWebPreferencesToConsistentValues): Pass a temporal _bstr_t
object to the argument of setDefaultTextEncodingName instead of a
const string literal.
(createWebViewAndOffscreenWindow): Use %lx for HRESULT (aka 'long').
(main): Exit if _dup2 fails. Use %lu for'DWORD'(aka 'unsigned long').
(setCacheFolder): Deleted.
* DumpRenderTree/win/DumpRenderTreeWin.h: Fix class/struct mismatch of FrameLoadDelegate and PolicyDelegate declarations.
* DumpRenderTree/win/EditingDelegate.cpp:
(dump): Use %d for int.
* DumpRenderTree/win/FrameLoadDelegate.cpp: Removed unused variable g_delegateWaitingOnTimer.
* DumpRenderTree/win/ResourceLoadDelegate.cpp:
(BSTRFromString): Deleted unused function.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setDatabaseQuota): Pass a temporal _bstr_t object to
the arguemnt of setQuota instead of const string literal.
* DumpRenderTree/win/WorkQueueItemWin.cpp:
(jsStringRefToWString): Deleted unused function.
2018-12-20 Chris Dumez <cdumez@apple.com>
Add API test coverage for customUserAgent client setting and service workers
https://bugs.webkit.org/show_bug.cgi?id=192952
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
(-[SWMessageHandler userContentController:didReceiveScriptMessage:]):
(-[SWSchemes webView:startURLSchemeTask:]):
(-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[SWUserAgentMessageHandler userContentController:didReceiveScriptMessage:]):
2018-12-20 Chris Dumez <cdumez@apple.com>
Use Optional::hasValue() instead of Optional::has_value()
https://bugs.webkit.org/show_bug.cgi?id=192948
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/CBORWriterTest.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
(TestWebKitAPI::TEST_F):
2018-12-20 Chris Dumez <cdumez@apple.com>
Add style script rule to check for uses of std::optional<>
https://bugs.webkit.org/show_bug.cgi?id=192931
Reviewed by Tim Horton.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_wtf_optional):
(check_style):
2018-12-20 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Add a runtime flag for local authenticator
https://bugs.webkit.org/show_bug.cgi?id=192792
<rdar://problem/46798738>
Reviewed by Brent Fulgham.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(setWebPreferencesForTestOptions):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2018-12-20 Jonathan Bedard <jbedard@apple.com>
webkitpy: Autoinstall package URLs have changed
https://bugs.webkit.org/show_bug.cgi?id=192909
<rdar://problem/46860359>
Rubber-stamped by Alexey Proskuryakov.
PyPi urls have been moved around, we need to update our auto-installed packages.
We should check for Selenium before asking PyPi for the latest version.
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook._install_mechanize): Update with new pypi url.
(AutoinstallImportHook._install_keyring): Ditto.
(AutoinstallImportHook._install_pep8): Ditto.
(AutoinstallImportHook._install_mozlog): Ditto.
(AutoinstallImportHook._install_mozprocess): Ditto.
(AutoinstallImportHook._install_pytest_timeout): Ditto.
(AutoinstallImportHook._install_pytest): Ditto.
(AutoinstallImportHook._install_pylint): Ditto.
(AutoinstallImportHook._install_buildbot): Ditto.
(AutoinstallImportHook._install_coverage): Ditto.
(AutoinstallImportHook._install_twisted_15_5_0): Ditto.
(AutoinstallImportHook._install_selenium): Update with new pypi url, only check
for new Selenium if the installed version isn't sufficient.
(AutoinstallImportHook.get_latest_pypi_url): Update with new pypi url.
2018-12-20 Chris Dumez <cdumez@apple.com>
Use Optional::valueOr() instead of Optional::value_or()
https://bugs.webkit.org/show_bug.cgi?id=192933
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WTF/URLParser.cpp:
(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::checkRelativeURLDifferences):
* TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp:
(TestWebKitAPI::checkURL):
2018-12-20 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r239417.
Introduced two API test failures on macOS.
Reverted changeset:
"<rdar://problem/46194315> macOS: WebKit1 does not handle
occlusion changes"
https://bugs.webkit.org/show_bug.cgi?id=192821
https://trac.webkit.org/changeset/239417
2018-12-20 Devin Rousso <drousso@apple.com>
Web Inspector: UIString should take an optional key and description to aid localization
https://bugs.webkit.org/show_bug.cgi?id=153962
<rdar://problem/24542505>
Reviewed by Brian Burg.
* Scripts/extract-localizable-js-strings:
2018-12-20 Tim Horton <timothy_horton@apple.com>
Unparented WKWebView can't retrieve main resource data for a main frame plugin
https://bugs.webkit.org/show_bug.cgi?id=192923
<rdar://problem/46859068>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/WebKitCocoa/GetResourceData.mm:
Add a test ensuring that both parented and unparented WKWebViews can
retrieve main resource data when loading a PDF.
2018-12-20 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Bump webkitgtk-test-fonts to 0.0.8
https://bugs.webkit.org/show_bug.cgi?id=192852
Reviewed by Michael Catanzaro.
EmojiOne font was replaced by Noto Color Emoji.
* WebKitTestRunner/gtk/fonts/fonts.conf: Use Noto Color Emoji when Apple Color Emoji font family is used in tests.
* gtk/jhbuild.modules:
* wpe/jhbuild.modules:
2018-12-19 Chris Dumez <cdumez@apple.com>
wtf/Optional.h: move-constructor and move-assignment operator should disengage the value being moved from
https://bugs.webkit.org/show_bug.cgi?id=192728
<rdar://problem/46746779>
Reviewed by Geoff Garen.
* DumpRenderTree/*:
* MiniBrowser/*:
* TestRunnerShared/*:
* TestWebKitAPI/*:
* WebGPUAPIStructure/*:
* WebKitTestRunner/*:
2018-12-19 Benjamin Poulain <benjamin@webkit.org>
<rdar://problem/46194315> macOS: WebKit1 does not handle occlusion changes
https://bugs.webkit.org/show_bug.cgi?id=192821
Reviewed by Chris Dumez.
* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
2018-12-19 Alex Christensen <achristensen@webkit.org>
Navigations away from the SafeBrowsing interstitial show a flash of old content
https://bugs.webkit.org/show_bug.cgi?id=192676
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(safeBrowsingView):
(TEST):
(-[SafeBrowsingHelper webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Deleted.
2018-12-19 Adrian Perez de Castro <aperez@igalia.com>
[GTK][WPE] Unify TestController::platformRunUntil() and honor condition flag
https://bugs.webkit.org/show_bug.cgi?id=192855
Reviewed by Michael Catanzaro.
* WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::notifyDone): Use the WPE implementation.
(WTR::TestController::platformRunUntil): Use the WPE implementation.
* WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformRunUntil): Honor the condition flag.
2018-12-19 Megan Gardner <megan_gardner@apple.com>
Allow clients to set the navigator platform
https://bugs.webkit.org/show_bug.cgi?id=192735
Reviewed by Tim Horton.
Add a test for setting a custom navigator platform.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[CustomNavigatorPlatformDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[CustomNavigatorPlatformDelegate webView:didFinishNavigation:]):
2018-12-19 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r239358.
Revision caused imported/w3c/web-platform-tests/IndexedDB/ to
crash on Debug bots
Reverted changeset:
"Clean up IndexedDB files between tests"
https://bugs.webkit.org/show_bug.cgi?id=192796
https://trac.webkit.org/changeset/239358
2018-12-18 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] A copied text selection is pasted as a web archive attachment in the entry view in Messages
https://bugs.webkit.org/show_bug.cgi?id=192842
<rdar://problem/46823586>
Reviewed by Tim Horton.
Adjusts an existing API test to verify that "com.apple.webarchive" is not one of the types registered to the
item provider when dragging a rich text selection.
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
2018-12-18 David Quesada <david_quesada@apple.com>
REGRESSION: [iOS] API test TestWebKitAPI._WKDownload.OriginatingWebView is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=192810
<rdar://problem/46812536>
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[OriginatingWebViewDownloadDelegate _downloadDidStart:]):
After releasing our reference to the web view, wait until the next turn of the runloop
before checking that the originatingWebView has been zeroed, since the web view might
still be referenced in the autorelease pool. This _WKDownload unit test isn't about
testing general memory management of WKWebViews, only that _WKDownload does not retain
its web view via the 'originatingWebView' property.
2018-12-18 Sihui Liu <sihui_liu@apple.com>
Clean up IndexedDB files between tests
https://bugs.webkit.org/show_bug.cgi?id=192796
Reviewed by Geoffrey Garen.
* DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::RemoveAllIndexedDatabasesCallbackContext::RemoveAllIndexedDatabasesCallbackContext):
(WTR::RemoveAllIndexedDatabasesCallback):
(WTR::TestController::ClearIndexedDatabases):
* WebKitTestRunner/TestController.h:
2018-12-18 Alex Christensen <achristensen@webkit.org>
Fix API test introduced in r239339 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=192675
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(TEST):
The iOS implementation of the safe browsing warning is a little different.
It does some element creation when it is added to the window so it knows how big it is.
To test these elements, we need to simulate adding it to the window.
A similar technique is done in other iOS API tests, such as SafeBrowsing.ShowWarningSPI.
2018-12-18 Jonathan Bedard <jbedard@apple.com>
webkitpy: Ignore device type for test when using --force
https://bugs.webkit.org/show_bug.cgi?id=192786
<rdar://problem/46794894>
Reviewed by Daniel Bates.
It is sometimes the case that a contributor will wish to run a test on a specific device,
despite expectations which indicate a test should not be run on that device.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* Scripts/webkitpy/port/device_port.py:
(DevicePort.default_child_processes): Strip device type information when using --force.
(DevicePort.setup_test_run): Only allow incomplete match when using --force.
2018-12-18 Alex Christensen <achristensen@webkit.org>
WKWebView has old URL while displaying SafeBrowsing interstitial, for link-click navigations
https://bugs.webkit.org/show_bug.cgi?id=192675
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(goBack):
(TEST):
(visitUnsafeSite):
(-[SafeBrowsingHelper observeValueForKeyPath:ofObject:change:context:]):
(-[SafeBrowsingHelper webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2018-12-18 Chris Dumez <cdumez@apple.com>
Regression(r239182) SuspendedPage's process reuse for link navigation optimization sometimes broken
https://bugs.webkit.org/show_bug.cgi?id=192772
Reviewed by Antti Koivisto.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-12-18 Philippe Normand <pnormand@igalia.com>
Unreviewed, JHBuild GTK build fix attempt
* gtk/jhbuild.modules: There's no libffi in this moduleset anymore.
There's no ninja module either, it should be provided by the
host system.
2018-12-17 Chris Dumez <cdumez@apple.com>
Allow passing nil as session state to [WKWebView _restoreSessionState:]
https://bugs.webkit.org/show_bug.cgi?id=192789
<rdar://problem/46755277>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKit/WKBackForwardList.mm:
(TEST):
2018-12-17 Simon Fraser <simon.fraser@apple.com>
Don't use more expensive layer backing store formats when subpixel text antialiasing is not enabled
https://bugs.webkit.org/show_bug.cgi?id=192780
rdar://problem/43394387
Reviewed by Tim Horton.
No need to set "AppleFontSmoothing" defaults for WK2.
* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize):
2018-12-17 Jonathan Bedard <jbedard@apple.com>
webkitpy: Handle case where stdout and stderr don't accept unicode
https://bugs.webkit.org/show_bug.cgi?id=192775
<rdar://problem/46497303>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/layout_tests/views/metered_stream.py:
(MeteredStream.write): If unicode cannot be written to the stream, replace unicode
characters with '?'.
* Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
(RegularTest.test_stream_with_encoding):
2018-12-17 Daniel Bates <dabates@apple.com>
Support concatenating StringView with other string types
https://bugs.webkit.org/show_bug.cgi?id=177566
Reviewed by Darin Adler.
Add some tests to ensure we do not regress the number of allocations needed when performing
string concatenation with string views.
* TestWebKitAPI/Tests/WTF/StringOperators.cpp:
(TestWebKitAPI::TEST):
2018-12-17 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r239265 and r239274.
https://bugs.webkit.org/show_bug.cgi?id=192765
unorm_normalize is deprecated, and broke an internal build
(Requested by Truitt on #webkit).
Reverted changesets:
"[GTK][WPE] Need a function to convert internal URI to display
("pretty") URI"
https://bugs.webkit.org/show_bug.cgi?id=174816
https://trac.webkit.org/changeset/239265
"Fix the Apple Internal Mac build with a newer SDK"
https://trac.webkit.org/changeset/239274
2018-12-17 Daniel Bates <dabates@apple.com>
Implement UIScriptController::toggleCapsLock() for iOS
https://bugs.webkit.org/show_bug.cgi?id=191815
Reviewed by Andy Estes.
Add support for toggling the caps lock state in WebKitTestRunner on iOS.
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues): Clear the current modifier state
before running a test. This ensures that the caps lock state does not persist between
tests should a test enable caps lock and not disable it.
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(hidUsageCodeForCharacter): Map "capsLock" to the Caps Lock key usage code.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::createUIPhysicalKeyboardEvent): Modified to take the keyboard input flags to use to
create the event. Also substituted NSString* for const String& as the data type for the first
two parameters to avoid conversions in the implementation of UIScriptController::toggleCapsLock()
below.
(WTR::UIScriptController::keyDown): Update as needed due to changes to prototype of createUIPhysicalKeyboardEvent().
(WTR::UIScriptController::toggleCapsLock): Dispatch a UIEvent to toggle caps lock.
2018-12-17 Daniel Bates <dabates@apple.com>
[iOS] Remove -[WebEvent initWithKeyEventType:...:characterSet:]
https://bugs.webkit.org/show_bug.cgi?id=192633
Reviewed by Wenson Hsieh.
Update code to use the modern initializer.
* DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController keyDown:withModifiers:withLocation:]):
2018-12-17 Matt Lewis <jlewis3@apple.com>
Unreviewed, rolling out r239254.
This broke the Windows 10 Debug build
Reverted changeset:
"Replace many uses of String::format with more type-safe
alternatives"
https://bugs.webkit.org/show_bug.cgi?id=192742
https://trac.webkit.org/changeset/239254
2018-12-17 David Kilzer <ddkilzer@apple.com>
clang-tidy: loop variable is copied but only used as const reference in WebCore, WebKit, Tools
<https://webkit.org/b/192751>
<rdar://problem/46771623>
Reviewed by Daniel Bates.
Change loop variables to const references to avoid unnecessary
copies.
* DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
(-[LocalPasteboard pasteboardItems]):
2018-12-17 Ms2ger <Ms2ger@igalia.com>
[GTK][WPE] Need a function to convert internal URI to display ("pretty") URI
https://bugs.webkit.org/show_bug.cgi?id=174816
Reviewed by Michael Catanzaro.
Add tests for userVisibleString() and (for GTK and WPE) webkit_uri_for_display().
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/URLHelpers.cpp: Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitURIUtilities.cpp: Added.
(testURIForDisplayUnaffected):
(testURIForDisplayAffected):
(beforeAll):
(afterAll):
* TestWebKitAPI/glib/CMakeLists.txt:
2018-12-17 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Add API to notify about frame displayed view backend callback
https://bugs.webkit.org/show_bug.cgi?id=192224
Reviewed by Michael Catanzaro.
Add a test case to check the new API.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewFrameDisplayed):
(beforeAll):
* wpe/jhbuild.modules: Bump WPEBackend-fdo to 1.1.0.
2018-12-16 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed build fix after r239253
* gtk/jhbuild.modules: Fix typo in libpsl dependency name.
2018-12-15 Darin Adler <darin@apple.com>
Use warning-ignoring macros more consistently and simply
https://bugs.webkit.org/show_bug.cgi?id=192743
Reviewed by Mark Lam.
* DumpRenderTree/TestNetscapePlugIn/main.cpp:
(handleEventCarbon): Use ALLOW_DEPRECATED_DECLARATIONS_BEGIN/END.
* DumpRenderTree/mac/TextInputControllerMac.m:
(-[TextInputController interpretKeyEvents:withSender:]): Use
IGNORE_WARNINGS_BEGIN/END.
* WebKitTestRunner/mac/EventSenderProxy.mm:
(WTR::EventSenderProxy::mouseForceClick): Use
IGNORE_NULL_CHECK_WARNINGS_BEGIN/END.
(WTR::EventSenderProxy::startAndCancelMouseForceClick): Ditto.
(WTR::EventSenderProxy::mouseForceDown): Ditto.
(WTR::EventSenderProxy::mouseForceUp): Ditto.
(WTR::EventSenderProxy::mouseForceChanged): Ditto.
2018-12-15 Darin Adler <darin@apple.com>
Replace many uses of String::format with more type-safe alternatives
https://bugs.webkit.org/show_bug.cgi?id=192742
Reviewed by Mark Lam.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::cacheTestRunnerCallback): Use makeString.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveAuthenticationChallenge): Use makeString.
(WTR::TestController::downloadDidFail): Use an ASCIILiteral via the _s syntax.
2018-12-15 Adrian Perez de Castro <aperez@igalia.com>
[WPE][GTK] Add libpsl to JHBuild module sets
https://bugs.webkit.org/show_bug.cgi?id=192740
Reviewed by Michael Catanzaro.
* gtk/jhbuild.modules: Add libpsl module.
* wpe/jhbuild.modules: Ditto.
2018-12-14 Alexey Proskuryakov <ap@apple.com>
Add a style checker rule for Xcode version macros use
https://bugs.webkit.org/show_bug.cgi?id=192703
Reviewed by Alex Christensen.
* Scripts/webkitpy/style/checkers/cpp.py:
(check_os_version_checks):
(process_line):
(CppChecker):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_os_version_checks):
2018-12-14 Chris Dumez <cdumez@apple.com>
[PSON] Process-swapping on a loadHTMLString causes duplicate decidePolicyForNavigationAction delegate calls
https://bugs.webkit.org/show_bug.cgi?id=192704
Reviewed by Geoffrey Garen.
Extend existing API test to reproduce the problem.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-12-14 Chris Dumez <cdumez@apple.com>
[PSON] WebsitePolicies are lost on process-swap
https://bugs.webkit.org/show_bug.cgi?id=192694
<rdar://problem/46715748>
Reviewed by Brady Eidson.
Extend existing API test to reproduce the issue.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2018-12-14 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] Error writing data to TLS socket in some sites when using the jhbuild
https://bugs.webkit.org/show_bug.cgi?id=192678
Reviewed by Carlos Garcia Campos.
Update our ancient versions of libsoup and glib-networking.
* gtk/install-dependencies:
* gtk/jhbuild.modules:
* gtk/patches/libsoup-auth-Fix-async-authentication-when-flag-SOUP_MESSAGE.patch: Removed.
* gtk/patches/libsoup-auth-do-not-use-cached-credentials-in-lookup-method-.patch: Removed.
* gtk/patches/libsoup-soup-message-io-Do-not-fail-when-there-s-no-empty-li.patch: Removed.
* gtk/patches/libsoup-soup-socket-fix-critical-warning-when-the-peer-certi.patch: Removed.
* wpe/install-dependencies:
* wpe/jhbuild.modules:
* wpe/patches/libsoup-soup-socket-fix-critical-warning-when-the-peer-certi.patch: Removed.
2018-12-14 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Use new view state API from libwpe
https://bugs.webkit.org/show_bug.cgi?id=191906
Reviewed by Žan Doberšek.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(beforeAll): Enable /webkit/WebKitWebView/page-visibility in WPE.
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::createWebViewBackend): Make the view initially hidden for consistency with GTK+ tests.
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
* TestWebKitAPI/glib/WebKitGLib/wpe/WebViewTestWPE.cpp:
(WebViewTest::showInWindow): Add wpe_view_activity_state_visible, wpe_view_activity_state_in_window and
wpe_view_activity_state_focused state flags.
(WebViewTest::hideView): Remove wpe_view_activity_state_visible and wpe_view_activity_state_focused state flags.
* wpe/backends/HeadlessViewBackend.cpp:
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): Assume view is always visible, focused and in window.
* wpe/backends/WindowViewBackend.cpp:
(WPEToolingBackends::WindowViewBackend::WindowViewBackend): Update the view state flags depending on state
received in configure callback.
* wpe/jhbuild.modules: Bump libwpe to 1.1.0
2018-12-13 Fujii Hironori <Hironori.Fujii@sony.com>
[WinCairo][Clang] DLLLauncherMain.cpp: warning: unused function 'prependPath' and 'appleApplicationSupportDirectory'
https://bugs.webkit.org/show_bug.cgi?id=192688
Reviewed by Ross Kirsling.
* win/DLLLauncher/DLLLauncherMain.cpp:
(copyEnvironmentVariable): Moved.
(getStringValue): Enclosed with #if !defined(WIN_CAIRO).
(applePathFromRegistry): Ditto.
(appleApplicationSupportDirectory): Ditto.
(prependPath): Ditto.
2018-12-13 Don Olmstead <don.olmstead@sony.com>
Unreviewed. Changed my status to a reviewer.
* Scripts/webkitpy/common/config/contributors.json:
2018-12-13 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Support dropping contact card data (public.vcard) in editable content
https://bugs.webkit.org/show_bug.cgi?id=192570
<rdar://problem/35626913>
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
Add API tests to verify that registering `MKMapItem`s and `CNContact`s to item providers and dropping them in
attachment-enabled rich text editable areas inserts attachment elements (and in the case of `MKMapItem`,
additionally inserts a link).
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::createMapItemForTesting):
(TestWebKitAPI::createContactItemForTesting):
Add API tests to verify that dropping map items and contact items into rich and plain editable areas behaves as
expected (in the case where a URL is present, e.g. dropping a map item, we insert the URL as an anchor, and when
there is no other suitable representation in the item provider, we do nothing at all, which is the case for the
dropped `CNContact`). Also, add a test to verify that drag and drop can be used to upload these items as .vcf
files.
2018-12-13 Ross Kirsling <ross.kirsling@sony.com>
Unreviewed -- update my status to "reviewer".
* Scripts/webkitpy/common/config/contributors.json:
2018-12-13 Youenn Fablet <youenn@apple.com>
On page close, WebPage::m_userMediaPermissionRequestManager is nullified too early
https://bugs.webkit.org/show_bug.cgi?id=192657
Reviewed by Eric Carlson.
Add a test that loads a page registering ondevicechange,
load another page in the same process, closes the first page.
Ensure that the process does not crash in that case.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::didCrashCallback):
* TestWebKitAPI/Tests/WebKit/ondevicechange.html: Added.
2018-12-13 Carlos Eduardo Ramalho <cadubentzen@gmail.com>
[GStreamer][JHBuild] update-webkit{gtk,wpe}-libs fails with libfdk-2.0.0
https://bugs.webkit.org/show_bug.cgi?id=192643
Reviewed by Philippe Normand.
This problem happens with Arch Linux users which have libfdk-2.0.0
installed (which is anybody with gst-plugins-bad 1.14.4 installed).
The problem has already been solved upstream at
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/77.
Adding patches while this problem is not in a release yet.
* gstreamer/jhbuild.modules: Add patches to fix build of gst-plugins-bad with libfdk-2.0.0.
* gstreamer/patches/gst-plugins-bad-0003-fdkaacenc-Remove-MODE_2_1.patch: Added.
* gstreamer/patches/gst-plugins-bad-0004-fdkaacdec-Use-WAV-channel-mapping-instead-of-interleave-setting.patch: Added.
2018-12-12 Carlos Garcia Campos <cgarcia@igalia.com>
[FreeType] Add initial implementation of variation fonts
https://bugs.webkit.org/show_bug.cgi?id=192151
Reviewed by Michael Catanzaro.
Add cairo patch to avoid crashes.
* gtk/jhbuild.modules:
* gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added.
2018-12-12 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][Clang][WebKitLegacy] WebFrame.cpp: warning: delete called on non-final 'WebFrame' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
https://bugs.webkit.org/show_bug.cgi?id=192618
Reviewed by Alex Christensen.
* DumpRenderTree/win/DRTDataObject.cpp:
* DumpRenderTree/win/DRTDataObject.h:
* DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
* DumpRenderTree/win/DRTDropSource.h:
* DumpRenderTree/win/EditingDelegate.h:
* DumpRenderTree/win/PolicyDelegate.h:
* DumpRenderTree/win/UIDelegate.h:
2018-12-12 Ryosuke Niwa <rniwa@webkit.org>
Make TextInputController.legacyAttributedString take DOM nodes and offsets
https://bugs.webkit.org/show_bug.cgi?id=192653
Reviewed by Wenson Hsieh.
Updated TextInputController.legacyAttributedString to take DOM nodes and offsets instead of
a DOM Range object in preparation to add layout tests for HTMLConverter which crosses
shadow boundaries.
* DumpRenderTree/mac/TextInputControllerMac.m:
(+[TextInputController isSelectorExcludedFromWebScript:]): Updated the selector signature.
(+[TextInputController webScriptNameForSelector:]): Ditto.
(-[TextInputController legacyAttributedString:offset:to:offset:]): Made this function take
start node and offset then end node and offset pairs.
2018-12-12 Alex Christensen <achristensen@webkit.org>
Implement safe browsing in WebKit on WatchOS
https://bugs.webkit.org/show_bug.cgi?id=192641
<rdar://problem/46376188>
Reviewed by Geoff Garen.
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(-[SafeBrowsingNavigationDelegate _webViewDidShowSafeBrowsingWarning:]):
(safeBrowsingView):
Add a test that the new delegate callback is called.
2018-12-12 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed manual rollout of r239100-r239102 and r239116
https://bugs.webkit.org/show_bug.cgi?id=192151
<rdar://problem/46655586>
* gtk/jhbuild.modules:
* gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Removed.
2018-12-12 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r239103.
https://bugs.webkit.org/show_bug.cgi?id=192627
It broke the built because it depends on another patch that
didn't land yet (Requested by KaL on #webkit).
Reverted changeset:
"[WPE] Add API to notify about frame displayed view backend
callback"
https://bugs.webkit.org/show_bug.cgi?id=192224
https://trac.webkit.org/changeset/239103
2018-11-30 Carlos Garcia Campos <cgarcia@igalia.com>
[WPE] Add API to notify about frame displayed view backend callback
https://bugs.webkit.org/show_bug.cgi?id=192224
Reviewed by Michael Catanzaro.
Add a test case to check the new API.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewFrameDisplayed):
(beforeAll):
2018-12-12 Carlos Garcia Campos <cgarcia@igalia.com>
[FreeType] Add initial implementation of variation fonts
https://bugs.webkit.org/show_bug.cgi?id=192151
Reviewed by Michael Catanzaro.
Add cairo patch to avoid crashes.
* gtk/jhbuild.modules:
* gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added.
2018-12-11 Justin Michaud <justin_michaud@apple.com>
Implement feature flag for CSS Typed OM
https://bugs.webkit.org/show_bug.cgi?id=192610
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-12-11 Chris Dumez <cdumez@apple.com>
Unreviewed, fix bad check in API test added in r239080.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-12-11 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][Clang] Fix warning -Wmissing-field-initializers
https://bugs.webkit.org/show_bug.cgi?id=192584
Reviewed by Yusuke Suzuki.
Initialize a struct with '{ }' instead of '= {0}'.
* DumpRenderTree/win/DumpRenderTree.cpp:
(runTest):
* DumpRenderTree/win/EventSender.cpp:
(makeMsg):
(replaySavedEvents):
(beginDragWithFilesCallback):
* DumpRenderTree/win/PixelDumpSupportWin.cpp:
(createBitmapContextFromWebView):
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
(updateMenuItemForHistoryItem):
* MiniBrowser/win/WinMain.cpp:
(wWinMain):
* TestWebKitAPI/win/HostWindow.cpp:
(TestWebKitAPI::HostWindow::clientRect const):
(TestWebKitAPI::HostWindow::registerWindowClass):
* TestWebKitAPI/win/PlatformWebViewWin.cpp:
(TestWebKitAPI::PlatformWebView::registerWindowClass):
* WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::registerWindowClass):
(WTR::PlatformWebView::windowFrame):
(WTR::PlatformWebView::windowSnapshotImage):
2018-12-11 Chris Dumez <cdumez@apple.com>
PSON logic gets confused by concurrent decidePolicyForNavigationAction requests
https://bugs.webkit.org/show_bug.cgi?id=192482
<rdar://problem/46470145>
Reviewed by Antti Koivisto.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-12-11 Andy Estes <aestes@apple.com>
Introduce makeBlockPtr for lambdas
https://bugs.webkit.org/show_bug.cgi?id=192594
Reviewed by Alex Christensen.
Adopted makeBlockPtr and added API tests.
* DumpRenderTree/TestRunner.cpp:
(TestRunner::callUIScriptCallback):
* TestWebKitAPI/Tests/WTF/BlockPtr.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
(-[DownloadProgressTestRunner init]):
(-[DownloadProgressTestRunner subscribeAndWaitForProgress]):
2018-12-11 Chris Dumez <cdumez@apple.com>
REGRESSION (r238764-238783): TestWTF.WTF.StringOperators is failing
https://bugs.webkit.org/show_bug.cgi?id=192361
<rdar://problem/46524903>
Reviewed by Alex Christensen.
Compile StringOperators.cpp with -O1 optimization level instead of -Os. This
fixes the failures for me locally.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2018-12-11 Philippe Normand <pnormand@igalia.com>
Unreviewed, WPE build fix after r239028
The FLATPAK_USER_DIR env var is not set early enough, leading to:
Traceback (most recent call last):
File "/home/phil/WebKit/Tools/Scripts/webkit-flatpak", line 28, in <module>
sys.exit(WebkitFlatpak.load_from_args().run())
File "/home/phil/WebKit/Tools/flatpak/flatpakutils.py", line 761, in run
if not self.clean_args():
File "/home/phil/WebKit/Tools/flatpak/flatpakutils.py", line 574, in clean_args
_log.debug("Using flatpak user dir: %s" % os.environ["FLATPAK_USER_DIR"])
File "/usr/lib/python2.7/UserDict.py", line 40, in __getitem__
raise KeyError(key)
KeyError: 'FLATPAK_USER_DIR'
* flatpak/flatpakutils.py:
(WebkitFlatpak.clean_args):
2018-12-10 Don Olmstead <don.olmstead@sony.com>
Move ENABLE_RESOURCE_LOAD_STATISTICS to FeatureDefines.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=192573
Reviewed by Simon Fraser.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-12-10 Don Olmstead <don.olmstead@sony.com>
[CMake] Add ENABLE_RESOURCE_LOAD_STATISTICS to WebKitFeatures.cmake
https://bugs.webkit.org/show_bug.cgi?id=192574
Reviewed by Michael Catanzaro.
* Scripts/webkitperl/FeatureList.pm:
2018-12-10 Don Olmstead <don.olmstead@sony.com>
Sync FeatureList.pm
https://bugs.webkit.org/show_bug.cgi?id=192565
Reviewed by Michael Catanzaro.
* Scripts/webkitperl/FeatureList.pm:
2018-12-10 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Unable to upload data that conforms to "public.item" but not "public.content"
https://bugs.webkit.org/show_bug.cgi?id=192555
<rdar://problem/35204990>
Reviewed by Tim Horton.
Add a test to verify that `.p12` files may be uploaded as files via drag and drop. "com.rsa.pkcs-12" is an
example of a data type that conforms to "public.item", but not "public.content"; before this patch, we would
only support uploading "public.content", so files such as these would not be accepted when dropping into file
inputs, or be exposed as files on DataTransfer.
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST):
2018-12-10 David Kilzer <ddkilzer@apple.com>
Injected bundle for WebKitTestRunner leaks WKTypeRef objects
<https://webkit.org/b/192481>
<rdar://problem/46539059>
Follow-up to address Darin's feedback.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::shouldDumpPixels const):
(WTR::TestRunner::whatToDump const):
(WTR::TestRunner::shouldWaitUntilDone const):
(WTR::TestRunner::shouldDumpFrameLoadCallbacks):
(WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
(WTR::TestRunner::secureEventInputIsEnabled const):
(WTR::TestRunner::isStatisticsPrevalentResource):
(WTR::TestRunner::isStatisticsVeryPrevalentResource):
(WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
(WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
(WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
(WTR::TestRunner::isStatisticsHasHadUserInteraction):
(WTR::TestRunner::isStatisticsGrandfathered):
(WTR::TestRunner::hasDOMCache):
(WTR::TestRunner::keyExistsInKeychain):
2018-12-10 Jonathan Bedard <jbedard@apple.com>
webkitpy: Ref tests don't respect platform specific expectations
https://bugs.webkit.org/show_bug.cgi?id=192515
<rdar://problem/46564839>
Reviewed by Lucas Forschler.
* Scripts/webkitpy/port/base.py:
(Port._expected_baselines_for_suffixes): Accept multiple suffixes so ref tests can use this function.
(Port.expected_baselines): Move implementation to _expected_baselines_for_suffixes.
(Port.expected_filename): Remove irrelevant FIXME, code clean-up.
(Port.reference_files): Instead of just searching a single directory, use _expected_baselines_for_suffixes to
search all platform expectations as well.
* Scripts/webkitpy/port/base_unittest.py:
(test_ref_tests_platform_directory):
2018-12-10 Chris Dumez <cdumez@apple.com>
Add SPI to allow the client to set the user-agent at main frame level, from the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=192509
<rdar://problem/46500832>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[DataMappingSchemeHandler addMappingFromURLString:toData:]):
(-[DataMappingSchemeHandler webView:startURLSchemeTask:]):
(-[DataMappingSchemeHandler webView:stopURLSchemeTask:]):
(-[CustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
(-[CustomUserAgentDelegate webView:didFinishNavigation:]):
2018-12-10 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Caret is obscured by finger when dragging over an editable element
https://bugs.webkit.org/show_bug.cgi?id=192499
<rdar://problem/46570101>
Reviewed by Tim Horton.
Augment some existing API tests to check that the `precise` flag is either on or off on `UIDropProposal`.
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator _resetSimulatedState]):
(-[DragAndDropSimulator lastKnownDropProposal]):
Rename `currentDropProposal` to `lastKnownDropProposal`, and expose it as a readonly property.
(-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
(-[DragAndDropSimulator _advanceProgress]):
(-[DragAndDropSimulator setShowCustomActionSheetBlock:]):
(-[DragAndDropSimulator showCustomActionSheetBlock]):
(-[DragAndDropSimulator setConvertItemProvidersBlock:]):
(-[DragAndDropSimulator convertItemProvidersBlock]):
(-[DragAndDropSimulator setOverridePerformDropBlock:]):
(-[DragAndDropSimulator overridePerformDropBlock]):
(-[DragAndDropSimulator setOverrideDragUpdateBlock:]):
(-[DragAndDropSimulator overrideDragUpdateBlock]):
(-[DragAndDropSimulator setDropCompletionBlock:]):
(-[DragAndDropSimulator dropCompletionBlock]):
Refactor these properties to return and take normal Objective-C blocks, rather than `BlockPtr`s. However, use
`BlockPtr` instance variables to manage the lifetimes of these blocks.
(-[DragAndDropSimulator _webView:willUpdateDropProposalToProposal:forSession:]):
(-[DragAndDropSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]): Deleted.
Update this to use the new WebKit delegate hook for overriding the drop proposal.
2018-12-10 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] run-minibrowser improperly creates webkit-flatpak environment
https://bugs.webkit.org/show_bug.cgi?id=190241
Reviewed by Carlos Garcia Campos.
run-minibrowser calls into webkit-flatpak to check if a flatpak environment is available.
Currently this actually creates the directories needed for the flatpak environment. Fix it.
* flatpak/flatpakutils.py:
(WebkitFlatpak.clean_args):
(WebkitFlatpak.run):
2018-12-10 Michael Catanzaro <mcatanzaro@igalia.com>
[GTK] Don't use the slice allocator
https://bugs.webkit.org/show_bug.cgi?id=192360
Reviewed by Carlos Garcia Campos.
* MiniBrowser/gtk/main.c:
(aboutDataRequestFree):
(aboutDataRequestNew):
2018-12-10 Tim Horton <timothy_horton@apple.com>
WKWebView should support custom tintColor
https://bugs.webkit.org/show_bug.cgi?id=192518
<rdar://problem/37243261>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm:
(TestWebKitAPI::TEST):
Add a test that tintColor affects UITextInputTraits' interaction colors.
2018-12-09 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] DragAndDropTests.RespectsExternalSourceFidelityRankings is flaky
https://bugs.webkit.org/show_bug.cgi?id=192524
Reviewed by Ryosuke Niwa.
This test started failing on certain builds of iOS where UIKit now attempts to reveal the selection by scrolling
(see <rdar://problem/28300343>). This API test simulates two drops from external sources, both from the point
(300, 400) to (100, 300) in window coordinates. On these aforementioned builds of iOS, what happens is that the
first drop inserts text that overflows the editable region by an enormous amount, which creates an extremely
wide selection rect and increases the width of the document; revealing this selection causes the web view to
scroll horizontally, such that the second attempt to simulate a drag from (300, 400) to (100, 300) fails, since
these window coordinates no longer correspond to the drop destination element in the document.
To fix this test, we simply mark the drop destination as `overflow: hidden` to ensure that we don't try and
scroll horizontally after the first drop.
* TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html:
2018-12-08 Daniel Bates <dabates@apple.com>
Fix lldb_webkit.py following r238771
(https://bugs.webkit.org/show_bug.cgi?id=190234)
Substitute WTFURLProvider for WebCoreURLProvider in one call site that was inadvertently
missed in r238771.
* lldb/lldb_webkit.py:
(WebCoreDocumentProvider.url):
2018-12-07 Aakash Jain <aakash_jain@apple.com>
[ews-build] check-patch-relevance failure should not mark the overall build as failure
https://bugs.webkit.org/show_bug.cgi?id=192510
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/steps.py:
(CheckPatchRelevance.start):
2018-12-07 Chris Dumez <cdumez@apple.com>
ProcessSwap.UseSessionCookiesAfterProcessSwapInPrivateBrowsing API test is failing
https://bugs.webkit.org/show_bug.cgi?id=192362
<rdar://problem/46460360>
Reviewed by Ryosuke Niwa.
Move the call to _setCookieAcceptPolicy *after* we've constructed a WKWebView and thus
*after* we know for sure we have a network process to communicate the policy to.
This should address the failures on iOS.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-12-07 Jiewen Tan <jiewen_tan@apple.com>
Add keychain access entitlement to WebKitTestRunnerApp
https://bugs.webkit.org/show_bug.cgi?id=192489
<rdar://problem/45057952>
Reviewed by Alexey Proskuryakov.
* WebKitTestRunner/Configurations/WebKitTestRunnerApp-iOS.entitlements:
2018-12-07 Saam Barati <sbarati@apple.com>
WKWebProcessPlugInLoadDelegate should have API for saying which rendering events it wants to listen for
https://bugs.webkit.org/show_bug.cgi?id=192473
Reviewed by Andy Estes.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/RenderingProgress.mm: Added.
(-[DidFirstMeaningfulPaintRemoteObject didFirstMeaningfulPaint]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressPlugIn.mm: Added.
(-[RenderingProgressPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[RenderingProgressPlugIn webProcessPlugInBrowserContextControllerRenderingProgressEvents:]):
(-[RenderingProgressPlugIn webProcessPlugInBrowserContextController:renderingProgressDidChange:]):
* TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressProtocol.h: Added.
2018-12-07 Jonathan Bedard <jbedard@apple.com>
REGRESSION: run-webkit-tests may fail when using booted simulators (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=192470
<rdar://problem/46532001>
Unreviewed infrastructure fix.
* Scripts/webkitpy/port/device_port.py:
(DevicePort.setup_test_run): Check that the number of initialized devices matches the
number of child processes.
2018-12-07 Aakash Jain <aakash_jain@apple.com>
[ews-app] Send bug id as a build property
https://bugs.webkit.org/show_bug.cgi?id=192494
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/fetcher.py:
(BugzillaPatchFetcher.fetch):
2018-12-07 Aakash Jain <aakash_jain@apple.com>
[ews-build] Builds should have a link to patch and bug
https://bugs.webkit.org/show_bug.cgi?id=192492
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-build/steps.py:
(ConfigureBuild.add_patch_id_url): Method to add Patch URL.
(ConfigureBuild.add_bug_id_url): Method to add Bug URL.
(ConfigureBuild.getPatchURL): Method to get Patch URL.
(ConfigureBuild.getBugURL): Method to get Bug URL.
2018-12-07 Aakash Jain <aakash_jain@apple.com>
[ews-app] Configure logfile for ews-app logs
https://bugs.webkit.org/show_bug.cgi?id=192493
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/__init__.py:
2018-12-07 Aakash Jain <aakash_jain@apple.com>
Style queue exception on some security bugs
https://bugs.webkit.org/show_bug.cgi?id=190793
Reviewed by Lucas Forschler.
* Scripts/webkitpy/tool/steps/applywatchlist.py:
(ApplyWatchList.run):
2018-12-07 Wenson Hsieh <wenson_hsieh@apple.com>
[Attachment Support] Cloned attachment elements lose their unique identifiers
https://bugs.webkit.org/show_bug.cgi?id=192483
Reviewed by Tim Horton.
Introduce a new API test.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
2018-12-06 Jonathan Bedard <jbedard@apple.com>
Consecutive DumpRenderTree crashes are happening again on WinCairo BuildBots since r238903
https://bugs.webkit.org/show_bug.cgi?id=192486
Unreviewed infrastructure fix.
WinCairo bots define WEBKIT_TEST_CHILD_PROCESSES to run less processes due to RAM restrictions.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options):
2018-12-06 David Kilzer <ddkilzer@apple.com>
Injected bundle for WebKitTestRunner leaks WKTypeRef objects
<https://webkit.org/b/192481>
<rdar://problem/46539059>
Reviewed by Simon Fraser.
This patch:
- Fixes leaks in various injected bundle methods that return +1
retained WKTypeRef objects via pointer.
- Asserts the returned object is the expected WKTypeRef.
- Replaces 0 with nullptr in many places.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didCreatePage):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::shouldDumpPixels const):
(WTR::TestRunner::whatToDump const):
(WTR::TestRunner::shouldWaitUntilDone const):
(WTR::TestRunner::shouldDumpFrameLoadCallbacks):
(WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
(WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
(WTR::TestRunner::secureEventInputIsEnabled const):
(WTR::TestRunner::isStatisticsPrevalentResource):
(WTR::TestRunner::isStatisticsVeryPrevalentResource):
(WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
(WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
(WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
(WTR::TestRunner::isStatisticsHasHadUserInteraction):
(WTR::TestRunner::isStatisticsGrandfathered):
(WTR::TestRunner::statisticsProcessStatisticsAndDataRecords):
(WTR::TestRunner::statisticsUpdateCookieBlocking):
(WTR::TestRunner::statisticsSubmitTelemetry):
(WTR::TestRunner::statisticsClearInMemoryAndPersistentStore):
(WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval):
(WTR::TestRunner::statisticsResetToConsistentState):
(WTR::TestRunner::getAllStorageAccessEntries):
(WTR::TestRunner::hasDOMCache):
(WTR::TestRunner::domCacheSize):
(WTR::TestRunner::injectUserScript):
(WTR::TestRunner::keyExistsInKeychain):
2018-12-06 Jonathan Bedard <jbedard@apple.com>
REGRESSION: run-webkit-tests may fail when using booted simulators
https://bugs.webkit.org/show_bug.cgi?id=192470
<rdar://problem/46532001>
Reviewed by Lucas Forschler.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run): Logging uses the number of child processes to print out information about how efficiently tests
were sharded after the fact. This number is the most meaningful if it is the maximum number of child processes used.
* Scripts/webkitpy/port/base.py:
(Port.max_child_processes): By default, Ports do not support running on any specific kind of device.
* Scripts/webkitpy/port/device_port.py:
(DevicePort.default_child_processes): Rather than using the currently initialized devices as a proxy for how many
child processes are being used, check the device manager every time. Regardless of which devices are attached or
available, iOS cannot boot watchOS devices and vice-versa. dedicated_simulators is not a known argument to
device_count_for_type, use use_booted_simulator instead.
(DevicePort.max_child_processes): Simulators can boot more devices than what is specified by device_count_for_type,
but, if no devices are available, then max_child_processes should return 0 even for simulators.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest):
(IOSDeviceTest.test_max_child_processes):
* Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest):
(IOSSimulatorTest.test_max_child_processes):
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase):
(PortTestCase.test_max_child_processes):
* Scripts/webkitpy/port/watch_simulator_unittest.py:
(WatchSimulatorTest):
(WatchSimulatorTest.test_max_child_processes):
2018-12-06 Jonathan Bedard <jbedard@apple.com>
webkitpy: Ignore case when comparing device types (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=192409
<rdar://problem/46491558>
Unreviewed typo fix.
* Scripts/webkitpy/xcode/device_type_unittest.py:
(DeviceTypeTest.test_comparison_lower_case):
(DeviceTypeTest.test_comparsion_lower_case): Deleted.
2018-12-06 Jonathan Bedard <jbedard@apple.com>
webkitpy: Create device given lower-case DeviceType
<https://bugs.webkit.org/show_bug.cgi?id=192472>
<rdar://problem/46532650>
Reviewed by Lucas Forschler.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._get_device_identifier_for_type): Comparing simctl device identifiers with DeviceTypes
should be letter-case agnostic.
* Scripts/webkitpy/xcode/simulated_device_unittest.py:
(test_lower_case_device_type):
2018-12-06 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] WKWebView should match UITextView behavior when editing text with an RTL keyboard
https://bugs.webkit.org/show_bug.cgi?id=187554
<rdar://problem/42075638>
Reviewed by Tim Horton.
Add support for simulating the keyboard input mode in layout tests using UIScriptController, as well as a new
`TestOption` to make the web view editable.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setKeyboardInputModeIdentifier):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setKeyboardInputModeIdentifier):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/TestController.cpp:
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestController.h:
(WTR::TestController::overriddenKeyboardInputMode const):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
* WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::setEditable):
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::setEditable):
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
(WTR::swizzleCurrentInputMode):
(WTR::TestController::setKeyboardInputModeIdentifier):
Swizzle out several `UIKeyboardInputModeController` methods in order to convince UIKit that the user has
selected a `UIKeyboardInputMode` corresponding to the given identifier. The call to
`-prepareKeyboardInputModeFromPreferences:` is also necessary on iOS 12 in order to update cached writing
direction state in UIKit.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setKeyboardInputModeIdentifier):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::setEditable):
* WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::PlatformWebView::setEditable):
* WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
(WTR::PlatformWebView::setEditable):
2018-12-05 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] Share ClassMethodSwizzler and InstanceMethodSwizzler between TestWebKitAPI and WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=192437
Reviewed by Tim Horton.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* TestRunnerShared/cocoa/ClassMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.h.
* TestRunnerShared/cocoa/ClassMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.mm.
(ClassMethodSwizzler::ClassMethodSwizzler):
(ClassMethodSwizzler::~ClassMethodSwizzler):
* TestRunnerShared/cocoa/InstanceMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.h.
* TestRunnerShared/cocoa/InstanceMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.mm.
(InstanceMethodSwizzler::InstanceMethodSwizzler):
(InstanceMethodSwizzler::~InstanceMethodSwizzler):
Move these swizzling helper classes into TestRunnerShared.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/LocalStorageClear.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(safeBrowsingView):
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDefaultNavigationDelegate.mm:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView initWithFrame:configuration:addToWindow:]):
Remove namespacing around ClassMethodSwizzler and InstanceMethodSwizzler in a few API tests.
* TestWebKitAPI/mac/TestFontOptions.mm:
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::ClassMethodSwizzler::ClassMethodSwizzler): Deleted.
(WTR::ClassMethodSwizzler::~ClassMethodSwizzler): Deleted.
Remove this duplicate implementation of ClassMethodSwizzler in WebKitTestRunner.
2018-12-05 Jonathan Bedard <jbedard@apple.com>
webkitpy: Clean-up apple_additions
https://bugs.webkit.org/show_bug.cgi?id=192413
<rdar://problem/46493491>
Reviewed by Lucas Forschler.
After the addition of watchOS, some functions which were originally iOS specific were
generalized to include all devices.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort._driver_class): Replace iOS specific call with generalized device call.
(IOSDevicePort.path_to_crash_logs): Ditto.
(IOSDevicePort.clean_up_test_run): Ditto.
2018-12-05 Jonathan Bedard <jbedard@apple.com>
webkitpy: Ignore case when comparing device types
https://bugs.webkit.org/show_bug.cgi?id=192409
<rdar://problem/46491558>
Reviewed by Lucas Forschler.
This allows DeviceTypes constructed with lowercase strings to correctly compare
against DeviceTypes coming from the simulator runtime.
* Scripts/webkitpy/xcode/device_type.py:
(DeviceType.__eq__):
(DeviceType.__contains__):
* Scripts/webkitpy/xcode/device_type_unittest.py:
(DeviceTypeTest):
(DeviceTypeTest.test_comparsion_lower_case):
2018-12-05 Jonathan Bedard <jbedard@apple.com>
webkitpy: Sort tests by associated device type
https://bugs.webkit.org/show_bug.cgi?id=192161
<rdar://problem/46345392>
Reviewed by Lucas Forschler.
Sort tests by device type and make an effort to run each specified device type.
Do not run tests if their specified device is not available.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.is_watchos): Add watchos bits to platform info.
(PlatformInfo._determine_os_name): Ditto.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run): Assign each test a device type. Then, generate a list of
device types to sequentially iterate through. Note that a test will run
on the first device which matches.
(Manager._end_test_run): Handle the case where no devices are available and no
tests are run.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options): Manage child processes in manager.
* Scripts/webkitpy/port/base.py:
(Port):
(Port.default_child_processes): Accept additional arguments.
(Port.max_child_processes): Add upper limit for number of child processes.
* Scripts/webkitpy/port/device_port.py:
(DevicePort):
(DevicePort._device_type_with_version): Adds version to the DeviceType.
(DevicePort.default_child_processes): Allows default_child_processes to be
attached to a device type.
(DevicePort.max_child_processes): Add upper limit to the maximum number of child processes.
(DevicePort.setup_test_run): Use _device_type_with_version.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort):
(IOSDevicePort.default_child_processes): Deleted.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.default_child_processes): Deleted.
(IOSSimulatorPort.check_sys_deps): Deleted.
* Scripts/webkitpy/port/mac.py:
(MacPort.default_child_processes): Accept additional arguments.
* Scripts/webkitpy/port/test.py:
* Scripts/webkitpy/port/watch_device.py:
(WatchDevicePort):
(WatchDevicePort.default_child_processes): Deleted.
* Scripts/webkitpy/port/watch_simulator.py:
(WatchSimulatorPort.default_child_processes): Deleted.
(WatchSimulatorPort.check_sys_deps): Deleted.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager):
(SimulatedDeviceManager.device_count_for_type): Count the number of devices
available for a specific device type.
2018-12-05 Devin Rousso <drousso@apple.com>
Unreviewed, add myself to some watch lists.
* Scripts/webkitpy/common/config/watchlist:
2018-12-05 Alicia Boya García <aboya@igalia.com>
[MSE][GStreamer] Remove the AppendPipeline state machine
https://bugs.webkit.org/show_bug.cgi?id=192204
Reviewed by Xabier Rodriguez-Calvar.
Updated AbortableTaskQueue tests:
Added test: AbortedBySyncTaskHandler.
Renamed test: AbortDuringSyncTask -> AbortBeforeSyncTaskRun (in
order to avoid confusion with the new test).
Added checks for the correct destruction of response objects.
* TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
(TestWebKitAPI::FancyResponse::FancyResponse):
(TestWebKitAPI::FancyResponse::~FancyResponse):
(TestWebKitAPI::TEST):
2018-12-04 Chris Dumez <cdumez@apple.com>
ProcessSwap.UseSessionCookiesAfterProcessSwapInPrivateBrowsing API test is failing
https://bugs.webkit.org/show_bug.cgi?id=192362
Reviewed by Alex Christensen.
Set the cookie policy to Accept to make sure the cookies are saved.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-12-04 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Update GLib
https://bugs.webkit.org/show_bug.cgi?id=191222
Reviewed by Žan Doberšek.
When I try running API tests locally, they crash with:
GLib-GIO-WARNING **: unknown schema extension 'd'
We need to update our old glib to support the 'd' value type, otherwise schemas that may
exist on the host using this type will cause instant crashes.
Also, switch the GLib build to use meson. This requires updating meson as well.
* gtk/jhbuild.modules:
* gtk/patches/glib-cast-function-type.patch: Removed.
* gtk/patches/glib-gtester-do-not-consider-skipped-tests-as-failures.patch: Removed.
* wpe/jhbuild.modules:
* wpe/patches/glib-cast-function-type.patch: Removed.
* wpe/patches/glib-revert-wakeup-changes.patch: Removed.
2018-12-04 Aakash Jain <aakash_jain@apple.com>
[ews-app] Run BugzillaPatchFetcher periodically
https://bugs.webkit.org/show_bug.cgi?id=192241
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/__init__.py:
* BuildSlaveSupport/ews-app/ews/apps.py:
(EwsConfig.ready): This method is called by Django on startup.
* BuildSlaveSupport/ews-app/ews/fetcher.py:
(FetchLoop): Class which invokes BugzillaPatchFetcher every 60s.
2018-12-04 Jonathan Bedard <jbedard@apple.com>
webkitpy: Support unicode in MeteredStream
https://bugs.webkit.org/show_bug.cgi?id=192260
Reviewed by Aakash Jain.
It's possible that the test runner returns unicode characters to be logged when
running layout tests.
* Scripts/webkitpy/layout_tests/views/metered_stream.py:
(MeteredStream.write): Print message without attempting to encode/decode it.
* Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
(RegularTest.test_unicode):
2018-12-04 Keith Rollin <krollin@apple.com>
Update scripts for generating .xcfilelist files
https://bugs.webkit.org/show_bug.cgi?id=192081
<rdar://problem/46312290>
Reviewed by Brent Fulgham.
The initial pass at generate-xcfilelists (a script for
creating/updating the .xcfilelist files needed for various Generate
Foo Source build phases in Xcode) only generated the .xcfilelist files
that held the output files; it did not generate the list of input
files. As well, for the sources generated by DerivedSources.make
makefiles, the script accomplished this via the implementation of a
convention in the makefile that allowed the printing of these output
files when invoked with the 'print_all_generated_files' target. Use of
this convention is inconvenient and error-prone.
The script is now updated to address both of these issues. First, it
generates for the input and output sets of files. Second, it does away
with the convention in the DerivedSources.make makefiles and instead
works from the dependency output information printed when `make` is
invoked with --debug. This second part is implemented in the new
script extract-dependencies-from-makefile.
* Scripts/extract-dependencies-from-makefile: Added.
(Parser):
(Parser.__init__):
(Parser.nextLine):
(Parser.addTarget):
(Parser.addPrereq):
(Parser.doParse):
(Parser.printInputs):
(Parser.printOutputs):
(parseArgs):
(main):
* Scripts/generate-xcfilelists:
2018-12-04 Carlos Eduardo Ramalho <cadubentzen@gmail.com>
[WPE] Add gtk-doc
https://bugs.webkit.org/show_bug.cgi?id=178900
Reviewed by Michael Catanzaro.
Add gtk-doc to WPE port. This patch tries to reuse as much code from
WebKitGTK+ as possible.
* gtkdoc/generate-gtkdoc: Renamed from Tools/gtk/generate-gtkdoc.
(get_gtkdoc_module_paths): Add GDK and GTK only if building for GTK.
(prepare_environment_for_gtkdoc_generation):
(build_gtkdoc_for_wpe): Code to generate doc for WPE.
(build_gtkdoc_for_wkgtk): Code to generate doc for WebKitGTK+. Moved from main.
* gtkdoc/gtkdoc.py: Renamed from Tools/gtk/gtkdoc.py.
(GTKDoc.__init__): Initialized required variables according to pylint.
(GTKDoc.api_missing_documentation):
* wpe/install-dependencies: Add gtkdoc dependency.
2018-12-04 Carlos Garcia Campos <cgarcia@igalia.com>
[SOUP] Move URLSoup back to WebCore after r238771
https://bugs.webkit.org/show_bug.cgi?id=192306
Reviewed by Michael Catanzaro.
Include GUniquePtrSoup from WebCore again.
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
2018-12-03 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK] Bump freetype, fontconfig, harfbuzz, cairo and icu in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=192310
Reviewed by Michael Catanzaro.
Update those dependencies to their latest stable versions.
* gtk/jhbuild.modules:
2018-12-03 Tomas Popela <tpopela@redhat.com>
[GTK] Can't run MiniBrowser due to missing python2-yaml
https://bugs.webkit.org/show_bug.cgi?id=192308
Reviewed by Michael Catanzaro.
* gtk/install-dependencies:
2018-12-03 Chris Dumez <cdumez@apple.com>
Regression(PSON) Google OAuth is broken in private sessions
https://bugs.webkit.org/show_bug.cgi?id=192337
<rdar://problem/46353558>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/GetSessionCookie.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SetSessionCookie.html: Added.
2018-12-03 Chris Dumez <cdumez@apple.com>
[PSON] Request by the client to process-swap is ignored if the window has an opener
https://bugs.webkit.org/show_bug.cgi?id=192267
<rdar://problem/46386886>
Reviewed by Brady Eidson.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-12-03 Keith Rollin <krollin@apple.com>
Add .xcfilelist files
https://bugs.webkit.org/show_bug.cgi?id=192082
<rdar://problem/46312533>
Reviewed by Brent Fulgham.
Add .xcfilelist files for Generate Derived Sources and Generate
Unified Sources build phases in Xcode. These are just being staged for
now; they'll be added to the Xcode projects later.
* DumpRenderTree/DerivedSources-input.xcfilelist: Added.
* DumpRenderTree/DerivedSources-output.xcfilelist: Added.
* WebKitTestRunner/DerivedSources-input.xcfilelist: Added.
* WebKitTestRunner/DerivedSources-output.xcfilelist: Added.
2018-12-03 Alex Christensen <achristensen@webkit.org>
Add WKWebProcessPlugInLoadDelegate SPI willStartProvisionalLoadForFrame with a completion handler
https://bugs.webkit.org/show_bug.cgi?id=192272
Reviewed by Brady Eidson.
* TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm:
(-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]):
(-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]):
2018-12-03 Wenson Hsieh <wenson_hsieh@apple.com>
[iOSMac] Unable to upload non-image files using drag and drop in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=192283
<rdar://problem/46399461>
Reviewed by Ryosuke Niwa.
Add a new API test to check that an item provider which contains plain text data and a file URL (but is not
marked as an attachment) is still treated as an attachment upon drop. Furthermore, verify that "text/uri-list"
does not expose the actual file URL written to the item provider.
Additionally, rebaseline an existing API test to remove an extraneous "text/uri-list" type that appears in
`DataTransfer.types`, but whose data is inaccessible via `getData` anyways.
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
2018-12-01 Don Olmstead <don.olmstead@sony.com>
Cleanup WebKit Features
https://bugs.webkit.org/show_bug.cgi?id=192262
Reviewed by Michael Catanzaro.
Removes obsolete ENABLE options and variable names. Syncs the option's
descriptions with what is present in WebKitFeatures.cmake. Sorts the
options based on the associated define.
* Scripts/webkitperl/FeatureList.pm:
2018-12-01 Chris Dumez <cdumez@apple.com>
[PSON] process-swapping may occur even though opener has handle to openee
https://bugs.webkit.org/show_bug.cgi?id=192277
Reviewed by Antti Koivisto.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-12-01 Jonathan Bedard <jbedard@apple.com>
Unreviewed, rolling out r238764.
Breaks existing layout tests
Reverted changeset:
"webkitpy: Support unicode in MeteredStream"
https://bugs.webkit.org/show_bug.cgi?id=192260
https://trac.webkit.org/changeset/238764
2018-12-01 Yusuke Suzuki <yusukesuzuki@slowstart.org>
Move URL tests from TestWebKitAPI to TestWTF
https://bugs.webkit.org/show_bug.cgi?id=192275
Reviewed by Keith Miller.
Since URL is moved from WebCore to WTF, we also move tests for them from TestWebKitAPI (TestWebCore) to TestWTF.
But we still have some tests in TestWebCore since only WebCore implements TextEncoding. That part is now decoupled
from URLParser tests and new URLParserTextEncoding.cpp is created.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/URL.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URL.cpp.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WTF/URLParser.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp: Added.
(TestWebKitAPI::ExpectedParts::isInvalid const):
(TestWebKitAPI::eq):
(TestWebKitAPI::insertTabAtLocation):
(TestWebKitAPI::invalidParts):
(TestWebKitAPI::checkURL):
(TestWebKitAPI::TEST_F):
2018-11-30 Zalan Bujtas <zalan@apple.com>
Unreviewed LFC passing test list update.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-30 Alex Christensen <achristensen@webkit.org>
Move URL from WebCore to WTF
https://bugs.webkit.org/show_bug.cgi?id=190234
Reviewed by Keith Miller.
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
* TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
* TestWebKitAPI/Tests/WebCore/URL.cpp:
(TestWebKitAPI::createURL):
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::checkRelativeURLDifferences):
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
* TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:
* TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
(TestWebKitAPI::originalDataAsString):
(TestWebKitAPI::userVisibleString):
(TestWebKitAPI::literalURL):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:
(literalURL):
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
* TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm:
(-[LoadInvalidURLWebFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
* TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm:
* TestWebKitAPI/win/PlatformUtilitiesWin.cpp:
(TestWebKitAPI::Util::createURLForResource):
* lldb/lldb_webkit.py:
(__lldb_init_module):
(WTFURL_SummaryProvider):
(WTFURLProvider):
(WebCoreURL_SummaryProvider): Deleted.
(WebCoreURLProvider): Deleted.
(WebCoreURLProvider.__init__): Deleted.
(WebCoreURLProvider.to_string): Deleted.
2018-11-30 Jonathan Bedard <jbedard@apple.com>
webkitpy: Support unicode in MeteredStream
https://bugs.webkit.org/show_bug.cgi?id=192260
Reviewed by Stephanie Lewis.
It's possible that the test runner returns unicode characters to be logged when
running layout tests.
* Scripts/webkitpy/layout_tests/views/metered_stream.py:
(MeteredStream.write): Message written to metered stream should be unicode.
* Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
(RegularTest.test_unicode):
2018-11-30 Jonathan Bedard <jbedard@apple.com>
REGRESSION (r238749): run-api-tests dies with AttributeError: 'IOSSimulatorPort' object has no attribute 'DEFAULT_DEVICE_CLASS'
https://bugs.webkit.org/show_bug.cgi?id=192257
<rdar://problem/46384671>
Reviewed by Stephanie Lewis.
Follow-up fix for r238749.
* Scripts/webkitpy/api_tests/manager.py:
(Manager._initialize_devices): Use DEFAULT_DEVICE_TYPE instead of DEFAULT_DEVICE_CLASS.
2018-11-30 Chris Dumez <cdumez@apple.com>
[PSON] We are sometimes swapping processes even though there is an opened window with an opener link to us
https://bugs.webkit.org/show_bug.cgi?id=192242
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-11-30 Don Olmstead <don.olmstead@sony.com>
Rename ENABLE_SUBTLE_CRYPTO to ENABLE_WEB_CRYPTO
https://bugs.webkit.org/show_bug.cgi?id=192197
Reviewed by Jiewen Tan.
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-11-30 Dean Jackson <dino@apple.com>
Add first-class support for .mjs files in jsc binary
https://bugs.webkit.org/show_bug.cgi?id=192190
<rdar://problem/46375715>
Reviewed by Keith Miller.
Add .mjs files to the regexp looking for all JS files.
* Scripts/run-jsc-stress-tests:
2018-11-30 Jonathan Bedard <jbedard@apple.com>
webkitpy: Use DeviceType instead of str to represent device class
https://bugs.webkit.org/show_bug.cgi?id=192160
<rdar://problem/46344845>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._custom_device_for_test): Use DeviceTypes instead of strings to represent device type.
(Manager._set_up_run): Do not set _options.device_class, use device_type instead of device_class.
(Manager.run): Use device_type instead of device_class.
(Manager._print_expectations_for_subset): Ditto.
(Manager.print_expectations): Ditto.
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ManagerTest.test_uses_custom_device): Use DeviceType and actual device definition.
* Scripts/webkitpy/layout_tests/views/printing.py:
(Printer.print_workers_and_shards): Outputting the device suffix doesn't really help, and means
device type needs to be passed around.
* Scripts/webkitpy/port/apple.py:
(ApplePort.setup_test_run): Use device_type instead of device_class.
* Scripts/webkitpy/port/base.py:
(Port):
(Port.setup_test_run): Use device_type instead of device_class.
* Scripts/webkitpy/port/device_port.py:
(DevicePort):
(DevicePort.setup_test_run): Receive device_type as DeviceType object.
(DevicePort._create_devices): Deleted.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_test_run): Use device_type instead of device_class.
* Scripts/webkitpy/port/ios.py:
(IOSPort):
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort):
(IOSSimulatorPort.__init__): Deleted.
(IOSSimulatorPort._set_device_class): Deleted.
* Scripts/webkitpy/port/test.py:
* Scripts/webkitpy/port/watch.py:
(WatchPort):
* Scripts/webkitpy/port/watch_simulator.py:
(WatchSimulatorPort):
(WatchSimulatorPort.__init__): Deleted.
(WatchSimulatorPort._set_device_class): Deleted.
* Scripts/webkitpy/port/win.py:
(WinPort.setup_test_run): Use device_type instead of device_class.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._disambiguate_device_type): Using the existing devices for this is
a problem if no such device exists yet. Use the _device_identifier_to_name dictionary instead
since this should have hardware types in the device names.
2018-11-30 David Quesada <david_quesada@apple.com>
-[WKProcessPool _downloadURLRequest:] should allow specifying the initiating web view
https://bugs.webkit.org/show_bug.cgi?id=192212
rdar://problem/46363706
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
(-[DownloadProgressTestRunner startDownload:expectedLength:]):
2018-11-30 Zalan Bujtas <zalan@apple.com>
[LFC][BFC] Compute min/maxHeight margins only when they are needed.
https://bugs.webkit.org/show_bug.cgi?id=192223
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-30 Zalan Bujtas <zalan@apple.com>
[LFC][BFC][MarginCollapsing] Do not use computed display box values for border and padding
https://bugs.webkit.org/show_bug.cgi?id=192214
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-30 Thibault Saunier <tsaunier@igalia.com>
[GTK][MiniBrowser] Handle Device Info permission requests
https://bugs.webkit.org/show_bug.cgi?id=191585
Reviewed by Carlos Garcia Campos.
* MiniBrowser/gtk/BrowserTab.c:
(permissionRequestDataNew):
(permissionRequestDataFree):
(permissionRequestDialogResponse):
(decidePermissionRequest):
(browserTabConstructed):
2018-11-30 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed GTK+ gardening. Stop running tests without complex text enforced
We have enforced complex text in GTK+ for one release cycle without noticing any major issue nor performance
regression.
* WebKitTestRunner/gtk/main.cpp:
(main):
2018-11-29 Wenson Hsieh <wenson_hsieh@apple.com>
REGRESSION (r238635): Dragging a text selection within WKWebView causes the selection highlight to get into a bad state
https://bugs.webkit.org/show_bug.cgi?id=192165
<rdar://problem/46346682>
Reviewed by Daniel Bates.
Fixes 11 API tests that started failing or timing out after r238635. See below for more details.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
(TestWebKitAPI::webViewForEditActionTesting):
(TestWebKitAPI::webViewForEditActionTestingWithPageNamed):
Ensure that the web view becomes first responder before executing edit actions.
* TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html:
* TestWebKitAPI/Tests/WebKitCocoa/contenteditable-and-textarea.html:
Tweak these tests to allow selected content to overflow the width of the web view. Without this change,
ContentEditableToContentEditable and ContentEditableToTextarea will sometimes fail because the content causes
the body to scroll horizontally, so we miss the drop destination.
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(loadTestPageAndEnsureInputSession):
Add a new helper to load a test page with a given name, become first responder, and wait until an input session
starts. Use this in various drag and drop tests to reduce code duplication.
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator initWithWebView:]):
(-[DragAndDropSimulator _resetSimulatedState]):
(-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
(-[DragAndDropSimulator _advanceProgress]):
To more accurately emulate UIKit behavior, begin focus preservation when starting a drag, and attempt to clear
the focus preservation token when the drag session ends. This allows us to simulate and test the scenario that
regressed with r238635.
(-[DragAndDropSimulator ensureInputSession]):
(-[DragAndDropSimulator _webView:didStartInputSession:]):
(-[DragAndDropSimulator waitForInputSession]): Deleted.
Refactored into -ensureInputSession. Instead of assuming that an input session has not yet been started, simply
wait for an input session to start if needed.
* TestWebKitAPI/ios/UIKitSPI.h:
Add a new SPI declaration.
2018-11-29 Tim Horton <timothy_horton@apple.com>
Inform clients when editable image attachment backing data changes
https://bugs.webkit.org/show_bug.cgi?id=192206
<rdar://problem/46350277>
Reviewed by Wenson Hsieh.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[AttachmentUpdateObserver init]):
(-[AttachmentUpdateObserver dataInvalidated]):
(-[AttachmentUpdateObserver _webView:didInvalidateDataForAttachment:]):
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentInvalidation):
(webViewForTestingAttachments):
(TestWebKitAPI::forEachViewInHierarchy):
(TestWebKitAPI::findEditableImageCanvas):
(TestWebKitAPI::drawSquareInEditableImage):
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/PencilKitTestSPI.h: Added.
Add a test ensuring that we get an invalidation callback when an editable image is changed.
2018-11-29 Fujii Hironori <Hironori.Fujii@sony.com>
REGRESSION(r238445)[Buildbot] Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk'
https://bugs.webkit.org/show_bug.cgi?id=192143
Reviewed by Philippe Normand.
Buildbot can't start since r238445.
> Configuration Errors:
> Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk'
> Unknown builder 'GTK Linux ARM Release' in scheduler 'trunk'
* BuildSlaveSupport/build.webkit.org-config/config.json: Removed deprecated builders.
2018-11-29 David Quesada <david_quesada@apple.com>
Add SPI to publish NSProgress on active downloads
https://bugs.webkit.org/show_bug.cgi?id=192021
rdar://problem/44405661
Reviewed by Alex Christensen.
Add API tests to exercise the progress-publishing functionality in a variety of scenarios.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm: Added.
(+[DownloadProgressTestProtocol registerProtocolForTestRunner:]):
(+[DownloadProgressTestProtocol unregisterProtocol]):
(+[DownloadProgressTestProtocol canInitWithRequest:]):
(+[DownloadProgressTestProtocol canonicalRequestForRequest:]):
(+[DownloadProgressTestProtocol requestIsCacheEquivalent:toRequest:]):
(-[DownloadProgressTestProtocol startLoading]):
(-[DownloadProgressTestProtocol stopLoading]):
(-[DownloadProgressTestRunner init]):
(-[DownloadProgressTestRunner startLoadingWithProtocol:]):
(-[DownloadProgressTestRunner tearDown]):
(-[DownloadProgressTestRunner _didGetProgress:]):
(-[DownloadProgressTestRunner _didLoseProgress]):
(-[DownloadProgressTestRunner subscribeAndWaitForProgress]):
(-[DownloadProgressTestRunner waitToLoseProgress]):
(-[DownloadProgressTestRunner startDownload:expectedLength:]):
(-[DownloadProgressTestRunner publishProgress]):
(-[DownloadProgressTestRunner receiveData:]):
(-[DownloadProgressTestRunner finishDownloadTask]):
(-[DownloadProgressTestRunner failDownloadTask]):
(-[DownloadProgressTestRunner waitForDownloadDidCreateDestination]):
(-[DownloadProgressTestRunner waitForDownloadFinished]):
(-[DownloadProgressTestRunner waitForDownloadCanceled]):
(-[DownloadProgressTestRunner waitForDownloadFailed]):
(-[DownloadProgressTestRunner waitForUpdatedCompletedUnitCount]):
(-[DownloadProgressTestRunner observeValueForKeyPath:ofObject:change:context:]):
(-[DownloadProgressTestRunner webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[DownloadProgressTestRunner webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[DownloadProgressTestRunner _downloadDidStart:]):
(-[DownloadProgressTestRunner _download:didCreateDestination:]):
(-[DownloadProgressTestRunner _downloadDidFinish:]):
(-[DownloadProgressTestRunner _downloadDidCancel:]):
(-[DownloadProgressTestRunner _download:didFailWithError:]):
(-[DownloadProgressTestRunner _download:decideDestinationWithSuggestedFilename:completionHandler:]):
(TEST):
2018-11-29 Alexey Proskuryakov <ap@apple.com>
Exception in bot watcher's dashboard if a hidden platform in no longer configured for display
https://bugs.webkit.org/show_bug.cgi?id=185527
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(updateHiddenPlatforms):
2018-11-29 Zalan Bujtas <zalan@apple.com>
[LFC][BFC][Quirk] Body and html height stretching.
https://bugs.webkit.org/show_bug.cgi?id=192154
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-29 Jonathan Bedard <jbedard@apple.com>
webkitpy: Unify device creation
https://bugs.webkit.org/show_bug.cgi?id=192158
<rdar://problem/46344757>
Reviewed by Lucas Forschler.
* Scripts/webkitpy/port/device_port.py:
(DevicePort):
(DevicePort.setup_test_run): Use DEVICE_MANAGER to create devices based on the specified device class.
* Scripts/webkitpy/port/ios.py:
(IOSPort): Add DEFAULT_DEVICE_CLASS.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort):
(IOSDevicePort._create_devices): Deleted.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort._create_devices): Deleted.
* Scripts/webkitpy/port/watch.py:
(WatchPort): Add DEFAULT_DEVICE_CLASS.
* Scripts/webkitpy/port/watch_device.py:
(WatchDevicePort):
(WatchDevicePort._create_devices): Deleted.
* Scripts/webkitpy/port/watch_simulator.py:
(WatchSimulatorPort._create_devices): Deleted.
* Scripts/webkitpy/xcode/device_type_unittest.py:
(DeviceTypeTest.test_from_string): Test that DeviceTypes without hardware types can be constructed
from strings.
2018-11-29 Jonathan Bedard <jbedard@apple.com>
EWS iOS-sim bots sometimes fails to shutdown simulator
https://bugs.webkit.org/show_bug.cgi?id=191864
Reviewed by Aakash Jain.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice._shut_down): Increase time to wait for simulated device to
shut down, ignore exit code indicating a device is already shut down.
2018-11-29 Jonathan Bedard <jbedard@apple.com>
webkitpy: Unify ios_version/watchos_version code
https://bugs.webkit.org/show_bug.cgi?id=192153
<rdar://problem/46343642>
Reviewed by Lucas Forschler.
Treating watchOS and iOS versions differently makes it harder to share code between the similar ports.
* Scripts/webkitpy/port/device_port.py:
(DevicePort):
(DevicePort.device_version): Added.
* Scripts/webkitpy/port/ios.py:
(IOSPort.default_baseline_search_path): Use device_version() instead of ios_version().
(IOSPort.ios_version): Deleted.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort.device_version): Renamed from ios_version().
(IOSDevicePort.ios_version): Deleted.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort.device_version): Renamed from ios_version().
(IOSSimulatorPort.default_child_processes.booted_ios_devices_filter): Use device_version() instead of ios_version().
(IOSSimulatorPort._create_devices): Ditto.
(IOSSimulatorPort.check_sys_deps): Ditto.
(IOSSimulatorPort.ios_version): Deleted.
* Scripts/webkitpy/port/watch.py:
(WatchPort.default_baseline_search_path): Use device_version() instead of watchos_version().
(WatchPort.watchos_version): Deleted.
* Scripts/webkitpy/port/watch_device.py:
(WatchDevicePort.device_version): Renamed from watchos_version().
(WatchDevicePort.watchos_version): Deleted.
* Scripts/webkitpy/port/watch_simulator.py:
(WatchSimulatorPort.device_version): Renamed from watchos_version().
(WatchSimulatorPort.default_child_processes.filter_booted_watchos_devices): Use device_version() instead of watchos_version().
(WatchSimulatorPort._create_devices): Ditto.
(WatchSimulatorPort.check_sys_deps): Ditto.
(WatchSimulatorPort.watchos_version): Deleted.
2018-11-28 Wenson Hsieh <wenson_hsieh@apple.com>
[iOSMac] Dropping text selections from web content into editable elements crashes the web process
https://bugs.webkit.org/show_bug.cgi?id=192113
<rdar://problem/46323701>
Reviewed by Ryosuke Niwa.
Add a test to verify that, when dropping an item with both "com.apple.webarchive" and "public.utf8-plain-text"
representations, the higher fidelity web archive data is used when handling the drop.
* TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
2018-11-28 Aakash Jain <aakash_jain@apple.com>
[ews-app] Fetch bugs from Bugzilla and submit to Buildbot
https://bugs.webkit.org/show_bug.cgi?id=191947
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/fetcher.py: Added.
2018-11-28 Alex Christensen <achristensen@webkit.org>
Fix iOS API test after r238585
https://bugs.webkit.org/show_bug.cgi?id=192022
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(TEST):
On iOS, a safe browsing warning over a WKWebView with frame of {0, 0, 0, 0} has a size of {0, 0}, which is fine.
The test was added to catch a bug on Mac platforms, so testing it only on Mac will catch any regression.
2018-11-28 Aakash Jain <aakash_jain@apple.com>
[ews-app] Configure python logging
https://bugs.webkit.org/show_bug.cgi?id=192005
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/__init__.py: Configured logging.
2018-11-28 Keith Rollin <krollin@apple.com>
Update generate-{derived,unified}-sources scripts to support generating .xcfilelist files
https://bugs.webkit.org/show_bug.cgi?id=192031
<rdar://problem/46286816>
Reviewed by Alex Christensen.
The Generate Derived Sources and Generate Unified Sources build phases
in Xcode need to have their inputs and outputs specified. This
specification will come in the form of .xcfilelist files that will be
attached to these build phases. There is one .xcfilelist file that
lists the input file and one that lists the output files. As part of
this work, the various generate-{derived,unified}-sources scripts that
are executed in these Generate build phases are modified to help in
the creation of these .xcfilelist files. In particular, they can now
be invoked with command-line parameters. These parameters are then
used to alter the normal execution of these scripts, causing them to
produce the .xcfilelist files as opposed to actually generating the
files that are listed in those files.
* DumpRenderTree/Scripts/generate-derived-sources.sh:
* WebKitTestRunner/Scripts/generate-derived-sources.sh:
2018-11-28 Keith Rollin <krollin@apple.com>
Revert print_all_generated_files work in r238008; tighten up target specifications
https://bugs.webkit.org/show_bug.cgi?id=192025
<rdar://problem/46284301>
Reviewed by Alex Christensen.
In r238008, I added a facility for DerivedSources.make makefiles to
print out the list of files that they generate. This output was used
in the generation of .xcfilelist files used to specify the output of
the associated Generate Derived Sources build phases in Xcode. This
approach worked, but it meant that people would need to follow a
specific convention to keep this mechanism working.
Instead of continuing this approach, I'm going to implement a new
facility based on the output of `make` when passed the -d flag (which
prints dependency information). This new mechanism is completely
automatic and doesn't need maintainers to follow a convention. To that
end, remove most of the work performed in r238008 that supports the
print_all_generated_files target.
At the same time, it's important for the sets of targets and their
dependencies to be complete and correct. Therefore, also include
changes to bring those up-to-date. As part of that, you'll see
prevalent use of a particular technique. Here's an example:
BYTECODE_FILES = \
Bytecodes.h \
BytecodeIndices.h \
BytecodeStructs.h \
InitBytecodes.asm \
#
BYTECODE_FILES_PATTERNS = $(subst .,%,$(BYTECODE_FILES))
all : $(BYTECODE_FILES)
$(BYTECODE_FILES_PATTERNS): $(wildcard $(JavaScriptCore)/generator/*.rb) $(JavaScriptCore)/bytecode/BytecodeList.rb
...
These lines indicate a set of generated files (those specified in
BYTECODE_FILES). These files are generated by the BytecodeList.rb
tool. But, as opposed to the normal rule where a single foo.output is
generated by foo.input plus some additional dependencies, this rule
produces multiple output files from a tool whose connection to the
output files is not immediately clear. A special approach is needed
where a single rule produces multiple output files. The normal way to
implement this is to use an .INTERMEDIATE target. However, we used
this approach in the past and ran into a problem with it, addressing
it with an alternate approach in r210507. The above example shows this
approach. The .'s in the list of target files are replaced with %'s,
and the result is used as the left side of the dependency rule.
* DumpRenderTree/DerivedSources.make:
* WebKitTestRunner/DerivedSources.make:
2018-11-28 Aakash Jain <aakash_jain@apple.com>
[ews-app] Add support to get list of Bugzilla patches needing review
https://bugs.webkit.org/show_bug.cgi?id=191942
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/common/bugzilla.py:
(Bugzilla.get_list_of_patches_needing_reviews): Get list of patches needing review.
(BugzillaBeautifulSoup.fetch_attachment_ids_from_review_queue): Copied from Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py
(BugzillaBeautifulSoup._load_query): Ditto.
(BugzillaBeautifulSoup._parse_attachment_ids_request_query): Ditto.
2018-11-28 Daniel Bates <dabates@apple.com>
[iOS] Page not defocused when Find-in-page becomes first responder
https://bugs.webkit.org/show_bug.cgi?id=192084
<rdar://problem/46146777>
Reviewed by Tim Horton.
Add tests for both Mac and iOS to ensure that when finding a string on the page
that we do not start an input session if a match is found in an <input> and the
WKWebView is not the first responder.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm: Added.
(-[WKWebViewFindStringInputDelegate _webView:didStartInputSession:]):
(-[WKWebViewFindStringFindDelegate findString]):
(-[WKWebViewFindStringFindDelegate _webView:didCountMatches:forString:]):
(-[WKWebViewFindStringFindDelegate _webView:didFindMatches:forString:withMatchIndex:]):
(-[WKWebViewFindStringFindDelegate _webView:didFailToFindString:]):
(returnNo):
(returnYes):
(viewIsFirstResponder):
(TestWebKitAPI::TEST):
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::PlatformWebView): Make the view the first responder before the
window key. This matches the ordering used in PlatformWebView::focus(). No behavior change.
2018-11-28 Aakash Jain <aakash_jain@apple.com>
[ews-app] Add BeautifulSoup
https://bugs.webkit.org/show_bug.cgi?id=191994
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/thirdparty: Added.
* BuildSlaveSupport/ews-app/ews/thirdparty/BeautifulSoup.py: Added.
* BuildSlaveSupport/ews-app/ews/thirdparty/__init__.py: Added.
2018-11-28 Aakash Jain <aakash_jain@apple.com>
[ews-app] Add support to download Patch from Bugzilla
https://bugs.webkit.org/show_bug.cgi?id=191943
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/common/bugzilla.py: Added.
(Bugzilla.retrieve_attachment): Retreives the attachment from Bugzilla and saves to disk.
(Bugzilla._fetch_attachment_json):
(Bugzilla.file_path_for_patch):
* BuildSlaveSupport/ews-app/ews/common/util.py: Added.
(fetch_data_from_url): Method to fetch data from given url.
* BuildSlaveSupport/ews-app/ews/config.py:
2018-11-28 Aakash Jain <aakash_jain@apple.com>
[ews-app] Add methods to update Patch fields
https://bugs.webkit.org/show_bug.cgi?id=191931
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/models/patch.py:
(Patch.set_sent_to_buildbot):
(Patch.set_bug_id):
(Patch.set_obsolete):
2018-11-28 Yongjun Zhang <yongjun_zhang@apple.com>
Allow WebKit clients to specify a minimum effective width for layout.
https://bugs.webkit.org/show_bug.cgi?id=191499
<rdar://problem/45362678>
Reviewed by Wenson Hsieh.
Allow UIScriptController to set WKWebView's minimum effective width with a new `setMinimumEffectiveWidth` method.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setMinimumEffectiveWidth):
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::setViewScale):
(WTR::UIScriptController::setMinimumEffectiveWidth):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setMinimumEffectiveWidth):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/UIScriptControllerCocoa.mm:
(WTR::UIScriptController::setMinimumEffectiveWidth):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
2018-11-28 Lucas Forschler <lforschler@apple.com>
Fix webkitbot hi command.
https://bugs.webkit.org/show_bug.cgi?id=192080
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/tool/bot/irc_command.py:
(Hi.execute):
2018-11-28 Zalan Bujtas <zalan@apple.com>
[LFC][Quirk] Use non-collapsed vertical margin values when the container is stretched to the size of the ICB.
https://bugs.webkit.org/show_bug.cgi?id=192078
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-28 Zalan Bujtas <zalan@apple.com>
[LFC] Add support for quirk container's collapsing top margin in quirks mode.
https://bugs.webkit.org/show_bug.cgi?id=192070
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-28 Thibault Saunier <tsaunier@igalia.com>
[WebRTC][GStreamer] Make sure to have the default microphone on the top of the list
https://bugs.webkit.org/show_bug.cgi?id=192026
Reviewed by Philippe Normand.
Otherwise we might end up picking a useless one in some applications
(not sure what those application do though).
GStreamer patch proposed as https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/34/diffs
* flatpak/org.webkit.CommonModules.yaml:
* gstreamer/jhbuild.modules:
* gstreamer/patches/gst-plugins-good-0014-pulse-Mark-default-devices-as-default.patch: Added.
2018-11-28 Tomas Popela <tpopela@redhat.com>
[GTK] Silence compilation warnings in glib unittests
https://bugs.webkit.org/show_bug.cgi?id=192009
Reviewed by Michael Catanzaro.
Mark the destructor as virtual.
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::~Test):
2018-11-27 Mark Lam <mark.lam@apple.com>
ENABLE_FAST_JIT_PERMISSIONS should be false for iosmac.
https://bugs.webkit.org/show_bug.cgi?id=192055
<rdar://problem/46288783>
Reviewed by Saam Barati.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-11-27 Alex Christensen <achristensen@webkit.org>
Make synchronous IPC introduced in r237267 asynchronous
https://bugs.webkit.org/show_bug.cgi?id=190757
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-11-27 Jonathan Bedard <jbedard@apple.com>
webkitpy: Add watchOS ports
https://bugs.webkit.org/show_bug.cgi?id=191974
<rdar://problem/46251051>
Reviewed by Aakash Jain.
* Scripts/webkitpy/port/factory.py:
(PortFactory): Add WatchDevice and WatchSimulator ports.
* Scripts/webkitpy/port/watch.py: Added.
(WatchPort): Base class for watchOS ports.
* Scripts/webkitpy/port/watch_device.py: Added.
(WatchDevicePort): Class for running layout tests on a watchOS device.
* Scripts/webkitpy/port/watch_simulator.py: Added.
(WatchSimulatorPort): Class for running layout tests on a watchOS simulator.
* Scripts/webkitpy/port/watch_simulator_unittest.py: Added.
(WatchSimulatorTest):
* Scripts/webkitpy/port/watch_testcase.py: Added.
(WatchTest):
2018-11-27 Alex Christensen <achristensen@webkit.org>
Safe browsing warning text needs to be visible on High Sierra
https://bugs.webkit.org/show_bug.cgi?id=192022
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(TEST):
2018-11-27 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, fix the watchOS engineering build
Disable a newly added API test, since DDScannerResult is unavailable on watchOS.
* TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
2018-11-27 Chris Dumez <cdumez@apple.com>
Regression(PSON) crash under WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame()
https://bugs.webkit.org/show_bug.cgi?id=191983
<rdar://problem/46246863>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-11-27 Aakash Jain <aakash_jain@apple.com>
[ews-app] Add support to communicate with Buildbot (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=191935
<rdar://problem/46262314>
Unreviewed infrastructure fix.
* BuildSlaveSupport/ews-app/ews/common/buildbot.py:
(Buildbot.send_patch_to_buildbot):
2018-11-26 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] No way for clients to tell whether the content view is in the responder chain when the web view is
https://bugs.webkit.org/show_bug.cgi?id=169212
<rdar://problem/30899656>
Reviewed by Tim Horton.
Add an API test to exercise the behavior of `-_contentViewIsFirstResponder` when an embedded text input becomes
and resigns first responder.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFirstResponderTests.mm: Added.
(-[FirstResponderTestingView initWithFrame:]):
(-[FirstResponderTestingView inputField]):
(TestWebKitAPI::TEST):
2018-11-26 Fujii Hironori <Hironori.Fujii@sony.com>
[CMake] Remove ENABLE_ACCESSIBILITY CMake variable
https://bugs.webkit.org/show_bug.cgi?id=191831
Reviewed by Michael Catanzaro.
* WebKitTestRunner/CMakeLists.txt:
2018-11-26 Tim Horton <timothy_horton@apple.com>
Insert <attachment> elements under editable images to make their backing data accessible
https://bugs.webkit.org/show_bug.cgi?id=191844
<rdar://problem/30900149>
Reviewed by Simon Fraser.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::attachmentInfo):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::attachmentInfo):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::attachmentInfo):
Add a UIScriptController mechanism to retrieve information about
a given attachment.
2018-11-26 Aakash Jain <aakash_jain@apple.com>
[ews-app] Add support to communicate with Buildbot
https://bugs.webkit.org/show_bug.cgi?id=191935
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/common/__init__.py: Added.
* BuildSlaveSupport/ews-app/ews/common/buildbot.py: Added.
2018-11-26 Jonathan Bedard <jbedard@apple.com>
webkitpy: Race condition in ServerProcess tests
https://bugs.webkit.org/show_bug.cgi?id=191989
<rdar://problem/45536844>
Reviewed by Lucas Forschler.
Serializing these tests to prevent the race conditions.
* Scripts/webkitpy/port/server_process_unittest.py:
(TestServerProcess.serial_test_basic):
(TestServerProcess.serial_test_read_after_process_exits):
(TestServerProcess.serial_test_process_crashing):
(TestServerProcess.serial_test_process_crashing_no_data):
(TestServerProcess.test_basic): Deleted.
(TestServerProcess.test_read_after_process_exits): Deleted.
(TestServerProcess.test_process_crashing): Deleted.
(TestServerProcess.test_process_crashing_no_data): Deleted.
2018-11-26 Aakash Jain <aakash_jain@apple.com>
[ews-app] Add field in Patch object to indicate if it has been sent to Buildbot
https://bugs.webkit.org/show_bug.cgi?id=191929
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/models/patch.py:
(Patch): Added sent_to_buildbot field.
(Patch.is_patch_sent_to_buildbot): Checks if the patch has been sent to Buildbot.
2018-11-26 Aakash Jain <aakash_jain@apple.com>
[ews-app] Add a config file
https://bugs.webkit.org/show_bug.cgi?id=191933
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/config.py: Added.
2018-11-26 Aakash Jain <aakash_jain@apple.com>
[ews-app] Add methods to save patch to database
https://bugs.webkit.org/show_bug.cgi?id=191928
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/models/patch.py:
(Patch.save_patch): Method to save the patch to database.
(Patch.save_patches): Method to save multiple patches to database.
(Patch.is_valid_patch_id): Checks if the patch id is valid.
(Patch.is_existing_patch_id): Checks if the patch id already exists in database.
2018-11-26 Alex Christensen <achristensen@webkit.org>
Rename WKWebView._safeBrowsingWarningForTesting to _safeBrowsingWarning to use it for more than testing
https://bugs.webkit.org/show_bug.cgi?id=191981
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(TEST):
(safeBrowsingView):
2018-11-26 Daniel Bates <dabates@apple.com>
REGRESSION (r237738): Command Down Arrow doesn't scroll to the end of a page anymore
https://bugs.webkit.org/show_bug.cgi?id=191967
<rdar://problem/45976390>
Reviewed by Tim Horton.
Add more test infrastructure to dispatch key up events.
* WebKitTestRunner/ios/HIDEventGenerator.h:
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(createHIDKeyEvent): Renamed from createHIDKeyDownEvent() and modified to take a boolean as
to whether to create an event for a key down or key up.
(createHIDKeyDownEvent): Deleted; renamed to createHIDKeyEvent().
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::createUIPhysicalKeyboardEvent): Added. Convenience function to create a UIPhysicalKeyboardEvent.
(WTR::UIScriptController::keyDown): Modified to dispatch a key up event in addition to dispatching
a key down event.
2018-11-26 Aakash Jain <aakash_jain@apple.com>
[ews-app] Set Foreign Keys in EWS Django app models
https://bugs.webkit.org/show_bug.cgi?id=191790
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/models/builds.py: Set Foreign Key.
* BuildSlaveSupport/ews-app/ews/models/steps.py: Ditto.
2018-11-26 Aakash Jain <aakash_jain@apple.com>
[ews-app] Do not store patch content in database
https://bugs.webkit.org/show_bug.cgi?id=191788
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/models/patch.py: Removed content field.
2018-11-26 Jonathan Bedard <jbedard@apple.com>
webkitpy: Retry app installation on watchOS simulators (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=191769
<rdar://problem/46139850>
Unreviewed infrastructure fix.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice): Increase retry attempts.
2018-11-26 Daniel Bates <dabates@apple.com>
Move testRunner.toggleCapsLock() to uiController
https://bugs.webkit.org/show_bug.cgi?id=191972
Reviewed by Tim Horton.
Move testRunner.toggleCapsLock() to uiController as uiController is the preferred JavaScript
object for UI test functions. Having this functionality be on uiController makes it an
asynchronous function naturally and complements use of onkeydown, onkeyup listeners to know
when the Caps Lock key event is dispatched. It also facilitates its use directly as part of
scripts with other uiController functions invocations that are passed in a single invocation
of testRunner.runUIScript().
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::toggleCapsLock):
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::toggleCapsLock):
Added stub functions that invoke the callback. We do not support toggling caps lock in Legacy
WebKit at the moment. Legacy WebKit reads the caps lock key state directly from the OS. Modern
WebKit caches the caps lock state in the WebProcess as a natural side effect of the fact that
the UIProcess is the only process capable of querying the caps lock key state from the OS and
hence the UIProcess must send over this state to the WebProcess.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Add IDL for new function.
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::toggleCapsLock): Added empty implementation for ports non-Cocoa ports.
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::toggleCapsLock): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::toggleCapsLock): Deleted; moved to UIScriptController::toggleCapsLock().
Removed logic to handle testRunner.toggleCapsLock().
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::toggleCapsLock): Add stub function that invokes the callback
and a FIXME comment that explains that we will implement this function in <https://bugs.webkit.org/show_bug.cgi?id=191815>.
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::toggleCapsLock): Moved the implementation from TestController::toggleCapsLock().
2018-11-26 Brent Fulgham <bfulgham@apple.com>
[Win] Reduce the use of WKSI library calls: CoreAnimation
https://bugs.webkit.org/show_bug.cgi?id=191777
<rdar://problem/46140542>
Reviewed by Zalan Bujtas.
Update the Windows build of WebKit to refer to the SPI headers, rather than WebKitSystemInterface.
Move a small amount of glue code from WKSI to WebCore, and remove any includes or link
directives for WebKitSystemInterface.lib.
* TestWebKitAPI/PlatformWin.cmake:
2018-11-25 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Use float box's margin box to adjust the line constraints.
https://bugs.webkit.org/show_bug.cgi?id=191961
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-25 Zalan Bujtas <zalan@apple.com>
Unreviewed test fix after r238467.
* TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
(TestWebKitAPI::TEST):
2018-11-25 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, fix the internal iOS 12 build after r238471
* TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
(TEST):
2018-11-25 Tim Horton <timothy_horton@apple.com>
Make it possible to insert editable images with a gesture
https://bugs.webkit.org/show_bug.cgi?id=191937
Reviewed by Wenson Hsieh.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::drawSquareInEditableImage):
If the canvas already has a drawing, draw a new stroke on top of it
instead of removing the existing stroke.
2018-11-24 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] Add WKWebView SPI to trigger and remove data detection
https://bugs.webkit.org/show_bug.cgi?id=191918
<rdar://problem/36185051>
Reviewed by Tim Horton.
Add an API test to exercise the new WebKit SPI.
* TestWebKitAPI/DataDetectorsCoreSPI.h: Added.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
(-[WKWebView synchronouslyDetectDataWithTypes:]):
(-[WKWebView synchronouslyRemoveDataDetectedLinks]):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
(-[TestWKWebView tagsInBody]): Deleted.
(-[TestWKWebView expectElementTagsInOrder:]): Deleted.
(-[TestWKWebView expectElementCount:tagName:]): Deleted.
(-[TestWKWebView expectElementTag:toComeBefore:]): Deleted.
Rename this from `-expectElementCount:tagName:` to `-expectElementCount:querySelector:`.
* TestWebKitAPI/Tests/WebKitCocoa/data-detectors.html: Added.
Add a new test page containing some content that can be data detected.
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[WKWebView tagsInBody]):
(-[WKWebView expectElementTagsInOrder:]):
(-[WKWebView expectElementCount:querySelector:]):
(-[WKWebView expectElementTag:toComeBefore:]):
Move some testing helper functions from WKAttachmentTests to a testing category on WKWebView. This allows us to
use `-expectElementCount:querySelector:` in tests outside of WKAttachmentTests.
(-[WKWebView objectByEvaluatingJavaScript:]):
(-[WKWebView objectByEvaluatingJavaScriptWithUserGesture:]):
(-[WKWebView stringByEvaluatingJavaScript:]):
Move some common helper functions from TestWKWebView to a testing category on WKWebView.
(-[TestWKWebView objectByEvaluatingJavaScript:]): Deleted.
(-[TestWKWebView objectByEvaluatingJavaScriptWithUserGesture:]): Deleted.
(-[TestWKWebView stringByEvaluatingJavaScript:]): Deleted.
2018-11-23 Sam Weinig <sam@webkit.org>
Add raw pointer overloads to ListHashSet via SmartPtr specialized functions
https://bugs.webkit.org/show_bug.cgi?id=191936
Reviewed by Zalan Bujtas.
Adds tests for raw pointer overloads in ListHashSet.
* TestWebKitAPI/Tests/WTF/HashSet.cpp:
* TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
2018-11-23 Wenson Hsieh <wenson_hsieh@apple.com>
Enable drag and drop support for iOSMac
https://bugs.webkit.org/show_bug.cgi?id=191818
<rdar://problem/43907454>
Reviewed by Dean Jackson.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-11-23 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Add support for variable height runs.
https://bugs.webkit.org/show_bug.cgi?id=191925
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-23 Alberto Garcia <berto@igalia.com>
[GTK] [WPE] Tools/Platform{GTK,WPE}.cmake files missing from the tarballs
https://bugs.webkit.org/show_bug.cgi?id=191923
Add Tools/PlatformGTK.cmake and Tools/PlatformWPE.cmake to their
respective tarballs.
Reviewed by Carlos Garcia Campos.
* gtk/manifest.txt.in:
* wpe/manifest.txt.in:
2018-11-22 Chris Dumez <cdumez@apple.com>
Regression(r238353) Load sometimes hangs when navigating back after a cross-site navigation
https://bugs.webkit.org/show_bug.cgi?id=191914
Reviewed by Ryosuke Niwa.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-11-22 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Offset formatting context root runs with horizontal margins.
https://bugs.webkit.org/show_bug.cgi?id=191900
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-22 Philippe Normand <pnormand@igalia.com>
[GTK] Remove unmaintained bots
https://bugs.webkit.org/show_bug.cgi?id=191467
Reviewed by Alex Christensen.
The Linux 32-bits and ARM build-slaves are no longer maintained
and have been failing for months, so get rid of them.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2018-11-22 Thibault Saunier <tsaunier@igalia.com>
[Flatpak] Do not disable signals when running "usual" commands
https://bugs.webkit.org/show_bug.cgi?id=190679
Reviewed by Philippe Normand.
Otherwise <ctr>c doesn't work while compiling. It is not the best fix
as there are cases we want to let only children receive signals, but
it is not clear how to determine when (when running gdb, we still
disable those).
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
2018-11-21 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] [WebKit2] Add support for replacing find-in-page text matches
https://bugs.webkit.org/show_bug.cgi?id=191786
<rdar://problem/45813871>
Reviewed by Ryosuke Niwa.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController setFindBarView:]):
Fix a bug in MiniBrowser that prevents AppKit from displaying the "All" button in the find bar after checking
the "Replace" option.
* TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
Add an API test to exercise find-and-replace API using WKWebView.
(replaceMatches):
(TEST):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::findOptionsFromArray):
(WTR::TestRunner::findString):
(WTR::TestRunner::findStringMatchesInPage):
(WTR::TestRunner::replaceFindMatchesAtIndices):
Add TestRunner hooks to simulate find-in-page and replace.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2018-11-21 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Horizontal margins should be considered as non-breakable space
https://bugs.webkit.org/show_bug.cgi?id=191894
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-21 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Border should be considered as non-breakable space
https://bugs.webkit.org/show_bug.cgi?id=191891
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-21 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Take nonBreakableStart/End into use.
https://bugs.webkit.org/show_bug.cgi?id=191873
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-20 Jeff Miller <jeffm@apple.com>
Return nullptr immediately if the key doesn't exist in the HashMap.
https://bugs.webkit.org/show_bug.cgi?id=191841
Reviewed by Chris Dumez.
Add a test that would crash prior to the fix for this bug.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKNSDictionaryEmptyDictionaryCrash.mm: Added.
(TestWebKitAPI::TEST):
2018-11-19 Alex Christensen <achristensen@webkit.org>
Add SPI to disable JIT in a WKWebView
https://bugs.webkit.org/show_bug.cgi?id=191822
<rdar://problem/28119360>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/DisableJIT.mm: Added.
(TEST):
2018-11-19 Basuke Suzuki <basuke.suzuki@sony.com>
[Curl] Add API for CertificateInfo.
https://bugs.webkit.org/show_bug.cgi?id=191647
Reviewed by Alex Christensen.
Added test for new WKCertificateInfo API.
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/Tests/WebKit/curl/Certificates.cpp: Added.
(TestWebKitAPI::Curl::makeCertificateInfo):
(TestWebKitAPI::Curl::isSamePEM):
(TestWebKitAPI::Curl::TEST):
2018-11-19 Wenson Hsieh <wenson_hsieh@apple.com>
Unreviewed, fix the internal iOS debug build after r238380
UICalloutBar should only be declared when the public (non-internal) SDK is used to build WebKit; otherwise, we
end up with duplicate declarations of UICalloutBar.
* TestWebKitAPI/ios/UIKitSPI.h:
2018-11-19 David Quesada <david_quesada@apple.com>
EXC_BAD_ACCESS when invoking a DownloadProxy's destination decision handler after the download has been canceled
https://bugs.webkit.org/show_bug.cgi?id=191762
rdar://problem/46151509
Reviewed by Dean Jackson.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
Enable the Download API test on iOS, since the platform supports downloads. All the
tests pass already, except for one which was written using AppKit-specific code:
TEST(_WKDownload, RedirectedDownload):
Use a more platform-agnostic approach to starting the download in this API test.
Instead of manually triggering an NSMenu item to download a file from a link, the
test will simulate a user-initiated click on the link, and the navigation delegate
will direct the web view to start a download based on the link's navigation action.
Additionally, remove the manual creation of a new NSWindow. TestWKWebView makes its
own UI/NSWindow.
TEST(_WKDownload, DownloadCanceledWhileDecidingDestination):
Add an API test _WKDownload.DownloadCanceledWhileDecidingDestination to simulate the
conditions that would trigger this crash - handling a download's -decideDestination…
delegate call by canceling the download, waiting for the UI process to be notified
that the download has been canceled, and calling the decision handler. This should
not crash.
(-[CancelDownloadWhileDecidingDestinationDelegate _downloadDidFinish:]):
(-[CancelDownloadWhileDecidingDestinationDelegate _download:didFailWithError:]):
(-[CancelDownloadWhileDecidingDestinationDelegate _downloadDidCancel:]):
(-[CancelDownloadWhileDecidingDestinationDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
(-[UIDownloadAsFileTestDelegate _webView:contextMenu:forElement:]): Deleted.
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView objectByEvaluatingJavaScriptWithUserGesture:]):
Add a user-initated version of -objectByEvaluatingJavaScript:. This is needed in
order to maintain the behavior of the RedirectedDownload test, which verifies the
state of the _WKDownload.wasUserInitiated property.
2018-11-19 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS Debug] Assertion failure in NSComparisonResult UIContentSizeCategoryCompareToCategory()
https://bugs.webkit.org/show_bug.cgi?id=190401
<rdar://problem/45195285>
Reviewed by Dean Jackson.
Work around sporadic UIKit assertions when running API tests that may present a UICalloutBar. Currently, UIKit
asks for the `UIApp`’s `-preferredContentSizeCategory` when showing or laying out the callout bar. However,
TestWebKitAPI lacks a UIApp altogether, and forcing one to be initialized via `UIApplicationInstantiateSingleton`
causes numerous other UIKit and WebKit assertions to be hit.
In lieu of TestWebKitAPI becoming a real UI application (see https://webkit.org/b/175204), simply don't allow
the callout bar to be initialized in TestWKWebView-based API tests. This encompasses all API tests which
have some chance of causing the callout bar to be shown by making a ranged text selections during the test.
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(suppressUICalloutBar):
(-[TestWKWebView initWithFrame:configuration:addToWindow:]):
* TestWebKitAPI/ios/UIKitSPI.h:
2018-11-19 Fujii Hironori <Hironori.Fujii@sony.com>
REGRESSION(r238016)[GTK][TestWebKitAPI][Ninja] TestJSC can't compile "Bytecodes.h: No such file or directory"
https://bugs.webkit.org/show_bug.cgi?id=191692
Reviewed by Michael Catanzaro.
r238016 added a new #include, and requires JSC's derived headers
to be copied into the forwarding header directory.
WEBKIT_MAKE_FORWARDING_HEADERS is using POST_BUILD event to copy
derived headers to the forwarding header directory. This is done
after linking JSC library.
GTK port has TestJSC which has a dependency to JSC static library.
And, this dependency is a link time dependency which means
compiling source files of TestJSC starts before the POST_BUILD
event of JSC. Thus, required header can't be found.
Add an intermediate target between TestJSC and JavaScriptCore to
ensure derived headers are copied into the forwarding header
directory.
* TestWebKitAPI/PlatformGTK.cmake: Added a new custom target pre-TestJSC.
* TestWebKitAPI/PlatformWPE.cmake: Ditto.
2018-11-19 Alejandro G. Castro <alex@igalia.com>
[GTK][WPE] Solve some issues in the enumerateDevices code
https://bugs.webkit.org/show_bug.cgi?id=191832
Reviewed by Carlos Garcia Campos.
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(serverCallback): Make all the Strings with HTML code static.
(testWebsiteDataDeviceIdHashSalt): Change the webView settings in
the test.
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::initializeWebView): Remove the initialization of the
webView settings, we now do it in the specific test.
2018-11-18 Chris Dumez <cdumez@apple.com>
[PSON] Received an invalid message "WebPageProxy.DidPerformClientRedirect" from the web process
https://bugs.webkit.org/show_bug.cgi?id=191828
Reviewed by Antti Koivisto.
Add API test coverage.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/client-side-redirect.html: Added.
2018-11-17 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Remove all usages of UIItemProvider, UIItemProviderReading, and related classes
https://bugs.webkit.org/show_bug.cgi?id=191819
Reviewed by Dan Bernstein.
Replace UIItemProvider (and related classes) with NSItemProvider.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(platformCopyPNG):
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(-[NSItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
Replace usages of this deprecated method with `-registerDataRepresentationForTypeIdentifier:visibility:loadHandler:`.
(checkEstimatedSize):
(checkSuggestedNameAndEstimatedSize):
(TestWebKitAPI::TEST):
(-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]): Deleted.
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[MockDragDropSession canLoadObjectsOfClass:]):
(-[MockDragDropSession canLoadObjectsOfClasses:]):
(-[MockDropSession initWithProviders:location:window:allowMove:]):
(-[MockDropSession canCreateItemsOfClass:]):
(-[DragAndDropSimulator _advanceProgress]):
(-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
(-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
* TestWebKitAPI/ios/UIKitSPI.h:
2018-11-17 Chris Dumez <cdumez@apple.com>
ASSERTION FAILED: m_messageReceivers.contains(...) under ViewGestureController removeMessageReceiver
https://bugs.webkit.org/show_bug.cgi?id=191734
<rdar://problem/46151497>
Reviewed by Ryosuke Niwa.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-11-17 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] InlineFormattingState::addDetachingRule should accumulate rules.
https://bugs.webkit.org/show_bug.cgi?id=191801
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-17 Jer Noble <jer.noble@apple.com>
Regression(r233865): Causes synchronous IPC in the middle of layout
https://bugs.webkit.org/show_bug.cgi?id=188307
<rdar://problem/42807306>
Reviewed by Eric Carlson.
Follow-up test fix for r238322:
In ExitFullscreenOnEnterPiP.ElementFullScreen, explicitly make the video
element in element fullscreen the "main content" by playing the video during
a user gesture; only "main content" videos will cause fullscreen mode to exit
when that element is taken into PiP.
In FullscreenZoomInitialFrame.WebKit, the WebView is not visible, so the Page
is considered hidden, and fullscreen is not allowed when the WebView is hidden.
Make the WebView visible by ordering the test window on-screen.
* TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.html:
* TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:
(TestWebKitAPI::FullscreenZoomInitialFrame::runTest):
2018-11-16 Alex Christensen <achristensen@webkit.org>
Tweak _showSafeBrowsingWarningWithTitle SPI
https://bugs.webkit.org/show_bug.cgi?id=191799
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(TEST):
2018-11-16 Ryosuke Niwa <rniwa@webkit.org>
REGRESSION (r238294): TestWebKitAPI.WKNavigation.ProcessCrashDuringCallback failing on iOS
https://bugs.webkit.org/show_bug.cgi?id=191783
Reviewed by Chris Dumez.
Allow either WKErrorWebContentProcessTerminated or WKErrorWebViewInvalidated since the test
is closing WebView, thereby invalidating the view, which is racing with the process termination.
* TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
(TEST):
2018-11-16 Chris Dumez <cdumez@apple.com>
ProcessSwap.DisableForInspector API test is failing
https://bugs.webkit.org/show_bug.cgi?id=191798
Reviewed by Joseph Pecoraro.
We support process swapping when Web Inspector is shown now so update the
API test accordingly.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-11-16 Ryan Haddad <ryanhaddad@apple.com>
Update buildbot dashboard after Windows 7/10 updates
https://bugs.webkit.org/show_bug.cgi?id=191219
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform td.logo::before):
(table.queue-grid tr.platform.windows-10 td.logo::before):
(table.queue-grid tr.platform.wincairo-windows-10 td.logo::before):
(table.queue-grid tr.platform.windows-7 td.logo::before):
(table.queue-grid tr.platform.wincairo-windows-10 img.logo):
2018-11-16 Chris Dumez <cdumez@apple.com>
Regression(PSON) WebKit.GeolocationTransitionToHighAccuracy API test is timing out
https://bugs.webkit.org/show_bug.cgi?id=191789
Reviewed by Alex Christensen.
Relate the 2 test pages so they use the same process since WKContextSetMaximumNumberOfProcesses()
SPI no longer works with PSON / Process prewarming.
* TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
(TestWebKitAPI::TEST):
2018-11-16 Jonathan Bedard <jbedard@apple.com>
webkitpy: Retry app installation on watchOS simulators
https://bugs.webkit.org/show_bug.cgi?id=191769
<rdar://problem/46139850>
Reviewed by Aakash Jain.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.install_app): Retry app installations.
2018-11-16 Zalan Bujtas <zalan@apple.com>
Add DidFirstMeaningfulPaint milestone.
https://bugs.webkit.org/show_bug.cgi?id=191754
Reviewed by Simon Fraser.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/FirstMeaningfulPaintMilestone.cpp: Added.
(TestWebKitAPI::didReachMilestone):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/FirstMeaningfulPaintMilestone_Bundle.cpp: Copied from Source/WebKit/UIProcess/API/C/WKPageRenderingProgressEvents.h.
(TestWebKitAPI::FirstMeaningfulPaintMilestoneTest::FirstMeaningfulPaintMilestoneTest):
(TestWebKitAPI::FirstMeaningfulPaintMilestoneTest::didCreatePage):
2018-11-16 Takashi Komori <Takashi.Komori@sony.com>
[WinCairo][WebKitTestRunner] Test contents window is displayed while testing.
https://bugs.webkit.org/show_bug.cgi?id=191593
Reviewed by Alex Christensen.
Hide TestRunner window and taskbar button.
* WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::windowSnapshotImage):
2018-11-16 Alex Christensen <achristensen@webkit.org>
Add API to disable safe browsing checks
https://bugs.webkit.org/show_bug.cgi?id=191610
Reviewed by Dean Jackson.
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(resourceURL):
(TEST):
(safeBrowsingView):
(simpleURL): Deleted.
2018-11-16 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Add support for out-of-flow positioned boxes
https://bugs.webkit.org/show_bug.cgi?id=191726
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-15 Myles C. Maxfield <mmaxfield@apple.com>
WKPreferencesSetFontSmoothingLevel doesn't actually do anything
https://bugs.webkit.org/show_bug.cgi?id=191708
Reviewed by Simon Fraser.
Delete the symbol because no one calls it and it doesn't do anything
* TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
(TestWebKitAPI::TEST):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2018-11-15 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r238244.
Caused High Sierra test runs to fail early with 50 crashes and
casued 25 API failures.
Reverted changeset:
"[css-logical] Implement flow-relative margin, padding and
border shorthands"
https://bugs.webkit.org/show_bug.cgi?id=188697
https://trac.webkit.org/changeset/238244
2018-11-15 Aakash Jain <aakash_jain@apple.com>
Increase EWS lock timeout to 3 hours
https://bugs.webkit.org/show_bug.cgi?id=191705
Reviewed by Alexey Proskuryakov.
* QueueStatusServer/config/queues.py: Increased EWS lock timeout to 3 hours.
2018-11-15 Chris Dumez <cdumez@apple.com>
IndexedDB.IndexedDBTempFileSize API test times out with process prewarming enabled
https://bugs.webkit.org/show_bug.cgi?id=191671
<rdar://problem/46086062>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
2018-11-15 Oriol Brufau <obrufau@igalia.com>
[css-logical] Implement flow-relative margin, padding and border shorthands
https://bugs.webkit.org/show_bug.cgi?id=188697
Reviewed by Simon Fraser and Antti Koivisto.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
Allow tests to enable the CSSLogicalEnabled flag in WK1.
* Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.check_codegen_properties):
Allow CSS property definitions to have a 'runtime-flag' parameter which
disables the property when the specified runtime flag is disabled.
2018-11-15 Timothy Hatcher <timothy@apple.com>
REGRESSION (r238212): WebKit.BackgroundColor* API test failures.
https://bugs.webkit.org/show_bug.cgi?id=191697
rdar://problem/46098570
Reviewed by Dean Jackson.
* TestWebKitAPI/Tests/mac/BackgroundColor.mm:
(TestWebKitAPI::TEST): Updated for new default background color.
2018-11-15 Jonathan Bedard <jbedard@apple.com>
webkitpy: Check for specific process instead of using data migrator (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=191551
<rdar://problem/45993156>
Reviewed by Aakash Jain.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDevice.is_usable): Use software_variant instead of software_version for watchOS.
2018-11-15 Daniel Bates <dabates@apple.com>
[iOS] Shift + Tab does not focus previous field
https://bugs.webkit.org/show_bug.cgi?id=191596
<rdar://problem/45892053>
Reviewed by Wenson Hsieh.
Add infrastructure to support testing a key down event with modifiers by creating
and dispatching a UIEvent. This infrastructure replaces the previous mechanism in
Tools/WebKitTestRunner/ios/HIDEventGenerator.mm to generate a IOHIDEvent for a
keydown as it did not support creating an event with modifier key state that would
be recognized by UIKit.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::keyDown):
(WTR::UIScriptController::keyDownUsingHardwareKeyboard): Deleted.
(WTR::UIScriptController::keyUpUsingHardwareKeyboard): Deleted.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
Add function uiController.keyDown() that takes a character that represents a keyboard key
and an array of modifier keys. The behavior of this function is analogous to eventSender.keyDown().
Remove functions uiController.keyDownUsingHardwareKeyboard() and uiController.keyUpUsingHardwareKeyboard()
as the former is replaced by uiController.keyDown() and the latter was never used.
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::keyDown): Added.
(WTR::UIScriptController::keyUpUsingHardwareKeyboard): Deleted.
(WTR::UIScriptController::keyDownUsingHardwareKeyboard): Deleted.
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/HIDEventGenerator.h:
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(createHIDKeyDownEvent): Added.
(-[HIDEventGenerator keyDown:completionBlock:]): Deleted.
(-[HIDEventGenerator keyUp:completionBlock:]): Deleted.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::arrayLength): Added.
(WTR::parseModifier): Added.
(WTR::parseModifierArray): Added.
(WTR::UIScriptController::keyDown):
(WTR::UIScriptController::keyDownUsingHardwareKeyboard): Deleted.
(WTR::UIScriptController::keyUpUsingHardwareKeyboard): Deleted.
2018-11-15 Keith Rollin <krollin@apple.com>
Delete old .xcfilelist files
https://bugs.webkit.org/show_bug.cgi?id=191669
<rdar://problem/46081994>
Reviewed by Chris Dumez.
.xcfilelist files were created and added to the Xcode project files in
https://trac.webkit.org/changeset/238008/webkit. However, they caused
build issues and they were removed from the Xcode projects in
https://trac.webkit.org/changeset/238055/webkit. This check-in removes
the files from the repository altogether. They'll ultimately be
replaced with new files with names that indicate whether the
associated files are inputs to the Run Script phase or are files
created by the Run Script phase.
* DumpRenderTree/DerivedSources.xcfilelist: Removed.
* WebKitTestRunner/DerivedSources.xcfilelist: Removed.
2018-11-14 Zalan Butjas <zalan@apple.com>
[LFC][IFC] Add support for in-flow positioned inline boxes.
https://bugs.webkit.org/show_bug.cgi?id=191672
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-14 Keith Rollin <krollin@apple.com>
Move scripts for Derived and Unified Sources to external files
https://bugs.webkit.org/show_bug.cgi?id=191670
<rdar://problem/46082278>
Reviewed by Keith Miller.
Move the scripts in the Generate Derived Sources and Generate Unified
Sources Run Script phases from the Xcode projects to external shell
script files. Then invoke those scripts from the Run Script phases.
This refactoring is being performed to support later work that will
invoke these scripts in other contexts.
The scripts were maintained as-is when making the move. I did a little
reformatting and added 'set -e' to the top of each file, but that's
it.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/Scripts/generate-derived-sources.sh: Added.
* WebKitTestRunner/Scripts/generate-derived-sources.sh: Added.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2018-11-14 Chris Dumez <cdumez@apple.com>
WebKit.DecidePolicyForNavigationActionForHyperlinkThatRedirects API fails when PSON is enabled
https://bugs.webkit.org/show_bug.cgi?id=191640
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
(runDecidePolicyForNavigationActionForHyperlinkThatRedirects):
(TEST):
2018-11-14 Chris Dumez <cdumez@apple.com>
REGRESSION (r238115): [iOS] TestWebKitAPI.ProcessSwap.NavigateToInvalidURL is failing
https://bugs.webkit.org/show_bug.cgi?id=191660
Reviewed by Ryosuke Niwa.
The test tries to navigate to an invalid URL and makes sure that we do not process swap
for such load. The test was inherently racing because it was doing:
<body onload="setTimeout(() => alert('DONE'), 0); location.href = 'http://A=a%B=b'">
Its load event handler tries to navigate to 'http://A=a%B=b' and sets a 0 timer to
log an alert, which causes the API test to keep going and check that we did not swap
process. The issue is that a 0 timer may not be sufficient to trigger the load, as
the policy decision is asynchronous and relies on the UIProcess responding to it.
To address the issue, the test now waits for the next policy decision, spins the
run loop and then makes sure we did not swap process. It no longer relies on a message
from the page.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
2018-11-14 Chris Dumez <cdumez@apple.com>
WebKit.WebsiteDataStoreCustomPaths API test is failing when enabling process prewarming
https://bugs.webkit.org/show_bug.cgi?id=191638
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(runWebsiteDataStoreCustomPaths):
(TEST):
2018-11-14 Alex Christensen <achristensen@webkit.org>
Add SPI to show a safe browsing warning
https://bugs.webkit.org/show_bug.cgi?id=191604
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(TEST):
2018-11-14 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] A few drag and drop tests are crashing after r238146
https://bugs.webkit.org/show_bug.cgi?id=191617
Reviewed by Dean Jackson.
Augment these crashing tests to verify that selection commands are suppressed during drop over editable elements
via more robust means. These tests currently hit an assertion when revealing the callout bar too early, because
TestWebKitAPI is not a UI application (see <https://webkit.org/b/190401>).
Instead of relying on this other bug, directly ask the text input whether it is suppressing selection commands
during a drop, and remember the answer via DragAndDropSimulator.
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::TEST):
Add to the existing tests that started failing after r238146.
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView textInputContentView]):
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
(-[DragAndDropSimulator _resetSimulatedState]):
(-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
* TestWebKitAPI/ios/UIKitSPI.h:
2018-11-14 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] [WebKit2] Hook up some more editing actions (-pasteAndMatchStyle:, -makeTextWritingDirectionNatural:)
https://bugs.webkit.org/show_bug.cgi?id=191605
<rdar://problem/45813991>
Reviewed by Dean Jackson.
Adds two new API tests to exercise -_pasteAndMatchStyle: and -makeTextWritingDirectionNatural:.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
Pull `-_synchronouslyExecuteEditCommand:argument:` out of WKAttachmentTests and into shared code, in a new
category on WKWebView declared in TestWKWebView. Also, fix an unrelated typo in a nearby category.
(-[WKWebView _synchronouslyExecuteEditCommand:argument:]):
* TestWebKitAPI/ios/UIKitSPI.h:
2018-11-14 Chris Dumez <cdumez@apple.com>
WebKit.ApplicationManifestBasic API test is failing when enabling PSON
https://bugs.webkit.org/show_bug.cgi?id=191602
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-11-14 Jonathan Bedard <jbedard@apple.com>
webkitpy: Refactor port code for devices
https://bugs.webkit.org/show_bug.cgi?id=191568
<rdar://problem/46005821>
Reviewed by Alex Christensen.
watchOS and iOS device ports share many characteristics in testing, mostly due
to the fact that both are devices.
* Scripts/webkitpy/port/device_port.py: Added.
(DevicePort): Add base class that all simulated/physical device ports share.
(DevicePort.__init__):
(DevicePort.driver_cmd_line_for_logging): Moved from iOS port.
(DevicePort._generate_all_test_configurations): Ditto.
(DevicePort.child_processes): Ditto.
(DevicePort.driver_name): Ditto.
(DevicePort.target_host): Generalize worker access to attached devices and
simulated devices based on the device manager.
(DevicePort.devices): Return a list of all devices associated with this port.
(DevicePort._create_devices):
(DevicePort._build_driver_flags): Moved from iOSSimulatorPort/iOSDevicePort.
(DevicePort._install): Moved from iOS port.
(DevicePort.setup_test_run): Ditto.
(DevicePort.clean_up_test_run): Ditto.
(DevicePort.did_spawn_worker): Ditto.
(DevicePort.setup_environ_for_server): Ditto.
* Scripts/webkitpy/port/ios.py:
(IOSPort):
(IOSPort._device_for_worker_number_map): Replaced by DevicePort.devices().
(IOSPort.driver_cmd_line_for_logging): Moved to DevicePort.
(IOSPort.driver_name): Ditto.
(IOSPort._generate_all_test_configurations): Ditto.
(IOSPort.child_processes): Ditto.
(IOSPort._testing_device): Ditto.
(IOSPort.target_host): Ditto.
(IOSPort._create_devices): Ditto.
(IOSPort.setup_test_run): Ditto.
(IOSPort.clean_up_test_run): Ditto.
(IOSPort.did_spawn_worker): Ditto.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort): IOSDevicePort uses a device manager from apple_additions.
(IOSDevicePort._look_for_all_crash_logs_in_log_dir): Use DevicePort.devices().
(IOSDevicePort._get_crash_log): Ditto.
(IOSDevicePort.ios_version): Ditto.
(IOSDevicePort._create_devices): Ditto.
(IOSDevicePort._device_for_worker_number_map): Replaced by DevicePort.devices().
(IOSSimulatorPort._build_driver_flags): Moved to DevicePort.
* Scripts/webkitpy/port/ios_device_unittest.py:
(IOSDeviceTest.test_get_crash_log):
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort): IOSSimulatorPort uses the SimulatedDeviceManager.
(IOSSimulatorPort._create_devices): Clean up logging statement.
(IOSSimulatorPort.setup_environ_for_server): Some of environment set-up is shared
across all devices.
(IOSSimulatorPort._device_for_worker_number_map): Replaced by DevicePort.devices().
(IOSSimulatorPort._build_driver_flags): Moved to DevicePort.
* Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest.test_32bit):
(IOSSimulatorTest.test_64bit):
2018-11-14 Chris Dumez <cdumez@apple.com>
WebKit.WKHTTPCookieStoreWithoutProcessPool API test is failing with process prewarming is enabled
https://bugs.webkit.org/show_bug.cgi?id=191624
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(runWKHTTPCookieStoreWithoutProcessPool):
(TEST):
2018-11-13 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Support CTAP HID authenticators on macOS
https://bugs.webkit.org/show_bug.cgi?id=188623
<rdar://problem/43353777>
Reviewed by Brent Fulgham and Chris Dumez.
This patch adds support for the mock testing and entitlements to allow minibrowser to talk
to hid devices.
* MiniBrowser/MiniBrowser.entitlements:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebAuthenticationMockConfiguration):
2018-11-13 Ryosuke Niwa <rniwa@webkit.org>
WebKit.GeolocationTransitionToLowAccuracy API crashes when enabling PSON
https://bugs.webkit.org/show_bug.cgi?id=191616
Reviewed by Chris Dumez.
The crash was caused by WKView in autorelease pool invoking stopUpdatingCallback after
GeolocationTransitionToLowAccuracyStateTracker in the stack had been destroyed,
resulting in the use-after-free.
Made the tests more robust by clearing geolocation provider before exiting each test
since we can't really prevent WKView from entering an autorelease pool.
Also made WebKit.GeolocationTransitionToLowAccuracy wait for the success callback
instead of simply the end of the navigation so that the test would continue to work
even if a web content process was created for the second web view (lowAccuracyWebView)
* TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
(TestWebKitAPI::setupGeolocationProvider): Moved "*" to match the WebKit coding style guideline.
(TestWebKitAPI::clearGeolocationProvider): Added.
(TestWebKitAPI::runJavaScriptAlert): Added.
(TestWebKitAPI::didFinishNavigation): Deleted.
* TestWebKitAPI/Tests/WebKit/geolocationWatchPosition.html:
2018-11-13 Chris Dumez <cdumez@apple.com>
WKProcessPool.InitialWarmedProcessUsed API is failing with PSON enabled
https://bugs.webkit.org/show_bug.cgi?id=191618
Reviewed by Ryosuke Niwa.
Update API test to explicitly disable automatic process prewarning since it is testing
manual prewarming.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm:
(TEST):
2018-11-13 Chris Dumez <cdumez@apple.com>
Several Service Worker API tests are failing when enabling PSON
https://bugs.webkit.org/show_bug.cgi?id=191619
Reviewed by Youenn Fablet.
Update tests to use _webProcessCountIgnoringPrewarmed instead of _webProcessCount so that they are
not impacted by process prewarming.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2018-11-13 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Do not show selection UI for editable elements with opacity near zero
https://bugs.webkit.org/show_bug.cgi?id=191442
<rdar://problem/45958625>
Reviewed by Simon Fraser.
Add a couple of new testing helpers to UIScriptController.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::textSelectionRangeRects const):
(WTR::UIScriptController::selectionCaretViewRect const):
(WTR::UIScriptController::selectionRangeViewRects const):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::textSelectionRangeRects const):
Rename `selectionRangeViewRects` to `textSelectionRangeRects`. This allows us to draw a distinction between
`textSelectionRangeRects`/`textSelectionCaretRect`, which retrieve information about selection rects known
to the text interaction assistant, and `selectionCaretViewRect`/`selectionRangeViewRects`, which retrieve the
actual frames of the selection views used to draw overlaid selection UI. This difference is important in the
new layout tests added in this patch, which only suppress caret rendering (i.e. selection views remain hidden).
Also, drive-by fix a leaked `NSMutableArray`.
(WTR::UIScriptController::selectionStartGrabberViewRect const):
(WTR::UIScriptController::selectionEndGrabberViewRect const):
(WTR::UIScriptController::selectionCaretViewRect const):
(WTR::UIScriptController::selectionRangeViewRects const):
Testing helpers to grab the frames of caret and selection views, in WKContentView's coordinate space. These
rects are also clamped to WKContentView bounds.
2018-11-13 Daniel Bates <dabates@apple.com>
Consolidate WebKit UIKitSPI.h and UIKitTestSPI.h
https://bugs.webkit.org/show_bug.cgi?id=173341
<rdar://problem/32752890>
Reviewed by Simon Fraser.
There is little value to making a distinction between forward declarations
of UIKit SPI needed in the WebKit layer and just for testing. Moreover,
the contents of these two headers can conflict with each other following
r218275 as DumpRenderTree includes both headers. Instead we should remove
UIKitTestSPI.h and have WebKitTestRunner include the WebKit variant, UIKitSPI.h.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/mac/DumpRenderTree.mm:
* TestRunnerShared/spi/UIKitTestSPI.h: Removed.
* WebKitTestRunner/Configurations/Base.xcconfig:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
* WebKitTestRunner/ios/GeneratedTouchesDebugWindow.mm:
* WebKitTestRunner/ios/HIDEventGenerator.h:
* WebKitTestRunner/ios/HIDEventGenerator.mm:
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
* WebKitTestRunner/ios/TestControllerIOS.mm:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
* WebKitTestRunner/ios/mainIOS.mm:
2018-11-13 Takashi Komori <Takashi.Komori@sony.com>
Remove WebKitTestRunnerLib's build warnings.
https://bugs.webkit.org/show_bug.cgi?id=191580
Reviewed by Fujii Hironori.
Include cmakeconfig.h in precompiled header.
* WebKitTestRunner/WebKitTestRunnerPrefix.h:
2018-11-12 Darshan Kadu <darsh7807@gmail.com>
Implement Cache API support for WPE/GTK
https://bugs.webkit.org/show_bug.cgi?id=178316
Reviewed by Michael Catanzaro.
Called WKWebsiteDataStoreSetCacheStoragePerOriginQuota function to set the cache limit to 400 * 1200
on all the platforms in TestController.cpp. Also, removed the setCacheStoragePerOriginQuota call from TestControllerCocoa.mm
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
2018-11-12 Christopher Reid <chris.reid@sony.com>
[Curl] Reject entire cookie if the domain fails a tailmatch.
https://bugs.webkit.org/show_bug.cgi?id=191406
Reviewed by Youenn Fablet.
Added unittests for Curl cookie implementation.
* TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp:
(TestWebKitAPI::Curl::CurlCookies::RejectTailmatchFailureDomain):
2018-11-12 Alex Christensen <achristensen@webkit.org>
[iOS] Implement safe browsing in WebKit
https://bugs.webkit.org/show_bug.cgi?id=191441
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(checkTitleAndClick):
(TEST):
2018-11-12 Basuke Suzuki <basuke.suzuki@sony.com>
[Curl] Add API Test for Curl cookie backend.
https://bugs.webkit.org/show_bug.cgi?id=191493
Reviewed by Youenn Fablet.
Add unit test to TestWebCore.
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp: Added.
2018-11-12 Tim Horton <timothy_horton@apple.com>
Make it possible to edit images inline
https://bugs.webkit.org/show_bug.cgi?id=191352
<rdar://problem/30107985>
Reviewed by Dean Jackson.
* WebKitTestRunner/TestController.cpp:
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
Add a test option to enable editable images.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::drawSquareInEditableImage):
(WTR::UIScriptController::numberOfStrokesInEditableImage):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::drawSquareInEditableImage):
(WTR::UIScriptController::numberOfStrokesInEditableImage):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* TestRunnerShared/spi/PencilKitTestSPI.h: Added.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::findEditableImageCanvas):
(WTR::UIScriptController::drawSquareInEditableImage):
(WTR::UIScriptController::numberOfStrokesInEditableImage):
Add the ability to draw on a PKCanvasView that is a subview of the WKWebView,
and also to retrieve the number of strokes currently on the PKCanvasView.
Currently this just takes the first canvas; we might need to make it
take an identifier or something in the future if we need tests with multiple
canvases. The indirect testing mechanism is required because PKCanvasView
can currently not actually paint its strokes in the Simulator.
2018-11-12 Ryan Haddad <ryanhaddad@apple.com>
[MediaStream] Screen capture should be an experimental feature on OSX only
https://bugs.webkit.org/show_bug.cgi?id=191552
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm: Only run these tests on macOS.
2018-11-12 Don Olmstead <don.olmstead@sony.com>
Shipped PNGs include bad profiles: iCCP: known incorrect sRGB profile
https://bugs.webkit.org/show_bug.cgi?id=189230
<rdar://problem/44050379>
Reviewed by Joseph Pecoraro.
Runs all png images through zopflipng. This results in a smaller file
size and takes care of this issue as a byproduct.
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/images/favicon-green.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/images/favicon-red.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/ElCapitan.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/ElCapitan@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/GTK.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/GTK@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10Simulator.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10Simulator@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11Simulator.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11Simulator@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9Simulator.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9Simulator@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSSimulator.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSSimulator@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mavericks.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mavericks@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/MountainLion.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/MountainLion@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/PlatformRing.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/PlatformRing@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WPE.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WPE@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows7.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows7@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows8.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows8@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WindowsXP.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WindowsXP@2x.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Yosemite.png:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Yosemite@2x.png:
2018-11-12 Tim Horton <timothy_horton@apple.com>
Modernize WebKit Tools Xcode projects for localization's sake
https://bugs.webkit.org/show_bug.cgi?id=191495
Reviewed by Alexey Proskuryakov.
* ContentExtensionTester/ContentExtensionTester.xcodeproj/project.pbxproj:
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* EditingHistory/EditingHistory.xcodeproj/project.pbxproj:
* FontWithFeatures/FontWithFeatures.xcodeproj/project.pbxproj:
* ImageDiff/ImageDiff.xcodeproj/project.pbxproj:
* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
* MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj:
* WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
These are less important because they're not localized, but since
I made the style checker complain, it now complains any time anyone
touches any of these projects... so upgrade them.
2018-11-12 Jonathan Bedard <jbedard@apple.com>
webkitpy: Check for specific process instead of using data migrator
https://bugs.webkit.org/show_bug.cgi?id=191551
<rdar://problem/45993156>
Rubber-stamped by Aakash Jain.
It's possible for the data migrator process to be stuck, but for a simulator to be
usable. Use device-specific processes to detect when a device is usable.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._wait_until_device_is_usable):
(SimulatedDeviceManager):
(SimulatedDeviceManager.initialize_devices): Explicitly wait until a device is usable
since this implies that a device is booted.
(SimulatedDeviceManager.swap): Ditto.
(SimulatedDevice.is_usable): Check that a device is booted and that a device-specific
process indicating the device is usable can be found.
(SimulatedDeviceManager.wait_until_data_migration_is_done): Deleted.
* Scripts/webkitpy/xcode/simulated_device_unittest.py: Update simctl_json so that
it triggers the logic in is_usable()
2018-11-12 Takashi Komori <Takashi.Komori@sony.com>
Resurrect WebKitTestRunner for Windows port
https://bugs.webkit.org/show_bug.cgi?id=189257
Reviewed by Fujii Hironori.
Implement WebKitTestRunner for WinCairo.
* PlatformWin.cmake:
* Scripts/build-webkittestrunner:
* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::rangeToStr):
(WTR::InjectedBundlePage::dumpDOMAsWebArchive):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::TestRunner):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/InjectedBundle/win/AccessibilityControllerWin.cpp: Added.
(WTR::AccessibilityController::resetToConsistentState):
(WTR::AccessibilityController::accessibleElementById):
(WTR::AccessibilityController::platformName):
(WTR::AccessibilityController::rootElement):
(WTR::AccessibilityController::focusedElement):
(WTR::AccessibilityController::addNotificationListener):
(WTR::AccessibilityController::removeNotificationListener):
* WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp: Added.
(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::AccessibilityUIElement::~AccessibilityUIElement):
(WTR::AccessibilityUIElement::isEqual):
(WTR::AccessibilityUIElement::getChildren):
(WTR::AccessibilityUIElement::getChildrenWithRange):
(WTR::AccessibilityUIElement::childrenCount):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::childAtIndex):
(WTR::AccessibilityUIElement::linkedUIElementAtIndex):
(WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
(WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
(WTR::AccessibilityUIElement::ariaControlsElementAtIndex):
(WTR::AccessibilityUIElement::disclosedRowAtIndex):
(WTR::AccessibilityUIElement::rowAtIndex):
(WTR::AccessibilityUIElement::selectedChildAtIndex const):
(WTR::AccessibilityUIElement::selectedChildrenCount const):
(WTR::AccessibilityUIElement::selectedRowAtIndex):
(WTR::AccessibilityUIElement::titleUIElement):
(WTR::AccessibilityUIElement::parentElement):
(WTR::AccessibilityUIElement::disclosedByRow):
(WTR::AccessibilityUIElement::attributesOfLinkedUIElements):
(WTR::AccessibilityUIElement::attributesOfDocumentLinks):
(WTR::AccessibilityUIElement::attributesOfChildren):
(WTR::AccessibilityUIElement::allAttributes):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::numberAttributeValue):
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue const):
(WTR::AccessibilityUIElement::rowHeaders const):
(WTR::AccessibilityUIElement::columnHeaders const):
(WTR::AccessibilityUIElement::uiElementAttributeValue const):
(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSettable):
(WTR::AccessibilityUIElement::isAttributeSupported):
(WTR::AccessibilityUIElement::parameterizedAttributeNames):
(WTR::AccessibilityUIElement::role):
(WTR::AccessibilityUIElement::subrole):
(WTR::AccessibilityUIElement::roleDescription):
(WTR::AccessibilityUIElement::computedRoleString):
(WTR::AccessibilityUIElement::title):
(WTR::AccessibilityUIElement::description):
(WTR::AccessibilityUIElement::orientation const):
(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::helpText const):
(WTR::AccessibilityUIElement::x):
(WTR::AccessibilityUIElement::y):
(WTR::AccessibilityUIElement::width):
(WTR::AccessibilityUIElement::height):
(WTR::AccessibilityUIElement::clickPointX):
(WTR::AccessibilityUIElement::clickPointY):
(WTR::AccessibilityUIElement::intValue const):
(WTR::AccessibilityUIElement::minValue):
(WTR::AccessibilityUIElement::maxValue):
(WTR::AccessibilityUIElement::valueDescription):
(WTR::AccessibilityUIElement::insertionPointLineNumber):
(WTR::AccessibilityUIElement::isPressActionSupported):
(WTR::AccessibilityUIElement::isIncrementActionSupported):
(WTR::AccessibilityUIElement::isDecrementActionSupported):
(WTR::AccessibilityUIElement::isEnabled):
(WTR::AccessibilityUIElement::isRequired const):
(WTR::AccessibilityUIElement::isFocused const):
(WTR::AccessibilityUIElement::isSelected const):
(WTR::AccessibilityUIElement::isSelectedOptionActive const):
(WTR::AccessibilityUIElement::isExpanded const):
(WTR::AccessibilityUIElement::isChecked const):
(WTR::AccessibilityUIElement::isIndeterminate const):
(WTR::AccessibilityUIElement::hierarchicalLevel const):
(WTR::AccessibilityUIElement::speakAs):
(WTR::AccessibilityUIElement::ariaIsGrabbed const):
(WTR::AccessibilityUIElement::ariaDropEffects const):
(WTR::AccessibilityUIElement::lineForIndex):
(WTR::AccessibilityUIElement::rangeForLine):
(WTR::AccessibilityUIElement::rangeForPosition):
(WTR::AccessibilityUIElement::boundsForRange):
(WTR::AccessibilityUIElement::stringForRange):
(WTR::AccessibilityUIElement::attributedStringForRange):
(WTR::AccessibilityUIElement::attributedStringRangeIsMisspelled):
(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):
(WTR::AccessibilityUIElement::selectTextWithCriteria):
(WTR::AccessibilityUIElement::attributesOfColumnHeaders):
(WTR::AccessibilityUIElement::attributesOfRowHeaders):
(WTR::AccessibilityUIElement::attributesOfColumns):
(WTR::AccessibilityUIElement::attributesOfRows):
(WTR::AccessibilityUIElement::attributesOfVisibleCells):
(WTR::AccessibilityUIElement::attributesOfHeader):
(WTR::AccessibilityUIElement::rowCount):
(WTR::AccessibilityUIElement::columnCount):
(WTR::AccessibilityUIElement::indexInTable):
(WTR::AccessibilityUIElement::rowIndexRange):
(WTR::AccessibilityUIElement::columnIndexRange):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::horizontalScrollbar const):
(WTR::AccessibilityUIElement::verticalScrollbar const):
(WTR::AccessibilityUIElement::selectedTextRange):
(WTR::AccessibilityUIElement::setSelectedTextRange):
(WTR::AccessibilityUIElement::increment):
(WTR::AccessibilityUIElement::decrement):
(WTR::AccessibilityUIElement::showMenu):
(WTR::AccessibilityUIElement::press):
(WTR::AccessibilityUIElement::setSelectedChild const):
(WTR::AccessibilityUIElement::setSelectedChildAtIndex const):
(WTR::AccessibilityUIElement::removeSelectionAtIndex const):
(WTR::AccessibilityUIElement::clearSelectedChildren const):
(WTR::AccessibilityUIElement::accessibilityValue const):
(WTR::AccessibilityUIElement::documentEncoding):
(WTR::AccessibilityUIElement::documentURI):
(WTR::AccessibilityUIElement::url):
(WTR::AccessibilityUIElement::addNotificationListener):
(WTR::AccessibilityUIElement::removeNotificationListener):
(WTR::AccessibilityUIElement::isFocusable const):
(WTR::AccessibilityUIElement::isSelectable const):
(WTR::AccessibilityUIElement::isMultiSelectable const):
(WTR::AccessibilityUIElement::isVisible const):
(WTR::AccessibilityUIElement::isOffScreen const):
(WTR::AccessibilityUIElement::isCollapsed const):
(WTR::AccessibilityUIElement::isIgnored const):
(WTR::AccessibilityUIElement::isSingleLine const):
(WTR::AccessibilityUIElement::isMultiLine const):
(WTR::AccessibilityUIElement::hasPopup const):
(WTR::AccessibilityUIElement::takeFocus):
(WTR::AccessibilityUIElement::takeSelection):
(WTR::AccessibilityUIElement::addSelection):
(WTR::AccessibilityUIElement::removeSelection):
(WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElement::textMarkerRangeForElement):
(WTR::AccessibilityUIElement::textMarkerRangeLength):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::stringForTextMarkerRange):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElement::endTextMarkerForBounds):
(WTR::AccessibilityUIElement::startTextMarkerForBounds):
(WTR::AccessibilityUIElement::textMarkerForPoint):
(WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute):
(WTR::AccessibilityUIElement::indexForTextMarker):
(WTR::AccessibilityUIElement::isTextMarkerValid):
(WTR::AccessibilityUIElement::textMarkerForIndex):
(WTR::AccessibilityUIElement::startTextMarker):
(WTR::AccessibilityUIElement::endTextMarker):
(WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
(WTR::AccessibilityUIElement::scrollToMakeVisible):
(WTR::AccessibilityUIElement::scrollToGlobalPoint):
(WTR::AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(WTR::AccessibilityUIElement::supportedActions const):
(WTR::AccessibilityUIElement::pathDescription const):
(WTR::AccessibilityUIElement::mathPostscriptsDescription const):
(WTR::AccessibilityUIElement::mathPrescriptsDescription const):
(WTR::AccessibilityUIElement::classList const):
(WTR::AccessibilityUIElement::characterAtOffset):
(WTR::AccessibilityUIElement::wordAtOffset):
(WTR::AccessibilityUIElement::lineAtOffset):
(WTR::AccessibilityUIElement::sentenceAtOffset):
* WebKitTestRunner/InjectedBundle/win/ActivateFontsWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp.
(WTR::activateFonts):
(WTR::installFakeHelvetica):
(WTR::uninstallFakeHelvetica):
* WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp.
(WTR::InjectedBundle::platformInitialize):
* WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.cpp: Added.
* WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.h: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp.
* WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp.
(WTR::TestRunner::pathToLocalResource):
(WTR::TestRunner::inspectorTestStubURL):
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::TestRunner::platformInitialize):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
(WTR::TestRunner::installFakeHelvetica):
* WebKitTestRunner/PlatformWebView.h:
* WebKitTestRunner/PlatformWin.cmake: Added.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::createTestURL):
* WebKitTestRunner/TestInvocation.cpp:
* WebKitTestRunner/WebKitTestRunnerPrefix.h:
* WebKitTestRunner/win/EventSenderProxyWin.cpp: Added.
(WTR::EventSenderProxy::EventSenderProxy):
(WTR::EventSenderProxy::~EventSenderProxy):
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):
(WTR::EventSenderProxy::mouseScrollBy):
(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):
(WTR::EventSenderProxy::continuousMouseScrollBy):
(WTR::EventSenderProxy::leapForward):
(WTR::EventSenderProxy::keyDown):
* WebKitTestRunner/win/PlatformWebViewWin.cpp: Added.
(WTR::registerWindowClass):
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::~PlatformWebView):
(WTR::PlatformWebView::resizeTo):
(WTR::PlatformWebView::page):
(WTR::PlatformWebView::focus):
(WTR::PlatformWebView::windowFrame):
(WTR::PlatformWebView::setWindowFrame):
(WTR::PlatformWebView::didInitializeClients):
(WTR::PlatformWebView::addChromeInputField):
(WTR::PlatformWebView::removeChromeInputField):
(WTR::PlatformWebView::addToWindow):
(WTR::PlatformWebView::removeFromWindow):
(WTR::PlatformWebView::setWindowIsKey):
(WTR::PlatformWebView::makeWebViewFirstResponder):
(WTR::generateCairoSurfaceFromBitmap):
(WTR::PlatformWebView::windowSnapshotImage):
(WTR::PlatformWebView::changeWindowScaleIfNeeded):
(WTR::PlatformWebView::setNavigationGesturesEnabled):
(WTR::PlatformWebView::forceWindowFramesChanged):
(WTR::PlatformWebView::drawsBackground const):
(WTR::PlatformWebView::setDrawsBackground):
* WebKitTestRunner/win/TestControllerWin.cpp: Added.
(WTR::exceptionFilter):
(WTR::runRunLoopUntil):
(WTR::TestController::notifyDone):
(WTR::TestController::setHidden):
(WTR::TestController::platformInitialize):
(WTR::TestController::platformPreferences):
(WTR::TestController::platformDestroy):
(WTR::toWK):
(WTR::TestController::platformInitializeContext):
(WTR::TestController::platformRunUntil):
(WTR::TestController::platformDidCommitLoadForFrame):
(WTR::TestController::initializeInjectedBundlePath):
(WTR::TestController::initializeTestPluginDirectory):
(WTR::TestController::runModal):
(WTR::TestController::platformContext):
(WTR::TestController::platformLibraryPathForTesting):
(WTR::TestController::platformConfigureViewForTest):
(WTR::TestController::platformResetPreferencesToConsistentValues):
(WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
* WebKitTestRunner/win/WebKitTestRunnerPrefix.cpp: Added.
* WebKitTestRunner/win/main.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp.
(dllLauncherEntryPoint):
2018-11-12 Alicia Boya García <aboya@igalia.com>
[MSE][GStreamer] Introduce AbortableTaskQueue
https://bugs.webkit.org/show_bug.cgi?id=190902
Reviewed by Xabier Rodriguez-Calvar.
Tests for AbortableTaskQueue are included.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp: Added.
(TestWebKitAPI::TEST):
(TestWebKitAPI::FancyResponse::FancyResponse):
(TestWebKitAPI::FancyResponse::operator=):
(TestWebKitAPI::DeterministicScheduler::DeterministicScheduler):
(TestWebKitAPI::DeterministicScheduler::ThreadContext::ThreadContext):
(TestWebKitAPI::DeterministicScheduler::ThreadContext::waitMyTurn):
(TestWebKitAPI::DeterministicScheduler::ThreadContext::yieldToThread):
2018-11-11 Fujii Hironori <Hironori.Fujii@sony.com>
run-bindings-tests is timing out in some WinCairo bots
https://bugs.webkit.org/show_bug.cgi?id=191348
Reviewed by Alex Christensen.
BuildBot kills run-bindings-tests if it outputs nothing for 20
minutes. run-bindings-tests runs very slowly in WinCairo Docker,
and it takes more than 30 minutes to finish. And, Windows Python
buffers the progress output.
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.detect_changes): Call sys.stdout.flush() after the
test case result is output.
2018-11-11 Wenson Hsieh <wenson_hsieh@apple.com>
Implement a new edit command to change the enclosing list type
https://bugs.webkit.org/show_bug.cgi?id=191487
<rdar://problem/45955922>
Reviewed by Ryosuke Niwa.
Add a new API test to verify that `-[WKWebView _changeListType:]` is hooked up to the corresponding editing
command in WebCore. See the new layout test for a test that exercises more nuanced corner cases.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
(-[TestWKWebView setPosition:offset:]):
(-[TestWKWebView setBase:baseOffset:extent:extentOffset:]):
(TestWebKitAPI::webViewForEditActionTestingWithPageNamed):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/editable-nested-lists.html: Added.
2018-11-11 Dan Bernstein <mitz@apple.com>
ProcessPoolConfiguration::copy() doesn’t copy m_customWebContentServiceBundleIdentifier
https://bugs.webkit.org/show_bug.cgi?id=191514
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm: Added.
(TEST):
2018-11-11 Benjamin Poulain <benjamin@webkit.org>
Fix a fixme: rename wtfObjcMsgSend to wtfObjCMsgSend
https://bugs.webkit.org/show_bug.cgi?id=191492
Reviewed by Alex Christensen.
Update file name.
* DumpRenderTree/mac/DumpRenderTree.mm:
* WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
* WebKitTestRunner/mac/TestControllerMac.mm:
2018-11-10 Benjamin Poulain <benjamin@webkit.org>
Fix a fixme: rename wtfObjcMsgSend to wtfObjCMsgSend
https://bugs.webkit.org/show_bug.cgi?id=191492
Reviewed by Alex Christensen.
* DumpRenderTree/mac/DumpRenderTree.mm:
* WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
* WebKitTestRunner/mac/TestControllerMac.mm:
2018-11-10 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r238065.
Breaks internal builds.
Reverted changeset:
"Make it possible to edit images inline"
https://bugs.webkit.org/show_bug.cgi?id=191352
https://trac.webkit.org/changeset/238065
2018-11-10 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] API test /webkit/WebKitSettings/webkit-settings is failing
https://bugs.webkit.org/show_bug.cgi?id=191221
Unreviewed, fix a typo from the previous patch. After disabling the setting, we should test
that it is disabled, but we're testing that it is enabled, because I failed to update this
line.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
2018-11-10 Tim Horton <timothy_horton@apple.com>
Make it possible to edit images inline
https://bugs.webkit.org/show_bug.cgi?id=191352
<rdar://problem/30107985>
Reviewed by Dean Jackson.
* WebKitTestRunner/TestController.cpp:
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
Add a test option to enable editable images.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::drawSquareInEditableImage):
(WTR::UIScriptController::numberOfStrokesInEditableImage):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::drawSquareInEditableImage):
(WTR::UIScriptController::numberOfStrokesInEditableImage):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* TestRunnerShared/spi/PencilKitTestSPI.h: Added.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::findEditableImageCanvas):
(WTR::UIScriptController::drawSquareInEditableImage):
(WTR::UIScriptController::numberOfStrokesInEditableImage):
Add the ability to draw on a PKCanvasView that is a subview of the WKWebView,
and also to retrieve the number of strokes currently on the PKCanvasView.
Currently this just takes the first canvas; we might need to make it
take an identifier or something in the future if we need tests with multiple
canvases. The indirect testing mechanism is required because PKCanvasView
can currently not actually paint its strokes in the Simulator.
2018-11-09 Chris Dumez <cdumez@apple.com>
Suspended page persists even after back/forward list item is gone
https://bugs.webkit.org/show_bug.cgi?id=191488
<rdar://problem/45953006>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-11-09 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] Implement SPI on WKWebView to increase and decrease list levels
https://bugs.webkit.org/show_bug.cgi?id=191471
<rdar://problem/45952472>
Reviewed by Tim Horton.
Add an API test to ensure that list levels can be incremented and decremented via WKWebView SPI.
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
(TestWebKitAPI::webViewForEditActionTesting):
(TestWebKitAPI::TEST):
2018-11-09 Basuke Suzuki <basuke.suzuki@sony.com>
[Curl][WebKit] Implement Proxy configuration API.
https://bugs.webkit.org/show_bug.cgi?id=189053
Reviewed by Youenn Fablet.
Added Proxy Settings dialog to call newly added API.
* MiniBrowser/win/BrowserWindow.h:
* MiniBrowser/win/Common.cpp:
(askProxySettings):
(askCredential):
(authDialogProc): Deleted.
* MiniBrowser/win/Common.h:
* MiniBrowser/win/DialogHelper.h: Added.
(Dialog::run):
(Dialog::doalogProc):
(Dialog::handle):
(Dialog::setup):
(Dialog::update):
(Dialog::validate):
(Dialog::updateOkButton):
(Dialog::command):
(Dialog::ok):
(Dialog::cancel):
(Dialog::close):
(Dialog::hDlg):
(Dialog::item):
(Dialog::setEnabled):
(Dialog::setText):
(Dialog::getText):
(Dialog::getTextLength):
(Dialog::RadioGroup::RadioGroup):
(Dialog::RadioGroup::set):
(Dialog::RadioGroup::get):
(Dialog::radioGroup):
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::WndProc):
* MiniBrowser/win/MiniBrowserLib.rc:
* MiniBrowser/win/MiniBrowserLibResource.h:
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(createWKURL):
(WebKitBrowserWindow::WebKitBrowserWindow):
(WebKitBrowserWindow::updateProxySettings):
(WebKitBrowserWindow::loadURL):
(WebKitBrowserWindow::loadHTMLString):
(WebKitBrowserWindow::openProxySettings):
* MiniBrowser/win/WebKitBrowserWindow.h:
* MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
(WebKitLegacyBrowserWindow::openProxySettings):
* MiniBrowser/win/WebKitLegacyBrowserWindow.h:
2018-11-09 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] Introduce WKWebView SPI to insert nested ordered and unordered lists
https://bugs.webkit.org/show_bug.cgi?id=191410
<rdar://problem/45898610>
Reviewed by Dean Jackson.
Move WKWebViewEditActions from iOS to WebKitCocoa, and enable the relevant WKWebViewEditActions tests on macOS.
Additionally, add new API tests to verify that `-_pasteAsQuotation:` and `-_insertNested(Un)OrderedList:` are
hooked up to their respective editing commands.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm: Renamed from Tools/TestWebKitAPI/Tests/ios/WKWebViewEditActions.mm.
(-[TestWKWebView querySelectorExists:]):
(-[TestWKWebView insertString:]):
Add a helper method to insert a piece of text. This abstracts platform differences between iOS and macOS, by
invoking the WKWebView directly on macOS and calling on the content view on iOS.
(TestWebKitAPI::webViewForEditActionTesting):
(TestWebKitAPI::TEST):
2018-11-09 Philippe Normand <pnormand@igalia.com>
[Flatpak] Refactoring and drive-by fixes
https://bugs.webkit.org/show_bug.cgi?id=191421
Reviewed by Michael Catanzaro.
* Scripts/webkitdirs.pm:
(inFlatpakSandbox): Flatpak now has a /.flatpak-info file when in
the sandbox, so rely on this.
* flatpak/flatpakutils.py:
(expand_manifest): Pass explicit keywords to load_manifest() and
remove unused local variable.
(WebkitFlatpak.clean_args): Move hard-coded sdk/runtime infos to the manifest file.
(WebkitFlatpak.run_in_sandbox): Add support for extra environment variables.
(WebkitFlatpak.setup_dev_env): Stop build at final app. Refactor
build_type handling a bit.
* flatpak/org.webkit.CommonModules.yaml: Added.
* flatpak/org.webkit.WPE.yaml: wpebackend upstream was renamed to libwpe.
* flatpak/org.webkit.WebKit.yaml: Move common dependencies
declaration to CommonModules, so it can be reused later when we
add support for building extra libraries depending on WPE.
2018-11-08 Said Abou-Hallawa <sabouhallawa@apple.com>
onal supported image formats
https://bugs.webkit.org/show_bug.cgi?id=190454
Reviewed by Simon Fraser.
Test opening a TGA image in WebView which is not allowed by default. The
TGA format will be allowed through WKWebViewConfiguration.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/100x100-red.tga: Added.
* TestWebKitAPI/Tests/WebKitCocoa/400x400-green.png: Added.
* TestWebKitAPI/Tests/WebKitCocoa/AdditionalSupportedImageTypes.mm: Added.
(runTest):
(TEST):
2018-11-08 Jiewen Tan <jiewen_tan@apple.com>
Unreviewed, a proper build fix for r237983
Don't include header PublicKeyCredential.h in CtapResponseTest.cpp.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/CtapRequestTest.cpp.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/CtapResponseTest.cpp.
(TestWebKitAPI::getTestCorruptedSignResponse):
(TestWebKitAPI::getTestCredentialRawIdBytes):
(TestWebKitAPI::convertToVector):
(TestWebKitAPI::TEST):
2018-11-08 Keith Rollin <krollin@apple.com>
Create .xcfilelist files
https://bugs.webkit.org/show_bug.cgi?id=191324
<rdar://problem/45852819>
Reviewed by Alex Christensen.
As part of preparing for enabling XCBuild, create and use .xcfilelist
files. These files are using during Run Script build phases in an
Xcode project. If a Run Script build phase produces new files that are
used later as inputs to subsequent build phases, XCBuild needs to know
about these files. These files can be either specified in an "output
files" section of the Run Script phase editor, or in .xcfilelist files
that are associated with the Run Script build phase.
This patch takes the second approach. It consists of three sets of changes:
- Modify the DerivedSources.make files to have a
'print_all_generated_files" target that produces a list of the files
they create.
- Create a shell script that produces .xcfilelist files from the
output of the previous step, as well as for the files created in the
Generate Unified Sources build steps.
- Add the new .xcfilelist files to the associated projects.
Note that, with these changes, the Xcode workspace and projects can no
longer be fully loaded into Xcode 9. Xcode will attempt to load the
projects that have .xcfilelist files associated with them, but will
fail and display a placeholder for those projects instead. It's
expected that all developers are using Xcode 10 by now and that not
being able to load into Xcode 9 is not a practical issue. Keep in mind
that this is strictly an IDE issue, and that the projects can still be
built with `xcodebuild`.
Also note that the shell script that creates the .xcfilelist files can
also be used to verify that the set of files that's currently checked
in is up-to-date. This checking can be used as part of a check-in hook
or part of check-webkit-style to sooner catch cases where the
.xcfilelist files need to be regenerated.
* DumpRenderTree/DerivedSources.make:
* DumpRenderTree/DerivedSources.xcfilelist: Added.
* Scripts/generate-xcfilelists: Added.
* WebKitTestRunner/DerivedSources.make:
* WebKitTestRunner/DerivedSources.xcfilelist: Added.
2018-11-08 Jiewen Tan <jiewen_tan@apple.com>
Unreviewed, a quick build fix for r237983
Temporarily make CtapRequestTest.cpp/CtapResponseTest.cpp to mac only to avoid iOS build failures.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
* TestWebKitAPI/Tests/WebCore/mac/CtapRequestTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/mac/CtapResponseTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp.
(TestWebKitAPI::getTestCorruptedSignResponse):
(TestWebKitAPI::getTestCredentialRawIdBytes):
(TestWebKitAPI::convertToVector):
(TestWebKitAPI::TEST):
2018-11-05 Ryan Haddad <ryanhaddad@apple.com>
Fix steps_unittest.py failures related to recent Win10/Win7 changes
https://bugs.webkit.org/show_bug.cgi?id=191290
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Update expected results.
2018-11-08 Dean Jackson <dino@apple.com>
Add a String literal that returns a String
https://bugs.webkit.org/show_bug.cgi?id=191425
<rdar://problem/45914556>
Reviewed by Sam Weinig.
Test _str.
* TestWebKitAPI/Tests/WTF/WTFString.cpp:
(TestWebKitAPI::TEST):
2018-11-08 Jonathan Bedard <jbedard@apple.com>
webkitpy: Generalize trailing SDK specifier (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=191275
<rdar://problem/45703660>
Rubber-stamped by Aakash Jain.
Re-landing this change, configuration issues have been resolved.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort): Use normalized SDK.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort): Use normalized SDK.
(IOSSimulatorPort._build_driver_flags): Use platform SDK in build driver flags.
2018-11-08 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Import CTAP device request/response converters from Chromium
https://bugs.webkit.org/show_bug.cgi?id=190784
<rdar://problem/45460333>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/CBORValueTest.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp: Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp: Added.
(TestWebKitAPI::getTestCorruptedSignResponse):
(TestWebKitAPI::getTestCredentialRawIdBytes):
(TestWebKitAPI::convertToVector):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/FidoTestData.h: Added.
2018-11-07 Caio Lima <ticaiolima@gmail.com>
[BigInt] Add support to BigInt into ValueAdd
https://bugs.webkit.org/show_bug.cgi?id=186177
Reviewed by Keith Miller.
* Scripts/run-jsc-benchmarks:
2018-11-07 Sihui Liu <sihui_liu@apple.com>
RELEASE_ASSERT(!m_hardClosedForUserDelete) fails in WebCore::IDBServer::UniqueIDBDatabase::invokeOperationAndTransactionTimer
https://bugs.webkit.org/show_bug.cgi?id=191326
<rdar://problem/45769269>
Reviewed by Geoffrey Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBUserDelete.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBUserDelete.mm: Added.
(-[IndexedDBUserDeleteMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):
2018-11-07 Daniel Bates <dabates@apple.com>
Override +[UIKeyboard isInHardwareKeyboardMode] in WebKitTestRunner and DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=190141
Reviewed by Darin Adler.
Override +[UIKeyboard isInHardwareKeyboardMode] to always return NO so as to make test
runs deterministic regardless of whether a hardware keyboard is attached.
* DumpRenderTree/mac/DumpRenderTree.mm:
(overrideIsInHardwareKeyboardMode): Added.
(prepareConsistentTestingEnvironment):
* TestRunnerShared/spi/UIKitTestSPI.h: Forward declare SPI.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(overrideIsInHardwareKeyboardMode): Added.
(WTR::TestController::platformInitialize):
2018-11-07 Jonathan Bedard <jbedard@apple.com>
Unreviewed, rolling out r237913.
Breaks running tests on Mac without iOS SDK installed
Reverted changeset:
"webkitpy: Generalize trailing SDK specifier (Part 2)"
https://bugs.webkit.org/show_bug.cgi?id=191275
https://trac.webkit.org/changeset/237913
2018-11-07 Zamiul Haque <zhaque@apple.com>
Force a gregorian calendar to show for credit card expiration date inputs
(autocomplete='cc-exp'*) regardless of default system settings.
https://bugs.webkit.org/show_bug.cgi?id=191096
rdar://problem/42640256
Reviewed by Tim Horton.
Implemented simulateForeignDefaultCalendar and calendarType to be used
for changing the default calendar returned by the system (ie. [NSCalendar
currentCalendar]) and getting the calendar type identifier of a presented date
picker.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::isShowingDataListSuggestions const):
(WTR::UIScriptController::calendarType const):
(WTR::UIScriptController::setDefaultCalendarType):
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::calendarType const):
(WTR::UIScriptController::setDefaultCalendarType):
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::selectionEndGrabberViewRect const):
(WTR::UIScriptController::calendarType const): Deleted.
* WebKitTestRunner/TestController.cpp:
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/UIScriptControllerCocoa.mm:
(WTR::UIScriptController::calendarType const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::swizzledCalendar):
(WTR::TestController::getOverriddenCalendarIdentifier const):
(WTR::TestController::setDefaultCalendarType):
(WTR::TestController::cocoaResetStateToConsistentValues):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::selectionEndGrabberViewRect const):
(WTR::UIScriptController::calendarType const): Deleted.
2018-11-06 Jonathan Bedard <jbedard@apple.com>
webkitpy: Boot a single worker for custom devices
https://bugs.webkit.org/show_bug.cgi?id=191312
<rdar://problem/45848717>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.run): Custom devices only run a hand-full of tests. Booting multiple
simulators is expensive and unneeded for these tests.
* Scripts/webkitpy/port/ios.py:
(IOSPort. child_processes): No reason to memoize this call, and it prevents
overriding the number of child processes when booting custom devices.
2018-11-06 Jonathan Bedard <jbedard@apple.com>
webkitpy: Generalize trailing SDK specifier (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=191275
<rdar://problem/45703660>
Reviewed by Aakash Jain.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort): Use normalized SDK.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort): Use normalized SDK.
(IOSSimulatorPort._build_driver_flags): Use platform SDK in build driver flags.
2018-11-06 Justin Fan <justin_fan@apple.com>
[WebGPU] Experimental prototype for WebGPURenderPipeline and WebGPUSwapChain
https://bugs.webkit.org/show_bug.cgi?id=191291
Reviewed by Myles Maxfield.
Properly disable WEBGPU on all non-Metal platforms for now.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-11-06 Aakash Jain <aakash_jain@apple.com>
[ews-app] Add URL configuration for OpenSource EWS Django app
https://bugs.webkit.org/show_bug.cgi?id=191132
Rubber-stamped by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews-app/urls.py: Added entry for ews.urls.
* BuildSlaveSupport/ews-app/ews/urls.py: Added.
2018-11-06 Youenn Fablet <youenn@apple.com>
Make mDNS ICE Candidate an experimental flag again
https://bugs.webkit.org/show_bug.cgi?id=191262
Reviewed by Dean Jackson.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled):
(WTR::TestRunner::setMDNSICECandidatesEnabled): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2018-11-06 Aakash Jain <aakash_jain@apple.com>
[ews-app] Add views for OpenSource EWS Django app
https://bugs.webkit.org/show_bug.cgi?id=191131
Rubber-stamped by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/views/index.py: Added.
* BuildSlaveSupport/ews-app/ews/views/patch.py:
* BuildSlaveSupport/ews-app/ews/views/results.py: Added.
* BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Added.
2018-11-06 Aakash Jain <aakash_jain@apple.com>
[ews-app] Add models for OpenSource EWS Django app
https://bugs.webkit.org/show_bug.cgi?id=191123
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/ews/models/__init__.py:
* BuildSlaveSupport/ews-app/ews/models/buildermappings.py: Added.
* BuildSlaveSupport/ews-app/ews/models/builds.py: Added.
* BuildSlaveSupport/ews-app/ews/models/patch.py:
* BuildSlaveSupport/ews-app/ews/models/steps.py: Added.
2018-11-06 Aakash Jain <aakash_jain@apple.com>
[ews-app] Fix Invalid HTTP_HOST header
https://bugs.webkit.org/show_bug.cgi?id=191325
Reviewed by Lucas Forschler.
Changing ALLOWED_HOSTS to * as the landing page should be publicly accessible.
* BuildSlaveSupport/ews-app/ews-app/settings.py:
2018-11-06 Aakash Jain <aakash_jain@apple.com>
[ews-app] Rename EWS_app to ews-app - part 2
https://bugs.webkit.org/show_bug.cgi?id=191317
Reviewed by Lucas Forschler.
* BuildSlaveSupport/ews-app/EWS_app: Removed.
* BuildSlaveSupport/ews-app/ews-app: Moved from BuildSlaveSupport/ews-app/EWS_app.
* BuildSlaveSupport/ews-app/ews-app/settings.py:
* BuildSlaveSupport/ews-app/ews-app/urls.py:
* BuildSlaveSupport/ews-app/ews-app/wsgi.py:
* BuildSlaveSupport/ews-app/manage.py:
2018-11-06 Aakash Jain <aakash_jain@apple.com>
[ews-app] Rename EWS_app to ews-app - part 1
https://bugs.webkit.org/show_bug.cgi?id=191317
Reviewed by Lucas Forschler.
* BuildSlaveSupport/EWS_app: Removed.
* BuildSlaveSupport/ews-app: Moved from BuildSlaveSupport/EWS_app.
2018-11-06 Myles C. Maxfield <mmaxfield@apple.com>
Spelling dots are drawn in the wrong place
https://bugs.webkit.org/show_bug.cgi?id=190764
Reviewed by Dean Jackson.
Previously, it was impossible for WebKitTestRunner to draw spelling dots. This patch adds support for a header
at the top of test files, of the form <!-- webkit-test-runner [ spellCheckingDots=true ] --> which will cause
dots to be drawn.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
(WTR::TestController::platformResetStateToConsistentValues):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformResetStateToConsistentValues):
2018-11-06 Don Olmstead <don.olmstead@sony.com>
Feature flags not present for Visual Studio when using build-webkit
https://bugs.webkit.org/show_bug.cgi?id=191288
Reviewed by Fujii Hironori.
Passes feature flags to Visual studio builds within build-webkit.
Removes cmakeBasedPortArguments as it is no longer in use.
* Scripts/build-jsc:
* Scripts/build-webkit:
* Scripts/webkitdirs.pm:
(cmakeBasedPortArguments): Deleted.
2018-11-06 Per Arne Vollan <pvollan@apple.com>
REGRESSION (r230523): Caps lock indicator not shown in password field
https://bugs.webkit.org/show_bug.cgi?id=190056
Reviewed by Ryosuke Niwa.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::toggleCapsLock):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::toggleCapsLock):
2018-11-06 Sihui Liu <sihui_liu@apple.com>
IndexedDB: WAL file keeps growing
https://bugs.webkit.org/show_bug.cgi?id=191294
<rdar://problem/41333493>
Reviewed by Chris Dumez.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize-1.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize-2.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBTempFileSize.mm: Added.
(-[IndexedDBFileSizeMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):
2018-11-06 Alex Christensen <achristensen@webkit.org>
Fix tests after r237863
https://bugs.webkit.org/show_bug.cgi?id=191315
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
With the timing change of r237863, the WKWebView progressed further than before when loading main.html so it completed before main2.html.
This test was meant to test that main2.html does eventually load, and it doesn't matter if main.html loads before it. I updated the test
to verify that main2.html eventually loads, making this test less timing dependent.
2018-11-06 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r237834.
Tests for this change crash on iOS Simulator
Reverted changeset:
"Spelling dots are drawn in the wrong place"
https://bugs.webkit.org/show_bug.cgi?id=190764
https://trac.webkit.org/changeset/237834
2018-11-05 Alex Christensen <achristensen@webkit.org>
[Mac] Implement safe browsing in WebKit
https://bugs.webkit.org/show_bug.cgi?id=188871
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
(-[SafeBrowsingNavigationDelegate webView:didCommitNavigation:]):
(+[TestServiceLookupResult resultWithProvider:phishing:malware:unwantedSoftware:]):
(-[TestLookupContext lookUpURL:completionHandler:]):
(simpleURL):
(safeBrowsingView):
(TEST):
(-[SafeBrowsingNavigationDelegate webView:didFinishNavigation:]): Deleted.
(+[TestServiceLookupResult resultWithProvider:phishing:malware:unwantedSoftware:knownToBeUnsafe:]): Deleted.
(-[TestServiceLookupResult isKnownToBeUnsafe]): Deleted.
* TestWebKitAPI/Utilities.h:
2018-11-05 Jonathan Bedard <jbedard@apple.com>
webkitpy: Generalize trailing SDK specifier (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=191275
<rdar://problem/45703660>
Reviewed by Lucas Forschler.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo.available_sdks): List all installed SDKs with version numbers stripped out.
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
(TestPlatformInfo):
(TestPlatformInfo.test_available_sdks):
2018-11-05 Myles C. Maxfield <mmaxfield@apple.com>
Spelling dots are drawn in the wrong place
https://bugs.webkit.org/show_bug.cgi?id=190764
Reviewed by Dean Jackson.
Previously, it was impossible for WebKitTestRunner to draw spelling dots. This patch adds support for a header
at the top of test files, of the form <!-- webkit-test-runner [ spellCheckingDots=true ] --> which will cause
dots to be drawn.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
(WTR::TestController::platformResetStateToConsistentValues):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
* WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformResetStateToConsistentValues):
2018-11-05 Chris Dumez <cdumez@apple.com>
Use same limit for page cache and suspended pages
https://bugs.webkit.org/show_bug.cgi?id=191266
Reviewed by Geoffrey Garen.
Update API tests accordingly.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-11-05 Basuke Suzuki <Basuke.Suzuki@sony.com>
[style] Exclude style check for auto generated files.
https://bugs.webkit.org/show_bug.cgi?id=191118
Reviewed by Eric Carlson.
Some files checked in to the repository are generated by other tools. In this patch,
"MiniBrowserLibResource.h" is the file generated and managed by resource editor of
VisualStudio.
There's no need to check these files because it's not practical to fix the style errors
or it's hard to maintain those fixes.
* Scripts/webkitpy/style/checkers/cpp.py:
(is_generated_file):
(CppChecker.check):
2018-11-05 Thibault Saunier <tsaunier@igalia.com>
[Flatpak] Build libx264 as it is the h264 encoder we support in WebRTC
https://bugs.webkit.org/show_bug.cgi?id=190680
Reviewed by Philippe Normand.
* flatpak/org.webkit.WebKit.yaml:
2018-11-05 Daniel Bates <dabates@apple.com>
[lldb-webkit] Fix formatting nits in Document and Frame summary strings
https://bugs.webkit.org/show_bug.cgi?id=191094
Reviewed by Andy Estes.
Format boolean as 1/0 when printing Frame summary to be consistent with the formatting of
booleans in other summary strings, substitute "inMainFrame" for "isMainFrame" in the printed
Document summary and add closing brace '}' to both Frame and Document summary strings to make
them look pretty.
* lldb/lldb_webkit.py:
(WebCoreFrame_SummaryProvider):
(WebCoreDocument_SummaryProvider):
2018-11-05 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Allow WKWebView clients to customize bar button item groups in the accessory view when editing
https://bugs.webkit.org/show_bug.cgi?id=191240
<rdar://problem/44872806>
Reviewed by Tim Horton.
Add new API tests to verify that setting leading and trailing bar button groups on WKWebView sets the first
responder's (i.e. WKContentView's) leading and trailing bar button groups, and that this can also be achieved by
overriding `-[WKWebView inputAssistantItem]`.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(-[InputAssistantItemTestingWebView fakeLeadingBarButtonItemAction]):
(-[InputAssistantItemTestingWebView fakeTrailingBarButtonItemAction]):
(+[InputAssistantItemTestingWebView barButtonIcon]):
(+[InputAssistantItemTestingWebView leadingItemsForWebView:]):
(+[InputAssistantItemTestingWebView trailingItemsForWebView:]):
(-[InputAssistantItemTestingWebView inputAssistantItem]):
(TestWebKitAPI::TEST):
2018-11-05 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Changing view scale sometimes does not zoom the page to the new initial scale when the page is zoomed in when ignoring meta viewport
https://bugs.webkit.org/show_bug.cgi?id=191226
<rdar://problem/45781765>
Reviewed by Tim Horton.
Add a missing check for `shouldIgnoreMetaViewport` when comparing TestOptions, to ensure that "ignore meta
viewport" state doesn't unexpectedly persist after running a layout test that ignores meta viewport.
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2018-11-05 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r237784 and r237788.
https://bugs.webkit.org/show_bug.cgi?id=191270
Caused mediastream layout test failures (Requested by
ryanhaddad on #webkit).
Reverted changesets:
"[MediaStream] User should not be prompted again after denying
getDisplayMedia request"
https://bugs.webkit.org/show_bug.cgi?id=191227
https://trac.webkit.org/changeset/237784
"[MediaStream] User should not be prompted again after denying
getDisplayMedia request"
https://bugs.webkit.org/show_bug.cgi?id=191227
https://trac.webkit.org/changeset/237788
2018-11-05 Lucas Forschler <lforschler@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=191268
Remove unused bots.
rubber-stamped by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
2018-11-05 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] API test runner fails to respect default build type
https://bugs.webkit.org/show_bug.cgi?id=190247
Reviewed by Carlos Garcia Campos.
Problem is it's looking for a release build, even though I've run set-webkit-configuration
--debug. It should look for a debug build unless I explicitly pass --release.
* glib/api_test_runner.py:
(TestRunner.__init__):
2018-11-05 Thibault Saunier <tsaunier@igalia.com>
[GStreamer][WebRTC] Add webrtcencoder bin to cleanup and refactor the way we set encoders
https://bugs.webkit.org/show_bug.cgi?id=190674
Reviewed by Philippe Normand.
webrtcencoder is a simple GstBin with a set of well known GStreamer encoders which
it can use to implement encoding for different formats exposing a trimmed down unified API.
It also adds proper handling of H264 profiles.
The added files follow GStreamer coding style as we aim at upstreaming the element
in the future.
Reviewed by Philippe Normand.
* Scripts/webkitpy/style/checker.py:
2018-11-05 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] API test /webkit/WebKitSettings/webkit-settings is failing
https://bugs.webkit.org/show_bug.cgi?id=191221
Reviewed by Carlos Garcia Campos.
This test ensures that MSE is disabled by default, but we now enable it by default, so
reverse the semantics of the test.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
2018-11-05 Michael Catanzaro <mcatanzaro@igalia.com>
REGRESSION(r237031): [GTK] Test /webkit/WebKitWebView/settings is failing
https://bugs.webkit.org/show_bug.cgi?id=191225
Reviewed by Alejandro G. Castro.
Fix a memory leak causing this test to fail.
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::initializeWebView):
2018-11-04 Zan Dobersek <zdobersek@igalia.com>
[webkitpy] Support WPE in the run-web-platform-tests script
https://bugs.webkit.org/show_bug.cgi?id=191183
Reviewed by Alex Christensen.
* Scripts/webkitpy/w3c/wpt_runner.py:
(parse_args): Support `--wpe` as an argument that specifies WPE as the
target port. Additionally, the `--display-server` flag now accepts
`headless` as a valid value, enabling the WPE WebDriver to run in
headless mode.
2018-11-04 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] Use C++14, not C++17
https://bugs.webkit.org/show_bug.cgi?id=191101
Reviewed by Alex Christensen.
std::basic_string::data() returns a read-only const buffer in
C++14.
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(createString): Use std::vector instead of std::wstring.
(createUTF8String): Use std::vector instead of std::string.
2018-11-04 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] Fold common UIScriptController functionality on macOS and iOS into UIScriptControllerCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=191231
Reviewed by Simon Fraser.
Moves some UIScriptController method implementations specific to iOS and macOS into UIScriptControllerCocoa, so
it can be shared between iOS-family and macOS platforms. See below for more details.
No change in behavior.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::overridePreference):
Add a method stub for DumpRenderTree.
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
* WebKitTestRunner/UIScriptControllerCocoa.mm:
(WTR::UIScriptController::doAsyncTask):
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
Unify these method implementations.
(WTR::UIScriptController::removeViewFromWindow):
(WTR::UIScriptController::addViewToWindow):
Move the macOS implementation to UIScriptControllerCocoa. On iOS, this method currently only adds the web view
to the window, and does not attempt to invoke the given completion block; additionally, invoking the completion
block after a presentation update (as done on macOS) causes pageoverlay/overlay-remove-reinsert-view.html to
begin failing consistently. This patch does not attempt to change behavior, but adds a FIXME describing this.
(WTR::UIScriptController::overridePreference):
(WTR::UIScriptController::findString):
(WTR::UIScriptController::contentsOfUserInterfaceItem const):
Move these from UIScriptControllerMac to UIScriptControllerCocoa, so that it is now implemented on iOS as well.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::doAsyncTask): Deleted.
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution): Deleted.
(WTR::UIScriptController::contentsOfUserInterfaceItem const): Deleted.
(WTR::UIScriptController::findString): Deleted.
(WTR::UIScriptController::removeViewFromWindow): Deleted.
(WTR::UIScriptController::addViewToWindow): Deleted.
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::doAsyncTask): Deleted.
(WTR::UIScriptController::contentsOfUserInterfaceItem const): Deleted.
(WTR::UIScriptController::overridePreference): Deleted.
(WTR::UIScriptController::findString): Deleted.
(WTR::UIScriptController::removeViewFromWindow): Deleted.
(WTR::UIScriptController::addViewToWindow): Deleted.
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution): Deleted.
2018-11-04 Eric Carlson <eric.carlson@apple.com>
[MediaStream] User should not be prompted again after denying getDisplayMedia request
https://bugs.webkit.org/show_bug.cgi?id=191227
<rdar://problem/45784512>
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
(-[GetDisplayMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
(TestWebKitAPI::GetDisplayMediaTest::promptForCapture):
(TestWebKitAPI::TEST_F):
2018-11-04 Zalan Bujtas <zalan@apple.com>
[LFC][BFC] Add support for percentage height in quirks mode.
https://bugs.webkit.org/show_bug.cgi?id=191232
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-04 Zalan Bujtas <zalan@apple.com>
[LFC][BCF] Add support for block level non-replaced inflow height percentage
https://bugs.webkit.org/show_bug.cgi?id=191229
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-02 Zalan Bujtas <zalan@apple.com>
[LFC][BFC] Resolve percentage height values.
https://bugs.webkit.org/show_bug.cgi?id=191224
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-03 Alex Christensen <achristensen@webkit.org>
Mac production builds should sign the network process xpc service with entitlements
https://bugs.webkit.org/show_bug.cgi?id=191209
<rdar://problem/45377609>
Reviewed by Geoff Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm: Added.
(TEST):
2018-11-02 Alex Christensen <achristensen@webkit.org>
Unreviewed, rolling out r237761.
Makes most API tests timeout and WK2 tests crash
Reverted changeset:
"Mac production builds should sign the network process xpc
service with entitlements"
https://bugs.webkit.org/show_bug.cgi?id=191209
https://trac.webkit.org/changeset/237761
2018-11-02 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed API test gardening
* TestWebKitAPI/glib/TestExpectations.json:
2018-11-02 Justin Michaud <justin_michaud@apple.com>
Add new global object and preliminary Worklets support for CSS painting api
https://bugs.webkit.org/show_bug.cgi?id=190979
Reviewed by Chris Dumez.
* Scripts/webkitpy/bindings/main.py:
(BindingsTests.generate_supplemental_dependency):
(BindingsTests.main):
2018-11-02 Alex Christensen <achristensen@webkit.org>
Mac production builds should sign the network process xpc service with entitlements
https://bugs.webkit.org/show_bug.cgi?id=191209
<rdar://problem/45377609>
Reviewed by Geoff Garen.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm: Added.
(TEST):
2018-11-02 Lucas Forschler <lforschler@apple.com>
Add Windows 10 archive bots
https://bugs.webkit.org/show_bug.cgi?id=190964
This Change updates the Apple Windows Buildbot configuration.
- Add Windows 10 specific builders and testers for release and debug.
- Refactor Windows -> Windows 7.
- Remove Windows 7 Debug.
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2018-11-02 Philippe Normand <pnormand@igalia.com>
[GTK][WPE] Enable GST_DEBUG_NO_COLOR environment variable pass-through
Rubber-stamped by Michael Catanzaro.
This variable is useful to get rid of shell color escapes in tests stderr files.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):
2018-11-02 Aakash Jain <aakash_jain@apple.com>
Add Basic Django web app for OpenSource EWS
https://bugs.webkit.org/show_bug.cgi?id=191091
Reviewed by Lucas Forschler.
* BuildSlaveSupport/EWS_app/manage.py: Added, auto-generated by Django.
* BuildSlaveSupport/EWS_app/EWS_app/__init__.py: Added, auto-generated by Django.
* BuildSlaveSupport/EWS_app/EWS_app/settings.py: Added, auto-generated by Django.
* BuildSlaveSupport/EWS_app/EWS_app/urls.py: Added, auto-generated by Django.
* BuildSlaveSupport/EWS_app/EWS_app/wsgi.py: Added, auto-generated by Django.
* BuildSlaveSupport/EWS_app/ews/__init__.py: Added.
* BuildSlaveSupport/EWS_app/ews/admin.py: Added, auto-generated by Django.
* BuildSlaveSupport/EWS_app/ews/apps.py: Added, auto-generated by Django.
* BuildSlaveSupport/EWS_app/ews/migrations/__init__.py: Added.
* BuildSlaveSupport/EWS_app/ews/tests.py: Added, auto-generated by Django.
* BuildSlaveSupport/EWS_app/ews/models/__init__.py: Added.
* BuildSlaveSupport/EWS_app/ews/models/patch.py: Added.
* BuildSlaveSupport/EWS_app/ews/views/__init__.py: Added.
* BuildSlaveSupport/EWS_app/ews/views/patch.py: Added.
2018-11-02 Daniel Bates <dabates@apple.com>
[iOS] WebKit should dispatch DOM events when a modifier key is pressed
https://bugs.webkit.org/show_bug.cgi?id=190487
Reviewed by Tim Horton.
Update the code for renamed enumerations. For WebKitTestRunner, removed comment that does not
match my observations when using the simulator to simulate iOS 12 and add support for testing
right-hand side modifiers.
* DumpRenderTree/mac/EventSendingController.mm:
(modifierFlags):
(-[EventSendingController keyDown:withModifiers:withLocation:]):
(-[EventSendingController setTouchModifier:value:]):
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(hidUsageCodeForCharacter):
2018-11-02 Chris Dumez <cdumez@apple.com>
[PSON] Reuse SuspendedPages' process when possible, for performance
https://bugs.webkit.org/show_bug.cgi?id=191166
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-11-02 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Add support for intrinsic width calculation
https://bugs.webkit.org/show_bug.cgi?id=191144
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-01 Philippe Normand <pnormand@igalia.com>
[Apache] Self-signed SSL certificate RSA key is considered too weak
https://bugs.webkit.org/show_bug.cgi?id=191156
Reviewed by Michael Catanzaro.
* Scripts/webkitpy/common/system/pemfile.py:
2018-11-02 Zan Dobersek <zdobersek@igalia.com>
Unreviewed follow-up to r237678.
* wpe/jhbuild.modules: The patch element apparently has to be a child
of the branch in order for Jhbuild to properly detect and apply the
patch file.
2018-11-01 Ross Kirsling <ross.kirsling@sony.com>
build-jsc --wincairo should update WinCairo libraries
https://bugs.webkit.org/show_bug.cgi?id=191170
Reviewed by Fujii Hironori.
* Scripts/build-jsc:
2018-11-01 John Wilander <wilander@apple.com>
In WebCore::ResourceLoadObserver, use document.sessionID().isEphemeral() when possible and check for page existence when not
https://bugs.webkit.org/show_bug.cgi?id=191119
<rdar://problem/44176965>
Reviewed by Chris Dumez.
This is an API test for a WebKitLegacy WebView that is first closed and then
JavaScript is handed a keyboard event.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitLegacy/mac/ClosingWebView.mm: Added.
(-[ClosingWebViewThenSendingItAKeyDownEventLoadDelegate webView:didFinishLoadForFrame:]):
(-[KeyboardEventListener handleEvent:]):
(TestWebKitAPI::TEST):
2018-11-01 Sihui Liu <sihui_liu@apple.com>
Add a storage limit for IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=190598
<rdar://problem/44654715>
Reviewed by Chris Dumez.
Add API for testing.
* DumpRenderTree/TestRunner.cpp:
(setIDBPerOriginQuotaCallback):
(TestRunner::staticFunctions):
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setIDBPerOriginQuota):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::setIDBPerOriginQuota):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setIDBPerOriginQuota):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setIDBPerOriginQuota):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2018-11-01 Chris Dumez <cdumez@apple.com>
[PSON] WebPageProxy::receivedNavigationPolicyDecision() should not schedule the new load asynchronously when process-swapping
https://bugs.webkit.org/show_bug.cgi?id=191076
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONNavigationDelegate init]):
(-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
2018-11-01 Adrian Perez de Castro <aperez@igalia.com>
Fix build with VIDEO and WEB_AUDIO disabled
https://bugs.webkit.org/show_bug.cgi?id=191147
<rdar://problem/45726710>
Unreviewed build fix.
This adds the missing compilation guards in the WPE MiniBrowser.
* MiniBrowser/wpe/main.cpp:
(main): Condition GST includes and calls.
2018-10-31 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Add support for inline-block elements.
https://bugs.webkit.org/show_bug.cgi?id=191143
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-11-01 Claudio Saavedra <csaavedra@igalia.com>
[WPE] Add missing libsoup patch to jhbuild
https://bugs.webkit.org/show_bug.cgi?id=191149
Reviewed by Žan Doberšek.
* wpe/jhbuild.modules:
* wpe/patches/libsoup-soup-socket-fix-critical-warning-when-the-peer-certi.patch: Added.
2018-11-01 Claudio Saavedra <csaavedra@igalia.com>
Fix build with VIDEO and WEB_AUDIO disabled
https://bugs.webkit.org/show_bug.cgi?id=191147
Reviewed by Philippe Normand.
* MiniBrowser/gtk/main.c:
(main): Condition GST includes and calls
2018-10-31 Justin Michaud <justin_michaud@apple.com>
Add Justin Michaud to the list of WebKit Committers
https://bugs.webkit.org/show_bug.cgi?id=191142
* Scripts/webkitpy/common/config/contributors.json:
2018-10-31 Guillaume Emont <guijemont@igalia.com>
Don't run JIT tests on 32-bit platforms
https://bugs.webkit.org/show_bug.cgi?id=191074
Reviewed by Michael Catanzaro.
* Scripts/run-jsc-stress-tests:
2018-10-30 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] Attachment dropped from one web view to another is missing its file wrapper
https://bugs.webkit.org/show_bug.cgi?id=190530
<rdar://problem/45232149>
Reviewed by Tim Horton.
Add a test to verify that copying different types of attachments and pasting in a new web view inserts
attachments in the second web view that are backed by _WKAttachment objects, whose NSFileWrappers hold data that
is equivalent to the original file wrappers used to insert attachments in the first web view.
Existing API tests verify that when copying and pasting within a single web view, the pasted attachment element
is still backed by the same NSFileWrapper instance.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
2018-10-30 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] Remove obsolete code for Visual Studio Express in webkitdirs.pm
https://bugs.webkit.org/show_bug.cgi?id=190949
Reviewed by Alex Christensen.
Visual Studio 2017 Community is the alternative.
* Scripts/webkitdirs.pm: Remove $willUseVCExpressWhenBuilding variable.
(setupCygwinEnv): Remove obsolete code for Visual Studio Express.
(buildVisualStudioProject): Ditto.
(dieIfWindowsPlatformSDKNotInstalled): Deleted.
(usingVisualStudioExpress): Deleted.
2018-10-30 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][Direct2D] Support building DumpRenderTree for Direct2D
https://bugs.webkit.org/show_bug.cgi?id=191093
<rdar://problem/45685706>
Unreviewed build fix.
error C2065: 'renderTarget': undeclared identifier
* DumpRenderTree/win/PixelDumpSupportWin.cpp:
(createBitmapContextFromWebView): Restored the previous implementation.
2018-10-30 Don Olmstead <don.olmstead@sony.com>
[PlayStation] Enable JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=191072
Reviewed by Brent Fulgham.
Add platform scripts for building the PlayStation port.
perl Tools/Scripts/build-webkit --playstation
* Scripts/build-webkit:
* Scripts/build-webkittestrunner:
* Scripts/webkitdirs.pm:
(argumentsForConfiguration):
(determineConfigurationProductDir):
(isPlayStation): Added.
(getMSBuildPlatformArgument): Added.
(buildVisualStudioProject):
(wrapperPrefixIfNeeded):
(generateBuildSystemFromCMakeProject):
* TestWebKitAPI/PlatformPlayStation.cmake: Added.
2018-10-30 Brent Fulgham <bfulgham@apple.com>
[Win][Direct2D] Support building DumpRenderTree for Direct2D
https://bugs.webkit.org/show_bug.cgi?id=191093
<rdar://problem/45685706>
Reviewed by Alex Christensen.
* DumpRenderTree/PixelDumpSupport.cpp: Update for Direct2D use.
* DumpRenderTree/PlatformWin.cmake: Add support for Direct2D build.
* DumpRenderTree/win/PixelDumpSupportDirect2D.cpp: Added.
(pixelDumpSystemFactory): Added.
(printPNG): Create stub.
(computeMD5HashStringForBitmapContext): Ditto.
(dumpBitmap): Ditto.
* DumpRenderTree/win/PixelDumpSupportDirect2D.h: Added.
(BitmapContext::createByAdoptingBitmapAndContext):
(BitmapContext::~BitmapContext):
(BitmapContext::platformContext const):
(BitmapContext::BitmapContext):
* DumpRenderTree/win/PixelDumpSupportWin.cpp:
(createBitmapContextFromWebView): Update to support Direct2D.
* MiniBrowser/win/MiniBrowserReplace.h: Drive-by fix: The old WebKit
logo is no longer available at this location. Switch to the new logo.
2018-10-30 Jonathan Bedard <jbedard@apple.com>
webkitpy: Support alternate simctl list outputs
https://bugs.webkit.org/show_bug.cgi?id=191090
<rdar://problem/45684255>
Rubber-stamped by Aakash Jain.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager._create_runtimes): Support alternative availability format.
(SimulatedDeviceManager._create_device_with_runtime): Ditto.
* Scripts/webkitpy/xcode/simulated_device_unittest.py:
(test_available_devices): Add iOS 12 with alternative availability format.
2018-10-30 Alexey Proskuryakov <ap@apple.com>
Clean up some obsolete MAX_ALLOWED macros
https://bugs.webkit.org/show_bug.cgi?id=190916
Reviewed by Tim Horton.
* TestWebKitAPI/Tests/WTF/darwin/WeakLinking.cpp:
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
2018-10-30 Claudio Saavedra <csaavedra@igalia.com>
[GTK][WPE] Fixes to the PublicSuffix implementation
https://bugs.webkit.org/show_bug.cgi?id=191031
Reviewed by Michael Catanzaro.
* TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
(TestWebKitAPI::TEST_F): Remove a test for a domain
that is not registrable and shouldn't be tested there.
2018-10-29 Tim Horton <timothy_horton@apple.com>
Modernize WebKit nibs and lprojs for localization's sake
https://bugs.webkit.org/show_bug.cgi?id=190911
<rdar://problem/45349466>
Reviewed by Dan Bernstein.
* Scripts/check-inspector-strings:
* Scripts/update-webkit-localizable-strings:
* gtk/manifest.txt.in:
* wpe/manifest.txt.in:
English->en
2018-10-29 Daniel Bates <dabates@apple.com>
[lldb-webkit] Last aliased enumerator in OptionSet is printed; should print first enumerator
https://bugs.webkit.org/show_bug.cgi?id=191036
Reviewed by Andy Estes.
Prefer the first enumerator (in parse order) when pretty-printing an OptionSet that is parameterized
by an enum that contains two or more enumerators with the same value. For example, suppose
you have the following enum:
enum Flag {
A = 1 << 0,
AAlias = A,
};
Then pretty-printing OptionSet<Flag>(Flag::A) should print A instead of AAlias. A side effect of
this change is that OptionSet<Flag>(Flag::AAlias) will also print A as its only member as we cannot
differentiate between A and Alias. This should be acceptable in practice as aliased enumerators
tend to be used in bounds checks as opposed to code that adds to a set.
* lldb/lldbWebKitTester/main.cpp:
(testSummaryProviders):
* lldb/lldb_webkit.py:
(WTFOptionSetProvider.update):
* lldb/lldb_webkit_unittest.py:
(TestSummaryProviders.serial_test_WTFOptionSetProvider_simple):
(TestSummaryProviders):
(TestSummaryProviders.serial_test_WTFOptionSetProvider_aliased_flag):
2018-10-29 Daniel Bates <dabates@apple.com>
[llbd-webkit] Add summaries for Document, Frame, and SecurityOrigin
https://bugs.webkit.org/show_bug.cgi?id=191033
Reviewed by Andy Estes.
For Documents we display its origin, URL, whether it's in the main frame, and its page cache state.
We display the same details in the summary for a Frame because its Document tends to be the most
interesting aspect of it. For SecurityOrigin we display its origin, domain (affects cookie access),
and whether the origin has universal access.
* lldb/lldb_webkit.py:
(__lldb_init_module):
Register new summary providers.
(WebCoreSecurityOrigin_SummaryProvider):
(WebCoreFrame_SummaryProvider):
(WebCoreDocument_SummaryProvider):
Add new summary providers.
(StdOptionalWrapper):
(StdOptionalWrapper.__init__):
(StdOptionalWrapper.has_value):
(StdOptionalWrapper.value):
Convenience data type that provides access to the fields of a std::optional<>.
(WebCoreSecurityOriginProvider):
(WebCoreSecurityOriginProvider.__init__):
(WebCoreSecurityOriginProvider.is_unique):
(WebCoreSecurityOriginProvider.scheme):
(WebCoreSecurityOriginProvider.host):
(WebCoreSecurityOriginProvider.port):
(WebCoreSecurityOriginProvider.domain):
(WebCoreSecurityOriginProvider.has_universal_access):
(WebCoreSecurityOriginProvider.to_string):
(WebCoreFrameProvider):
(WebCoreFrameProvider.__init__):
(WebCoreFrameProvider.is_main_frame):
(WebCoreFrameProvider.document):
(WebCoreDocumentProvider):
(WebCoreDocumentProvider.__init__):
(WebCoreDocumentProvider.url):
(WebCoreDocumentProvider.origin):
(WebCoreDocumentProvider.page_cache_state):
(WebCoreDocumentProvider.frame):
2018-10-29 Chris Dumez <cdumez@apple.com>
[PSON] When Safari restores session state after launching, going back and forward does not swap processes
https://bugs.webkit.org/show_bug.cgi?id=190975
<rdar://problem/45059256>
Reviewed by Antti Koivisto.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-10-29 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Compute estimated margin top for inline formatting root's ancestors
https://bugs.webkit.org/show_bug.cgi?id=191018
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-10-29 Zalan Bujtas <zalan@apple.com>
[LFC] Add support for inflow non replaced content height when the box is an inline formatting root.
https://bugs.webkit.org/show_bug.cgi?id=191011
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-10-29 Zalan Bujtas <zalan@apple.com>
Missing from r237549
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-10-29 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Add support for simple intruding floats.
https://bugs.webkit.org/show_bug.cgi?id=190998
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-10-29 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Inline layout produces separate runs when float is present.
https://bugs.webkit.org/show_bug.cgi?id=190980
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-10-29 Tadeu Zagallo <tzagallo@apple.com>
New bytecode format for JSC
https://bugs.webkit.org/show_bug.cgi?id=187373
<rdar://problem/44186758>
Reviewed by Filip Pizlo.
Do not force ENABLE_JIT=true when $forceCLoop is false.
* Scripts/build-jsc:
2018-10-29 Claudio Saavedra <csaavedra@igalia.com>
[GTK] Try to fix the xserver-xorg build in the Ubuntu LTS bot
Unreviewed build fix
The build fails because of some array-bound check related
to strcmp() macro optimizations. Disabling selective Werrors
when building xserver-xorg might get past this.
* gtk/jhbuild.modules: Add --disable-selective-werror to xserver-xorg
configuration.
2018-10-29 Claudio Saavedra <csaavedra@igalia.com>
[GTK] Update API test expectations after r237383
https://bugs.webkit.org/show_bug.cgi?id=186913
Unreviewed gardening.
* TestWebKitAPI/glib/TestExpectations.json: Remove
passing TestSSL tests.
2018-10-28 Zan Dobersek <zdobersek@igalia.com>
[WPE] Add the WebKitVersion.h header
https://bugs.webkit.org/show_bug.cgi?id=191015
Reviewed by Michael Catanzaro.
* MiniBrowser/wpe/main.cpp:
(automationStartedCallback): Remove the FIXME and finally enable the
webkit_application_info_set_version() call.
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: Remove
this FIXME as well and remove the custom WEBKIT_*_VERSION macros.
2018-10-28 Fujii Hironori <Hironori.Fujii@sony.com>
[Win] Remove obsolete code for vcxproj builds in build-api-tests and build-jsc
https://bugs.webkit.org/show_bug.cgi?id=190948
Reviewed by Brent Fulgham.
vcxproj files have been removed in Bug 154388.
* Scripts/build-api-tests: Removed obsolete code to build vcproj.
* Scripts/build-jsc:
(buildMyProject): Ditto. Removed a condition of buiding bmalloc
which is not used because Windows ports are using CMake.
2018-10-28 Geoffrey Garen <ggaren@apple.com>
HashMap should support selecting a random entry
https://bugs.webkit.org/show_bug.cgi?id=190814
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Tests/WTF/HashMap.cpp: Renamed IsRandom to
IsEvenlyDistributed to reflect the fact that we're only testing the
distribution. Added a test case that covers more table densities and
the remove() operation.
2018-10-27 Charlie Turner <cturner@igalia.com>
[GTK] Add bubblewrap feature option
https://bugs.webkit.org/show_bug.cgi?id=190981
Reviewed by Xabier Rodriguez-Calvar.
Without this, it was not possible to disable the bubblewrap sandbox
from the webkit build scripts.
* Scripts/webkitperl/FeatureList.pm:
2018-10-26 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r237479 and r237484.
https://bugs.webkit.org/show_bug.cgi?id=190978
broke JSC on iOS (Requested by tadeuzagallo on #webkit).
Reverted changesets:
"New bytecode format for JSC"
https://bugs.webkit.org/show_bug.cgi?id=187373
https://trac.webkit.org/changeset/237479
"Gardening: Build fix after r237479."
https://bugs.webkit.org/show_bug.cgi?id=187373
https://trac.webkit.org/changeset/237484
2018-10-26 Tadeu Zagallo <tzagallo@apple.com>
New bytecode format for JSC
https://bugs.webkit.org/show_bug.cgi?id=187373
<rdar://problem/44186758>
Reviewed by Filip Pizlo.
Do not force ENABLE_JIT=true when $forceCLoop is false.
* Scripts/build-jsc:
2018-10-26 Geoffrey Garen <ggaren@apple.com>
HashMap should support selecting a random entry
https://bugs.webkit.org/show_bug.cgi?id=190814
Reviewed by Antti Koivisto.
* TestWebKitAPI/Tests/WTF/HashMap.cpp: Updated the Random_IsRandom to
more thoroughly test for randomness.
2018-10-26 Antti Koivisto <antti@apple.com>
hashSet.remove(hashSet.random()) doesn't build
https://bugs.webkit.org/show_bug.cgi?id=190953
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WTF/HashSet.cpp:
(TestWebKitAPI::TEST):
2018-10-26 Zalan Bujtas <zalan@apple.com>
[LFC][IFC] Layout floats as part of the inline content
https://bugs.webkit.org/show_bug.cgi?id=190942
Reviewed by Antti Koivisto.
* LayoutReloaded/misc/LFC-passing-tests.txt:
2018-10-26 Alicia Boya García <aboya@igalia.com>
[MSE][WTF][Media] Invalid MediaTime should be falsy
https://bugs.webkit.org/show_bug.cgi?id=190893
Reviewed by Jer Noble.
This patch adds additional API tests for the conversions from
MediaTime to boolean.
* TestWebKitAPI/Tests/WTF/MediaTime.cpp:
(TestWebKitAPI::TEST):
2018-10-25 Chris Dumez <cdumez@apple.com>
[PSON] Navigating cross-site with locked history but unlocked back/forward list fails to create a new BackForwardListItem
https://bugs.webkit.org/show_bug.cgi?id=190915
<rdar://problem/45059069>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-10-25 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: Add a watchlist message rule to warn about feature checking new inspector protocol changes
https://bugs.webkit.org/show_bug.cgi?id=190896
Reviewed by Matt Baker.
* Scripts/webkitpy/common/config/watchlist:
2018-10-25 Geoffrey Garen <ggaren@apple.com>
HashMap should support selecting a random entry
https://bugs.webkit.org/show_bug.cgi?id=190814
Reviewed by Antti Koivisto.
Unit testing is fun and easy!
* TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::ZeroHash::hash):
(TestWebKitAPI::TEST):
2018-10-24 Tim Horton <timothy_horton@apple.com>
REGRESSION (r237331): DismissingActionSheetShouldNotDismissPresentingViewController times out
https://bugs.webkit.org/show_bug.cgi?id=190897
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
(TestWebKitAPI::TEST):
Disable the test for now.
2018-10-24 Alexey Proskuryakov <ap@apple.com>
Clean up some obsolete macOS version guards
https://bugs.webkit.org/show_bug.cgi?id=190887
Reviewed by Dan Bernstein.
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(__simulated_forceClickAssociatedEventsMask):
(-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:clickCount:]):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
* WebKitTestRunner/mac/EventSenderProxy.mm:
(-[EventSenderSyntheticEvent initPressureEventAtLocation:globalLocation:stage:pressure:stageTransition:phase:time:eventNumber:window:]):
2018-10-24 Megan Gardner <megan_gardner@apple.com>
Turn on Conic Gradients
https://bugs.webkit.org/show_bug.cgi?id=190810
Reviewed by Tim Horton.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-10-24 Pablo Saavedra <psaavedra@igalia.com>
[WPE] Fix CMake rules in for TestWebKitAPIBase library building in developer mode
https://bugs.webkit.org/show_bug.cgi?id=190328
Reviewed by Michael Catanzaro.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformWPE.cmake:
2018-10-24 Chris Dumez <cdumez@apple.com>
[PSON] When navigating back and forth, 'about:blank' shows up in the back/forward list
https://bugs.webkit.org/show_bug.cgi?id=190846
<rdar://problem/45058938>
Reviewed by Antti Koivisto.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-10-24 Claudio Saavedra <csaavedra@igalia.com>
[GTK] TestSSL failing because of missing libsoup patch
https://bugs.webkit.org/show_bug.cgi?id=190869
Reviewed by Michael Catanzaro.
* gtk/jhbuild.modules: Add the patch below to fix the API test TestSSL
* gtk/patches/libsoup-soup-socket-fix-critical-warning-when-the-peer-certi.patch: Added.
2018-10-23 Justin Fan <justin_fan@apple.com>
[WebGPU] Rename old GPU* implementation files to GPULegacy* for WebMetal
https://bugs.webkit.org/show_bug.cgi?id=190817
Reviewed by Dean Jackson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/mac/GPULegacyBuffer.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPULegacyCommandQueue.mm: Copied from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPULegacyDevice.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPULegacyFunction.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPULegacyLibrary.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/mac/GPULegacyTest.h: Renamed from Tools/TestWebKitAPI/Tests/WebCore/mac/GPUTest.h.
2018-10-23 Chris Dumez <cdumez@apple.com>
[PSON] Add support for cross-site client-side redirects
https://bugs.webkit.org/show_bug.cgi?id=190806
<rdar://problem/45047344>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONNavigationDelegate _webView:willPerformClientRedirectToURL:delay:]):
(-[PSONNavigationDelegate _webView:didPerformClientRedirectFromURL:toURL:]):
2018-10-23 Claudio Saavedra <csaavedra@igalia.com>
[WPE][GTK] Pass full certificate chain in CertificateInfo coder
https://bugs.webkit.org/show_bug.cgi?id=190789
Reviewed by Michael Catanzaro.
When the network process serializes certificate data to other
processes through the argument coders, the certificate chain, if
present, is lost. In practice this means that applications using
the public API to process certificate info have no details on the
certificate chain, other than the very basics included in the
certificate. Serialize the entire chain if available in the
certificate.
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
(testSSL): Test that the self-signed certificate has no bogus
issuer certificate.
2018-10-22 Tim Horton <timothy_horton@apple.com>
REGRESSION (r237331): InteractionDeadlockAfterCrash API test fails
https://bugs.webkit.org/show_bug.cgi?id=190801
<rdar://problem/43674361>
* TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
(TEST):
Use a parented WKWebView for this test, otherwise none of the assertions
about gesture recognizers work anymore.
2018-10-22 Ryan Haddad <ryanhaddad@apple.com>
REGRESSION (r234081): TestWebKitAPI.VideoControlsManager.VideoControlsManagerAudioElementFollowingUserInteraction is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=187972
Unreviewed test gardening.
* TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST): Disable the flaky test.
2018-10-22 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] [Datalist] fast/forms/datalist/datalist-show-hide.html fails
https://bugs.webkit.org/show_bug.cgi?id=190777
Reviewed by Tim Horton.
Implement isShowingDataListSuggestions on iOS. See below for more details.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::isShowingDataListSuggestions const):
Add a stub implementation for DumpRenderTree.
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::isShowingDataListSuggestions const):
Move this stub implementation to !PLATFORM(COCOA).
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::forEachViewInHierarchy):
Add a helper function to apply a given function to a UIView and each of its subviews, recursively.
(WTR::UIScriptController::isShowingDataListSuggestions const):
For iOS, return whether the UIRemoteKeyboardWindow contains a subview of type WKDataListSuggestionsPickerView.
2018-10-19 Dan Bernstein <mitz@apple.com>
[macOS] MiniBrowser has an unused injected bundle
https://bugs.webkit.org/show_bug.cgi?id=190770
Reviewed by Tim Horton.
* MiniBrowser/Configurations/MiniBrowserBundle.xcconfig: Removed.
* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Removed the MiniBrowserBundle target,
the Copy Bundle build phase in the MiniBrowser target, and references to removed files.
* MiniBrowser/MiniBrowserWebProcessPlugIn.h: Removed.
* MiniBrowser/MiniBrowserWebProcessPlugIn.m: Removed.
* MiniBrowser/mac/Bundle: Removed.
2018-10-19 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] [Datalist] Can't pick datalist suggestions in a stock WKWebView
https://bugs.webkit.org/show_bug.cgi?id=190621
<rdar://problem/45310649>
Reviewed by Tim Horton.
Add a UIScriptController hook to resign first responder on WKWebView. See LayoutTests/ChangeLog for more detail.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::resignFirstResponder):
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::resignFirstResponder):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::resignFirstResponder):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/UIScriptControllerCocoa.mm:
(WTR::UIScriptController::resignFirstResponder):
* WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::makeWebViewFirstResponder):
Implement this method stub on iOS, to ensure that TestController::resetStateToConsistentValues restores first
responder on the WKWebView when running iOS layout tests.
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetStateToConsistentValues):
After resigning first responder to dismiss any on-screen keyboard, ensure that we restore first responder.
2018-10-19 Dean Jackson <dino@apple.com>
ASSERTION FAILED: !frame().animation().hasAnimations() in WebCore::FrameView::didDestroyRenderTree()
https://bugs.webkit.org/show_bug.cgi?id=186946
<rdar://problem/41724248>
Reviewed by Antoine Quint.
If the incoming test has different enableWebAnimationsCSSIntegration options,
then we need to create a new WebView.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::webViewIsCompatibleWithOptions const):
2018-10-19 Charlie Turner <cturner@igalia.com>
[EME] Fix crash during tracing in gst_qtdemux_request_protection_context
https://bugs.webkit.org/show_bug.cgi?id=190738
Reviewed by Xabier Rodriguez-Calvar.
Add a GStreamer patch to avoid crashing when the run-time logging
level is TRACE. There was a missing null check which caused many
tests to crash.
* gstreamer/patches/gst-plugins-good-0013-Avoid-warning-when-reporting-about-decryptors.patch: Added.
2018-10-18 Alicia Boya García <aboya@igalia.com>
[Media] Use nanoseconds as MaximumTimeScale
https://bugs.webkit.org/show_bug.cgi?id=190631
Rebased MediaTime tests covering timescales over the maximum.
Reviewed by Jer Noble.
* TestWebKitAPI/Tests/WTF/MediaTime.cpp:
(TestWebKitAPI::TEST):
2018-10-18 Dean Johnson <dean_johnson@apple.com>
clean-webkit pulls in many unnecessary dependencies in webkitpy
https://bugs.webkit.org/show_bug.cgi?id=190732
Reviewed by Alexey Proskuryakov.
* Scripts/webkitpy/common/host.py:
(Host.__init__): Split out 'bugs', 'bugzilla', and 'web' to only be created when used.
(Host):
(Host.bugs):
(Host.bugzilla):
(Host.web):
2018-10-18 Chris Dumez <cdumez@apple.com>
[PSON] SuspendedPages do not report meaningful domains in Activity Monitor
https://bugs.webkit.org/show_bug.cgi?id=190721
<rdar://problem/45059699>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-10-18 Alexey Proskuryakov <ap@apple.com>
Switch from PLATFORM(IOS) to PLATFORM(IOS_FAMILY)
https://bugs.webkit.org/show_bug.cgi?id=190729
Reviewed by Tim Horton.
* DumpRenderTree/AccessibilityController.h:
* DumpRenderTree/AccessibilityTextMarker.h:
* DumpRenderTree/AccessibilityUIElement.cpp:
(AccessibilityUIElement::getJSClass):
* DumpRenderTree/AccessibilityUIElement.h:
* DumpRenderTree/DumpRenderTreeFileDraggingSource.h:
* DumpRenderTree/TestRunner.cpp:
(getSecureEventInputIsEnabledCallback):
(TestRunner::staticFunctions):
(TestRunner::callUIScriptCallback):
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/cg/PixelDumpSupportCG.cpp:
* DumpRenderTree/ios/AccessibilityTextMarkerIOS.mm:
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
* DumpRenderTree/ios/DumpRenderTreeAppMain.mm:
* DumpRenderTree/ios/DumpRenderTreeBrowserView.mm:
* DumpRenderTree/ios/TextInputControllerIOS.m:
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
* DumpRenderTree/mac/AppleScriptController.m:
* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
(destroyWebViewAndOffscreenWindow):
(resetWebPreferencesToConsistentValues):
(setDefaultsToConsistentValuesForTesting):
(allocateGlobalControllers):
(releaseGlobalControllers):
(addTestPluginsToPluginSearchPath):
(prepareConsistentTestingEnvironment):
(dumpRenderTree):
(DumpRenderTreeMain):
(dumpFrameAsPDF):
(dumpBackForwardListForAllWindows):
(updateDisplay):
(dump):
(resetWebViewToConsistentStateBeforeTesting):
(runTest):
(displayWebView):
(displayAndTrackRepaintsWebView):
* DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h:
* DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
* DumpRenderTree/mac/DumpRenderTreeMac.h:
* DumpRenderTree/mac/DumpRenderTreePasteboard.h:
* DumpRenderTree/mac/DumpRenderTreeWindow.h:
* DumpRenderTree/mac/DumpRenderTreeWindow.mm:
(-[DumpRenderTreeWindow close]):
(-[DumpRenderTreeWindow webView]):
(-[DumpRenderTreeWindow webViewStartedAcceleratedCompositing:]):
* DumpRenderTree/mac/EventSendingController.h:
* DumpRenderTree/mac/EventSendingController.mm:
(+[EventSendingController isSelectorExcludedFromWebScript:]):
(+[EventSendingController webScriptNameForSelector:]):
(-[EventSendingController dealloc]):
(-[EventSendingController currentEventTime]):
(-[EventSendingController clearKillRing]):
(modifierFlags):
(-[EventSendingController mouseDown:withModifiers:]):
(-[EventSendingController scalePageBy:atX:andY:]):
(-[EventSendingController mouseUp:withModifiers:]):
(-[EventSendingController mouseMoveToX:Y:]):
(-[EventSendingController mouseScrollByX:andY:continuously:]):
(-[EventSendingController keyDown:withModifiers:withLocation:]):
* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate init]):
(-[FrameLoadDelegate dealloc]):
(-[FrameLoadDelegate processWork:]):
(-[FrameLoadDelegate webView:didStartProvisionalLoadForFrame:]):
(-[FrameLoadDelegate webView:didCommitLoadForFrame:]):
(-[FrameLoadDelegate didClearWindowObjectInStandardWorldForFrame:]):
* DumpRenderTree/mac/LayoutTestHelper.m:
* DumpRenderTree/mac/MockGeolocationProvider.mm:
(-[MockGeolocationProvider timerFired]):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::setMainFrameIsFirstResponder):
(TestRunner::setAutomaticLinkDetectionEnabled):
(TestRunner::setUseDashboardCompatibilityMode):
(TestRunner::isCommandEnabled):
(TestRunner::inspectorTestStubURL):
(TestRunner::apiTestNewWindowDataLoadBaseURL):
(TestRunner::abortModal):
(TestRunner::setTextDirection):
(TestRunner::addChromeInputField):
(TestRunner::removeChromeInputField):
(TestRunner::focusWebView):
(TestRunner::setBackingScaleFactor):
(TestRunner::imageCountInGeneralPasteboard const):
* DumpRenderTree/mac/UIDelegate.h:
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate modalWindowWillClose:]):
(-[UIDelegate webViewRunModal:]):
(-[UIDelegate webView:supportsFullScreenForElement:withKeyboard:]):
(-[UIDelegate dealloc]):
* Scripts/check-for-inappropriate-objc-class-names:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
* TestRunnerShared/spi/UIKitTestSPI.h:
* TestWebKitAPI/Tests/WTF/darwin/WeakLinking.cpp:
* TestWebKitAPI/Tests/WebCore/MarkedText.cpp:
(WebCore::operator<<):
* TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
(TestWebKitAPI::WebCoreNSURLSessionTest::SetUp):
* TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp:
* TestWebKitAPI/Tests/WebKit/NoHistoryItemScrollToFragment.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/AdditionalReadAccessAllowedURLs.mm:
* TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/BundleEditingDelegate.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/BundleRangeHandle.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/BundleRangeHandlePlugIn.mm:
(-[BundleRangeHandlePlugIn webProcessPlugInBrowserContextController:didFinishDocumentLoadForFrame:]):
* TestWebKitAPI/Tests/WebKitCocoa/Coding.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
* TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
(createWebViewWithCustomPasteboardDataEnabled):
* TestWebKitAPI/Tests/WebKitCocoa/Copying.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
* TestWebKitAPI/Tests/WebKitCocoa/DoAfterNextPresentationUpdateAfterCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FixedLayoutSize.mm:
* TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm:
* TestWebKitAPI/Tests/WebKitCocoa/Geolocation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
* TestWebKitAPI/Tests/WebKitCocoa/LocalStorageClear.mm:
(defaultWebsiteCacheDirectory):
(defaultApplicationCacheDirectory):
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/NSFileManagerExtras.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:
* TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
* TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
* TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
* TestWebKitAPI/Tests/WebKitCocoa/RenderedImageWithOptions.mm:
(runTestWithWidth):
* TestWebKitAPI/Tests/WebKitCocoa/RenderedImageWithOptionsPlugIn.mm:
(-[RenderedImageWithOptionsPlugIn renderImageWithWidth:completionHandler:]):
* TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
* TestWebKitAPI/Tests/WebKitCocoa/ShrinkToFit.mm:
* TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
* TestWebKitAPI/Tests/WebKitCocoa/VisibleContentRect.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(platformCopyRichTextWithMultipleAttachments):
(platformCopyRichTextWithImage):
(platformCopyPNG):
* TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKContentViewTargetForAction.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKPDFViewStablePresentationUpdateCallback.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-leaks.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
* TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:
* TestWebKitAPI/Tests/WebKitLegacy/mac/AccessingPastedImage.mm:
* TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
* TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
* TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
* TestWebKitAPI/Tests/ios/RenderingProgressTests.mm:
* TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
* TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm:
* TestWebKitAPI/Tests/ios/SynchronousTimeoutTests.mm:
* TestWebKitAPI/Tests/ios/TestInputDelegate.h:
* TestWebKitAPI/Tests/ios/TestInputDelegate.mm:
* TestWebKitAPI/Tests/ios/TextAutosizingBoost.mm:
* TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
* TestWebKitAPI/Tests/ios/WKScrollViewDelegate.mm:
* TestWebKitAPI/Tests/ios/WKScrollViewTests.mm:
* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
* TestWebKitAPI/Tests/ios/WKWebViewEditActions.mm:
* TestWebKitAPI/cocoa/DragAndDropSimulator.h:
* TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
(-[WKWebView _test_waitForDidFinishNavigation]):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
* TestWebKitAPI/config.h:
* TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
* TestWebKitAPI/ios/TestWKWebViewController.h:
* TestWebKitAPI/ios/TestWKWebViewController.mm:
* TestWebKitAPI/ios/UIKitSPI.h:
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
(WTR::TestRunner::inspectorTestStubURL):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::webProcessName):
(WTR::TestController::networkProcessName):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/cg/TestInvocationCG.cpp:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
(WTR::TestController::platformCreateWebView):
(WTR::TestController::imageCountInGeneralPasteboard const):
(WTR::TestController::addTestKeyToKeychain):
(WTR::TestController::cleanUpKeychain):
(WTR::TestController::keyExistsInKeychain):
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2018-10-18 Chris Dumez <cdumez@apple.com>
[PSON] Cap number of SuspendedPageProxy objects and allow a WebPageProxy to have more than one
https://bugs.webkit.org/show_bug.cgi?id=190688
<rdar://problem/45354095>
Reviewed by Antti Koivisto.
Extended API test coverage to confirm that:
- We do not accumulate more than 3 suspended processes.
- We can navigate back 3 times and use the page cache for each of these loads.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-10-17 Wenson Hsieh <wenson_hsieh@apple.com>
Enable the datalist element by default on iOS and macOS
https://bugs.webkit.org/show_bug.cgi?id=190594
<rdar://problem/45281159>
Reviewed by Ryosuke Niwa and Tim Horton.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-10-17 Chris Fleizach <cfleizach@apple.com>
AX: Certain tags should identify their context to iOS API
https://bugs.webkit.org/show_bug.cgi?id=190622
<rdar://problem/45308194>
Reviewed by Zalan Bujtas.
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::stringAttributeValue):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::stringAttributeValue):
2018-10-16 Sihui Liu <sihui_liu@apple.com>
Add a switch for Web SQL
https://bugs.webkit.org/show_bug.cgi?id=190271
Reviewed by Ryosuke Niwa.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2018-10-16 Alex Christensen <achristensen@webkit.org>
Remove InjectedBundleBackForwardList
https://bugs.webkit.org/show_bug.cgi?id=190640
Reviewed by Chris Dumez.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::dumpBackForwardListsForAllPages):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::prepare):
(WTR::InjectedBundlePage::dumpHistory):
(WTR::hasPrefix): Deleted.
(WTR::compareByTargetName): Deleted.
(WTR::dumpBackForwardListItem): Deleted.
(WTR::InjectedBundlePage::dumpBackForwardList): Deleted.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::clearBackForwardList):
2018-10-16 Dominik Infuehr <dinfuehr@igalia.com>
Unreviewed, added myself to contributors.json.
* Scripts/webkitpy/common/config/contributors.json:
2018-10-16 Justin Michaud <justin_michaud@apple.com>
Implement feature flag and bindings for CSS Painting API
https://bugs.webkit.org/show_bug.cgi?id=190237
Reviewed by Ryosuke Niwa.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-10-16 Philippe Normand <pnormand@igalia.com>
Unreviewed, GTK Ubuntu LTS Jhbuild prospective build fix
* gstreamer/jhbuild.modules:
2018-10-16 Philippe Normand <pnormand@igalia.com>
[GTK][JHBuild] Disable libmount support in glib
Rubber-stamped by Alejandro G. Castro.
This feature doesn't seem required for our setup.
* gtk/jhbuild.modules:
2018-10-15 Justin Fan <justin_fan@apple.com>
Add WebGPU 2018 feature flag and experimental feature flag
https://bugs.webkit.org/show_bug.cgi?id=190509
Reviewed by Dean Jackson.
Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
for the 2018 WebGPU prototype.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-10-15 Ryan Haddad <ryanhaddad@apple.com>
Update bot configuration for Sierra archive queues
https://bugs.webkit.org/show_bug.cgi?id=190605
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2018-10-15 Timothy Hatcher <timothy@apple.com>
Add support for prefers-color-scheme media query
https://bugs.webkit.org/show_bug.cgi?id=190499
rdar://problem/45212025
Reviewed by Dean Jackson.
* Scripts/webkitperl/FeatureList.pm: Added ENABLE_DARK_MODE_CSS as dark-mode-css.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.
2018-10-15 Patrick Griffis <pgriffis@igalia.com>
[JHBuild] Add xdg-dbus-proxy module
https://bugs.webkit.org/show_bug.cgi?id=190589
Reviewed by Michael Catanzaro.
* gtk/jhbuild.modules:
2018-10-15 Patrick Griffis <pgriffis@igalia.com>
[GTK] Add new sandboxing dependencies to install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=190588
Reviewed by Michael Catanzaro.
* gtk/install-dependencies:
2018-10-15 Chris Dumez <cdumez@apple.com>
Experiment: target=_blank on anchors should imply rel=noopener
https://bugs.webkit.org/show_bug.cgi?id=190481
Reviewed by Alex Christensen.
Add API test coverage to make sure we can now swap process when target=_blank
is specified on an anchor but rel=noopener is not.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-10-15 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Can't select text after dismissing the keyboard when changing focus
https://bugs.webkit.org/show_bug.cgi?id=190563
<rdar://problem/44613559>
Reviewed by Tim Horton.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::isShowingKeyboard const):
Add a new UIScriptController method that returns whether the keyboard is shown. See `ui-helper.js` for more
details.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::isShowingKeyboard const):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
Also rename the `isShowingKeyboard` Objective-C property to the more canonical `showingKeyboard`, with
`isShowingKeyboard` as the getter method.
(-[TestRunnerWKWebView _invokeShowKeyboardCallbackIfNecessary]):
(-[TestRunnerWKWebView _invokeHideKeyboardCallbackIfNecessary]):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::isShowingKeyboard const):
2018-10-15 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, fix JSC tests after WebGPUShadingLanguageRI directory was removed in r237115.
* Scripts/run-javascriptcore-tests:
(runJSCStressTests): Remove wsl-tests.yaml.
2018-10-15 Christopher Reid <chris.reid@sony.com>
[Curl][WinCairo] Add Public Suffix support to WinCairo
https://bugs.webkit.org/show_bug.cgi?id=183060
Reviewed by Alex Christensen.
Share mac's PublicSuffix tests with all ports.
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
* TestWebKitAPI/Tests/mac/PublicSuffix.mm: Removed.
2018-10-15 Myles C. Maxfield <mmaxfield@apple.com>
[WHLSL] Migrated WebGPUShadingLanguageRI to the W3C
https://bugs.webkit.org/show_bug.cgi?id=190555
Unreviewed.
Migrated to https://github.com/gpuweb/WHLSL/tree/master/Source
* WebGPUShadingLanguageRI/AddressSpace.js: Removed.
* WebGPUShadingLanguageRI/All.js: Removed.
* WebGPUShadingLanguageRI/AllocateAtEntryPoints.js: Removed.
* WebGPUShadingLanguageRI/AnonymousVariable.js: Removed.
* WebGPUShadingLanguageRI/ArrayRefType.js: Removed.
* WebGPUShadingLanguageRI/ArrayType.js: Removed.
* WebGPUShadingLanguageRI/Assignment.js: Removed.
* WebGPUShadingLanguageRI/AutoWrapper.js: Removed.
* WebGPUShadingLanguageRI/Block.js: Removed.
* WebGPUShadingLanguageRI/BoolLiteral.js: Removed.
* WebGPUShadingLanguageRI/Break.js: Removed.
* WebGPUShadingLanguageRI/BuiltInSemantic.js: Removed.
* WebGPUShadingLanguageRI/BuiltinMatrixGetter.js: Removed.
* WebGPUShadingLanguageRI/BuiltinMatrixSetter.js: Removed.
* WebGPUShadingLanguageRI/BuiltinVectorGetter.js: Removed.
* WebGPUShadingLanguageRI/BuiltinVectorSetter.js: Removed.
* WebGPUShadingLanguageRI/CallExpression.js: Removed.
* WebGPUShadingLanguageRI/CallFunction.js: Removed.
* WebGPUShadingLanguageRI/Casts.js: Removed.
* WebGPUShadingLanguageRI/Check.js: Removed.
* WebGPUShadingLanguageRI/CheckLiteralTypes.js: Removed.
* WebGPUShadingLanguageRI/CheckLoops.js: Removed.
* WebGPUShadingLanguageRI/CheckNativeFuncStages.js: Removed.
* WebGPUShadingLanguageRI/CheckRecursion.js: Removed.
* WebGPUShadingLanguageRI/CheckRecursiveTypes.js: Removed.
* WebGPUShadingLanguageRI/CheckReturns.js: Removed.
* WebGPUShadingLanguageRI/CheckTypesWithArguments.js: Removed.
* WebGPUShadingLanguageRI/CheckUnreachableCode.js: Removed.
* WebGPUShadingLanguageRI/CheckWrapped.js: Removed.
* WebGPUShadingLanguageRI/Checker.js: Removed.
* WebGPUShadingLanguageRI/CloneProgram.js: Removed.
* WebGPUShadingLanguageRI/CommaExpression.js: Removed.
* WebGPUShadingLanguageRI/ConstexprFolder.js: Removed.
* WebGPUShadingLanguageRI/Continue.js: Removed.
* WebGPUShadingLanguageRI/ConvertPtrToArrayRefExpression.js: Removed.
* WebGPUShadingLanguageRI/CreateLiteral.js: Removed.
* WebGPUShadingLanguageRI/CreateLiteralType.js: Removed.
* WebGPUShadingLanguageRI/DereferenceExpression.js: Removed.
* WebGPUShadingLanguageRI/DoWhileLoop.js: Removed.
* WebGPUShadingLanguageRI/DotExpression.js: Removed.
* WebGPUShadingLanguageRI/EArrayRef.js: Removed.
* WebGPUShadingLanguageRI/EBuffer.js: Removed.
* WebGPUShadingLanguageRI/EBufferBuilder.js: Removed.
* WebGPUShadingLanguageRI/EPtr.js: Removed.
* WebGPUShadingLanguageRI/EnumLiteral.js: Removed.
* WebGPUShadingLanguageRI/EnumMember.js: Removed.
* WebGPUShadingLanguageRI/EnumType.js: Removed.
* WebGPUShadingLanguageRI/EvaluationCommon.js: Removed.
* WebGPUShadingLanguageRI/Evaluator.js: Removed.
* WebGPUShadingLanguageRI/Expression.js: Removed.
* WebGPUShadingLanguageRI/ExpressionFinder.js: Removed.
* WebGPUShadingLanguageRI/ExternalOrigin.js: Removed.
* WebGPUShadingLanguageRI/Field.js: Removed.
* WebGPUShadingLanguageRI/FindHighZombies.js: Removed.
* WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js: Removed.
* WebGPUShadingLanguageRI/FloatLiteral.js: Removed.
* WebGPUShadingLanguageRI/FloatLiteralType.js: Removed.
* WebGPUShadingLanguageRI/FoldConstexprs.js: Removed.
* WebGPUShadingLanguageRI/ForLoop.js: Removed.
* WebGPUShadingLanguageRI/Func.js: Removed.
* WebGPUShadingLanguageRI/FuncAttribute.js: Removed.
* WebGPUShadingLanguageRI/FuncDef.js: Removed.
* WebGPUShadingLanguageRI/FuncNumThreadsAttribute.js: Removed.
* WebGPUShadingLanguageRI/FuncParameter.js: Removed.
* WebGPUShadingLanguageRI/FunctionLikeBlock.js: Removed.
* WebGPUShadingLanguageRI/HighZombieFinder.js: Removed.
* WebGPUShadingLanguageRI/IdentityExpression.js: Removed.
* WebGPUShadingLanguageRI/IfStatement.js: Removed.
* WebGPUShadingLanguageRI/IndexExpression.js: Removed.
* WebGPUShadingLanguageRI/InferTypesForCall.js: Removed.
* WebGPUShadingLanguageRI/Inline.js: Removed.
* WebGPUShadingLanguageRI/Inliner.js: Removed.
* WebGPUShadingLanguageRI/IntLiteral.js: Removed.
* WebGPUShadingLanguageRI/IntLiteralType.js: Removed.
* WebGPUShadingLanguageRI/Intrinsics.js: Removed.
* WebGPUShadingLanguageRI/LayoutBuffers.js: Removed.
* WebGPUShadingLanguageRI/Lexer.js: Removed.
* WebGPUShadingLanguageRI/LexerToken.js: Removed.
* WebGPUShadingLanguageRI/LiteralTypeChecker.js: Removed.
* WebGPUShadingLanguageRI/LogicalExpression.js: Removed.
* WebGPUShadingLanguageRI/LogicalNot.js: Removed.
* WebGPUShadingLanguageRI/LoopChecker.js: Removed.
* WebGPUShadingLanguageRI/MakeArrayRefExpression.js: Removed.
* WebGPUShadingLanguageRI/MakePtrExpression.js: Removed.
* WebGPUShadingLanguageRI/MatrixType.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLBackend.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLCompileResult.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLConstexprEmitter.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLFunctionForwardDeclaration.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLNameMangler.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLNativeFunctionCall.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLTypeAttributes.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLTypeAttributesMap.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLTypeUnifier.js: Removed.
* WebGPUShadingLanguageRI/Metal/TypeOf.js: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/.gitignore: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/AppIcon.appiconset/Contents.json: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/Contents.json: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Base.lproj/Main.storyboard: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Info.plist: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/WHLSL.entitlements: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/_SharedMetal.txt: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/main.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/Info.plist: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/WHLSL_ToyTests.m: Removed.
* WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Removed.
* WebGPUShadingLanguageRI/Metal/WhlslToMsl.js: Removed.
* WebGPUShadingLanguageRI/NameContext.js: Removed.
* WebGPUShadingLanguageRI/NameFinder.js: Removed.
* WebGPUShadingLanguageRI/NameResolver.js: Removed.
* WebGPUShadingLanguageRI/NativeFunc.js: Removed.
* WebGPUShadingLanguageRI/NativeType.js: Removed.
* WebGPUShadingLanguageRI/Node.js: Removed.
* WebGPUShadingLanguageRI/NormalUsePropertyResolver.js: Removed.
* WebGPUShadingLanguageRI/NullLiteral.js: Removed.
* WebGPUShadingLanguageRI/NullType.js: Removed.
* WebGPUShadingLanguageRI/OperatorAnderIndexer.js: Removed.
* WebGPUShadingLanguageRI/OperatorArrayRefLength.js: Removed.
* WebGPUShadingLanguageRI/OriginKind.js: Removed.
* WebGPUShadingLanguageRI/OverloadResolutionFailure.js: Removed.
* WebGPUShadingLanguageRI/Parse.js: Removed.
* WebGPUShadingLanguageRI/Prepare.js: Removed.
* WebGPUShadingLanguageRI/Program.js: Removed.
* WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js: Removed.
* WebGPUShadingLanguageRI/PropertyAccessExpression.js: Removed.
* WebGPUShadingLanguageRI/PropertyResolver.js: Removed.
* WebGPUShadingLanguageRI/PtrType.js: Removed.
* WebGPUShadingLanguageRI/ReadModifyWriteExpression.js: Removed.
* WebGPUShadingLanguageRI/RecursionChecker.js: Removed.
* WebGPUShadingLanguageRI/RecursiveTypeChecker.js: Removed.
* WebGPUShadingLanguageRI/ReferenceType.js: Removed.
* WebGPUShadingLanguageRI/ResolveNames.js: Removed.
* WebGPUShadingLanguageRI/ResolveOverloadImpl.js: Removed.
* WebGPUShadingLanguageRI/ResolveProperties.js: Removed.
* WebGPUShadingLanguageRI/ResolveTypeDefs.js: Removed.
* WebGPUShadingLanguageRI/ResourceSemantic.js: Removed.
* WebGPUShadingLanguageRI/Return.js: Removed.
* WebGPUShadingLanguageRI/ReturnChecker.js: Removed.
* WebGPUShadingLanguageRI/ReturnException.js: Removed.
* WebGPUShadingLanguageRI/Rewriter.js: Removed.
* WebGPUShadingLanguageRI/SPIR-V.js: Removed.
* WebGPUShadingLanguageRI/SPIRV.html: Removed.
* WebGPUShadingLanguageRI/SPIRVCodegen.js: Removed.
* WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Removed.
* WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Removed.
* WebGPUShadingLanguageRI/Sampler.js: Removed.
* WebGPUShadingLanguageRI/Semantic.js: Removed.
* WebGPUShadingLanguageRI/SpecializationConstantSemantic.js: Removed.
* WebGPUShadingLanguageRI/StageInOutSemantic.js: Removed.
* WebGPUShadingLanguageRI/StandardLibrary.js: Removed.
* WebGPUShadingLanguageRI/StatementCloner.js: Removed.
* WebGPUShadingLanguageRI/StructLayoutBuilder.js: Removed.
* WebGPUShadingLanguageRI/StructType.js: Removed.
* WebGPUShadingLanguageRI/SwitchCase.js: Removed.
* WebGPUShadingLanguageRI/SwitchStatement.js: Removed.
* WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js: Removed.
* WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js: Removed.
* WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Removed.
* WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Removed.
* WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Removed.
* WebGPUShadingLanguageRI/TernaryExpression.js: Removed.
* WebGPUShadingLanguageRI/Test.html: Removed.
* WebGPUShadingLanguageRI/Test.js: Removed.
* WebGPUShadingLanguageRI/Texture.js: Removed.
* WebGPUShadingLanguageRI/TextureOperations.js: Removed.
* WebGPUShadingLanguageRI/TrapStatement.js: Removed.
* WebGPUShadingLanguageRI/Type.js: Removed.
* WebGPUShadingLanguageRI/TypeDef.js: Removed.
* WebGPUShadingLanguageRI/TypeDefResolver.js: Removed.
* WebGPUShadingLanguageRI/TypeOverloadResolutionFailure.js: Removed.
* WebGPUShadingLanguageRI/TypeRef.js: Removed.
* WebGPUShadingLanguageRI/TypedValue.js: Removed.
* WebGPUShadingLanguageRI/UintLiteral.js: Removed.
* WebGPUShadingLanguageRI/UintLiteralType.js: Removed.
* WebGPUShadingLanguageRI/UnificationContext.js: Removed.
* WebGPUShadingLanguageRI/UnreachableCodeChecker.js: Removed.
* WebGPUShadingLanguageRI/Value.js: Removed.
* WebGPUShadingLanguageRI/VariableDecl.js: Removed.
* WebGPUShadingLanguageRI/VariableRef.js: Removed.
* WebGPUShadingLanguageRI/VectorType.js: Removed.
* WebGPUShadingLanguageRI/VisitingSet.js: Removed.
* WebGPUShadingLanguageRI/Visitor.js: Removed.
* WebGPUShadingLanguageRI/WLexicalError.js: Removed.
* WebGPUShadingLanguageRI/WSyntaxError.js: Removed.
* WebGPUShadingLanguageRI/WTrapError.js: Removed.
* WebGPUShadingLanguageRI/WTypeError.js: Removed.
* WebGPUShadingLanguageRI/WhileLoop.js: Removed.
* WebGPUShadingLanguageRI/WrapChecker.js: Removed.
* WebGPUShadingLanguageRI/index.html: Removed.
* WebGPUShadingLanguageRI/spirv.core.grammar.json: Removed.
* WebGPUShadingLanguageRI/wsl-tests.yaml: Removed.
2018-10-15 Philippe Normand <pnormand@igalia.com>
[GTK] Disable MSE build support on Debian and Ubuntu LTS bots
https://bugs.webkit.org/show_bug.cgi?id=190581
Reviewed by Michael Catanzaro.
These bots don't use JHBuild and their host GStreamer version is
too old for the GStreamer MSE backend. Version 1.14 is needed at least.
* BuildSlaveSupport/build.webkit.org-config/config.json:
2018-10-15 Alex Christensen <achristensen@webkit.org>
Use pragma once in WTF
https://bugs.webkit.org/show_bug.cgi?id=190527
Reviewed by Chris Dumez.
Put WorkQueue in namespace DRT so it does not conflict with WTF::WorkQueue.
* DumpRenderTree/TestRunner.cpp:
(TestRunner::queueLoadHTMLString):
(TestRunner::queueLoadAlternateHTMLString):
(TestRunner::queueBackNavigation):
(TestRunner::queueForwardNavigation):
(TestRunner::queueLoadingScript):
(TestRunner::queueNonLoadingScript):
(TestRunner::queueReload):
* DumpRenderTree/WorkQueue.cpp:
(WorkQueue::singleton): Deleted.
(WorkQueue::WorkQueue): Deleted.
(WorkQueue::queue): Deleted.
(WorkQueue::dequeue): Deleted.
(WorkQueue::count): Deleted.
(WorkQueue::clear): Deleted.
(WorkQueue::processWork): Deleted.
* DumpRenderTree/WorkQueue.h:
(WorkQueue::setFrozen): Deleted.
* DumpRenderTree/WorkQueueItem.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate processWork:]):
(-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::notifyDone):
(TestRunner::forceImmediateCompletion):
(TestRunner::queueLoad):
* DumpRenderTree/win/DumpRenderTree.cpp:
(runTest):
* DumpRenderTree/win/FrameLoadDelegate.cpp:
(FrameLoadDelegate::processWork):
(FrameLoadDelegate::locationChangeDone):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::notifyDone):
(TestRunner::forceImmediateCompletion):
(TestRunner::queueLoad):
2018-10-14 Yusuke Suzuki <yusukesuzuki@slowstart.org>
[JSC] Remove Option::useAsyncIterator
https://bugs.webkit.org/show_bug.cgi?id=190567
Reviewed by Saam Barati.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-10-15 Claudio Saavedra <csaavedra@igalia.com>
[WPE] Silence a unused-parameter warning
Unreviewed.
* MiniBrowser/wpe/main.cpp:
(decidePermissionRequest):
2018-10-12 Guillaume Emont <guijemont@igalia.com>
[Tools][webkitpy] fix handling of JSCTESTS_OPTIONS
https://bugs.webkit.org/show_bug.cgi?id=190537
Reviewed by Alexey Proskuryakov.
In DeprecatedPort.run_javascriptcore_tests_command() JSCTESTS_OPTIONS
needs to be split before adding it to the command since it is treated
as a list of args.
* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.run_javascriptcore_tests_command):
2018-10-12 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Allow SPI clients to lay out at arbitrarily scaled sizes and scale to fit the view
https://bugs.webkit.org/show_bug.cgi?id=190504
<rdar://problem/45117760>
Reviewed by Tim Horton.
Teach UIScriptController to set WKWebView's view scale via a new `setViewScale` method, supported in WebKit2 on
macOS and iOS.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setViewScale):
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::setViewScale):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setViewScale):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/UIScriptControllerCocoa.mm: Added.
Add a new file for UIScriptController methods on Cocoa platforms.
(WTR::UIScriptController::setViewScale):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
Ensure that _viewScale is reset to 1 after running a layout test.
2018-10-12 Aakash Jain <aakash_jain@apple.com>
[ews-build] Rename iOS-11-Simulator-Tests-EWS to iOS-11-Simulator-WK2-Tests-EWS
https://bugs.webkit.org/show_bug.cgi?id=190536
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/ews-build/config.json: Renamed iOS-11-Simulator-Tests-EWS to iOS-11-Simulator-WK2-Tests-EWS.
2018-10-11 Youenn Fablet <youenn@apple.com>
IOS 12 - Service worker cache not shared when added to homescreen
https://bugs.webkit.org/show_bug.cgi?id=190269
<rdar://problem/45009961>
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
Add test to ensure that CacheStorage use the default website data store parameters.
2018-10-11 Tim Horton <timothy_horton@apple.com>
Clicking on bookmarklet crashes at NavigationState::willRecordNavigationSnapshot
https://bugs.webkit.org/show_bug.cgi?id=190476
<rdar://problem/32757191>
Reviewed by Megan Gardner.
* TestWebKitAPI/Tests/WebKitCocoa/SnapshotStore.mm:
(TEST):
Add a test that we don't crash.
2018-10-11 Tim Horton <timothy_horton@apple.com>
REGRESSION (r237037): Cannot use webkit-patch upload, always fails with unknown 'cc_radar'
* Scripts/webkitpy/tool/steps/options.py:
(Options):
Fix the name of the variable that the --cc-radar option writes into.
2018-10-10 Dean Jackson <dino@apple.com>
Add --cc-radar option to webkit-patch bug creation
https://bugs.webkit.org/show_bug.cgi?id=190451
<rdar://problem/45176671>
Reviewed by Antoine Quint.
Add a new command line option to automatically
CC radar to new or updated bugs.
* Scripts/webkitpy/tool/commands/commandtest.py:
(CommandsTest.assert_execute_outputs):
* Scripts/webkitpy/tool/commands/upload.py:
(CreateBug.__init__):
(CreateBug.execute):
* Scripts/webkitpy/tool/commands/upload_unittest.py:
(test_prepare_with_cc):
(test_prepare_with_radar):
(test_prepare_with_cc_and_radar):
* Scripts/webkitpy/tool/steps/createbug.py:
(CreateBug.options):
(CreateBug.run):
* Scripts/webkitpy/tool/steps/options.py:
(Options):
2018-10-11 Claudio Saavedra <csaavedra@igalia.com>
[GStreamer] Do not build gstgtk plugins
https://bugs.webkit.org/show_bug.cgi?id=190463
Reviewed by Xabier Rodriguez-Calvar.
These plugins pull a GTK+ dependency that, at least in WPE,
is unnecessary. The GTK+ port doesn't need it either, as far
as I can tell.
* gstreamer/jhbuild.modules: Disable gstgtk plugins
2018-10-11 Alejandro G. Castro <alex@igalia.com>
[GTK][WPE] Add mediaDevices.enumerateDevices support
https://bugs.webkit.org/show_bug.cgi?id=185761
Reviewed by Youenn Fablet.
Added new API test for the mediaDevices.enumerateDevices:
usermedia-enumeratedevices-permission-check. And a new API test
for the WebsiteDataStore: testWebsiteDataDeviceIdHashSalt.
* MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback): Added a new section to the about:data
webpage to include the information about the hash salt.
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewUserMediaEnumerateDevicesPermissionCheck): Added the
new test checking the enumerateDevices API when permission is
denied and when permission is allowed for the origin.
(beforeAll): Defined the new test.
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(serverCallback): Register a new URI for the enumerateDevices.
(testWebsiteDataConfiguration): Remove the hash salts from the
directories.
(testWebsiteDataDeviceIdHashSalt): New test cheking the
enumerateDevices API.
(beforeAll): Added the new test testWebsiteDataDeviceIdHashSalt to
the init structure.
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::initializeWebView): Make sure the media-stream is
activated in the webView.
2018-10-10 Fujii Hironori <Hironori.Fujii@sony.com>
Add WinCairo to the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=188345
Reviewed by Lucas Forschler.
* TestResultServer/static-dashboards/builders.jsonp: Regenerated by generate_builders_json.py.
* TestResultServer/static-dashboards/flakiness_dashboard.js: Added a new platform 'WINCAIRO'.
2018-10-10 Dean Jackson <dino@apple.com>
[WHSL -> MSL] Annotate semantics correctly in generated MSL
https://bugs.webkit.org/show_bug.cgi?id=190452
<rdar://problem/45178272>
Reviewed by Myles Maxfield.
Correctly label the appropriate semantics as [[position]]
and [[color(N)]].
* WebGPUShadingLanguageRI/Metal/MSLBackend.js: Identify position
and color attributes. Also use the semantic's index rather than
a counter.
* WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Use a <pre> for
output, and only include the actual shader code.
2018-10-10 Ross Kirsling <ross.kirsling@sony.com>
build-webkit --inspector-frontend shouldn't have a nonzero exit code
https://bugs.webkit.org/show_bug.cgi?id=190430
Reviewed by Brian Burg.
* Scripts/webkitdirs.pm:
(argumentsForConfiguration):
--inspector-frontend should only be popped off of argv by determineIsInspectorFrontend;
it shouldn't be re-inserted as a CLI option by argumentsForConfiguration.
2018-10-10 Tim Horton <timothy_horton@apple.com>
Share more WKShareSheet code between macOS and iOS, and fix a few bugs
https://bugs.webkit.org/show_bug.cgi?id=190420
Reviewed by Simon Fraser.
* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
(WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
* DumpRenderTree/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
(WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
(WTR::UIScriptController::invokeShareSheetWithResolution): Deleted.
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):
Change the testing mechanism for the share sheet such that we up-front
set that it should immediately return with a particular state, instead
of programmatically dismissing the sheet.
Otherwise, running the tests on macOS doesn't work, because we pop
a context menu, which spins the runloop and prevents dismissal from
going through.
2018-10-10 Yusuke Suzuki <yusukesuzuki@slowstart.org>
[JSC] Rename createXXX to tryCreateXXX if it can return RefPtr
https://bugs.webkit.org/show_bug.cgi?id=190429
Reviewed by Saam Barati.
* TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm:
(TestWebKitAPI::TEST_F):
2018-10-10 Chris Dumez <cdumez@apple.com>
Regression(PSON): Assertion hit under WebPageProxy::didNavigateWithNavigationData()
https://bugs.webkit.org/show_bug.cgi?id=190418
<rdar://problem/45059769>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-10-10 Guillaume Emont <guijemont@igalia.com>
[JSCOnly Add an armv7 JSCOnly EWS that runs tests
https://bugs.webkit.org/show_bug.cgi?id=190191
Reviewed by Michael Catanzaro.
* QueueStatusServer/config/queues.py:
* Scripts/webkitpy/common/config/ews.json:
* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.run_javascriptcore_tests_command):
Add the possibility to pass arguments to run-javascriptcore-tests with
the JSCTESTS_OPTIONS environment variable
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(test_ews_name):
2018-10-09 Guillaume Emont <guijemont@igalia.com>
Allow run-javascriptcore-tests to distribute tests between devices
https://bugs.webkit.org/show_bug.cgi?id=190190
Reviewed by Michael Catanzaro.
* Scripts/run-jsc-stress-tests:
* Scripts/webkitruby/jsc-stress-test-writer-default.rb:
* Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
2018-10-09 Dean Jackson <dino@apple.com>
Update WHLSL to Metal tester with semantics
https://bugs.webkit.org/show_bug.cgi?id=190416
<rdar://problem/45145139>
Reviewed by Myles Maxfield.
A few small changes to the WHLSL to Metal tools:
- Make it compile by adding some missing JS files :)
- Add semantics to the default shader
- Add FIXMEs to the other shaders
- Create an in-browser test for the WHLSLToMetal codepath
- Fix typos in the semantics checker
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype._checkSemantics.checkSemanticTypes):
(Checker.prototype._checkSemantics.checkSemanticForShaderType):
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m:
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl:
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl:
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl:
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj:
* WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Added.
2018-10-09 Jer Noble <jer.noble@apple.com>
Crash when closing WKWebView during enter fullscreen animation
https://bugs.webkit.org/show_bug.cgi?id=190412
Reviewed by Brian Burg.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewDuringEnterFullscreen.mm: Added.
(-[CloseWebViewDuringEnterFullscreenUIDelegate _webViewWillEnterFullscreen:]):
(-[CloseWebViewDuringEnterFullscreenUIDelegate _webViewWillExitFullscreen:]):
(TestWebKitAPI::TEST):
2018-10-09 Chris Dumez <cdumez@apple.com>
Anchor target should be ignored on activation when the download attribute is set
https://bugs.webkit.org/show_bug.cgi?id=190408
Reviewed by Geoffrey Garen.
Update WebKitTestRunner to block popups by default and add support for testRunner.setCanOpenWindows()
for tests that need popups. This aligns WebKitTestRunner with DumpRenderTree and allows testing
popup blocking.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setCanOpenWindows):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/TestInvocation.h:
2018-10-09 Jer Noble <jer.noble@apple.com>
WebDriver: thrown ObjC exception under -[WKFullScreenWindowController windowDidFailToEnterFullScreen:] when session is terminated
https://bugs.webkit.org/show_bug.cgi?id=190098
<rdar://problem/42822671>
Reviewed by Brian Burg.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/CloseWebViewAfterEnterFullscreen.mm: Added.
(-[CloseWebViewAfterEnterFullscreenUIDelegate _webViewDidEnterFullscreen:]):
(-[CloseWebViewAfterEnterFullscreenUIDelegate _webViewDidExitFullscreen:]):
(TestWebKitAPI::TEST):
2018-10-09 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Import CTAP HID message and packet structure from Chromium
https://bugs.webkit.org/show_bug.cgi?id=189289
<rdar://problem/44120310>
Reviewed by Brent Fulgham.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/FidoHidMessageTest.cpp: Added.
(TestWebKitAPI::TEST):
2018-10-09 Chris Dumez <cdumez@apple.com>
PSON: Doing a cross-site navigation via the URL bar does not swap process on iOS
https://bugs.webkit.org/show_bug.cgi?id=190378
<rdar://problem/45059466>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-10-09 Jer Noble <jer.noble@apple.com>
ISOTrackEncryptionBox returns incorrect defaultKeyID
https://bugs.webkit.org/show_bug.cgi?id=190368
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/ISOBox.cpp: Added.
(TestWebKitAPI::TEST):
2018-10-09 Philippe Normand <pnormand@igalia.com>
[JHBuild] Update to GStreamer 1.14.4
https://bugs.webkit.org/show_bug.cgi?id=190395
Reviewed by Xabier Rodriguez-Calvar.
* gstreamer/jhbuild.modules: Remove patches merged in 1.14.4 and bump version of GStreamer modules.
* gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Removed.
* gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Removed.
* gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Removed.
* gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch: Removed.
2018-10-08 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] API test DragAndDropTests.DropColor is failing on macOS 10.12
https://bugs.webkit.org/show_bug.cgi?id=190386
Reviewed by Ryosuke Niwa.
Unlike macOS 10.13 and 10.14, -[NSColor redColor] is not equivalent to a fully red color in sRGB on macOS 10.12.
Fix the test by dragging and dropping an NSColor that is equivalent to rgb(255, 0, 0) on all relevant versions
of macOS.
* TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
(TEST):
2018-10-08 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] [WK2] Add support for text alignment and text lists in font attributes
https://bugs.webkit.org/show_bug.cgi?id=190342
<rdar://problem/44767118>
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm:
Add a new API test to check that the font attributes dictionary contains the correct NSParagraphStyles when
moving the selection around text inside nested list elements.
(TestWebKitAPI::checkParagraphStyles):
Add a new helper to check an NSParagraphStyle against expected results.
(TestWebKitAPI::webViewForTestingFontAttributes):
Allow each test to pass in the name of the test page to load.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKitCocoa/nested-lists.html: Added.
Add a new test page that contains text enclosed in multiple levels of unordered and ordered lists.
* TestWebKitAPI/Tests/WebKitCocoa/rich-text-attributes.html:
Remove `text-align: left` from one of these elements, to test for NSTextAlignmentNatural.
2018-10-08 Justin Fan <justin_fan@apple.com>
WebGPU: Rename old WebGPU prototype to WebMetal
https://bugs.webkit.org/show_bug.cgi?id=190325
<rdar://problem/44990443>
Reviewed by Dean Jackson.
Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
* TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm:
* TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm:
* TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm:
* TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm:
* TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebMetalEnabled):
(WTR::TestRunner::setWebGPUEnabled): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
2018-10-08 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r236941.
https://bugs.webkit.org/show_bug.cgi?id=190374
Causing API test failures in new test (Requested by jernoble
on #webkit).
Reverted changeset:
"ISOTrackEncryptionBox returns incorrect defaultKeyID"
https://bugs.webkit.org/show_bug.cgi?id=190368
https://trac.webkit.org/changeset/236941
2018-10-08 Aditya Keerthi <akeerthi@apple.com>
Make <input type=color> a runtime enabled (on-by-default) feature
https://bugs.webkit.org/show_bug.cgi?id=189162
Reviewed by Wenson Hsieh and Tim Horton.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-10-08 Jer Noble <jer.noble@apple.com>
ISOTrackEncryptionBox returns incorrect defaultKeyID
https://bugs.webkit.org/show_bug.cgi?id=190368
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/ISOBox.cpp: Added.
(TestWebKitAPI::TEST):
2018-10-08 Alex Christensen <achristensen@webkit.org>
Remove WKBundleFileHandleRef
https://bugs.webkit.org/show_bug.cgi?id=190360
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp: Removed.
2018-10-08 Dan Bernstein <mitz@apple.com>
Tools part of [Xcode] Update some build settings as recommended by Xcode 10
https://bugs.webkit.org/show_bug.cgi?id=190250
Reviewed by Anders Carlsson.
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
* DumpRenderTree/mac/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
* DumpRenderTree/mac/DumpRenderTreeMac.h: Addressed the strict prototype warning.
* DumpRenderTree/mac/EditingDelegate.mm: Suppressed the deprecated implementations warning
around deprecated methods or categories on deprecated classes.
* DumpRenderTree/mac/FrameLoadDelegate.mm: Ditto.
(-[FrameLoadDelegate webView:windowScriptObjectAvailable:]):
* DumpRenderTree/mac/TestRunnerMac.mm: Ditto.
(-[SynchronousLoader connection:didReceiveAuthenticationChallenge:]):
* MiniBrowser/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
* MiniBrowser/mac/AppDelegate.h: Addressed the strict prototypes warning.
* MiniBrowser/mac/WK2BrowserWindowController.m: Removed an unused #import to avoid having to
address the fact that many of the WebKit C SPI headers trigger the strict prototypes warning.
* MobileMiniBrowser/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_SUSPICIOUS_MOVE (by fixing a typo),
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, and CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF.
* MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: Let Xcode update
LastUpgradeCheck and remove the .xcconfig files from the Copy Bundle Resources build phase.
* TestWebKitAPI/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
Made the WebKit headers be treated as system headers to avoid dealing with the fact that
many C SPI headers trigger the strict prototypes warning.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[DownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
(-[BlobDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
(-[UIDownloadAsFileTestDelegate _webView:contextMenu:forElement:]):
(-[RedirectedDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
* TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
* TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
(-[AudioSessionCategoryUIWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):
* TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:
(-[RenderInContextWebViewDelegate webViewDidFinishLoad:]):
(-[RenderInContextWebViewDelegate webView:didFailLoadWithError:]):
* TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm:
(-[SetTimeoutFunctionWebViewDelegate webViewDidFinishLoad:]):
(-[SetTimeoutFunctionWebViewDelegate webView:didFailLoadWithError:]):
(-[SetTimeoutFunctionWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):
* TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm:
(-[DragInfo namesOfPromisedFilesDroppedAtDestination:]):
* TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
(-[DragAndDropTestWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]):
* TestWebKitAPI/mac/SyntheticBackingScaleFactorWindow.m:
(-[SyntheticBackingScaleFactorWindow IGNORE_WARNINGS_END]):
(-[SyntheticBackingScaleFactorWindow userSpaceScaleFactor]): Deleted.
* TestWebKitAPI/mac/TestDraggingInfo.mm:
(-[TestDraggingInfo namesOfPromisedFilesDroppedAtDestination:]):
In all of the above, suppressed the deprecated implementations warning where needed.
* WebKitTestRunner/Configurations/Base.xcconfig: Enabled ENABLE_STRICT_OBJC_MSGSEND,
CLANG_WARN_BOOL_CONVERSION, CLANG_WARN_COMMA, CLANG_WARN_CONSTANT_CONVERSION,
CLANG_WARN_EMPTY_BODY, CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION,
CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_UNREACHABLE_CODE, CLANG_WARN__DUPLICATE_METHOD_MATCH,
GCC_WARN_UNDECLARED_SELECTOR, CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF,
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
and GCC_NO_COMMON_BLOCKS.
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]): Suppressed
the deprecated implementations warning.
* WebKitTestRunner/mac/UIScriptControllerMac.mm:
(WTR::UIScriptController::replaceTextAtRange): Addressed an int-conversion warning.
2018-10-07 Yacine Bandou <yacine.bandou@softathome.com>
[GStreamer][EME][webm] Add the WebM encrypted content support in matroskademux
https://bugs.webkit.org/show_bug.cgi?id=189238
Reviewed by Xabier Rodriguez-Calvar.
Modifications on GStreamer, tracked in GStreamer bugzilla:
https://bugzilla.gnome.org/show_bug.cgi?id=797231
https://bugzilla.gnome.org/show_bug.cgi?id=765275
* gstreamer/jhbuild.modules: Add new patches.
* gstreamer/patches/gstreamer-0001-protection-Add-a-new-definition-for-unspecified-syst.patch: Added.
* gstreamer/patches/gstreamer-0002-protection-Fix-the-string-to-define-unspecified-syst.patch: Added.
* gstreamer/patches/gst-plugins-good-0011-matroska-Add-the-WebM-encrypted-content-support-in-m.patch: Added.
* gstreamer/patches/gst-plugins-good-0012-matroskdemux-do-not-use-MapInfo.data-after-unmapping.patch: Added.
2018-10-06 Dan Bernstein <mitz@apple.com>
[Xcode] Never build yasm with ASAN
https://bugs.webkit.org/show_bug.cgi?id=190327
Reviewed by Youenn Fablet.
* asan/asan.xcconfig: Allow targets to opt out of building with ASAN by setting
the WK_ASAN_DISALLOWED build setting to YES (or, actually, anything other than NO or unset).
2018-10-05 Chris Dumez <cdumez@apple.com>
Regression(r236862): Crash under DOMWindowExtension::willDetachGlobalObjectFromFrame()
https://bugs.webkit.org/show_bug.cgi?id=190320
<rdar://problem/45044814>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic_Bundle.cpp:
(TestWebKitAPI::DOMWindowExtensionBasic::willDestroyGlobalObjectForDOMWindowExtension):
2018-10-03 Jer Noble <jer.noble@apple.com>
Add support for reporting "display composited video frames" through the VideoPlaybackQuality object.
https://bugs.webkit.org/show_bug.cgi?id=190266
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/VideoQualityDisplayCompositing.mm: Added.
(TestWebKitAPI::TEST):
2018-10-05 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r236866.
Breaks internal builds.
Reverted changeset:
"Add support for reporting "display composited video frames"
through the VideoPlaybackQuality object."
https://bugs.webkit.org/show_bug.cgi?id=190266
https://trac.webkit.org/changeset/236866
2018-10-05 Carlos Eduardo Ramalho <cadubentzen@gmail.com>
[WPE][JSC] Use Unified Sources for Platform-specific sources
https://bugs.webkit.org/show_bug.cgi?id=190300
Reviewed by Yusuke Suzuki.
Currently the GTK port already used Unified Sources with the same source files.
As WPE has conditional code using gmodule, we need to add GLIB_GMODULE_LIBRARIES
to the list of libraries to link with.
* TestWebKitAPI/PlatformWPE.cmake:
2018-10-05 Zach Li <zachli@apple.com>
Expose whether WKWebProcessPlugInNodeHandle is a select element to clients
https://bugs.webkit.org/show_bug.cgi?id=190302
<rdar://problem/45031469>
Reviewed by Tim Horton.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleNodeHandleIsSelectElement.mm: Added.
(-[InjectedBundleNodeHandleIsSelectElement verifySelectElementForHTMLElementTag:document:jsContext:expectedResult:failedElementTags:]):
(-[InjectedBundleNodeHandleIsSelectElement webProcessPlugIn:didCreateBrowserContextController:]):
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[InjectedBundleNodeHandleIsSelectElementDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
2018-10-04 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] [WK2] Expose some more editing SPI on WKWebView
https://bugs.webkit.org/show_bug.cgi?id=190232
<rdar://problem/44963368>
Reviewed by Tim Horton.
Adds new API tests to exercise the new SPIs.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/WKWebViewEditActions.mm: Added.
(-[TestWKWebView querySelectorExists:]):
(TestWebKitAPI::webViewForEditActionTesting):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/mac/FontManagerTests.mm:
(-[TestWKWebView collapseToStart]): Deleted.
(-[TestWKWebView collapseToEnd]): Deleted.
(-[TestWKWebView stylePropertyAtSelectionStart:]): Deleted.
(-[TestWKWebView stylePropertyAtSelectionEnd:]): Deleted.
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView stylePropertyAtSelectionStart:]):
(-[TestWKWebView stylePropertyAtSelectionEnd:]):
(-[TestWKWebView collapseToStart]):
(-[TestWKWebView collapseToEnd]):
Pull some common testing helpers out of NSFontManager and into TestWKWebView.
2018-10-04 Jer Noble <jer.noble@apple.com>
Add support for reporting "display composited video frames" through the VideoPlaybackQuality object.
https://bugs.webkit.org/show_bug.cgi?id=190266
Reviewed by Eric Carlson.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/VideoQualityDisplayCompositing.mm: Added.
(TestWebKitAPI::TEST):
2018-10-04 Wenson Hsieh <wenson_hsieh@apple.com>
[Cocoa] Add SPI to expose typing attributes at the current selection on WKWebView
https://bugs.webkit.org/show_bug.cgi?id=190119
<rdar://problem/44767062>
Reviewed by Tim Horton.
Add a new API test that loads a document containing various rich text styles. This test moves the selection
around the document and checks the last set of font attributes received via the new UI delegate hook.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm: Added.
(-[FontAttributesListener _webView:didChangeFontAttributes:]):
(-[FontAttributesListener lastFontAttributes]):
(-[TestWKWebView selectElementWithIdentifier:]):
(-[TestWKWebView fontAttributesAfterNextPresentationUpdate]):
(ColorExpectation::ColorExpectation):
(ShadowExpectation::ShadowExpectation):
(checkColor):
(checkShadow):
(checkFont):
(webViewForTestingFontAttributes):
* TestWebKitAPI/Tests/WebKitCocoa/rich-text-attributes.html: Added.
2018-10-04 Alan Coon <alancoon@apple.com>
Unreviewed, add self as contributor.
* Scripts/webkitpy/common/config/contributors.json:
2018-10-04 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Fix some font attribute conversion bugs in preparation for "Font > Styles…" support in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=190289
<rdar://problem/45020806>
Reviewed by Ryosuke Niwa.
Add new API tests to exercise two corner cases when using NSFontOptions ("Font > Styles…") to change font
attributes at the current selection.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
* TestWebKitAPI/Tests/mac/FontManagerTests.mm:
(webViewForFontManagerTesting):
(TestWebKitAPI::TEST):
* TestWebKitAPI/mac/TestFontOptions.h: Copied from Source/WebCore/editing/cocoa/FontAttributesCocoa.mm.
* TestWebKitAPI/mac/TestFontOptions.mm: Added.
Introduce TestFontOptions, which wraps the shared NSFontOptions and swizzles `-sharedFontOptions` to return a
global instance of itself. TestFontOptions supports several testing helpers to add or remove font shadows,
foreground colors, and background colors.
(sharedFontOptionsForTesting):
(+[TestFontOptions sharedInstance]):
(-[TestFontOptions initWithFontOptions:]):
(-[TestFontOptions selectedAttributes]):
(-[TestFontOptions fontOptions]):
(-[TestFontOptions shadowWidth]):
(-[TestFontOptions setShadowWidth:]):
(-[TestFontOptions shadowHeight]):
(-[TestFontOptions setShadowHeight:]):
(-[TestFontOptions setShadowBlurRadius:]):
(-[TestFontOptions setHasShadow:]):
(-[TestFontOptions foregroundColor]):
(-[TestFontOptions setForegroundColor:]):
(-[TestFontOptions backgroundColor]):
(-[TestFontOptions setBackgroundColor:]):
(-[TestFontOptions _dispatchFontAttributeChanges]):
(-[TestFontOptions convertAttributes:]):
(-[TestFontOptions setSelectedAttributes:isMultiple:]):
(-[TestFontOptions forwardInvocation:]):
2018-10-04 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Move time out control from WebProcess to UIProcess
https://bugs.webkit.org/show_bug.cgi?id=189642
<rdar://problem/44476765>
Reviewed by Chris Dumez.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebAuthenticationMockConfiguration):
2018-10-04 YUHAN WU <yuhan_wu@apple.com>
Runtime flag and IDL for MediaRecorder
https://bugs.webkit.org/show_bug.cgi?id=190018
Reviewed by Youenn Fablet and Chris Dumez.
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
2018-10-04 Basuke Suzuki <Basuke.Suzuki@sony.com>
[LayoutTests][Win] Stop wpt server correctly.
https://bugs.webkit.org/show_bug.cgi?id=190248
Reviewed by Fujii Hironori.
Use signal.CTRL_C_EVENT instead of signal.SIGINT for Windows.
Also refactoring the detection of Windows and cygwin environment check.
* Scripts/webkitpy/common/system/executive.py:
(Executive.__init__): Check environment once.
(Executive._should_close_fds):
(Executive.kill_process):
(Executive.check_running_pid):
(Executive.running_pids):
(Executive.interrupt): Use signal.CTRL_C_EVENT for Windows.
(Executive.kill_all):
(Executive._child_process_encoding):
(Executive._should_encode_child_process_arguments):
(Executive.popen):
(Executive.run_in_parallel):
2018-10-04 Michael Catanzaro <mcatanzaro@igalia.com>
Convert tests to use navigation client
https://bugs.webkit.org/show_bug.cgi?id=190153
Reviewed by Alex Christensen.
Convert these tests from PagePolicyClient and PageLoaderClient to PageNavigationClient.
* TestWebKitAPI/Tests/WebKit/DownloadDecideDestinationCrash.cpp:
(TestWebKitAPI::decidePolicyForNavigationAction):
(TestWebKitAPI::setPagePolicyClient):
* TestWebKitAPI/Tests/WebKit/ProvisionalURLAfterWillSendRequestCallback.cpp:
(TestWebKitAPI::didCommitNavigationCallback):
(TestWebKitAPI::TEST):
(TestWebKitAPI::didCommitLoadForFrame): Deleted.
2018-10-03 Dan Bernstein <mitz@apple.com>
[Cocoa] Let clients specify an NSFileWrapper subclassed to be used for _WKAttachment
https://bugs.webkit.org/show_bug.cgi?id=190270
Reviewed by Wenson Hsieh.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
2018-10-03 Ryosuke Niwa <rniwa@webkit.org>
Enable selectionAcrossShadowBoundariesEnabled by default in WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=190238
Reviewed by Antti Koivisto.
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
2018-10-02 Wenson Hsieh <wenson_hsieh@apple.com>
[WebKit2] Format > Bold and Format > Italic don't toggle between bold and italic style
https://bugs.webkit.org/show_bug.cgi?id=179787
<rdar://problem/35593389>
Reviewed by Tim Horton.
Add a test to verify that NSFontManager's selected font is updated when applying italic and bold styles using
menu items.
* TestWebKitAPI/Tests/mac/FontManagerTests.mm:
(webViewForFontManagerTesting):
(menuItemCellForFontAction):
(TestWebKitAPI::TEST):
2018-10-02 Chris Dumez <cdumez@apple.com>
REGRESSION: TestWebKitAPI.WKWebView.ProvisionalURLNotChange API test is failing
https://bugs.webkit.org/show_bug.cgi?id=190176
<rdar://problem/44925871>
Reviewed by Alex Christensen.
Use a URL that is truly recognized as invalid by WebCore's URL parser.
* TestWebKitAPI/Tests/WebKitCocoa/ProvisionalURLNotChange.mm:
(TEST):
2018-10-02 Alex Christensen <achristensen@webkit.org>
Remove ParsedURLString
https://bugs.webkit.org/show_bug.cgi?id=190154
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebCore/URL.cpp:
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::assertUserAgentForURLHasChromeBrowserQuirk):
(TestWebKitAPI::assertUserAgentForURLHasLinuxPlatformQuirk):
(TestWebKitAPI::assertUserAgentForURLHasMacPlatformQuirk):
(TestWebKitAPI::TEST):
2018-10-02 Daniel Bates <dabates@apple.com>
Fix iOS TestWebKitAPI failures following <https://trac.webkit.org/changeset/236619>
(https://bugs.webkit.org/show_bug.cgi?id=190017)
For now swizzle +[UIKeyboard isInHardwareKeyboardMode] to return NO in the following tests:
WKWebViewAutofillTests.AutofillRequiresInputSession
DragAndDropTests.ExternalSourceJPEGOnly
DragAndDropTests.ExternalSourceUTF8PlainTextOnly
so that the presence of a hardware keyboad does not effect their results. In <https://bugs.webkit.org/show_bug.cgi?id=190211>
we will look to swizzle this method for all test by default.
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::overrideIsInHardwareKeyboardMode):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
(TestWebKitAPI::overrideIsInHardwareKeyboardMode):
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/UIKitSPI.h:
2018-10-02 Dawei Fenton <realdawei@apple.com>
Unreviewed, rolling out r236751.
broke the iOS Build
Reverted changeset:
"Fix iOS TestWebKitAPI failures following
<https://trac.webkit.org/changeset/236619>"
https://bugs.webkit.org/show_bug.cgi?id=190017
https://trac.webkit.org/changeset/236751
2018-10-02 Daniel Bates <dabates@apple.com>
Fix iOS TestWebKitAPI failures following <https://trac.webkit.org/changeset/236619>
(https://bugs.webkit.org/show_bug.cgi?id=190017)
For now swizzle +[UIKeyboard isInHardwareKeyboardMode] to return NO in the following tests:
WKWebViewAutofillTests.AutofillRequiresInputSession
DragAndDropTests.ExternalSourceJPEGOnly
DragAndDropTests.ExternalSourceUTF8PlainTextOnly
so that the presence of a hardware keyboad does not effect their results. In <https://bugs.webkit.org/show_bug.cgi?id=190211>
we will look to swizzle this method for all test by default.
* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
(TestWebKitAPI::overrideIsInHardwareKeyboardMode):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
(TestWebKitAPI::overrideIsInHardwareKeyboardMode):
(TestWebKitAPI::TEST):
* TestWebKitAPI/ios/UIKitSPI.h:
2018-10-01 Dean Jackson <dino@apple.com>
Remove CSS Animation Triggers
https://bugs.webkit.org/show_bug.cgi?id=190175
<rdar://problem/44925626>
Reviewed by Simon Fraser.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2018-10-02 Thibault Saunier <tsaunier@igalia.com>
[Flatpak] Use our own check of flatpak repos
https://bugs.webkit.org/show_bug.cgi?id=190194
Allowing us to not mess up with user installation
and "--assumeyes" everywhere.
Reviewed by Michael Catanzaro.
* flatpak/flatpakutils.py:
(FlatpakPackage.__init__):
(FlatpakPackage.install):
(FlatpakPackage.update):
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.__init__):
(WebkitFlatpak.clean_args):
2018-10-02 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Implement a way for the UI process to request typing attributes at the current selection
https://bugs.webkit.org/show_bug.cgi?id=189983
<rdar://problem/44648705>
Reviewed by Ryosuke Niwa.
Adds new FontManagerTests that exercise -typingAttributesWithCompletionHandler:. See below for more detail.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
* TestWebKitAPI/Tests/mac/FontManagerTests.mm:
Add a new test that exercises font attribute modification via inspector bar. Also, add a new test that checks
typing attributes when using subscript/superscript/unscript. Lastly, augment an existing NSFontPanel test to
additionally check that shadowed text and strike-through are reflected in typing attributes.
(-[FontManagerTestWKWebView inspectorBarItemIdentifiers]):
(-[TestWKWebView typingAttributes]):
Add a synchronous wrapper around `-typingAttributesWithCompletionHandler:` by spinning the runloop.
(-[TestWKWebView collapseToStart]):
(webViewForFontManagerTesting):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/mac/TestInspectorBar.h: Copied from Tools/TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h.
* TestWebKitAPI/mac/TestInspectorBar.mm: Added.
Introduce subclasses of `__InspectorBarItemController` and `NSInspectorBar` for testing inspector bar interaction.
(-[TestInspectorBarItemController initWithInspectorBar:]):
(-[TestInspectorBarItemController inspectorBar]):
(-[TestInspectorBarItemController updateSelectedAttributes]):
(-[TestInspectorBar initWithWebView:]):
(+[TestInspectorBar standardItemControllerClass]):
(+[TestInspectorBar standardTextItemIdentifiers]):
(-[TestInspectorBar _setStyleControlSelected:atIndex:]):
(-[TestInspectorBar chooseFontSize:]):
(-[TestInspectorBar chooseFontFamily:]):
(-[TestInspectorBar _chooseColor:inColorWell:]):
(-[TestInspectorBar chooseForegroundColor:]):
(-[TestInspectorBar chooseBackgroundColor:]):
(-[TestInspectorBar formatBold:]):
(-[TestInspectorBar formatItalic:]):
(-[TestInspectorBar formatUnderline:]):
Add helper methods to TestInspectorBar to simulate interacting with various controls (e.g. color wells and font
styling controls).
(-[TestInspectorBar itemController]):
(-[TestInspectorBar setItemController:]):
2018-10-02 Thibault Saunier <tsaunier@igalia.com>
[Flatpak] Implement icecream and ccache support
https://bugs.webkit.org/show_bug.cgi?id=190146
Reviewed by Alejandro G. Castro.
* flatpak/flatpakutils.py:
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.__init__):
(WebkitFlatpak.clean_args):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.save_config):
(WebkitFlatpak):
(WebkitFlatpak.setup_ccache):
(WebkitFlatpak.setup_icecc):
(WebkitFlatpak.setup_dev_env):
* flatpak/org.webkit.WebKit.yaml:
2018-10-02 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, fix missing return value in TestController::keyExistsInKeychain
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::keyExistsInKeychain):
2018-10-02 Basuke Suzuki <Basuke.Suzuki@sony.com>
[WinCairo] Enable WPT tests environment.
https://bugs.webkit.org/show_bug.cgi?id=190128
Reviewed by Youenn Fablet.
Escaping backslash of the path not to confuse the JSON parser.
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer._prepare_config):
2018-10-01 Ross Kirsling <ross.kirsling@sony.com>
[Win][DRT] Actually set "experimental:WebAnimationsCSSIntegrationEnabled" when requested
https://bugs.webkit.org/show_bug.cgi?id=190150
Reviewed by Fujii Hironori.
* DumpRenderTree/win/DumpRenderTree.cpp:
(setWebPreferencesForTestOptions):
DRT has been recognizing this field, but not propagating its value to WebPreferences.
2018-10-01 Alex Christensen <achristensen@webkit.org>
Unreviewed, rolling out r236551.
Fails URL validating too aggressively
Reverted changeset:
"URLWithUserTypedString should return nil for URLs deemed to
be invalid by WebCore::URL"
https://bugs.webkit.org/show_bug.cgi?id=189979
https://trac.webkit.org/changeset/236551
2018-10-01 Wenson Hsieh <wenson_hsieh@apple.com>
[iOS] Add SPI to customize the input accessory view when focusing an element
https://bugs.webkit.org/show_bug.cgi?id=190152
<rdar://problem/42754975>
Reviewed by Dan Bernstein.
Add an API test to verify that setting a custom input accessory view and custom input view on the form input
session when focusing an element overrides the first responder's (i.e. WKContentView's) `-inputView` and
`-inputAccessoryView`.
* TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(webViewWithAutofocusedInput):
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/ios/TestInputDelegate.h:
* TestWebKitAPI/Tests/ios/TestInputDelegate.mm:
(-[TestInputDelegate setWillStartInputSessionHandler:]):
(-[TestInputDelegate willStartInputSessionHandler]):
(-[TestInputDelegate _webView:willStartInputSession:]):
2018-10-01 Sihui Liu <sihui_liu@apple.com>
Remove StorageProcess
https://bugs.webkit.org/show_bug.cgi?id=189975
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
* TestWebKitAPI/Tests/WebKitCocoa/WebProcessKillIDBCleanup.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(TEST):
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::terminateStorageProcess): Deleted.
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::databaseProcessName): Deleted.
(WTR::TestController::databaseProcessDidCrash): Deleted.
(WTR::TestController::terminateStorageProcess): Deleted.
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2018-10-01 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Import a JS CBOR coder
https://bugs.webkit.org/show_bug.cgi?id=189877
<rdar://problem/44701124>
Reviewed by Chris Dumez.
Add logic to only process privateKeyBase64, userCertificateBase64 and intermediateCACertificateBase64
only if acceptAttestation is true.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebAuthenticationMockConfiguration):
2018-10-01 Chris Dumez <cdumez@apple.com>
Regression(r236512): http/tests/navigation/keyboard-events-during-provisional-navigation.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=190052
Reviewed by Ryosuke Niwa.
The test relies on EventSender to send events to the page synchronously to the page and then uses console.log
to log those events. It also uses console.log() before sending those events to indicate what the test is about
to do. Note that console.log() normally causes the WebKitTestRunner to send an asynchronous IPC to the UIProcess
so that it can log the message.
The issue is that EventSender uses IPC::SendOption::UseFullySynchronousModeForTesting when sending the
sync IPC to the UIProcess. This option causes follow-up *asynchronous* IPC sent from the synchronous IPC reply
handler to be transformed into synchronous IPC.
As a result, some of the console.log IPC ended up being asynchronous and some other ended up being synchronous.
Because synchronous and asynchronous IPC is not necessarily processed in-order by the UIProcess, the logged
messages may end up being out of order, leading to flakiness.
To address the issue, we now make sure that InjectedBundle::outputText() uses a new IPC::SendOption indicated
that the IPC should always be sent asynchronously, even if the connection is in fully synchronous mode. As a
result, all text outputing IPC to the UIProcess will be asynchronous, and thus in order.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::outputText):
2018-10-01 Daniel Bates <dabates@apple.com>
[iOS] Special keys are misidentified in DOM keyboard events
https://bugs.webkit.org/show_bug.cgi?id=189974
Reviewed by Wenson Hsieh.
Add support for testing keys Forward Delete and Num Lock / Clear.
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(hidUsageCodeForCharacter):
2018-10-01 Alex Christensen <achristensen@webkit.org>
URL should not use TextEncoding internally
https://bugs.webkit.org/show_bug.cgi?id=190111
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::testUserPass):
(TestWebKitAPI::TEST_F):
2018-10-01 Daniel Bates <dabates@apple.com>
LLDB tests may use wrong configuration of lldbWebKitTester
https://bugs.webkit.org/show_bug.cgi?id=189011
Reviewed by Dean Jackson.
Fixes an issue where the LLDB unit tests may use the wrong configuration of lldbWebKitTester.
Additionally, add back the unit tests originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).
Currently the unit tests pick the LLDBWebKitTester binary based on the configuration set by
script set-webkit-configuration. This may not be the same configuration specified to test-webkitpy.
So, the unit tests may use the wrong binary. Instead we have test-webkitpy store the path
to the correct lldbWebKitTester binary that the unit tests should use in an environment variable,
called LLDB_WEBKIT_TESTER_EXECUTABLE. (We use an environment variable because the test driver,
test-webkitpy, and the unit tests cannot talk to each other directly due the limitations of
the Python unittest module, the Python multiprocessing module, and the general principle of unit
tests - to test code in isolation). The unit tests make use of the value of this environment
variable to launch lldbWebKitTester binary.
* Scripts/build-lldbwebkittester: We only support building lldbWebKitTester on Mac for now. Error
out if this script is invoked for a non-Mac platform.
* Scripts/webkitpy/test/main.py:
(Tester._run_tests): Build lldbWebKitTester and store the path to it in the environment variable
LLDB_WEBKIT_TESTER_EXECUTABLE.
(_build_lldb_webkit_tester): Deleted.
* lldb/dump_class_layout_unittest.py:
(TestDumpClassLayout.shouldSkip): Use SystemHost() here and remove the _host global variable as
this is the only call site that needs the Host object now.
(TestDumpClassLayout.setUpClass): Take the path to the lldbWebKitTester binary from the value of
the environment variable LLDB_WEBKIT_TESTER_EXECUTABLE.
* lldb/lldbWebKitTester/main.cpp:
(testSummaryProviders): Add back unit test support infrastructure originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).
* lldb/lldb_webkit_unittest.py:
(LLDBDebugSession.setup): Take the path to the lldbWebKitTester binary from the value of the environment
variable LLDB_WEBKIT_TESTER_EXECUTABLE.
(TestSummaryProviders):
(TestSummaryProviders.shouldSkip): Skip the tests on non-Mac platforms.
(TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
(TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty):
(TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple):
(TestSummaryProviders.serial_test_WTFOptionSetProvider_empty):
(TestSummaryProviders.serial_test_WTFOptionSetProvider_simple):
Add back the unit tests originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).
2018-10-01 Olivier Blin <olivier.blin@softathome.com>
[WPE] Update install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=190127
Reviewed by Michael Catanzaro.
* wpe/install-dependencies:
libxrandr-dev is needed for gstreamer-vaapi in jhbuild
It is used by gstvaapidisplay_x11.c.
Add it only for Apt, already ok for Pacman and DNF.
Install libevent-dev for WebRTC (like GTK)
Install libasound2-dev for WebRTC.
Add it only for Apt, already ok for Pacam and DNF.
Install libgbm-dev for HeadlessViewBackend, which uses gbm.h
2018-10-01 Thibault Saunier <tsaunier@igalia.com>
[Flatpak] Add libunwind in the sandbox
https://bugs.webkit.org/show_bug.cgi?id=190123
Allowing us to get proper traces in GStreamer trace grabing
debug functions.
Reviewed by Philippe Normand.
* flatpak/org.webkit.WebKit.yaml:
2018-09-29 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r236631.
https://bugs.webkit.org/show_bug.cgi?id=190112
Caused various eventSender tests, including fast/css/pseudo-
active-style-sharing*, to fail (Requested by smfr on #webkit).
Reverted changeset:
"Regression(r236512): http/tests/navigation/keyboard-events-
during-provisional-navigation.html is flaky"
https://bugs.webkit.org/show_bug.cgi?id=190052
https://trac.webkit.org/changeset/236631
2018-09-28 Myles C. Maxfield <mmaxfield@apple.com>
[WHLSL] Fix build after r236635
https://bugs.webkit.org/show_bug.cgi?id=189210
Unreviewed.
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics.):
* WebGPUShadingLanguageRI/Test.js:
(tests.atomicsNull):
(tests.numThreads):
(tests.textureDimensionsNull):
2018-09-28 Myles C. Maxfield <mmaxfield@apple.com>
[WHLSL] Allow uniform buffers to be used in the interpreter
https://bugs.webkit.org/show_bug.cgi?id=189210
Reviewed by Filip Pizlo.
Every lvalue is associated with an address space, and the propagation of these address spaces
matches the propagation of lvalues. Luckily, there was already the infrastructure to do most
of this, so this patch just goes the last few yards. It also updates the standard library to
allow for writing into all writable address spaces for out-params.
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitAssignment):
(Checker.prototype._finishVisitingPropertyAccess):
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics.):
(Intrinsics.checkFalse):
(Intrinsics):
* WebGPUShadingLanguageRI/StandardLibrary.js:
(let.standardLibrary):
* WebGPUShadingLanguageRI/Test.js:
(tests.threadArrayRefLoad):
(tests.threadArrayRefLoadIntLiteral):
(tests.deviceArrayRefLoad):
(tests.threadArrayRefStore):
(tests.deviceArrayRefStore):
(tests.deviceArrayRefStoreIntLiteral):
(tests.threadPointerLoad):
(tests.threadPointerStore):
(tests.devicePointerLoad):
(tests.devicePointerStore):
(tests.arrayLoad):
(tests.constantAddressSpace):
(tests.standardLibraryDevicePointers):
(tests.threadArrayLoad): Deleted.
(tests.threadArrayLoadIntLiteral): Deleted.
(tests.deviceArrayLoad): Deleted.
(tests.threadArrayStore): Deleted.
(tests.deviceArrayStore): Deleted.
(tests.deviceArrayStoreIntLiteral): Deleted.
2018-09-28 Wenson Hsieh <wenson_hsieh@apple.com>
No DOM API to instantiate an attachment for an img element
https://bugs.webkit.org/show_bug.cgi?id=189934
<rdar://problem/44743222>
Reviewed by Ryosuke Niwa.
Adds 3 new API tests in WKAttachmentTests:
`AddAttachmentToConnectedImageElement` verifies that an image element that's already in the document can gain an
attachment element via `HTMLAttachmentElement.getAttachmentIdentifier`.
`ChangeFileWrapperForPastedImage` verifies that an image that has been pasted produces a _WKAttachment in the UI
process, and changing the file wrapper of that _WKAttachment changes the pasted image.
`ConnectImageWithAttachmentToDocument` verifies that script can create an image element, ensure that it has an
attachment, and set a file wrapper for the generated _WKAttachment. Connecting the image to the document should
then result in an image element with the contents of the _WKAttachment's file wrapper.
* TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[TestWKWebView imageElementSize]):
(-[TestWKWebView waitForImageElementSizeToBecome:]):
(TestWebKitAPI::TEST):
(-[TestWKWebView waitForAttachmentElementSizeToBecome:]): Deleted.
2018-09-28 Chris Dumez <cdumez@apple.com>
Regression(r236512): http/tests/navigation/keyboard-events-during-provisional-navigation.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=190052
Reviewed by Ryosuke Niwa.
The test relies on EventSender to send events to the page synchronously to the page and then uses console.log
to log those events. It also uses console.log() before sending those events to indicate what the test is about
to do. Note that console.log() normally causes the WebKitTestRunner to send an asynchronous IPC to the UIProcess
so that it can log the message.
The issue is that EventSender uses IPC::SendOption::UseFullySynchronousModeForTesting when sending the
sync IPC to the UIProcess. This option causes follow-up *asynchronous* IPC sent from the synchronous IPC reply
handler to be transformed into synchronous IPC.
As a result, some of the console.log IPC ended up being asynchronous and some other ended up being synchronous.
Because synchronous and asynchronous IPC is not necessarily processed in-order by the UIProcess, the logged
messages may end up being out of order, leading to flakiness.
To address the issue, we now make sure that InjectedBundle::outputText() uses a new IPC::SendOption indicating
that the IPC should always be sent asynchronously, even if the connection is in fully synchronous mode. As a
result, all text outputing IPC to the UIProcess will be asynchronous, and thus in order.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::outputText):
2018-09-28 Myles C. Maxfield <mmaxfield@apple.com>
[WHLSL] Pointers should have automatically-generated equality checks
https://bugs.webkit.org/show_bug.cgi?id=189986
Reviewed by Filip Pizlo.
C allows for pointer equality, and we need it so people can do null checks.
This is generated the same way all our other NativeFuncs are generated - by Checker
creating NativeFuncs inside CallExpression.resolve().
This patch also does some general cleanup.
* WebGPUShadingLanguageRI/All.js: Everything the late checker does is no longer necessary.
The last thing it was doing was making sure that only primitive types are in resources, but
it's totally reasonable to put structs and arrays in resources, so I removed this pass. We
still have to add a check to make sure resources can't live within resources, but I expect
that will be done in the same place that semantics are checked.
* WebGPUShadingLanguageRI/AllocateAtEntryPoints.js:
(allocateAtEntryPoints.updateFunction.UpdateFunctions.prototype._addVariableDeclaration):
Name the global struct for debugging purposes.
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression.prototype._resolveByInstantiation): Cleanup
(CallExpression.prototype._resolveWithOperatorAnderIndexer): Ditto
(CallExpression.prototype._resolveWithOperatorLength): Ditto
(CallExpression.prototype._resolveWithReferenceComparator): Add support to automatically
generate pointer equality NativeFuncs.
* WebGPUShadingLanguageRI/EPtr.js: Implement pointer equality in the interpreter.
* WebGPUShadingLanguageRI/LateChecker.js: Removed.
* WebGPUShadingLanguageRI/LayoutBuffers.js: Renamed from Tools/WebGPUShadingLanguageRI/LateCheckAndLayoutBuffers.js.
(layoutBuffers):
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj:
* WebGPUShadingLanguageRI/NativeFunc.js:
* WebGPUShadingLanguageRI/OperatorArrayRefLength.js:
(OperatorArrayRefLength.prototype.instantiateImplementation):
(OperatorArrayRefLength):
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare):
* WebGPUShadingLanguageRI/SPIRV.html:
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(tests.ternaryExpression):
(tests.break): Speed up testing time
(tests.doWhile): Ditto
(tests.forLoop): Ditto
(tests.atomics): Ditto
(tests.atomicsNull): Ditto
(tests.pointerEquality): Test pointer equality
(tests.standardLibraryDevicePointers):
(tests.devicePtrPtr): Deleted.
(tests.threadgroupPtrPtr): Deleted.
(tests.constantPtrPtr): Deleted.
* WebGPUShadingLanguageRI/index.html:
2018-09-28 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Polish WebAuthN auto-test environment
https://bugs.webkit.org/show_bug.cgi?id=189283
<rdar://problem/44117828>
Reviewed by Chris Dumez.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebAuthenticationMockConfiguration):
2018-09-28 Chris Dumez <cdumez@apple.com>
Drop support for cross-origin-window-policy header
https://bugs.webkit.org/show_bug.cgi?id=190081
Reviewed by Ryosuke Niwa.
190081_DropCrossOriginWindowPolicy
* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
2018-09-28 Koby Boyango <koby.b@mce.systems>
[WTF] Add ExternalStringImpl, a StringImpl for user controlled buffers
https://bugs.webkit.org/show_bug.cgi?id=189991
Reviewed by Yusuke Suzuki.
* TestWebKitAPI/Tests/WTF/StringImpl.cpp:
2018-09-27 Ryan Haddad <ryanhaddad@apple.com>
Update flakiness dashboard configuration for Mojave queues
https://bugs.webkit.org/show_bug.cgi?id=190068
Reviewed by Alexey Proskuryakov.
* TestResultServer/static-dashboards/builders.jsonp:
2018-09-27 Ryan Haddad <ryanhaddad@apple.com>
Bring up queues for Mojave
https://bugs.webkit.org/show_bug.cgi?id=189935
Unreviewed infrastructure fix.
* BuildSlaveSupport/build.webkit.org-config/config.json: Remove trigger, update bot assignment.
2018-09-24 Ryan Haddad <ryanhaddad@apple.com>
Bring up queues for Mojave
https://bugs.webkit.org/show_bug.cgi?id=189935
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2018-09-27 Ryan Haddad <ryanhaddad@apple.com>
Increase the timeout for iOS Simulator data migration
https://bugs.webkit.org/show_bug.cgi?id=190059
Reviewed by Aakash Jain.
3 minutes isn't always enough time for the data migrator to complete
when booting up multiple iOS Simulators. Change the timeout to 10 minutes.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager): Create a constant for the default timeout.
(SimulatedDeviceManager.initialize_devices): Use new constant.
(SimulatedDeviceManager.swap): Ditto.
(SimulatedDeviceManager.wait_until_data_migration_is_done): Ditto.
2018-09-27 Alex Christensen <achristensen@webkit.org>
URLParser should use TextEncoding through an abstract class
https://bugs.webkit.org/show_bug.cgi?id=190027
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::checkURL):
(TestWebKitAPI::TEST_F):
2018-09-27 Ryan Haddad <ryanhaddad@apple.com>
iOS Simulator bots should pass '--dedicated-simulators' to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=190042
Reviewed by Aakash Jain.
To make iOS Simulator bots resilient to issues that can arise from reusing
existing simulators, ensure that dedicated simulators are created for each test run.
* Scripts/webkitpy/common/config/ports.py:
(IOSSimulatorWK2Port.run_webkit_tests_command):
2018-09-27 Alex Christensen <achristensen@webkit.org>
URLWithUserTypedString should return nil for URLs deemed to be invalid by WebCore::URL
https://bugs.webkit.org/show_bug.cgi?id=189979
Reviewed by Youenn Fablet.
* TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
(TestWebKitAPI::originalDataAsString):
(TestWebKitAPI::TEST):
2018-09-27 Basuke Suzuki <Basuke.Suzuki@sony.com>
[Win][WebKit] Implement authentication dialog on MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=189846
Reviewed by Fujii Hironori.
It was implemented for WebKitLegacy, but not for WebKit.
Also added text field to display Realm information.
* MiniBrowser/win/Common.cpp:
(authDialogProc):
(askCredential):
(displayAuthDialog): Deleted.
* MiniBrowser/win/Common.h:
* MiniBrowser/win/MiniBrowserLib.rc:
* MiniBrowser/win/MiniBrowserLibResource.h:
* MiniBrowser/win/ResourceLoadDelegate.cpp:
(ResourceLoadDelegate::didReceiveAuthenticationChallenge):
* MiniBrowser/win/WebKitBrowserWindow.cpp:
(createString):
(createUTF8String):
(createWKString):
(createWKURL):
(WebKitBrowserWindow::WebKitBrowserWindow):
(WebKitBrowserWindow::didReceiveAuthenticationChallenge):
(toNullTerminatedUTF8): Deleted.
* MiniBrowser/win/WebKitBrowserWindow.h:
2018-09-27 Youenn Fablet <youenn@apple.com>
Enable getUserMedia in mini browser
https://bugs.webkit.org/show_bug.cgi?id=190012
Reviewed by Eric Carlson.
Enable MediaDevices and mock capture devices.
Grant mock devices access to any getUserMedia call.
Covered by manual testing.
* MiniBrowser/mac/AppDelegate.m:
(defaultConfiguration):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
(-[WK2BrowserWindowController _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
2018-09-27 Antoine Quint <graouts@apple.com>
[Web Animations] Turn Web Animations with CSS integration on
https://bugs.webkit.org/show_bug.cgi?id=184819
<rdar://problem/39597337>
Reviewed by Dean Jackson.
* DumpRenderTree/TestOptions.h:
2018-09-26 Alex Christensen <achristensen@webkit.org>
Unreviewed, rolling out r236524.
Broke API tests
Reverted changeset:
"URLWithUserTypedString should return nil for URLs deemed to
be invalid by WebCore::URL"
https://bugs.webkit.org/show_bug.cgi?id=189979
https://trac.webkit.org/changeset/236524
2018-09-26 James Savage <james.savage@apple.com>
Allow override of viewport configuration.
https://bugs.webkit.org/show_bug.cgi?id=188772.
<rdar://problem/43538892>.
Reviewed by Simon Fraser.
* WebKitTestRunner/TestController.cpp:
(WTR::updateTestOptionsFromTestHeader): Parse new test option key from comments.
* WebKitTestRunner/TestOptions.h:
* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformConfigureViewForTest): Handle new test option by
modifying the web view's preferences accordingly.
2018-09-26 Alex Christensen <achristensen@webkit.org>
URLs with mismatched surrogate pairs in the host should fail to parse
https://bugs.webkit.org/show_bug.cgi?id=190005
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
2018-09-26 Alex Christensen <achristensen@webkit.org>
URLWithUserTypedString should return nil for URLs deemed to be invalid by WebCore::URL
https://bugs.webkit.org/show_bug.cgi?id=189979
<rdar://problem/44119696>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
(TestWebKitAPI::TEST):
2018-09-26 Ryosuke Niwa <rniwa@webkit.org>
Selection should work across shadow boundary when initiated by a mouse drag
https://bugs.webkit.org/show_bug.cgi?id=151380
<rdar://problem/24363872>
Reviewed by Wenson Hsieh.
Added the support for internal:selectionAcrossShadowBoundariesEnabled test option.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
(setWebPreferencesForTestOptions):
2018-09-26 Ryosuke Niwa <rniwa@webkit.org>
MiniBrowser doesn't respect default enabled-ness of experimental and internal debug features
https://bugs.webkit.org/show_bug.cgi?id=189989
Reviewed by Simon Fraser.
When the preference isn't found in user defaults, use the default value of each feature's enabledness.
* MiniBrowser/mac/AppDelegate.m:
(defaultConfiguration):
2018-09-26 Philippe Normand <pnormand@igalia.com>
[Flatpak] Bump to apr 1.6.5
Version 1.6.3 is no longer available on Apache's website.
Rubber-stamped by Michael Catanzaro.
* flatpak/org.webkit.WebKit.yaml:
2018-09-25 Jiewen Tan <jiewen_tan@apple.com>
[WebAuthN] Make AuthenticatorManager
https://bugs.webkit.org/show_bug.cgi?id=189279
<rdar://problem/44116792>
Reviewed by Chris Dumez.
Besides the functionality to set the WebAuthenticationMockConfiguration. Three operations are
added to manipulate Keychain: addTestKeyToKeychain, cleanUpKeychain and keyExistedInKeychain.
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/LocalAuthenticator.mm: Removed.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebAuthenticationMockConfiguration):
(WTR::TestRunner::addTestKeyToKeychain):
(WTR::TestRunner::cleanUpKeychain):
(WTR::TestRunner::isKeyExisted):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::addTestKeyToKeychain):
(WTR::TestController::cleanUpKeychain):
(WTR::TestController::isKeyExisted):
(WTR::TestController::setWebAuthenticationMockConfiguration):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::addTestKeyToKeychain):
(WTR::TestController::cleanUpKeychain):
(WTR::TestController::keyExistedInKeychain):
2018-09-25 Sihui Liu <sihui_liu@apple.com>
Move Service Worker Management from Storage Process to Network Process
https://bugs.webkit.org/show_bug.cgi?id=189422
Reviewed by Youenn Fablet.
Change a check in ServiceWorkers.HasServiceWorkerRegistrationBit as storage process is not
launched during service worker operations now.
* TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2018-09-25 Eric Carlson <eric.carlson@apple.com>
[MediaStream] Update constraints supported by getDisplayMedia
https://bugs.webkit.org/show_bug.cgi?id=189930
<rdar://problem/44740305>
Unreviewed, fix test broken by r236465.
* TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
(TestWebKitAPI::TEST_F):
2018-09-25 Myles C. Maxfield <mmaxfield@apple.com>
[WHSL] Implement semantics
https://bugs.webkit.org/show_bug.cgi?id=189134
Reviewed by Filip Pizlo.
This patch adds parsing support and adds the checks required to support HLSL-style semantics.
There are 3 places where semantics are allowed:
1. In a field in a struct. E.g.
struct R {
float4 position : SV_Position;
}
vertex R foo() {
...
}
2. In a parameter of a function. If the function is not an entry point, the semantic is ignored.
compute void foo(device float[] data : buffer(u0)) {
...
}
3. On a function. This is so you don't have to create structs for the return types of simple vertex shaders.
vertex float4 foo() : SV_Position {
...
}
The semantics are partitioned into 4 types:
1. Built-in variables. For example, : SV_Position.
2. Resources. For example, : register(u0).
3. Stage-in / stage-out variables. For example, : attribute(0).
4. Specialization constants. For example, : specialized.
The semantics are validated according to a collection of rules:
- The same entry point can't list the same semantic twice
- Each built-in type has an appropriate type that is listed in the spec.
- Each built-in is appropriate as either an input or an output of a particular shader stage
- Resource semantics have to have the appropriate type (e.g. can't use register(s0) on a buffer)
- Resources can't be output from entry points
- The resource semantic mode must match the address space of the resource
- Stage-in and stage-out variables have to be POD
- Specialization constants can't be output from entry points, and have to be numbers
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/BuiltInSemantic.js: Added.
(BuiltInSemantic):
(BuiltInSemantic.prototype.get name):
(BuiltInSemantic.prototype.get extraArguments):
(BuiltInSemantic.prototype.isAcceptableType):
(BuiltInSemantic.prototype.isAcceptableForShaderType):
(BuiltInSemantic.prototype.toString):
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression.prototype._resolveWithOperatorAnderIndexer):
(CallExpression.prototype._resolveWithOperatorLength):
* WebGPUShadingLanguageRI/Checker.js:
(Checker):
(Checker.prototype.visitProgram):
(Checker.prototype._checkSemantics.Item):
(Checker.prototype._checkSemantics.Item.prototype.get type):
(Checker.prototype._checkSemantics.Item.prototype.get semantic):
(Checker.prototype._checkSemantics.Gatherer):
(Checker.prototype._checkSemantics.Gatherer.prototype.reset):
(Checker.prototype._checkSemantics.Gatherer.prototype.set currentSemantic):
(Checker.prototype._checkSemantics.Gatherer.prototype.get currentSemantic):
(Checker.prototype._checkSemantics.Gatherer.prototype.get result):
(Checker.prototype._checkSemantics.Gatherer.prototype.visitEnumType):
(Checker.prototype._checkSemantics.Gatherer.prototype.visitVectorType):
(Checker.prototype._checkSemantics.Gatherer.prototype.visitMatrixType):
(Checker.prototype._checkSemantics.Gatherer.prototype.visitNativeType):
(Checker.prototype._checkSemantics.Gatherer.prototype.visitStructType):
(Checker.prototype._checkSemantics.Gatherer.prototype.visitTypeRef):
(Checker.prototype._checkSemantics.Gatherer.prototype.visitPtrType):
(Checker.prototype._checkSemantics.Gatherer.prototype.visitArrayRefType):
(Checker.prototype._checkSemantics.Gatherer.prototype.visitArrayType):
(Checker.prototype._checkSemantics.Gatherer.prototype.visitFuncParameter):
(Checker.prototype._checkSemantics.checkDuplicateSemantics):
(Checker.prototype._checkSemantics.checkSemanticTypes):
(Checker.prototype._checkSemantics.checkSemanticForShaderType):
(Checker.prototype._checkSemantics.PODChecker.prototype.visitEnumType):
(Checker.prototype._checkSemantics.PODChecker.prototype.visitArrayType):
(Checker.prototype._checkSemantics.PODChecker.prototype.visitVectorType):
(Checker.prototype._checkSemantics.PODChecker.prototype.visitMatrixType):
(Checker.prototype._checkSemantics.PODChecker.prototype.visitNativeType):
(Checker.prototype._checkSemantics.PODChecker.prototype.visitPtrType):
(Checker.prototype._checkSemantics.PODChecker.prototype.visitArrayRefType):
(Checker.prototype._checkSemantics.PODChecker.prototype.visitStructType):
(Checker.prototype._checkSemantics.PODChecker.prototype.visitTypeRef):
(Checker.prototype._checkSemantics.PODChecker):
(Checker.prototype._checkSemantics.checkPODData):
(Checker.prototype._checkSemantics):
(Checker.prototype._checkShaderType):
(Checker.prototype._checkOperatorOverload):
(Checker.prototype.visitFuncDef):
(Checker.prototype.visitEnumType):
(Checker.prototype.visitArrayType):
(Checker.prototype.visitMakePtrExpression):
(Checker.prototype.visitMakeArrayRefExpression):
(Checker.prototype._finishVisitingPropertyAccess):
(Checker.prototype.visitIndexExpression):
(Checker.prototype.visitReturn):
(Checker.prototype.visitSwitchStatement):
(Checker.prototype.visitTernaryExpression):
(Checker.prototype.visitCallExpression):
* WebGPUShadingLanguageRI/Field.js:
(Field):
(Field.prototype.get semantic):
(Field.prototype.toString):
* WebGPUShadingLanguageRI/Func.js:
(Func):
(Func.prototype.get semantic):
(Func.prototype.toDeclString):
* WebGPUShadingLanguageRI/FuncDef.js:
(FuncDef):
* WebGPUShadingLanguageRI/FuncParameter.js:
(FuncParameter):
(FuncParameter.prototype.get semantic):
(FuncParameter.prototype.toString):
* WebGPUShadingLanguageRI/Intrinsics.js:
* WebGPUShadingLanguageRI/LateChecker.js:
(LateChecker.prototype.visitReferenceType):
(LateChecker):
(LateChecker.prototype._checkShaderType): Deleted.
(LateChecker.prototype.visitFuncDef): Deleted.
* WebGPUShadingLanguageRI/NativeFunc.js:
(NativeFunc):
* WebGPUShadingLanguageRI/Parse.js:
(parseParameter):
(parseFuncDecl):
(parseFuncDef):
(parseStageInOutSemantic):
(parseResourceSemantic):
(parseSpecializationConstantSemantic):
(parseBuiltInSemantic):
(parseField):
(parseNativeFunc):
* WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js:
(programWithUnnecessaryThingsRemoved):
* WebGPUShadingLanguageRI/ResourceSemantic.js: Added.
(ResourceSemantic):
(ResourceSemantic.prototype.get resourceMode):
(ResourceSemantic.prototype.get index):
(ResourceSemantic.prototype.get space):
(ResourceSemantic.prototype.isAcceptableType):
(ResourceSemantic.prototype.isAcceptableForShaderType):
(ResourceSemantic.prototype.toString):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitFuncParameter):
(Rewriter.prototype.visitField):
(Rewriter.prototype.visitBuiltInSemantic):
(Rewriter.prototype.visitResourceSemantic):
(Rewriter.prototype.visitStageInOutSemantic):
(Rewriter.prototype.visitSpecializationConstantSemantic):
(Rewriter):
* WebGPUShadingLanguageRI/SPIRV.html:
* WebGPUShadingLanguageRI/Semantic.js: Added.
(Semantic):
(Semantic.prototype.get origin):
(Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitBuiltInSemantic):
(Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitResourceSemantic):
(Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitStageInOutSemantic):
(Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitSpecializationConstantSemantic):
(Semantic.prototype.equalToOtherSemantic.Comparer):
(Semantic.prototype.equalToOtherSemantic):
* WebGPUShadingLanguageRI/SpecializationConstantSemantic.js: Copied from Tools/WebGPUShadingLanguageRI/Field.js.
(SpecializationConstantSemantic):
(SpecializationConstantSemantic.prototype.isAcceptableType):
(SpecializationConstantSemantic.prototype.isAcceptableForShaderType):
(SpecializationConstantSemantic.prototype.toString):
* WebGPUShadingLanguageRI/StageInOutSemantic.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
(StageInOutSemantic):
(StageInOutSemantic.prototype.get index):
(StageInOutSemantic.prototype.isAcceptableType):
(StageInOutSemantic.prototype.isAcceptableForShaderType):
(StageInOutSemantic.prototype.toString):
* WebGPUShadingLanguageRI/StatementCloner.js:
(StatementCloner.prototype.visitNativeFunc):
* WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js:
(synthesizeArrayOperatorLength):
* WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js:
(synthesizeCopyConstructorOperator):
* WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js:
(synthesizeDefaultConstructorOperator):
* WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js:
(synthesizeEnumFunctions):
* WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
(setupAnder):
(synthesizeStructAccessorsForStructType):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(tests.shaderTypes):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitFunc):
(Visitor.prototype.visitFuncParameter):
(Visitor.prototype.visitField):
(Visitor.prototype.visitBuiltInSemantic):
(Visitor.prototype.visitResourceSemantic):
(Visitor.prototype.visitStageInOutSemantic):
(Visitor.prototype.visitSpecializationConstantSemantic):
(Visitor):
* WebGPUShadingLanguageRI/index.html:
2018-09-25 Thomas Denney <tdenney@apple.com>
[WHLSL] Test suite for Metal code generation
https://bugs.webkit.org/show_bug.cgi?id=187738
Reviewed by Myles C. Maxfield.
This patch adds an Xcode project that contains a Cocoa app that can be
used for running WHLSL shaders on the GPU. It also contains an Xcode
test suite that runs all of the tests in Test.js on the GPU.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/.gitignore: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.h: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.m: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/AppIcon.appiconset/Contents.json: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/Contents.json: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Base.lproj/Main.storyboard: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.h: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.m: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.h: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.h: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.m: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Info.plist: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.h: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.m: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.h: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.m: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.h: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.m: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.h: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.m: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.h: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.m: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.h: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.m: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.h: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.m: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.h: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.m: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/WHLSL.entitlements: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/_SharedMetal.txt: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/main.m: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/Info.plist: Added.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/WHLSL_ToyTests.m: Added.
* WebGPUShadingLanguageRI/Test.js:
(tests.lotsOfLocalVariables):
2018-09-25 Myles C. Maxfield <mmaxfield@apple.com>
Unreviewed build fix after r236455
https://bugs.webkit.org/show_bug.cgi?id=189121
* WebGPUShadingLanguageRI/Test.js:
(tests.shaderStages):
2018-09-24 Myles C. Maxfield <mmaxfield@apple.com>
[WHLSL] Not all functions should be able to run in all shader stages
https://bugs.webkit.org/show_bug.cgi?id=189121
Reviewed by Filip Pizlo.
ddx() and ddy() can only run in fragment shaders, and the barrier functions can only run in compute shaders.
ddx_coarse() & friends are currently implemented as just calling ddx(), so we only need to modify those functions
if/when we make them native.
The texture sampling functions that use implicit derivatives can run in any shader stage - they just use a LOD of
0. Therefore, those functions are unchanged.
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Intrinsics.js:
* WebGPUShadingLanguageRI/LateChecker.js:
(LateChecker.prototype._checkShaderType):
* WebGPUShadingLanguageRI/NativeFunc.js:
(NativeFunc):
(NativeFunc.prototype.get stage):
(NativeFunc.prototype.toDeclString):
* WebGPUShadingLanguageRI/Parse.js:
(parseFuncDecl):
(parseNativeFunc):
(parseNative):
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare):
* WebGPUShadingLanguageRI/SPIRV.html:
* WebGPUShadingLanguageRI/StandardLibrary.js:
(let.standardLibrary):
* WebGPUShadingLanguageRI/StatementCloner.js:
(StatementCloner.prototype.visitNativeFunc):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(tests.shaderStages):
* WebGPUShadingLanguageRI/WSyntaxError.js:
(WSyntaxError.prototype.toString):
(WSyntaxError):
* WebGPUShadingLanguageRI/index.html:
2018-09-24 Thomas Denney <tdenney@apple.com>
[WHLSL] Implement trap statements in Metal code generation
https://bugs.webkit.org/show_bug.cgi?id=189615
Reviewed by Myles C. Maxfield.
Each function called by an entry point now receives an additional
boolean pointer parameter, which is set to false if the function traps.
After each function call (to a non-native function) this trap parameter
is checked. The behavior of the interpreter has also been updated so
that a function entry point catches the trap and instead returns zero,
matching the behavior of compiled code.
* WebGPUShadingLanguageRI/Evaluator.js: Adds a new flag to allow the
test suite to check for traps and also returns zero from entry points
whose invocation trapped.
* WebGPUShadingLanguageRI/Metal/MSLBackend.js: Pass program to function
declarations.
* WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Update dependencies.
* WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Add program
property.
* WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Ditto.
* WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js: Added.
* WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Conforms to the
new trapping behavior.
* WebGPUShadingLanguageRI/Test.js: Update tests that trap.
2018-09-24 Thomas Denney <tdenney@apple.com>
[WHLSL] It shouldn’t be possible to use ternary expressions as l-values
https://bugs.webkit.org/show_bug.cgi?id=189290
Reviewed by Myles C. Maxfield.
It is no longer possible for a ternary expression to be treated as an
l-value. This patch adds several test cases to verify that this is the
case.
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitTernaryExpression): No longer check isLValue.
* WebGPUShadingLanguageRI/NormalUsePropertyResolver:
(NormalUsePropertyResolver.visitTernaryExpression): Deleted.
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitTernaryExpression): No longer copy isLValue.
* WebGPUShadingLanguageRI/TernaryExpression.js:
(TernaryExpression):
(TernaryExpression.prototype.get elseExpression):
(TernaryExpression.prototype.get isLValue): Deleted.
(TernaryExpression.prototype.set isLValue): Deleted.
* WebGPUShadingLanguageRI/Test.js:
(tests.ternaryExpression): Add checks for failure if a failure is used
as an l-value.
(ternaryExpressionIsLValue.node.TernaryExpressionVisitor.prototype.visitTernaryExpression): Deleted.
(ternaryExpressionIsLValue.node.TernaryExpressionVisitor): Deleted.
(tests.ternaryExpressionIsLValue): Deleted.
2018-09-24 Jer Noble <jer.noble@apple.com>
SharedBuffer should have an equality test
https://bugs.webkit.org/show_bug.cgi?id=189919
Reviewed by Alex Christensen.
* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::TEST_F):
2018-09-24 Alex Christensen <achristensen@webkit.org>
Prepare to replace WKBundleFileHandleCreateWithPath with a version that takes a WKBundlePageRef
https://bugs.webkit.org/show_bug.cgi?id=189929
Reviewed by Andy Estes.
* TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp:
2018-09-24 Thomas Denney <tdenney@apple.com>
[WHLSL] Casting user-created types to themselves should always work
https://bugs.webkit.org/show_bug.cgi?id=189113
Reviewed by Myles C. Maxfield.
Casting user-defined types to themselves worked already, but we didn't
test it anywhere.
* WebGPUShadingLanguageRI/Test.js:
(tests.selfCasts):
2018-09-24 Zan Dobersek <zdobersek@igalia.com>
Unreviewed build fix for Jhbuild-using ports.
* gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch:
Adjust the patch so it applies cleanly on the 1.14.3 version of the
gst-plugins-good package.
2018-09-24 Ryan Haddad <ryanhaddad@apple.com>
Update flakiness dashboard configuration for iOS 12 queues
https://bugs.webkit.org/show_bug.cgi?id=189688
Reviewed by Alexey Proskuryakov.
* TestResultServer/static-dashboards/builders.jsonp:
2018-09-24 Alicia Boya García <aboya@igalia.com>
[GStreamer] Unreviewed build fix.
A GStreamer patch was not applying cleanly on 1.14.3.
* gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch:
2018-09-24 Alicia Boya García <aboya@igalia.com>
[MSE][GStreamer] Use no-more-pads event for noticing initialization segments
https://bugs.webkit.org/show_bug.cgi?id=189868
Reviewed by Xabier Rodriguez-Calvar.
Added patch from https://bugzilla.gnome.org/show_bug.cgi?id=797187
* gstreamer/jhbuild.modules:
* gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch: Added.
2018-09-24 Alicia Boya García <aboya@igalia.com>
[MSE][GStreamer] Add patch to jhbuild: matroskademux: Allow Matroska headers to be read more than once
https://bugs.webkit.org/show_bug.cgi?id=185731
Reviewed by Xabier Rodriguez-Calvar.
Upstream bug in GStreamer: https://bugzilla.gnome.org/show_bug.cgi?id=793333
This fixes YTTV 35. AppendMultipleInitOpusAudio (and any other use
case where two WebM initialization segments are appended on a row).
* gstreamer/jhbuild.modules:
* gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Added.
* gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Added.
* gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Added.
2018-09-22 Myles C. Maxfield <mmaxfield@apple.com>
[WHSL] Need grammar to specify kernel group size
https://bugs.webkit.org/show_bug.cgi?id=189108
Reviewed by Dean Jackson.
In HLSL, compute functions are annotated with their workgroup size.
For example,
[numthreads(3, 4, 5)] compute void foo(...) { ... }
* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Func.js:
(Func):
(Func.prototype.get attributeBlock):
* WebGPUShadingLanguageRI/FuncAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
(FuncAttribute):
* WebGPUShadingLanguageRI/FuncDef.js:
(FuncDef):
* WebGPUShadingLanguageRI/FuncNumThreadsAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
(FuncNumThreadsAttribute):
(FuncNumThreadsAttribute.prototype.get x):
(FuncNumThreadsAttribute.prototype.get y):
(FuncNumThreadsAttribute.prototype.get z):
* WebGPUShadingLanguageRI/LateChecker.js:
(LateChecker.prototype._checkShaderType):
* WebGPUShadingLanguageRI/Parse.js:
(parseAttributeBlock):
(parseFuncDecl):
(parseFuncDef):
(parseNativeFunc):
* WebGPUShadingLanguageRI/SPIRV.html:
* WebGPUShadingLanguageRI/StatementCloner.js:
(StatementCloner.prototype.visitFuncDef):
(StatementCloner.prototype.visitFuncNumThreadsAttribute):
(StatementCloner):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(tests.numThreads):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitFunc):
(Visitor.prototype.visitFuncNumThreadsAttribute):
(Visitor):
* WebGPUShadingLanguageRI/index.html:
2018-09-22 Myles C. Maxfield <mmaxfield@apple.com>
Native functions which accept pointers need to do null checks
https://bugs.webkit.org/show_bug.cgi?id=189883
Reviewed by Dean Jackson.
Simply guard all the places where we write through an author-provided pointer.
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics.):
* WebGPUShadingLanguageRI/Test.js:
(tests.textureDimensionsNull):
2018-09-22 Myles C. Maxfield <mmaxfield@apple.com>
[WHLSL] Implement atomic operations and barriers
https://bugs.webkit.org/show_bug.cgi?id=189025
Reviewed by Dean Jackson.
In the interpreter, atomic operations don't need to be atomic.
* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics.):
* WebGPUShadingLanguageRI/StandardLibrary.js:
(let.standardLibrary):
* WebGPUShadingLanguageRI/Test.js:
(tests.atomics):
2018-09-22 Thibault Saunier <tsaunier@igalia.com>
[WPE] Be very permissive in the MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=189800
This is just a test tool and we should make
it just work, security and privacy is not really
a primary focus here.
Reviewed by Žan Doberšek.
* MiniBrowser/wpe/main.cpp:
(decidePermissionRequest):
(main):
2018-09-21 Thomas Denney <tdenney@apple.com>
[WHLSL] Local variables should be statically allocated
https://bugs.webkit.org/show_bug.cgi?id=188402
Reviewed by Myles C. Maxfield.
An additional preparation stage is now performed so that all local
variables and function parameters are allocated in a single struct at
entry points. A pointer to this struct is then passed for function
calls.
* WebGPUShadingLanguageRI/All.js: Update dependencies.
* WebGPUShadingLanguageRI/AllocateAtEntryPoints.js: Added new stage.
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression.prototype.set argumentList): Add setter because
allocateAtEntryPoints needs to change this.
* WebGPUShadingLanguageRI/EBufferBuilder.js: Remove a redundant
constructor that wasn't used anywhere.
* WebGPUShadingLanguageRI/Func.js:
(Func.prototype.set parameters): Add setter.
* WebGPUShadingLanguageRI/FuncDef.js:
(FuncDef.prototype.set body): Ditto.
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare): Add call to allocateAtEntryPoints. This call cannot
happen any earlier because it depends on having types for call
arguments.
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitReturn): Resolve issue where the return
statement's function wasn't copied. A null check is required as the
Rewriter might be used before this property is set.
* WebGPUShadingLanguageRI/SPIRV.html: Update dependencies.
* WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Abstracted logic
into a separate function so that allocateAtEntryPoints can create the
accessors for the struct type it introduces.
* WebGPUShadingLanguageRI/Test.html: Update dependencies.
* WebGPUShadingLanguageRI/Test.js: Add new tests to verify the static
allocation transform works safely.
* WebGPUShadingLanguageRI/index.html: Update dependencies.
2018-09-21 Jonathan Bedard <jbedard@apple.com>
Bring up queues for iOS 12 (Build fix)
https://bugs.webkit.org/show_bug.cgi?id=189683
Unreviewed build fix.
We should not build ImageDiff as x86 by default since 32 bit projects are
deprecated in Xcode. ImageDiff should only be built once.
* Scripts/build-webkit:
* Scripts/webkitdirs.pm:
(argumentsForConfiguration):
2018-09-21 Adrian Perez de Castro <aperez@igalia.com>
[WPE] Built RPM of WPE webkit fails to install with "nothing provides libWPEToolingBackends.so()"
https://bugs.webkit.org/show_bug.cgi?id=189797
Reviewed by Žan Doberšek.
* wpe/backends/CMakeLists.txt: Make libWPEToolingBackends a static library to avoid
the need for installing it. This works fine because the library only contains utility
code intended to be reused from other various components (MiniBrowser, WebKitTestRunner).
2018-09-20 Daniel Bates <dabates@apple.com>
Move IOKitSPI.h from TestRunnerShared to PAL
https://bugs.webkit.org/show_bug.cgi?id=189804
Reviewed by Wenson Hsieh.
Towards fixing <https://bugs.webkit.org/show_bug.cgi?id=189604> move the IOKit SPI forward
declarations to PAL so that they can be shared by WebKit, DumpRenderTree and WebKitTestRunner.
No functionality changed. So, no new tests.
* TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
* TestRunnerShared/spi/UIKitTestSPI.h:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/ios/HIDEventGenerator.mm:
2018-09-20 Thomas Denney <tdenney@apple.com>
[WHLSL] Metal code generation
https://bugs.webkit.org/show_bug.cgi?id=187735
Reviewed by Myles C. Maxfield.
Adds support for generating Metal Shading Language from WHLSL. Clients
should include the file MetalCodegenAll.js and then call whlslToMsl
with their program source code to compile to Metal.
* WebGPUShadingLanguageRI/ArrayType.js:
(ArrayType.prototype.get arrayRefType): Adds the arrayRefType method to
all types to find the type of that expression when it is used in a
MakeArrayRefExpression.
* WebGPUShadingLanguageRI/MakeArrayRefExpression.js:
(MakeArrayRefExpression):
(MakeArrayRefExpression.prototype.get type): Uses the new arrayRefType
getter on all types to find the type of the expression.
* WebGPUShadingLanguageRI/Metal/MSLBackend.js: Added.
* WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Added.
* WebGPUShadingLanguageRI/Metal/MSLCompileResult.js: Added.
* WebGPUShadingLanguageRI/Metal/MSLConstexprEmitter.js: Added.
* WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Added.
* WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Added.
* WebGPUShadingLanguageRI/Metal/MSLFunctionForwardDeclaration.js: Added.
* WebGPUShadingLanguageRI/Metal/MSLNameMangler.js: Added.
* WebGPUShadingLanguageRI/Metal/MSLNativeFunctionCall.js: Added.
* WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Added.
* WebGPUShadingLanguageRI/Metal/MSLTypeAttributes.js: Added.
* WebGPUShadingLanguageRI/Metal/MSLTypeAttributesMap.js: Added.
* WebGPUShadingLanguageRI/Metal/MSLTypeUnifier.js: Added.
* WebGPUShadingLanguageRI/Metal/TypeOf.js: Added.
* WebGPUShadingLanguageRI/Metal/WhlslToMsl.js: Added.
* WebGPUShadingLanguageRI/PropertyResolver.js:
* WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
* WebGPUShadingLanguageRI/Test.js: Added awkward tests for the compiler
to generate code for.
(tests.incrementAndDecrement):
(tests.returnIntLiteralUint):
(tests.returnIntLiteralFloat):
(tests.nestedSubscriptWithArraysInStructs):
(tests.nestedSubscript):
(tests.lotsOfLocalVariables):
* WebGPUShadingLanguageRI/Type.js:
(Type.prototype.get arrayRefType): See above.
2018-09-20 Ryan Haddad <ryanhaddad@apple.com>
Bring up queues for iOS 12
https://bugs.webkit.org/show_bug.cgi?id=189683
Unreviewed infrastructure fix.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12@2x.png: Renamed from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer): Move EWS bubbles to the iOS 12 section of the dashboard.
2018-09-20 Ryan Haddad <ryanhaddad@apple.com>
Bring up queues for iOS 12
https://bugs.webkit.org/show_bug.cgi?id=189683
Reviewed by Aakash Jain.
* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform.ios-simulator-12 img.logo):
(table.queue-grid tr.platform.ios-12 img.logo):
(table.queue-grid tr.platform.ios-simulator-11 img.logo): Deleted.
(table.queue-grid tr.platform.ios-11 img.logo): Deleted.
* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
(ShouldBuildTest.test_should_build):
2018-09-20 Basuke Suzuki <Basuke.Suzuki@sony.com>
[Win] TestRunner::queueLoad() fails to generate correct url for some urls.
https://bugs.webkit.org/show_bug.cgi?id=189679
Reviewed by Fujii Hironori.
Replace the implementation with correct API call.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::queueLoad): Call UrlCombineW.
2018-09-20 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE] fails to build on ARM arches complaining about undefined reference to `epoxy_eglMakeCurrent'
https://bugs.webkit.org/show_bug.cgi?id=189556
Reviewed by Konstantin Tokarev.
This is only a speculative build fix as I didn't attempt to reproduce. Explicitly link to
libepoxy.
* wpe/backends/CMakeLists.txt:
2018-09-20 Daniel Bates <dabates@apple.com>
[iOS] Support testing more hardware special keys
https://bugs.webkit.org/show_bug.cgi?id=189793
Reviewed by Simon Fraser.
* TestRunnerShared/spi/IOKitSPI.h: Add more SPI constants.
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(keyCodeForDOMFunctionKey): Extracted out logic from hidUsageCodeForCharacter() to return the
key code for the F1, F2, ..., F12 keys and extended the code to compute the key code for the
F13, F14, ..., F24 keys.
(hidUsageCodeForCharacter): Modified to call keyCodeForDOMFunctionKey().
2018-09-20 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, remove accidentally-committed debugging changes from flatpakutils script
Aaaaaah maybe this is why changes are supposed to be reviewed.
* flatpak/flatpakutils.py:
(WebkitFlatpak.clean_args):
2018-09-20 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, manually rollout our switch to master runtime
Phil wants html5-codecs, which aren't available yet here. Let's switch back to 3.28 in the
meantime, where we were already building GStreamer ourselves anyway. But use an updated
SDK revision.
* flatpak/files/httpd-autogen.sh: Added.
* flatpak/flatpakutils.py:
(WebkitFlatpak.clean_args):
* flatpak/org.webkit.GTK.yaml:
* flatpak/org.webkit.WebKit.yaml:
* flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Added.
* flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Added.
2018-09-20 Thibault Saunier <tsaunier@igalia.com>
[WPE][GTK] webkit-flatpak intercepts --help for other commands
https://bugs.webkit.org/show_bug.cgi?id=189058
The approach of run_in_sandbox_if_available is that we basically have the
same set of arguments to setup the sandbox (ie. port name, build type, etc...)
and we can pass those args first to setup the flatpak launcher object
and then to the underlying script. That doesn't work well with the `--help` argument
as once processed it 1. prints the help (which make no sense to the user of the calling script)
2. exits the app - The solution is to just make sure that `--help` is not used when using
flatpakutils from any script that is not `webkit-flatpak` itself.
Reviewed by Michael Catanzaro.
* flatpak/flatpakutils.py:
(WebkitFlatpak.load_from_args):
(run_in_sandbox_if_available):
2018-09-20 Xabier Rodriguez Calvar <calvaris@igalia.com>
Unreviewed. Add W3C imported tests to the MSEEME watchlist.
* Scripts/webkitpy/common/config/watchlist:
2018-09-20 Xabier Rodriguez Calvar <calvaris@igalia.com>
Unreviewed. Fix the Streams API watchlist.
* Scripts/webkitpy/common/config/watchlist:
2018-09-19 Chris Dumez <cdumez@apple.com>
Crash under WebProcessProxy::suspendedPageWasDestroyed(WebKit::SuspendedPageProxy&)
https://bugs.webkit.org/show_bug.cgi?id=189721
<rdar://problem/44359788>
Reviewed by Geoffrey Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-09-19 Thomas Denney <tdenney@apple.com>
[WHLSL] Improve test suite type safety
https://bugs.webkit.org/show_bug.cgi?id=189502
Reviewed by Myles C. Maxfield.
Each of the 'makeT' functions now call the relevant cast function on the
value before hand. The checkNumber function has also been removed and
its uses have been replaced with functions that also check the type.
Some of the arithmetic checks have been updated to reflect that the
casts happen outside of WHLSL evaluation. Other tests have also been
updated to reflect that some values cannot be precisely expressed in
32-bit floating point.
* WebGPUShadingLanguageRI/Casts.js:
(castToBool): Added.
(castAndCheckValue): Added.
(isBitwiseEquivalent): Moved from Intrinsics.js.
* WebGPUShadingLanguageRI/Intrinsics.js: Ditto.
* WebGPUShadingLanguageRI/SPIRV.html: Update depdencies.
* WebGPUShadingLanguageRI/Test.html: Ditto.
* WebGPUShadingLanguageRI/Test.js: Update makeT functions to do a cast
and check the result. Some tests were also updated to reflect the change
in the behavior of these functions.
* WebGPUShadingLanguageRI/index.html: Update dependencies.
2018-09-19 John Wilander <wilander@apple.com>
Resource Load Statistics: Add optional cap on partitioned cache max age
https://bugs.webkit.org/show_bug.cgi?id=189711
<rdar://problem/39246837>
Reviewed by Antti Koivisto and Chris Dumez.
This change adds infrastructure for layout tests of capped cache max age.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsCacheMaxAgeCap):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsCacheMaxAgeCap):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2018-09-19 Dawei Fenton <realdawei@apple.com>
Unreviewed. Update my email and alias in list of contributors.
* Scripts/webkitpy/common/config/contributors.json:
2018-09-19 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Unreviewed, try #3 to fix a typo
I feel like Charlie Brown, how hard this has been for me....
* Scripts/run-minibrowser:
* Scripts/webkitdirs.pm:
(runInFlatpakIfAvailable):
(runInFlatpakIfAvailible): Deleted.
2018-09-19 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Unreviewed, fix that typo in more places
It got copied into webkitdirs.pm!
* Scripts/webkitdirs.pm:
(runInFlatpakIfAvailible):
(runInFlatpakIfAvalaible): Deleted.
2018-09-19 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Unreviewed, fix a pervasive typo in the webkit-flatpak script
* flatpak/flatpakutils.py:
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.__init__):
(WebkitFlatpak.run):
2018-09-19 Michael Catanzaro <mcatanzaro@igalia.com>
[WPE][GTK] Unreviewed, update to latest GNOME SDK
* flatpak/org.webkit.WebKit.yaml:
2018-09-19 Michael Catanzaro <mcatanzaro@igalia.com>
Unreviewed, rolling out r235500.
Time to switch back to master runtime
Reverted changeset:
"Unreviewed, rolling out r235114."
https://bugs.webkit.org/show_bug.cgi?id=188731
https://trac.webkit.org/changeset/235500
2018-09-19 Adrian Perez de Castro <aperez@igalia.com>
Unreviewed. Add Pablo Saavedra to the list of contributors.
* Scripts/webkitpy/common/config/contributors.json:
2018-09-19 Philippe Normand <pnormand@igalia.com>
[GStreamer] Add support for AV1 decoding
https://bugs.webkit.org/show_bug.cgi?id=189647
Reviewed by Žan Doberšek.
Add patches required for AV1 decoding support. They're all
upstream already and will be shipped in GStreamer 1.16. The aom
GStreamer plugin depends on the aom library for which there's no
official release yet.
* gstreamer/jhbuild.modules:
* gstreamer/patches/gst-plugins-bad-0001-aomenc-Add-support-for-10-12bit-decoding.patch: Added.
* gstreamer/patches/gst-plugins-bad-0002-aomenc-Handle-8-bit_depth-images-with-AOM_IMG_FMT_HI.patch: Added.
* gstreamer/patches/gst-plugins-good-0001-qtdemux-Detect-and-expose-CEA-608-708-Closed-Caption.patch: Added. This one is unrelated but an implicit dependency of the next one.
* gstreamer/patches/gst-plugins-good-0004-qtdemux-Add-initial-support-for-AV1-demuxing.patch: Added.
* gstreamer/patches/gst-plugins-good-0005-qtdemux-Extract-AV1-codec_data-and-put-it-in-the-cap.patch: Added.
* gstreamer/patches/gst-plugins-good-0006-qtdemux-Recognize-more-AV1-atoms.patch: Added.
2018-09-18 Jonathan Bedard <jbedard@apple.com>
webkitpy: Clobbering and building occurs multiple times for iOS Simulator ports
https://bugs.webkit.org/show_bug.cgi?id=189702
<rdar://problem/44541704>
Reviewed by Aakash Jain.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._set_up_run): Move build check and clobbering to run, since set up is
run multiple times for iOS simulator.
(Manager.run):
2018-09-18 Chris Dumez <cdumez@apple.com>
"DidFirstVisuallyNonEmptyLayout" callback does not get called when restoring a page from PageCache
https://bugs.webkit.org/show_bug.cgi?id=189681
<rdar://problem/44526171>
Reviewed by Alex Christensen and Zalan Bujtas.
Add API test coverage.
* TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
(TestWebKitAPI::didFinishNavigation):
(TestWebKitAPI::TEST):
2018-09-18 Claudio Saavedra <csaavedra@igalia.com>
[WPE] Implement mouse event modifiers
https://bugs.webkit.org/show_bug.cgi?id=189697
Reviewed by Carlos Garcia Campos.
* WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
(WTR::wkEventModifiersToWPE):
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
2018-09-17 Yusuke Suzuki <utatane.tea@gmail.com>
[WTF] Use Semaphore and BinarySemaphore instead of dispatch_semaphore_t
https://bugs.webkit.org/show_bug.cgi?id=185339
Reviewed by Mark Lam.
* TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
(TestWebKitAPI::ToUpperConverter::stopProducing):
(TestWebKitAPI::ToUpperConverter::stopConsuming):
2018-09-17 Simon Fraser <simon.fraser@apple.com>
Many modern media control tests leak documents in testing
https://bugs.webkit.org/show_bug.cgi?id=189437
Reviewed by Darin Adler.
In order to accurately detect leaks in media controls tests which use lots of
SVGImages, we have to:
- Fire a zero-delay timer after the postTask, in order for ImagesLoader's m_derefElementTimer
to clear references to elements.
- Have releaseCriticalMemory() call CachedResourceLoader's garbageCollectDocumentResources()
to drop the last handle to the CachedResource for an SVGImage.
- Call WKBundleReleaseMemory() after the GC and timer, since we need garbageCollectDocumentResources()
to run again after that timer has fired.
This should fix most of the spurious leak reports involving SVGImage documents.
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::reportLiveDocuments):
(WTR::InjectedBundle::didReceiveMessageToPage):
2018-09-17 Chris Dumez <cdumez@apple.com>
PSON: window.open() with 'noopener' should only process-swap cross-site, not cross-origin
https://bugs.webkit.org/show_bug.cgi?id=189602
<rdar://problem/44430549>
Reviewed by Geoff Garen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-09-17 Philippe Normand <pnormand@igalia.com>
[JHBuild] Update to GStreamer 1.14.3
https://bugs.webkit.org/show_bug.cgi?id=189450
Reviewed by Xabier Rodriguez-Calvar.
* gstreamer/jhbuild.modules: Bump GStreamer modules from 1.14.1 to 1.14.3.
2018-09-17 Philippe Normand <pnormand@igalia.com>
[JHBuild] Doesn't check sha256 sums
https://bugs.webkit.org/show_bug.cgi?id=189646
Reviewed by Michael Catanzaro.
* gstreamer/jhbuild.modules: Properly set the sha256: prefix on hashes.
2018-09-17 Sihui Liu <sihui_liu@apple.com>
Move IndexedDB to Network Process
https://bugs.webkit.org/show_bug.cgi?id=189415
<rdar://problem/44396973>
Reviewed by Chris Dumez.
* TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
(TEST):
2018-09-08 Darin Adler <darin@apple.com>
Streamline JSRetainPtr, fix leaks of JSString and JSGlobalContext
https://bugs.webkit.org/show_bug.cgi?id=189455
Reviewed by Keith Miller.
There is a lot of copied and pasted code for WebKit vs. Legacy WebKit
testing and even for macOS vs. iOS vs. Windows platform-specific code.
For now, this patch just makes corresponding changes to the copied code.
Later we might get better results by merging more code instead of having
all these separate copies.
* DumpRenderTree/AccessibilityController.cpp:
(AccessibilityController::makeWindowObject): Use the adopt function
instead of the special Adopt constructor of JSRetainPtr.
* DumpRenderTree/AccessibilityTextMarker.cpp: Removed unneeded include.
* DumpRenderTree/AccessibilityUIElement.cpp: Ditto.
(allAttributesCallback): Don't adopt at this level; changed the
underlying function to return a JSRetainPtr so the adopt is right next
to the call to the create or copy function.
(attributesOfLinkedUIElementsCallback): Ditto.
(attributesOfDocumentLinksCallback): Ditto.
(attributesOfChildrenCallback): Ditto.
(parameterizedAttributeNamesCallback): Ditto.
(attributesOfColumnHeadersCallback): Ditto.
(attributesOfRowHeadersCallback): Ditto.
(attributesOfColumnsCallback): Ditto.
(attributesOfRowsCallback): Ditto.
(attributesOfVisibleCellsCallback): Ditto.
(attributesOfHeaderCallback): Ditto.
(rowIndexRangeCallback): Ditto.
(columnIndexRangeCallback): Ditto.
(rangeForLineCallback): Ditto.
(boundsForRangeCallback): Ditto.
(rangeForPositionCallback): Ditto.
(stringForRangeCallback): Ditto.
(attributedStringForRangeCallback): Ditto.
(uiElementCountForSearchPredicateCallback): Use the free adopt
function instead of the adopt member function.
(uiElementForSearchPredicateCallback): Ditto.
(selectTextWithCriteriaCallback): Don't adopt at this level.
(attributedStringForElementCallback): Ditto.
(setValueCallback): Use free adopt.
(stringAttributeValueCallback): Don't adopt at this level.
(uiElementArrayAttributeValueCallback): Ditto.
(uiElementAttributeValueCallback): Ditto.
(stringForTextMarkerRangeCallback): Ditto.
(attributedStringForTextMarkerRangeCallback): Ditto.
(attributedStringForTextMarkerRangeWithOptionsCallback): Ditto.
(getARIADropEffectsCallback): Ditto.
(getClassListCallback): Ditto.
(getRoleCallback): Ditto.
(getSubroleCallback): Ditto.
(getRoleDescriptionCallback): Ditto.
(getComputedRoleStringCallback): Ditto.
(getTitleCallback): Ditto.
(getDescriptionCallback): Ditto.
(getStringValueCallback): Ditto.
(getLanguageCallback): Ditto.
(getHelpTextCallback): Ditto.
(getOrientationCallback): Ditto.
(getPathDescriptionCallback): Ditto.
(getSelectedTextRangeCallback): Ditto.
(speakAsCallback): Ditto.
(getValueDescriptionCallback): Ditto.
(getAccessibilityValueCallback): Ditto.
(getDocumentEncodingCallback): Ditto.
(getDocumentURICallback): Ditto.
(getURLCallback): Ditto.
(characterAtOffsetCallback): Ditto.
(wordAtOffsetCallback): Ditto.
(lineAtOffsetCallback): Ditto.
(sentenceAtOffsetCallback): Ditto.
(stringForSelectionCallback): Ditto.
(getIdentifierCallback): Ditto.
(getTraitsCallback): Ditto.
(supportedActionsCallback): Ditto.
(mathPostscriptsDescriptionCallback): Ditto.
(mathPrescriptsDescriptionCallback): Ditto.
(AccessibilityUIElement::rangeForLine): Updated to return JSRetainPtr.
(AccessibilityUIElement::rangeForPosition): Ditto.
(AccessibilityUIElement::speakAs): Ditto.
(AccessibilityUIElement::pathDescription const): Ditto.
(AccessibilityUIElement::stringForTextMarkerRange): Ditto.
(AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
(AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
* DumpRenderTree/AccessibilityUIElement.h: Use JSRetainPtr instead of
raw pointers for the results of the functions that create strings.
The old way was difficult to get right; the functions didn't even follow
the create/copy naming rule.
* DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
(_platformTypeConstructor): Use the adopt function instead of the
JSRetainPtr adopt constructor. Also nullptr instead of 0.
* DumpRenderTree/GCController.cpp:
(GCController::makeWindowObject): Use adopt function instead of constructor.
* DumpRenderTree/TestRunner.cpp:
(pathToLocalResourceCallback): Use adopt function instead of constructor.
(addDisallowedURLCallback): Ditto.
(addURLToRedirectCallback): Ditto.
(clearApplicationCacheForOriginCallback): Ditto.
(applicationCacheDiskUsageForOriginCallback): Ditto.
(decodeHostNameCallback): Don't adopt at this level.
(encodeHostNameCallback): Ditto.
(execCommandCallback): Use adopt instead of JSRetainPtr::adopt.
(findStringCallback): Use adopt function instead of constructor.
(isCommandEnabledCallback): Ditto.
(overridePreferenceCallback): Ditto.
(queueLoadCallback): Ditto.
(queueLoadHTMLStringCallback): Ditto.
(queueLoadingScriptCallback): Ditto.
(queueNonLoadingScriptCallback): Ditto.
(setAuthenticationPasswordCallback): Ditto.
(setAuthenticationUsernameCallback): Ditto.
(setDomainRelaxationForbiddenForURLSchemeCallback): Ditto.
(setMockGeolocationPositionUnavailableErrorCallback): Ditto.
(setPOSIXLocaleCallback): Ditto.
(setPersistentUserStyleSheetLocationCallback): Ditto.
(setUserStyleSheetLocationCallback): Ditto.
(setValueForUserCallback): Ditto.
(setWillSendRequestClearHeaderCallback): Ditto.
(setPageVisibilityCallback): Ditto.
(evaluateInWebInspectorCallback): Ditto.
(evaluateScriptInIsolatedWorldCallback): Ditto.
(evaluateScriptInIsolatedWorldAndReturnValueCallback): Ditto.
(addOriginAccessWhitelistEntryCallback): Ditto.
(removeOriginAccessWhitelistEntryCallback): Ditto.
(setScrollbarPolicyCallback): Ditto.
(addUserScriptCallback): Ditto.
(addUserStyleSheetCallback): Ditto.
(apiTestNewWindowDataLoadBaseURLCallback): Ditto.
(authenticateSessionCallback): Ditto.
(getTitleTextDirectionCallback): Ditto.
(getInspectorTestStubURLCallback): Ditto.
(simulateLegacyWebNotificationClickCallback): Ditto.
(setTextDirectionCallback): Ditto.
(grantWebNotificationPermissionCallback): Ditto.
(denyWebNotificationPermissionCallback): Ditto.
(accummulateLogsForChannel): Ditto.
(runUIScriptCallback): Ditto.
(TestRunner::makeWindowObject): Ditto.
(TestRunner::uiScriptDidComplete): Ditto.
(TestRunner::setOpenPanelFiles): Ditto.
* DumpRenderTree/TestRunner.h: Use JSRetainPtr instead of
raw pointers for the results of the functions that create strings.
* DumpRenderTree/ios/AccessibilityControllerIOS.mm:
(AccessibilityController::platformName const): Use the adopt
function instead of the adopt constructor.
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(createEmptyJSString): Added. This helper function makes reduces the
repetitive code to create empty strings.
(concatenateAttributeAndValue): Changed to return a JSRetainPtr.
(AccessibilityUIElement::identifier): Ditto.
(AccessibilityUIElement::traits): Ditto.
(AccessibilityUIElement::url): Ditto.
(AccessibilityUIElement::speakAs): Ditto.
(AccessibilityUIElement::stringForSelection): Ditto.
(AccessibilityUIElement::stringForRange): Ditto.
(AccessibilityUIElement::attributedStringForRange): Ditto.
(AccessibilityUIElement::attributedStringForElement): Ditto.
(AccessibilityUIElement::pathDescription const): Ditto.
(AccessibilityUIElement::stringForTextMarkerRange): Ditto.
(AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
(AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
(AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
(AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
(AccessibilityUIElement::attributesOfChildren): Ditto.
(AccessibilityUIElement::allAttributes): Ditto.
(AccessibilityUIElement::stringAttributeValue): Ditto.
(AccessibilityUIElement::parameterizedAttributeNames): Ditto.
(AccessibilityUIElement::role): Ditto.
(AccessibilityUIElement::subrole): Ditto.
(AccessibilityUIElement::roleDescription): Ditto.
(AccessibilityUIElement::computedRoleString): Ditto.
(AccessibilityUIElement::title): Ditto.
(AccessibilityUIElement::description): Ditto.
(AccessibilityUIElement::orientation const): Ditto.
(AccessibilityUIElement::stringValue): Ditto.
(AccessibilityUIElement::language): Ditto.
(AccessibilityUIElement::helpText const): Ditto.
(AccessibilityUIElement::valueDescription): Ditto.
(AccessibilityUIElement::ariaDropEffects const): Ditto.
(AccessibilityUIElement::boundsForRange): Ditto.
(AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
(AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(AccessibilityUIElement::attributesOfColumns): Ditto.
(AccessibilityUIElement::attributesOfRows): Ditto.
(AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(AccessibilityUIElement::attributesOfHeader): Ditto.
(AccessibilityUIElement::rowIndexRange): Ditto.
(AccessibilityUIElement::columnIndexRange): Ditto.
(AccessibilityUIElement::selectedTextRange): Ditto.
(AccessibilityUIElement::accessibilityValue const): Ditto.
(AccessibilityUIElement::documentEncoding): Ditto.
(AccessibilityUIElement::documentURI): Ditto.
(AccessibilityUIElement::selectTextWithCriteria): Ditto.
(AccessibilityUIElement::classList const): Ditto.
* DumpRenderTree/mac/AccessibilityCommonMac.h: Changed the
createJSStringRef method to return a JSRetainPtr.
* DumpRenderTree/mac/AccessibilityCommonMac.mm:
(-[NSString createJSStringRef]): Ditto.
(searchPredicateParameterizedAttributeForSearchCriteria): Use the
adopt function instead of the adopt constructor.
* DumpRenderTree/mac/AccessibilityControllerMac.mm:
(AccessibilityController::platformName const): Ditto.
* DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
(-[NSString createJSStringRef]): Return a JSRetainPtr.
(makeValueRefForValue): Updated for the above, no adopt needed here now.
(makeObjectRefForDictionary): Ditto.
(-[AccessibilityNotificationHandler _notificationReceived:]): Ditto.
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(createEmptyJSString): Added. This helper function makes reduces the
repetitive code to create empty strings.
(concatenateAttributeAndValue): Changed to return a JSRetainPtr.
(descriptionOfElements): Ditto.
(selectTextParameterizedAttributeForCriteria): Ditto.
(AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
(AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
(AccessibilityUIElement::attributesOfChildren): Ditto.
(AccessibilityUIElement::allAttributes): Ditto.
(AccessibilityUIElement::stringAttributeValue): Ditto.
(AccessibilityUIElement::parameterizedAttributeNames): Ditto.
(AccessibilityUIElement::role): Ditto.
(AccessibilityUIElement::subrole): Ditto.
(AccessibilityUIElement::roleDescription): Ditto.
(AccessibilityUIElement::computedRoleString): Ditto.
(AccessibilityUIElement::title): Ditto.
(AccessibilityUIElement::description): Ditto.
(AccessibilityUIElement::orientation const): Ditto.
(AccessibilityUIElement::stringValue): Ditto.
(AccessibilityUIElement::language): Ditto.
(AccessibilityUIElement::helpText const): Ditto.
(AccessibilityUIElement::valueDescription): Ditto.
(AccessibilityUIElement::speakAs): Ditto.
(AccessibilityUIElement::classList const): Ditto.
(AccessibilityUIElement::ariaDropEffects const): Ditto.
(AccessibilityUIElement::rangeForLine): Ditto.
(AccessibilityUIElement::rangeForPosition): Ditto.
(AccessibilityUIElement::boundsForRange): Ditto.
(AccessibilityUIElement::stringForRange): Ditto.
(AccessibilityUIElement::attributedStringForRange): Ditto.
(AccessibilityUIElement::selectTextWithCriteria): Ditto.
(AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
(AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(AccessibilityUIElement::attributesOfColumns): Ditto.
(AccessibilityUIElement::attributesOfRows): Ditto.
(AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(AccessibilityUIElement::attributesOfHeader): Ditto.
(AccessibilityUIElement::rowIndexRange): Ditto.
(AccessibilityUIElement::columnIndexRange): Ditto.
(AccessibilityUIElement::pathDescription const): Ditto.
(AccessibilityUIElement::selectedTextRange): Ditto.
(AccessibilityUIElement::accessibilityValue const): Ditto.
(AccessibilityUIElement::documentEncoding): Ditto.
(AccessibilityUIElement::documentURI): Ditto.
(AccessibilityUIElement::url): Ditto.
(AccessibilityUIElement::stringForTextMarkerRange): Ditto.
(createJSStringRef): Ditto.
(AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
(AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
(AccessibilityUIElement::supportedActions): Ditto.
(AccessibilityUIElement::mathPostscriptsDescription const): Ditto.
(AccessibilityUIElement::mathPrescriptsDescription const): Ditto.
* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
Use the adopt function instead of the adopt constructor.
* DumpRenderTree/mac/TestRunnerMac.mm:
(originsArrayToJS): Ditto.
(TestRunner::copyDecodedHostName): Return a JSRetainPtr.
(TestRunner::copyEncodedHostName): Ditto.
(TestRunner::pathToLocalResource): Ditto.
(TestRunner::queueLoad): Use adopt function instead of constructor.
(TestRunner::findString): Ditto.
(TestRunner::inspectorTestStubURL): Return a JSRetainPtr.
* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(AccessibilityController::winNotificationReceived): Use adopt function
instead of adopt constructor.
(AccessibilityController::platformName const): Ditto.
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(createEmptyJSString): Added. This helper function makes reduces the
repetitive code to create empty strings.
(AccessibilityUIElement::allAttributes): Changed to return a JSRetainPtr.
(AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
(AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
(AccessibilityUIElement::attributesOfChildren): Ditto.
(AccessibilityUIElement::parameterizedAttributeNames): Ditto.
(AccessibilityUIElement::role): Ditto.
(AccessibilityUIElement::subrole): Ditto.
(AccessibilityUIElement::roleDescription): Ditto.
(AccessibilityUIElement::computedRoleString): Ditto.
(AccessibilityUIElement::title): Ditto.
(AccessibilityUIElement::description): Ditto.
(AccessibilityUIElement::stringValue): Ditto.
(AccessibilityUIElement::language): Ditto.
(AccessibilityUIElement::helpText const): Ditto.
(AccessibilityUIElement::valueDescription): Ditto.
(AccessibilityUIElement::ariaDropEffects const): Ditto.
(AccessibilityUIElement::orientation const): Ditto.
(AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
(AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(AccessibilityUIElement::attributesOfColumns): Ditto.
(AccessibilityUIElement::attributesOfRows): Ditto.
(AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(AccessibilityUIElement::attributesOfHeader): Ditto.
(AccessibilityUIElement::rowIndexRange): Ditto.
(AccessibilityUIElement::columnIndexRange): Ditto.
(AccessibilityUIElement::boundsForRange): Ditto.
(AccessibilityUIElement::stringForRange): Ditto.
(AccessibilityUIElement::attributedStringForRange): Ditto.
(AccessibilityUIElement::selectTextWithCriteria): Ditto.
(AccessibilityUIElement::selectedTextRange): Ditto.
(AccessibilityUIElement::stringAttributeValue): Ditto.
(AccessibilityUIElement::accessibilityValue const): Ditto.
(AccessibilityUIElement::documentEncoding): Ditto.
(AccessibilityUIElement::documentURI): Ditto.
(AccessibilityUIElement::url): Ditto.
(AccessibilityUIElement::classList const): Ditto.
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::copyDecodedHostName): Changed to return a JSRetainPtr.
(TestRunner::copyEncodedHostName): Ditto.
(TestRunner::pathToLocalResource): Ditto.
(TestRunner::queueLoad): Ditto.
(TestRunner::findString): Ditto.
(TestRunner::inspectorTestStubURL): Ditto.
* TestRunnerShared/Bindings/JSWrapper.h:
(WTR::setProperty): Use adopt function instead of constructor.
* TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
(UIScriptContext::UIScriptContext): Ditto.
(UIScriptContext::runUIScript): Ditto.
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::toDeviceOrientation): Ditto.
* TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
(nsTextCheckingType): Changed this function to not take an rvalue
reference to a JSRetainPtr since it doesn't take ownership.
(-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Updated
for the above change.
* TestWebKitAPI/JavaScriptTest.cpp:
(TestWebKitAPI::javaScriptCallback): Use adopt function instead of
adopt member function.
* TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp: Removed unneeded include.
* TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm: Ditto.
* TestWebKitAPI/Tests/mac/DOMNodeFromJSObject.mm: Use adopt function instead of
adopt constructor.
* TestWebKitAPI/Tests/mac/JSWrapperForNodeInWebFrame.mm: Ditto.
* WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
Removed unneeded includes.
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: Ditto.
* WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: Ditto.
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: Ditto.
* WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
(_platformTypeConstructor): Use the adopt function instead of the
JSRetainPtr adopt constructor. Also nullptr instead of 0.
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::arrayLength): Use adopt function instead of constructor.
(WTR::parseModifierArray): Ditto.
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::propertyValue): Ditto.
(WTR::dumpPath): Ditto.
(WTR::toJS): Ditto.
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::findString): Ditto.
(WTR::TestRunner::statisticsDidRunTelemetryCallback): Ditto.
(WTR::TestRunner::callDidReceiveAllStorageAccessEntriesCallback): Ditto.
(WTR::TestRunner::setOpenPanelFiles): Ditto.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
(WTR::AccessibilityController::platformName): Ditto.
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(-[NSString createJSStringRef]): Return a JSRetainPtr.
This fixes storage leaks in many functions below, which were using
the create function and putting the value right into a JSRetainPtr
without adoption.
(WTR::createEmptyJSString): Added. This helper function reduces the
repetitive code to create empty strings.
(WTR::concatenateAttributeAndValue): Return a JSRetainPtr.
(WTR::AccessibilityUIElement::attributesOfLinkedUIElements):
Use createEmptyJSString, fixing a storage leak due to missing adoption.
(WTR::AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
(WTR::AccessibilityUIElement::attributesOfChildren): Ditto.
(WTR::AccessibilityUIElement::allAttributes): Ditto.
(WTR::AccessibilityUIElement::stringAttributeValue): Ditto.
(WTR::AccessibilityUIElement::parameterizedAttributeNames): Ditto.
(WTR::AccessibilityUIElement::role): Ditto.
(WTR::AccessibilityUIElement::subrole): Ditto.
(WTR::AccessibilityUIElement::roleDescription): Ditto.
(WTR::AccessibilityUIElement::computedRoleString): Ditto.
(WTR::AccessibilityUIElement::title): Ditto.
(WTR::AccessibilityUIElement::orientation const): Ditto.
(WTR::AccessibilityUIElement::language): Ditto.
(WTR::AccessibilityUIElement::valueDescription): Ditto.
(WTR::AccessibilityUIElement::ariaDropEffects const): Ditto.
(WTR::AccessibilityUIElement::boundsForRange): Ditto.
(WTR::AccessibilityUIElement::stringForRange): Removed unneeded null check.
(WTR::AccessibilityUIElement::attributedStringForRange): Ditto.
(WTR::AccessibilityUIElement::attributesOfColumnHeaders):
Use createEmptyJSString, fixing a storage leak due to missing adoption.
(WTR::AccessibilityUIElement::attributesOfRowHeaders): Ditto.
(WTR::AccessibilityUIElement::attributesOfColumns): Ditto.
(WTR::AccessibilityUIElement::attributesOfRows): Ditto.
(WTR::AccessibilityUIElement::attributesOfVisibleCells): Ditto.
(WTR::AccessibilityUIElement::attributesOfHeader): Ditto.
(WTR::AccessibilityUIElement::selectedTextRange): Ditto.
(WTR::AccessibilityUIElement::accessibilityValue const): Ditto.
(WTR::AccessibilityUIElement::documentEncoding): Ditto.
(WTR::AccessibilityUIElement::documentURI): Ditto.
(WTR::AccessibilityUIElement::stringForSelection): Removed unneeded
null check.
(WTR::AccessibilityUIElement::stringForTextMarkerRange):
Use createEmptyJSString, fixing a storage leak due to missing adoption.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
Use JSRetainPtr for the return value of createJSStringRef.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
(-[NSString createJSStringRef]): Ditto.
(WTR::searchPredicateParameterizedAttributeForSearchCriteria): Use the
adopt function instead of the adopt constructor.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::platformName): Ditto
* WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
(-[NSString createJSStringRef]): Return a JSRetainPtr.
(makeValueRefForValue): Updated for above by removing adopt.
(makeObjectRefForDictionary): Ditto.
(-[AccessibilityNotificationHandler _notificationReceived:]): Ditto.
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::createEmptyJSString): Added. This helper function makes reduces the
repetitive code to create empty strings.
(WTR::concatenateAttributeAndValue): Return a JSRetainPtr.
(WTR::descriptionOfElements): Ditto.
(WTR::selectTextParameterizedAttributeForCriteria): Ditto.
(WTR::AccessibilityUIElement::accessibilityValue const): Use createEmptyJSString,
fixing a storage leak due to missing adoption.
(WTR::AccessibilityUIElement::documentEncoding): Ditto.
(WTR::AccessibilityUIElement::documentURI): Ditto.
(WTR::createJSStringRef): Return a JSRetainPtr.
* WebKitTestRunner/StringFunctions.h:
(WTR::toWK): Take a const& to eliminate a little bit of reference count churn.
(WTR::toJS): Use the adopt function instead of the constructor.
2018-09-14 Dean Jackson <dino@grorg.org>
Add Justin Michaud.
* Scripts/webkitpy/common/config/contributors.json:
2018-09-14 Ryan Haddad <ryanhaddad@apple.com>
bots should pass --clobber-old-results to run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=189623
Reviewed by Aakash Jain.
In order to ensure that bots to not produce confusing results due to transient execptions,
or run out of space if they continually hit an exception, old layout test results should be clobbered.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunWebKitTests):
2018-09-13 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r235954.
Breaks the watchOS build.
Reverted changeset:
"Move IndexedDB to Network Process"
https://bugs.webkit.org/show_bug.cgi?id=189415
https://trac.webkit.org/changeset/235954
2018-09-13 Daniel Bates <dabates@apple.com>
Add Copy WebKit Permalink plugin for Sublime Text
https://bugs.webkit.org/show_bug.cgi?id=189589
Rubber-stamped by Joseph Pecoraro.
Port the Copy WebKit Permalink Automator service to a Sublime Text plugin. Once installed you can
use the plugin to copy to the Clipboard a trac.webkit.org hyperlink to the selected line in the
active document with or without blame annotations.
Once installed, you can Control-click (on Mac) or right-click (on Windows and Linux) on a line and
choose Copy WebKit Permalink or Copy WebKit Permalink to Blame from the context menu to copy to the
Clipboard a permanent hyperlink to the selected line without or with blame annotations, respectively.
On Mac you can also invoke the same functionality using the keyboard shortcuts Command + Shift + Control + C
and Command + Shift + Control + Option + C, respectively.
* CopyPermalink/Sublime Text/CopyWebKitPermalink/Context.sublime-menu: Added.
* CopyPermalink/Sublime Text/CopyWebKitPermalink/CopyWebKitPermalink.py: Added.
* CopyPermalink/Sublime Text/CopyWebKitPermalink/Default (OSX).sublime-keymap: Added.
* CopyPermalink/Sublime Text/INSTALL: Added.
* CopyPermalink/Xcode/Copy WebKit Permalink.workflow/Contents/Info.plist: Renamed from Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/Info.plist.
* CopyPermalink/Xcode/Copy WebKit Permalink.workflow/Contents/document.wflow: Renamed from Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow.
* CopyPermalink/Xcode/INSTALL: Renamed from Tools/CopyPermalink/README.
2018-09-13 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix WebDriver tests after r235225.
Use wpt serve command to run the http server.
* Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
(WebDriverW3CWebServer.__init__):
(WebDriverW3CWebServer.start):
(WebDriverW3CWebServer.stop):
2018-09-13 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Allow to run script dialogs asynchronously in the UI process
https://bugs.webkit.org/show_bug.cgi?id=189544
Reviewed by Michael Catanzaro.
Add test cases for the new API.
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewJavaScriptDialogs):
2018-09-12 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][Clang][ImageDiff] Fix compilation error and warning of PlatformImageCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=189496
<rdar://problem/44370981>
Unreviewed warning fix.
r235929 has introduced a new compilation warning:
> Tools/ImageDiff/cairo/PlatformImageCairo.cpp:34:70: warning: unused parameter ‘imageSize’ [-Wunused-parameter]
* ImageDiff/cairo/PlatformImageCairo.cpp:
(ImageDiff::PlatformImage::createFromStdin): Removed the variable name.
2018-09-12 Dan Bernstein <mitz@apple.com>
[Cocoa] Complete support for Paste as Quotation
https://bugs.webkit.org/show_bug.cgi?id=189504
Reviewed by Wenson Hsieh.
* MiniBrowser/mac/MainMenu.xib: Added a Paste as Quotation command in the Edit menu.
2018-09-12 Sihui Liu <sihui_liu@apple.com>
Move IndexedDB to Network Process
https://bugs.webkit.org/show_bug.cgi?id=189415
Reviewed by Geoffrey Garen.
* TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
(TEST):
* TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
(TEST):
2018-09-12 Chris Dumez <cdumez@apple.com>
PSON: No process swap on back navigation after URL bar navigation
https://bugs.webkit.org/show_bug.cgi?id=189557
<rdar://problem/44353108>
Reviewed by Alex Christensen.
Add API test coverage.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2018-09-11 Dean Jackson <dino@apple.com>
Header parsing for experimental and internal debug features
https://bugs.webkit.org/show_bug.cgi?id=189486
<rdar://problem/44320618>
Reviewed by Tim Horton.
Keep track of experimental and internal debug features in TestOptions, and
allow webkit-test-runner headers to toggle them by name.
* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
2018-09-12 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][Clang][DumpRenderTree] 0 and nullptr can't be implicitly converted to AccessibilityUIElement
https://bugs.webkit.org/show_bug.cgi?id=189492
Reviewed by Alex Christensen.
0 and nullptr can't be implicitly converted to
AccessibilityUIElement because only Windows port typedefs
PlatformUIElement as COMPtr<IAccessible> not a pointer.
Replaced "return 0" and "return nullptr" with "return { nullptr }".
* DumpRenderTree/AccessibilityUIElement.cpp:
(AccessibilityUIElement::horizontalScrollbar const):
(AccessibilityUIElement::verticalScrollbar const):
(AccessibilityUIElement::uiElementAttributeValue const):
(AccessibilityUIElement::accessibilityElementForTextMarker):
* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(AccessibilityController::elementAtPoint):
(AccessibilityController::accessibleElementById):
(AccessibilityController::focusedElement):
(AccessibilityController::rootElement):
* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::elementAtPoint):
(AccessibilityUIElement::linkedUIElementAtIndex):
(AccessibilityUIElement::getChildAtIndex):
(AccessibilityUIElement::titleUIElement):
(AccessibilityUIElement::parentElement):
(AccessibilityUIElement::uiElementForSearchPredicate):
(AccessibilityUIElement::cellForColumnAndRow):
(AccessibilityUIElement::disclosedRowAtIndex):
(AccessibilityUIElement::ariaOwnsElementAtIndex):
(AccessibilityUIElement::ariaFlowToElementAtIndex):
(AccessibilityUIElement::ariaControlsElementAtIndex):
(AccessibilityUIElement::selectedRowAtIndex):
(AccessibilityUIElement::rowAtIndex):
(AccessibilityUIElement::disclosedByRow):
(AccessibilityUIElement::selectedChildAtIndex const):
2018-09-11 Wenson Hsieh <wenson_hsieh@apple.com>
FontManagerTests.ChangeFontColorWithColorPanel fails on macOS Sierra
https://bugs.webkit.org/show_bug.cgi?id=189382
Reviewed by Ryosuke Niwa.
Fix the test by specifying colors in RGB colorspace.
* TestWebKitAPI/Tests/mac/FontManagerTests.mm:
(TestWebKitAPI::TEST):
2018-09-11 Fujii Hironori <Hironori.Fujii@sony.com>
[Win][Clang][ImageDiff] Fix compilation error and warning of PlatformImageCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=189496
Reviewed by Alex Christensen.
* ImageDiff/cairo/PlatformImageCairo.cpp:
(ImageDiff::PlatformImage::createFromStdin): Removed unnecessary ReadContext struct.
(ImageDiff::PlatformImage::writeAsPNGToStdout): Use '%lu' format type specifier for unsigned long.
2018-09-07 Dean Jackson <dino@apple.com>
Add and expose Internal features from WebKit
https://bugs.webkit.org/show_bug.cgi?id=189442
<rdar://problem/44243404>
Reviewed by Simon Fraser.
Update MiniBrowser to expose an Internal feature menu.
* MiniBrowser/mac/AppDelegate.m:
(defaultConfiguration):
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleExperimentalFeature:]):
(-[SettingsController toggleInternalDebugFeature:]):
2018-09-11 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] [WK2] Support changing foreground colors via color panel
https://bugs.webkit.org/show_bug.cgi?id=189382
<rdar://problem/44227311>
Reviewed by Ryosuke Niwa.
Add an API test that uses NSColorPanel to change the color of selected text, and also apply typing styles when
the selection is collapsed. The test also exercises switching between opaque colors (alpha = 1) and transparent
colors, as well as making different parts of a word different colors.
* TestWebKitAPI/Tests/mac/FontManagerTests.mm:
(-[TestWKWebView collapseToEnd]):
(webViewForFontManagerTesting):
(TestWebKitAPI::TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
== Rolled over to ChangeLog-2018-09-11 ==