75f870a04552d97cb84a79097648f88ba2ce824b
[WebKit-https.git] / Tools / ChangeLog
1 2019-01-10  Timothy Hatcher  <timothy@apple.com>
2
3         Add WKBundlePage SPI to temporarily force light or dark appearance on a page.
4         https://bugs.webkit.org/show_bug.cgi?id=193327
5         rdar://problem/47093222
6
7         Reviewed by Tim Horton.
8
9         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
10         * TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm: Added.
11         (TestWebKitAPI::didFinishNavigation):
12         (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
13         (TestWebKitAPI::TEST):
14         * TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle_Bundle.mm: Added.
15         (TestWebKitAPI::ForceLightAppearanceInBundleTest::ForceLightAppearanceInBundleTest):
16         (TestWebKitAPI::ForceLightAppearanceInBundleTest::didCreatePage):
17         (TestWebKitAPI::ForceLightAppearanceInBundleTest::didReceiveMessage):
18         * TestWebKitAPI/Tests/WebKit/mac/dark-mode.html: Added.
19
20 2019-01-10  Joseph Pecoraro  <pecoraro@apple.com>
21
22         Leak of WKWebProcessPlugInHitTestResult (160 bytes) in com.apple.WebKit.WebContent running layout tests
23         https://bugs.webkit.org/show_bug.cgi?id=193338
24         <rdar://problem/46664774>
25
26         Reviewed by David Kilzer.
27
28         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
29         (WTR::InjectedBundlePage::decidePolicyForNavigationAction):
30
31 2019-01-10  Commit Queue  <commit-queue@webkit.org>
32
33         Unreviewed, rolling out r239825.
34         https://bugs.webkit.org/show_bug.cgi?id=193330
35
36         Broke tests on armv7/linux bots (Requested by guijemont on
37         #webkit).
38
39         Reverted changeset:
40
41         "Enable DFG on ARM/Linux again"
42         https://bugs.webkit.org/show_bug.cgi?id=192496
43         https://trac.webkit.org/changeset/239825
44
45 2019-01-10  Zhifei Fang  <zhifei_fang@apple.com>
46
47         Disable the run-jsc-stress-test remote host key check.
48         https://bugs.webkit.org/show_bug.cgi?id=192988
49
50         Reviewed by Alexey Proskuryakov.
51
52         * Scripts/run-jsc-stress-tests:
53
54 2019-01-10  John Wilander  <wilander@apple.com>
55
56         Override the session configuration for cookieAcceptPolicy
57         https://bugs.webkit.org/show_bug.cgi?id=190925
58         <rdar://problem/45497382>
59
60         Reviewed by Alexey Proskuryakov and Alex Christensen.
61
62         Test infrastructure for setting a first-party-only cookie policy.
63
64         * DumpRenderTree/TestRunner.cpp:
65         (setOnlyAcceptFirstPartyCookiesCallback):
66         (TestRunner::staticFunctions):
67         * DumpRenderTree/TestRunner.h:
68         * DumpRenderTree/mac/TestRunnerMac.mm:
69         (TestRunner::setOnlyAcceptFirstPartyCookies):
70         * DumpRenderTree/win/TestRunnerWin.cpp:
71         (TestRunner::setOnlyAcceptFirstPartyCookies):
72         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
73         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
74         (WTR::TestRunner::setOnlyAcceptFirstPartyCookies):
75         * WebKitTestRunner/InjectedBundle/TestRunner.h:
76         * WebKitTestRunner/TestInvocation.cpp:
77         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
78
79 2019-01-09  Matt Rajca  <mrajca@apple.com>
80
81         Put per-document autoplay behavior behind runtime website policies quirk instead of a compile time flag
82         https://bugs.webkit.org/show_bug.cgi?id=193301
83
84         Reviewed by Jer Noble.
85         
86         Added API tests.
87
88         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
89         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
90         (TEST):
91         * TestWebKitAPI/Tests/WebKitCocoa/autoplaying-multiple-media-elements.html: Added.
92
93 2019-01-10  Zalan Bujtas  <zalan@apple.com>
94
95         [LFC][BFC][MarginCollapsing] Take collapsed through siblings into account when computing vertical position
96         https://bugs.webkit.org/show_bug.cgi?id=193310
97
98         Reviewed by Antti Koivisto.
99
100         * LayoutReloaded/misc/LFC-passing-tests.txt:
101
102 2019-01-10  Dominik Infuehr  <dinfuehr@igalia.com>
103
104         Enable DFG on ARM/Linux again
105         https://bugs.webkit.org/show_bug.cgi?id=192496
106
107         Reviewed by Yusuke Suzuki.
108
109         After changing the bytecode format DFG was disabled on all 32-bit
110         architectures. Enable DFG now again on ARM/Linux. Run again JIT-tests
111         on ARM by default.
112
113         * Scripts/run-jsc-stress-tests:
114
115 2019-01-09  Fujii Hironori  <Hironori.Fujii@sony.com>
116
117         [Win][MiniBrowser] wchar_t strings shouldn't be treated as BSTR
118         https://bugs.webkit.org/show_bug.cgi?id=193271
119
120         Reviewed by Brent Fulgham.
121
122         BSTR is a special data structure created by SysAllocString, not a
123         wchar_t null-terminated string.
124
125         * DumpRenderTree/win/TestRunnerWin.cpp:
126         (TestRunner::setDatabaseQuota): Use L"" instead of "" for _bstr_t.
127         * MiniBrowser/win/MiniBrowserWebHost.cpp:
128         (MiniBrowserWebHost::didFinishLoadForFrame): Use _bstr_t to create
129         BSTR from wide string literals.
130
131 2019-01-09  Alexey Proskuryakov  <ap@apple.com>
132
133         Tweak wording for build/version_check style checker error
134         https://bugs.webkit.org/show_bug.cgi?id=193256
135
136         Reviewed by Tim Horton.
137
138         * Scripts/webkitpy/style/checkers/cpp.py:
139         (check_os_version_checks):
140         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
141         (WebKitStyleTest.test_os_version_checks):
142
143 2019-01-09  Aakash Jain  <aakash_jain@apple.com>
144
145         [ews-build] Add link to bug along with bug title
146         https://bugs.webkit.org/show_bug.cgi?id=193293
147
148         Reviewed by Lucas Forschler.
149
150         * BuildSlaveSupport/ews-build/steps.py:
151         (ValidatePatch._is_bug_closed): Fetch bug title from Bugzilla and add it to the build.
152         (ConfigureBuild.add_bug_id_url): Deleted.
153         (ConfigureBuild.getBugURL): Deleted.
154
155 2019-01-09  Aakash Jain  <aakash_jain@apple.com>
156
157         [ews-build] Use https for ews-build server
158         https://bugs.webkit.org/show_bug.cgi?id=193193
159
160         Reviewed by Lucas Forschler.
161
162         * BuildSlaveSupport/ews-build/steps.py:
163
164 2019-01-09  Aakash Jain  <aakash_jain@apple.com>
165
166         [ews-build] Parse and display number of style failures
167         https://bugs.webkit.org/show_bug.cgi?id=193280
168
169         Reviewed by Lucas Forschler.
170
171         * BuildSlaveSupport/ews-build/steps.py:
172         (CheckStyle): Use TestWithFailureCount as base class.
173         (CheckStyle.countFailures): Count the number of style failures.
174
175 2019-01-09  Aakash Jain  <aakash_jain@apple.com>
176
177         [ews-build] use patch_id instead of ewspatchid
178         https://bugs.webkit.org/show_bug.cgi?id=193235
179
180         Reviewed by Lucas Forschler.
181
182         * BuildSlaveSupport/ews-build/factories.py: Replaced ewspatchid with patch_id.
183         * BuildSlaveSupport/ews-build/steps.py: Ditto.
184         * BuildSlaveSupport/ews-build/steps_unittest.py: Ditto.
185
186 2019-01-09  Zalan Bujtas  <zalan@apple.com>
187
188         [LFC][BFC][MarginCollapsing] Add support for peculiar cases.
189         https://bugs.webkit.org/show_bug.cgi?id=192625
190
191         Reviewed by Antti Koivisto.
192
193         * LayoutReloaded/misc/LFC-passing-tests.txt:
194
195 2019-01-09  Michael Catanzaro  <mcatanzaro@igalia.com>
196
197         [WPE][GTK] Purge use of g_assert() under TestWebKitAPI
198         https://bugs.webkit.org/show_bug.cgi?id=192841
199
200         Reviewed by Carlos Garcia Campos.
201
202         There are separate g_assert_*() macros for use in tests, which we use inconsistently
203         currently. Use them always. We'll get nicer error messages now when tests fail, and the
204         assertions will now run during tests even if G_DISABLE_ASSERT is used when building.
205
206         Note that the documentation of g_assert() says that it is not to be used when writing tests.
207
208         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
209         * TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp:
210         (WebKitWebEditorTest::testSelectionChanged):
211         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
212         (WebKitFrameTest::testMainFrame):
213         (WebKitFrameTest::testURI):
214         (WebKitFrameTest::testJavaScriptContext):
215         (WebKitFrameTest::testJavaScriptValues):
216         * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
217         (testWebViewAuthenticationRequest):
218         (testWebViewAuthenticationLoadCancelled):
219         (testWebViewAuthenticationFailure):
220         (testWebViewAuthenticationStorage):
221         (ProxyAuthenticationTest::ProxyAuthenticationTest):
222         (testWebViewAuthenticationProxy):
223         (testWebViewAuthenticationProxyHTTPS):
224         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
225         (testAutomationSessionRequestSession):
226         * TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
227         (testBackForwardListNavigation):
228         (testWebKitWebViewSessionState):
229         (testWebKitWebViewSessionStateWithFormData):
230         * TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:
231         (ConsoleMessageTest::consoleMessageReceivedCallback):
232         (testWebKitConsoleMessageConsoleAPI):
233         (testWebKitConsoleMessageJavaScriptException):
234         (testWebKitConsoleMessageNetworkError):
235         (testWebKitConsoleMessageSecurityError):
236         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
237         (testCookieManagerAcceptPolicy):
238         (testCookieManagerCookiesChanged):
239         (testCookieManagerPersistentStorage):
240         (testCookieManagerPersistentStorageDeleteAll):
241         (testCookieManagerEphemeral):
242         * TestWebKitAPI/Tests/WebKitGLib/TestDOMElement.cpp:
243         (testWebKitDOMElementAutoFill):
244         * TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
245         (downloadLocalFileSuccessfully):
246         (createFileAtDestination):
247         (testDownloadOverwriteDestinationDisallowed):
248         (testDownloadLocalFileError):
249         (testDownloadRemoteFile):
250         (testDownloadRemoteFileError):
251         (testWebViewDownloadURI):
252         (testPolicyResponseDownload):
253         (testPolicyResponseDownloadCancel):
254         (testDownloadMIMEType):
255         (contextMenuCallback):
256         (testContextMenuDownloadActions):
257         (testBlobDownload):
258         * TestWebKitAPI/Tests/WebKitGLib/TestEditor.cpp:
259         (testWebKitWebEditorSelectionChanged):
260         * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
261         (testWebKitFrameMainFrame):
262         (testWebKitFrameURI):
263         (testWebKitFrameJavaScriptContext):
264         (testWebKitFrameJavaScriptValues):
265         * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
266         (LoadStopTrackingTest::loadFailed):
267         (testWebViewTitle):
268         (testURIRequestHTTPHeaders):
269         (testURIRequestHTTPMethod):
270         (testURIResponseHTTPHeaders):
271         (testRedirectToDataURI):
272         * TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
273         (testProcessPerWebView):
274         (testWebProcessLimit):
275         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
276         (testWebViewResources):
277         (testWebResourceLoading):
278         (testWebResourceSuggestedFilename):
279         (testWebResourceGetData):
280         (testWebResourceGetDataError):
281         (testWebViewResourcesHistoryCache):
282         (testWebResourceSendRequest):
283         * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
284         (testSSL):
285         (testInsecureContent):
286         (testTLSErrorsPolicy):
287         (testTLSErrorsRedirect):
288         (testTLSErrorsHTTPAuth):
289         (testLoadFailedWithTLSErrors):
290         (testSubresourceLoadFailedWithTLSErrors):
291         (httpsServerCallback):
292         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
293         (testWebViewCreateNavigationData):
294         (testWebViewJavaScriptDialogs):
295         (testWebViewWindowProperties):
296         (testWebViewMouseTarget):
297         (testWebViewFileChooserRequest):
298         (testWebViewColorChooserRequest):
299         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
300         (testWebExtensionGetTitle):
301         (testDocumentLoadedSignal):
302         (testWebKitWebViewProcessCrashed):
303         (testWebExtensionWindowObjectCleared):
304         (testWebExtensionIsolatedWorld):
305         (permissionRequestCallback):
306         (didAssociateFormControlsCallback):
307         (testWebExtensionFormControlsAssociated):
308         (FormSubmissionTest::FormSubmissionTest):
309         (FormSubmissionTest::testFormSubmissionResult):
310         (testWebExtensionFormSubmissionSteps):
311         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
312         (testNotInitialized):
313         (testClearDatabase):
314         (testPrivateBrowsing):
315         (testGetFavicon):
316         (testWebViewFavicon):
317         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
318         (testFindControllerTextFound):
319         (testFindControllerTextNotFound):
320         (testFindControllerMatchCount):
321         (testFindControllerMaxMatchCount):
322         (testFindControllerNext):
323         (testFindControllerPrevious):
324         (testFindControllerCountedMatches):
325         (testFindControllerOptions):
326         (testFindControllerHide):
327         (testFindControllerInstance):
328         (testFindControllerGetters):
329         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:
330         (testNavigationPolicy):
331         (testResponsePolicy):
332         (testNewWindowPolicy):
333         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp:
334         (testSecurityOriginBasicConstructor):
335         (testSecurityOriginURIConstructor):
336         (testSecurityOriginDefaultPort):
337         (testSecurityOriginFileURI):
338         (testOpaqueSecurityOrigin):
339         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
340         (testWebKitSettings):
341         (testWebKitSettingsNewWithSettings):
342         (testWebKitSettingsUserAgent):
343         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
344         (testWebViewNewWithUserContentManager):
345         (isStyleSheetInjectedForURLAtPath):
346         (isScriptInjectedForURLAtPath):
347         (testUserContentManagerInjectedStyleSheet):
348         (testUserContentManagerInjectedScript):
349         (UserScriptMessageTest::scriptMessageReceived):
350         (UserScriptMessageTest::waitUntilMessageReceived):
351         (UserScriptMessageTest::runJavaScriptFinished):
352         (testUserContentManagerScriptMessageReceived):
353         (testUserContentManagerScriptMessageInWorldReceived):
354         (testUserContentManagerScriptMessageFromDOMBindings):
355         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
356         (testWebContextDefault):
357         (testWebContextEphemeral):
358         (testWebContextGetPlugins):
359         (testWebContextURIScheme):
360         (testWebContextSpellChecker):
361         (testWebContextLanguages):
362         (consoleMessageReceivedCallback):
363         (testWebContextSecurityFileXHR):
364         (ProxyTest::ProxyTest):
365         (testWebContextProxySettings):
366         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
367         (testWebViewWebContext):
368         (testWebViewWebBackend):
369         (testWebViewEphemeral):
370         (testWebViewCustomCharset):
371         (testWebViewSettings):
372         (testWebViewRunJavaScript):
373         (testWebViewCanShowMIMEType):
374         (testWebViewSubmitForm):
375         (testWebViewSave):
376         (testWebViewPageVisibility):
377         (testWebViewSnapshot):
378         (testWebViewNotification):
379         (testWebViewNotificationInitialPermissionAllowed):
380         (testWebViewNotificationInitialPermissionDisallowed):
381         (testWebViewIsPlayingAudio):
382         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
383         (WebsiteDataTest::WebsiteDataTest):
384         (WebsiteDataTest::remove):
385         (WebsiteDataTest::clear):
386         (testWebsiteDataConfiguration):
387         (testWebsiteDataEphemeral):
388         (testWebsiteDataCache):
389         (testWebsiteDataStorage):
390         (testWebsiteDataDatabases):
391         (testWebsiteDataAppcache):
392         (testWebsiteDataCookies):
393         (testWebsiteDataDeviceIdHashSalt):
394         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
395         (emitDocumentLoaded):
396         (emitURIChanged):
397         (sendRequestCallback):
398         (contextMenuCallback):
399         (consoleMessageSentCallback):
400         (emitFormControlsAssociated):
401         (formControlsAssociatedCallback):
402         (emitFormSubmissionEvent):
403         (willSubmitFormCallback):
404         (windowObjectCleared):
405         (methodCallCallback):
406         (registerGResource):
407         (webkit_web_extension_initialize_with_user_data):
408         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
409         (checkLeaks):
410         (WebProcessTest::create):
411         (runTest):
412         * TestWebKitAPI/Tests/WebKitGtk/AutocleanupsTest.cpp:
413         (AutocleanupsTest::testWebProcessAutocleanups):
414         * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp:
415         (WebKitDOMClientRectTest::testDivBoundingClientRectPosition):
416         (WebKitDOMClientRectTest::testDivClientRectsPositionAndLength):
417         * TestWebKitAPI/Tests/WebKitGtk/DOMDOMWindowTest.cpp:
418         (WebKitDOMDOMWindowTest::testSignals):
419         (WebKitDOMDOMWindowTest::testDispatchEvent):
420         (WebKitDOMDOMWindowTest::testGetComputedStyle):
421         * TestWebKitAPI/Tests/WebKitGtk/DOMNodeFilterTest.cpp:
422         (WebKitDOMNodeFilterTest::testTreeWalker):
423         (WebKitDOMNodeFilterTest::testNodeIterator):
424         * TestWebKitAPI/Tests/WebKitGtk/DOMNodeTest.cpp:
425         (WebKitDOMNodeTest::testHierarchyNavigation):
426         (WebKitDOMNodeTest::testInsertion):
427         (WebKitDOMNodeTest::testTagNamesNodeList):
428         (WebKitDOMNodeTest::testTagNamesHTMLCollection):
429         (WebKitDOMNodeTest::testDOMCache):
430         * TestWebKitAPI/Tests/WebKitGtk/DOMXPathNSResolverTest.cpp:
431         (WebKitDOMXPathNSResolverTest::evaluateFooChildTextAndCheckResult):
432         (WebKitDOMXPathNSResolverTest::testXPathNSResolverNative):
433         (WebKitDOMXPathNSResolverTest::testXPathNSResolverCustom):
434         * TestWebKitAPI/Tests/WebKitGtk/TestAutocleanups.cpp:
435         (testUIProcessAutocleanups):
436         (testWebProcessAutocleanups):
437         * TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
438         (testContextMenuPopulateMenu):
439         (testContextMenuDismissed):
440         * TestWebKitAPI/Tests/WebKitGtk/TestDOMClientRect.cpp:
441         (testWebKitDOMClientRectDivBoundingClientRectPosition):
442         (testWebKitDOMClientRectDivClientRectsPositionAndLength):
443         * TestWebKitAPI/Tests/WebKitGtk/TestDOMDOMWindow.cpp:
444         (testWebKitDOMDOMWindowSignals):
445         (testWebKitDOMDOMWindowDispatchEvent):
446         (testWebKitDOMDOMWindowGetComputedStyle):
447         * TestWebKitAPI/Tests/WebKitGtk/TestDOMNode.cpp:
448         (testWebKitDOMNodeHierarchyNavigation):
449         (testWebKitDOMNodeInsertion):
450         (testWebKitDOMNodeTagNamesNodeList):
451         (testWebKitDOMNodeTagNamesHTMLCollection):
452         (testWebKitDOMObjectCache):
453         * TestWebKitAPI/Tests/WebKitGtk/TestDOMNodeFilter.cpp:
454         (testWebKitDOMNodeFilterTreeWalker):
455         (testWebKitDOMNodeFilterNodeIterator):
456         * TestWebKitAPI/Tests/WebKitGtk/TestDOMXPathNSResolver.cpp:
457         (testWebKitDOMXPathNSResolverNative):
458         (testWebKitDOMXPathNSResolverCustom):
459         * TestWebKitAPI/Tests/WebKitGtk/TestInspector.cpp:
460         (testInspectorDefault):
461         (testInspectorManualAttachDetach):
462         (testInspectorCustomContainerDestroyed):
463         * TestWebKitAPI/Tests/WebKitGtk/TestInspectorServer.cpp:
464         (startTestServer):
465         (testInspectorServerPageList):
466         * TestWebKitAPI/Tests/WebKitGtk/TestOptionMenu.cpp:
467         (OptionMenuTest::showOptionMenuCallback):
468         (OptionMenuTest::menuCloseCallback):
469         (OptionMenuTest::close):
470         (OptionMenuTest::activateItem):
471         (OptionMenuTest::selectItem):
472         (testOptionMenuSimple):
473         (testOptionMenuGroups):
474         (testOptionMenuActivate):
475         (testOptionMenuSelect):
476         * TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp:
477         (testPrintOperationPrintSettings):
478         (webViewPrintCallback):
479         (testPrintOperationPrint):
480         (testPrintCustomWidget):
481         * TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
482         (checkAtspiAccessible):
483         (testAtspiBasicHierarchy):
484         * TestWebKitAPI/Tests/WebKitGtk/TestWebKitVersion.cpp:
485         (testWebKitCheckVersion):
486         * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
487         (testWebViewEditorCutCopyPasteNonEditable):
488         (testWebViewEditorCutCopyPasteEditable):
489         (testWebViewEditorSelectAllNonEditable):
490         (testWebViewEditorSelectAllEditable):
491         (loadContentsAndTryToCutSelection):
492         (testWebViewEditorNonEditable):
493         (testWebViewEditorEditable):
494         (testWebViewEditorEditorStateTypingAttributes):
495         (testWebViewEditorInsertImage):
496         (testWebViewEditorCreateLink):
497         * TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp:
498         (loadChangedCallback):
499         (loadFailedCallback):
500         (loadFailedWithTLSErrorsCallback):
501         (LoadTrackingTest::LoadTrackingTest):
502         * TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:
503         (registerGResource):
504         (removeNonEmptyDirectory):
505         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
506         (Test::adoptView):
507         (Test::~Test):
508         * TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp:
509         (WebKitTestBus::getOrCreateConnection):
510         (WebKitTestBus::createProxy):
511         * TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
512         (WebKitTestServer::getWebSocketURIForPath const):
513         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
514         (WebViewTest::initializeWebView):
515         (WebViewTest::loadURI):
516         (WebViewTest::loadHtml):
517         (WebViewTest::loadPlainText):
518         (WebViewTest::loadBytes):
519         (WebViewTest::loadRequest):
520         (WebViewTest::loadAlternateHTML):
521         (WebViewTest::goBack):
522         (WebViewTest::goForward):
523         (WebViewTest::goToBackForwardListItem):
524         (resourceGetDataCallback):
525         (WebViewTest::mainResourceData):
526         (WebViewTest::javascriptResultToCString):
527         (WebViewTest::javascriptResultToNumber):
528         (WebViewTest::javascriptResultToBoolean):
529         (WebViewTest::javascriptResultIsNull):
530         (WebViewTest::javascriptResultIsUndefined):
531         (onSnapshotReady):
532         (WebViewTest::runWebProcessTest):
533         * TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp:
534         (WebViewTest::platformInitializeWebView):
535         (WebViewTest::showInWindow):
536         (WebViewTest::showInWindowAndWaitUntilMapped):
537         (WebViewTest::mouseMoveTo):
538         (WebViewTest::emitPopupMenuSignal):
539         (WebViewTest::keyStroke):
540         (WebViewTest::doMouseButtonEvent):
541
542 2019-01-09  Philippe Normand  <pnormand@igalia.com>
543
544         [WPE] API tests can't run in flatpak environment
545         https://bugs.webkit.org/show_bug.cgi?id=193242
546
547         Reviewed by Michael Catanzaro.
548
549         * Scripts/run-wpe-tests: Add --wpe to arguments passed to
550         flatpakutils so that it knows which port it's dealing with.
551         * glib/common.py: Remove build_dir globals so that subsequent
552         calls actually take args into account.
553         (library_build_path):
554         (binary_build_path):
555
556 2019-01-08  Dean Jackson  <dino@apple.com>
557
558         Blob references for System Previews don't get a correct file extension
559         https://bugs.webkit.org/show_bug.cgi?id=193268
560         <rdar://problem/47133037>
561
562         Reviewed by Tim Horton.
563
564         New test that a Blob download of a USDZ file gets named correctly.
565
566         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
567         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
568         (-[BlobWithUSDZExtensionDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
569         (-[BlobWithUSDZExtensionDownloadDelegate _downloadDidFinish:]):
570         (TEST):
571         * TestWebKitAPI/Tests/WebKitCocoa/SystemPreviewBlobNaming.html: Added.
572
573 2019-01-08  Jiewen Tan  <jiewen_tan@apple.com>
574
575         [WebAuthN] Support U2F HID Authenticators on macOS
576         https://bugs.webkit.org/show_bug.cgi?id=191535
577         <rdar://problem/47102027>
578
579         Reviewed by Brent Fulgham.
580
581         This patch:
582         1) adds support for U2F mocking mechanism;
583         2) updates tests to reflect U2fCommandConstructor changes.
584
585         * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
586         (TestWebKitAPI::TEST):
587         * TestWebKitAPI/Tests/WebCore/FidoTestData.h:
588         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
589         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
590
591 2019-01-08  Wenson Hsieh  <wenson_hsieh@apple.com>
592
593         [iOS] Dispatch a synthetic mousedown event prior to starting drags
594         https://bugs.webkit.org/show_bug.cgi?id=193229
595         <rdar://problem/46717097>
596
597         Reviewed by Tim Horton.
598
599         Add a cross-platform drag and drop test to verify that calling `preventDefault()` on the mousedown event
600         prevents a drag from starting.
601
602         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
603         * TestWebKitAPI/Tests/WebKitCocoa/link-and-target-div.html:
604
605         Tweak this test to make it robust when dragging the link to the target element multiple times in a single test.
606
607 2019-01-08  Zhifei Fang  <zhifei_fang@apple.com>
608   
609         Layout test will generate a perf metric file to results dir.
610         https://bugs.webkit.org/show_bug.cgi?id=192030
611         <rdar://problem/32779516>
612
613         Reviewed by Aakash Jain.
614
615         Layout test running time will be collected to a perf metric file.
616         For now, instead of outputing running time of all tests (which is huge),
617         we aggregate them by test directories which are at most two level deep. 
618
619         * Scripts/webkitpy/layout_tests/controllers/manager.py:
620         (Manager._end_test_run):
621         (Manager._output_perf_metrics):
622         (Manager._print_expectation_line_for_test):
623         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
624         (add_test_perf_metric):
625         (test_perf_metrics):
626         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
627         (JSONGeneratorTest.test_test_timings_trie):
628         (JSONGeneratorTest):
629         (JSONGeneratorTest.test_test_perf_metrics):
630         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
631         (RebaselineTest.test_reset_results):
632         (RebaselineTest.test_missing_results):
633         (RebaselineTest.test_new_baseline):
634
635 2019-01-08  Patrick Griffis  <pgriffis@igalia.com>
636
637         [WPE][GTK] Add php-json to install-dependencies
638         https://bugs.webkit.org/show_bug.cgi?id=193233
639
640         Reviewed by Michael Catanzaro.
641
642         * gtk/install-dependencies:
643         * wpe/install-dependencies:
644
645 2019-01-08  Chris Dumez  <cdumez@apple.com>
646
647         Regression(PSON-r239182): Blank view when navigating back and forth between google.com and stack overflow
648         https://bugs.webkit.org/show_bug.cgi?id=193224
649         <rdar://problem/47097726>
650
651         Reviewed by Alex Christensen.
652
653         Add API test coverage.
654
655         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
656
657 2019-01-07  David Kilzer  <ddkilzer@apple.com>
658
659         Leak of ScrollCompletionCallbackData (16 bytes) in com.apple.WebKit.WebContent running WebKit layout tests
660         <https://webkit.org/b/193222>
661         <rdar://problem/46862309>
662
663         Reviewed by Joseph Pecoraro.
664
665         * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
666         (WTR::executeCallback): Fix camel case of variable name.
667         (WTR::EventSendingController::callAfterScrollingCompletes): If
668         WKBundlePageRegisterScrollOperationCompletionCallback() returns
669         false, make sure to release the ScrollCompletionCallbackData
670         object.  This fixes the leak.
671
672 2019-01-07  Fujii Hironori  <Hironori.Fujii@sony.com>
673
674         [Win] EWS: wincairo-ews cannot apply a patch with *.png
675         https://bugs.webkit.org/show_bug.cgi?id=193044
676
677         Reviewed by Daniel Bates.
678
679         WinCairo EWS bots are using Windows Perl. Binary files should be
680         opened as binary mode.
681
682         * Scripts/svn-apply:
683         (handleGitBinaryChange): Use 'binmode' for binary file handles.
684
685 2019-01-07  Don Olmstead  <don.olmstead@sony.com>
686
687         [CMake] Add ENABLE_CSS_TYPED_OM option
688         https://bugs.webkit.org/show_bug.cgi?id=193216
689
690         Reviewed by Michael Catanzaro.
691
692         * Scripts/webkitperl/FeatureList.pm:
693
694 2019-01-07  David Kilzer  <ddkilzer@apple.com>
695
696         Prefer RetainPtr<NSObject> to RetainPtr<NSObject *>
697         <https://webkit.org/b/193056>
698
699         Reviewed by Alex Christensen.
700
701         * Scripts/webkitpy/style/checker.py:
702         - Ignore use of new runtime/retainptr check in
703           Tools/TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm since it
704           contains tests to ensure RetainPtr<NSObject *> is compatible
705           with RetainPtr<NSObject>.
706
707         * Scripts/webkitpy/style/checkers/cpp.py:
708         (check_language):
709         (CppChecker):
710         - Add checker for use of '*' in RetainPtr<> type.  A for loop
711           was used instead of a single regex so that angle brackets
712           could be matched up when checking the type contained within
713           the RetainPtr<> type.
714
715         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
716         (CppStyleTest):
717         - Add unit test for new runtime/retainptr check.
718
719         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.h:
720         * TestWebKitAPI/EditingTestHarness.h:
721         - Remove '*' from RetainPtr<> type.
722
723         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
724         - Add cf/RetainPtr.cpp back to TestWTFLibrary target!  This
725           regressed in r201938.
726
727         * TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp:
728         (TestWebKitAPI::TEST):
729         - Update tests to match RetainPtr.mm tests (except for the
730           `*SimilarNSType` tests since there is no CF equivalent of
731           RetainPtr<NSString> and RetainPtr<NSString *>).
732
733         * TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm:
734         (TestWebKitAPI::TEST):
735         - Update tests to:
736           - Not conflict by name with equivalent CF tests in
737             RetainPtr.cpp.
738           - Add test cases for RetainPtr<NSObject>,
739             RetainPtr<NSObject *> and RetainPtr<id> were appropriate.
740           - Add `*SimilarNSType` tests for converting between
741             RetainPtr<NSObject> and RetainPtr<NSObject *>.
742           - Change `0` to `nil` as appropriate.
743           - Re-alphabetize the tests by name.
744           - Add Optional<RetainPtr<>> tests.
745           - Add retainPtr() tests.
746
747         * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
748         (-[DownloadProgressTestRunner _download:decideDestinationWithSuggestedFilename:completionHandler:]):
749         * TestWebKitAPI/Tests/WebKitCocoa/IconLoadingDelegate.mm:
750         (TEST):
751         - Remove '*' from RetainPtr<> type.
752
753         * TestWebKitAPI/Tests/WebKitCocoa/JITEnabled.mm:
754         (TEST(WebKit, JITEnabled)):
755         - Add missing WTFMove().  Apparently a temporary was being
756           created before in the argument list due to mismatched
757           RetainPtr<> types.
758
759         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
760         * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
761         (TestWebKitAPI::setUpWebViewForTestingVideoControlsManager):
762         (TestWebKitAPI::TEST):
763         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
764         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
765         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
766         (WTR::resourcesDirectoryURL):
767         * WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm:
768         (WTR::InjectedBundle::platformInitialize):
769         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
770         - Remove '*' from RetainPtr<> type.
771
772 2019-01-07  Eric Carlson  <eric.carlson@apple.com>
773
774         A MediaTime timescale must never be zero
775         https://bugs.webkit.org/show_bug.cgi?id=193156
776         <rdar://problem/32504501>
777
778         Reviewed by Jer Noble.
779
780         * TestWebKitAPI/Tests/WTF/MediaTime.cpp:
781         (TestWebKitAPI::TEST): Add tests for zero timescale.
782
783 2019-01-07  Youenn Fablet  <youenn@apple.com>
784
785         API test broken: TestWebKitAPI.WebKit.CustomDataStorePathsVersusCompletionHandlers
786         https://bugs.webkit.org/show_bug.cgi?id=193175
787
788         Reviewed by Chris Dumez.
789
790         Updated API test as we bumped the SW schema to version 4.
791
792         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
793         * TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-4.sqlite3: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/SimpleServiceWorkerRegistrations-3.sqlite3.
794         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
795         (TEST):
796
797 2019-01-06  Fujii Hironori  <Hironori.Fujii@sony.com>
798
799         [Win][Clang] Fix compilation warnings of MiniBrowser
800         https://bugs.webkit.org/show_bug.cgi?id=193029
801
802         Reviewed by Ross Kirsling.
803
804         * MiniBrowser/win/MiniBrowserWebHost.h: Removed unused m_oldFont
805         and m_URLBarFont. Reorder member variables to fix -Wreorder
806         warning.
807         * MiniBrowser/win/PageLoadTestClient.cpp:
808         (PageLoadTestClient::PageLoadTestClient): Reorder the member initializer list.
809         * MiniBrowser/win/PageLoadTestClient.h: Removed 'virtual' of
810         pageLoadStartedAtTime and pageLoadEndedAtTime. Removed unused
811         m_currentURLIndex.
812         * MiniBrowser/win/WebKitBrowserWindow.cpp:
813         (WebKitBrowserWindow::WebKitBrowserWindow): Initialize
814         navigationClient with '{ }' to fix the missing field warning.
815         * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
816         (initDocStruct): Changed the argument type docname to const.
817
818 2019-01-06  Jiewen Tan  <jiewen_tan@apple.com>
819
820         [WebAuthN] Import U2F command/response converters from Chromium
821         https://bugs.webkit.org/show_bug.cgi?id=193150
822         <rdar://problem/47054028>
823
824         Reviewed by Brent Fulgham.
825
826         Adds API tests.
827
828         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
829         * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
830         (TestWebKitAPI::getTestAttestedCredentialDataBytes):
831         (TestWebKitAPI::getTestAuthenticatorDataBytes):
832         (TestWebKitAPI::getTestAttestationObjectBytes):
833         (TestWebKitAPI::getTestSignResponse):
834         (TestWebKitAPI::getTestU2fRegisterResponse):
835         (TestWebKitAPI::TEST):
836         (TestWebKitAPI::convertToVector): Deleted.
837         * TestWebKitAPI/Tests/WebCore/FidoTestData.h:
838         * TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp: Added.
839         (TestWebKitAPI::constructMakeCredentialRequest):
840         (TestWebKitAPI::constructGetAssertionRequest):
841         (TestWebKitAPI::TEST):
842
843 2019-01-05  Oriol Brufau  <obrufau@igalia.com>
844
845         [GTK] Add python3-setuptools, libunistring-dev, bison and flex dependencies
846         https://bugs.webkit.org/show_bug.cgi?id=193136
847
848         Reviewed by Michael Catanzaro.
849
850         * gtk/install-dependencies:
851         Add python3-setuptools, libunistring-dev, bison and flex to install-dependencies,
852         they are needed by update-webkitgtk-libs.
853
854 2019-01-05  Aakash Jain  <aakash_jain@apple.com>
855
856         Unreviewed follow-up fix to r239650
857         https://bugs.webkit.org/show_bug.cgi?id=193140
858         <rdar://problem/47063037>
859
860         Typecast patch_id to string.
861
862         * BuildSlaveSupport/ews-build/steps.py:
863         (ValidatePatch._is_patch_obsolete):
864
865 2019-01-04  Daniel Bates  <dabates@apple.com>
866
867         [lldb-webkit]: Add support for pretty-printing raw bitmask types
868         https://bugs.webkit.org/show_bug.cgi?id=193024
869
870         Reviewed by Jer Noble.
871
872         Add support infrastructure to pretty-print a raw bitmask type. Included is a pretty-printer
873         for the bitmask type WebEventFlags as an example.
874
875         Exposed a new function lldb_webkit.addSummaryAndSyntheticFormattersForRawBitmaskType()
876         that can be used to register summary and synthetic child formatters for a bitmask type.
877         For example, consider the following enum and bitmask typedefs:
878
879         typedef enum {
880             A = 1 << 0,
881             B = 1 << 1,
882             C = 1 << 2,
883         } SpecialFlagValues;
884         typedef unsigned SpecialFlags;
885
886         To teach lldb-webkit how to pretty print SpecialFlags types, add the following code inside
887         __lldb_init_module():
888
889             addSummaryAndSyntheticFormattersForRawBitmaskType(debugger, "SpecialFlags", {
890                     1 << 0: "A",
891                     1 << 1: "B",
892                     1 << 2: "C",
893             })
894
895         * lldb/lldb_webkit.py:
896         (addSummaryAndSyntheticFormattersForRawBitmaskType):
897         (addSummaryAndSyntheticFormattersForRawBitmaskType.GeneratedRawBitmaskProvider):
898         (addSummaryAndSyntheticFormattersForRawBitmaskType.raw_bitmask_summary_provider):
899         (addSummaryAndSyntheticFormattersForRawBitmaskType.lldb_webkit):
900         A convenience function to dynamically creaste a synthetic formatter class and summary
901         string function for the specified bitmask type and enumerator value to name map. This
902         function register the dynamically created class and function with LLDB.
903
904         (__lldb_init_module):
905         (FlagEnumerationProvider):
906         (FlagEnumerationProvider._enumerator_value_to_name_map):
907         (FlagEnumerationProvider._bitmask):
908         (FlagEnumerationProvider._update):
909         (FlagEnumerationProvider.has_children):
910         (FlagEnumerationProvider.num_children):
911         (FlagEnumerationProvider.get_child_index):
912         (FlagEnumerationProvider.get_child_at_index):
913         (FlagEnumerationProvider.update):
914         Extract out provider logic from WTFOptionSetProvider into a base class that can be shared.
915
916         (WTFOptionSetProvider):
917         (WTFOptionSetProvider._enumerator_value_to_name_map):
918         (WTFOptionSetProvider._bitmask):
919         (WTFOptionSetProvider._update):
920         Write in terms of the base class.
921
922         (RawBitmaskProviderBase):
923         (RawBitmaskProviderBase._enumerator_value_to_name_map):
924         (RawBitmaskProviderBase._bitmask):
925         Added. Base synthetic formatter class for a raw bitmask type. Derived classes are expected to
926         override the class variable ENUMERATOR_VALUE_TO_NAME_MAP with a dictionary of the form:
927         {
928             1 << 0: "A",
929             1 << 1: "B",
930             1 << 2: "C",
931         }
932         It is not necessary to instantiate such a derived class directory. Instead use the convenience
933         function addSummaryAndSyntheticFormattersForRawBitmaskType.
934
935         (WTFOptionSetProvider.has_children): Deleted.
936         (WTFOptionSetProvider.num_children): Deleted.
937         (WTFOptionSetProvider.get_child_index): Deleted.
938         (WTFOptionSetProvider.get_child_at_index): Deleted.
939         (WTFOptionSetProvider.update): Deleted.
940
941 2019-01-04  Aakash Jain  <aakash_jain@apple.com>
942
943         [ews-build] Add build step to validate the patch before processing it
944         https://bugs.webkit.org/show_bug.cgi?id=193140
945
946         Reviewed by Lucas Forschler.
947
948         * BuildSlaveSupport/ews-build/factories.py:
949         (Factory.__init__): Added ValidatePatch step.
950         * BuildSlaveSupport/ews-build/steps.py:
951         (ValidatePatch):
952         (ValidatePatch.fetch_data_from_url): Fetch data from a url.
953         (ValidatePatch.get_patch_json): Get patch json data.
954         (ValidatePatch.get_bug_json): Get bug json data.
955         (ValidatePatch.get_bug_id_from_patch): Get bug id from a patch id.
956         (ValidatePatch._is_patch_obsolete): Check if the patch is obsolete.
957         (ValidatePatch._is_patch_review_denied): Check if the patch is marked r-.
958         (ValidatePatch._is_bug_closed): Check if the bug is already closed.
959         (ValidatePatch.skip_build): Skip the build.
960         (ValidatePatch.start):
961
962 2019-01-04  Alex Christensen  <achristensen@webkit.org>
963
964         Progress towards fixing Mac CMake build
965         https://bugs.webkit.org/show_bug.cgi?id=193105
966
967         Reviewed by Don Olmstead.
968
969         * TestWebKitAPI/PlatformMac.cmake:
970
971 2019-01-04  Alex Christensen  <achristensen@webkit.org>
972
973         Fix API test after r239631
974         https://bugs.webkit.org/show_bug.cgi?id=193118
975
976         * TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
977         (TestWebKitAPI::TEST):
978         This test relied on m_maximumProcessCount being set to 1 in ProcessPoolConfiguration::createWithLegacyOptions.
979         Do the same thing via the API to fix the test.
980
981 2019-01-04  Jer Noble  <jer.noble@apple.com>
982
983         [WebKitLegacy] Media playback pauses on scroll
984         https://bugs.webkit.org/show_bug.cgi?id=192829
985
986         Reviewed by Eric Carlson.
987
988         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
989         * TestWebKitAPI/Tests/WebKitCocoa/StopSuspendResumeAllMedia.mm: Added.
990         (TestWebKitAPI::TEST):
991         * TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm: Added.
992         (-[ScrollingDoesNotPauseMediaDelegate webViewDidFinishLoad:]):
993         (-[ScrollingDoesNotPauseMediaDelegate uiWebView:didCommitLoadForFrame:]):
994         (-[ScrollingDoesNotPauseMediaDelegate handleEvent:]):
995         (TestWebKitAPI::TEST):
996
997 2019-01-04  Chris Dumez  <cdumez@apple.com>
998
999         Add support for toggling device orientation API support per site
1000         https://bugs.webkit.org/show_bug.cgi?id=193143
1001         <rdar://problem/46605724>
1002
1003         Reviewed by Alex Christensen.
1004
1005         Add API test coverage.
1006
1007         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1008         (-[DataMappingSchemeHandler setTaskHandler:]):
1009         (-[DataMappingSchemeHandler webView:startURLSchemeTask:]):
1010         (-[WebsitePoliciesDeviceOrientationDelegate initWithDeviceOrientationEventEnabled:]):
1011         (-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
1012         (-[WebsitePoliciesDeviceOrientationDelegate webView:didFinishNavigation:]):
1013
1014 2019-01-04  Aakash Jain  <aakash_jain@apple.com>
1015
1016         [ews-build] use svn-apply script to apply the patches
1017         https://bugs.webkit.org/show_bug.cgi?id=193138
1018
1019         Reviewed by Lucas Forschler.
1020
1021         * BuildSlaveSupport/ews-build/factories.py:
1022         (Factory.__init__): Add the ApplyPatch step.
1023         * BuildSlaveSupport/ews-build/steps.py:
1024         (CheckOutSource): Added step name.
1025         (CheckOutSource.__init__): Used alwaysUseLatest so that it doesn't apply patch.
1026         (ApplyPatch): Build step to apply patch using svn-apply script.
1027         (UnApplyPatchIfRequired):
1028         (UnApplyPatchIfRequired.__init__): Deleted, since the alwaysUseLatest parameter is now in base class.
1029
1030 2019-01-04  Alex Christensen  <achristensen@webkit.org>
1031
1032         Deprecate WKContextCreate
1033         https://bugs.webkit.org/show_bug.cgi?id=193118
1034
1035         Reviewed by Brady Eidson.
1036
1037         * MiniBrowser/win/WebKitBrowserWindow.cpp:
1038         (WebKitBrowserWindow::WebKitBrowserWindow):
1039         * TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp:
1040         (TestWebKitAPI::TEST):
1041         * TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp:
1042         (TestWebKitAPI::TEST):
1043         * TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
1044         (TestWebKitAPI::TEST):
1045         * TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
1046         (TestWebKitAPI::TEST):
1047         * TestWebKitAPI/Tests/WebKit/DownloadDecideDestinationCrash.cpp:
1048         (TestWebKitAPI::TEST):
1049         * TestWebKitAPI/Tests/WebKit/EnumerateMediaDevices.cpp:
1050         (TestWebKitAPI::TEST):
1051         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
1052         (TestWebKitAPI::TEST):
1053         * TestWebKitAPI/Tests/WebKit/EvaluateJavaScript.cpp:
1054         (TestWebKitAPI::TEST):
1055         * TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
1056         (TestWebKitAPI::TEST):
1057         * TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
1058         (TestWebKitAPI::TEST):
1059         * TestWebKitAPI/Tests/WebKit/Find.cpp:
1060         (TestWebKitAPI::TEST):
1061         * TestWebKitAPI/Tests/WebKit/FindMatches.mm:
1062         (TestWebKitAPI::TEST):
1063         * TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
1064         (TestWebKitAPI::TEST):
1065         * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
1066         (TestWebKitAPI::TEST):
1067         * TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
1068         (TestWebKitAPI::TEST):
1069         * TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
1070         (TestWebKitAPI::TEST):
1071         * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
1072         (TestWebKitAPI::TEST):
1073         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
1074         (TestWebKitAPI::TEST):
1075         * TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
1076         (TestWebKitAPI::loadAlternateHTMLString):
1077         * TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp:
1078         (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
1079         * TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp:
1080         (TestWebKitAPI::buildAndPerformTest):
1081         * TestWebKitAPI/Tests/WebKit/ModalAlertsSPI.cpp:
1082         (TestWebKitAPI::TEST):
1083         * TestWebKitAPI/Tests/WebKit/NavigationClientDefaultCrypto.cpp:
1084         (TestWebKitAPI::TEST):
1085         * TestWebKitAPI/Tests/WebKit/PageGroup.cpp:
1086         (TestWebKitAPI::TEST):
1087         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
1088         (TestWebKitAPI::TEST):
1089         * TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
1090         (TestWebKitAPI::TEST):
1091         * TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp:
1092         (TestWebKitAPI::TEST):
1093         * TestWebKitAPI/Tests/WebKit/PreventEmptyUserAgent.cpp:
1094         (TestWebKitAPI::TEST):
1095         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
1096         (TestWebKitAPI::TEST):
1097         * TestWebKitAPI/Tests/WebKit/ProcessDidTerminate.cpp:
1098         (TestWebKitAPI::TEST):
1099         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
1100         (TestWebKitAPI::TEST):
1101         * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
1102         (TestWebKitAPI::TEST):
1103         * TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp:
1104         (TestWebKitAPI::TEST):
1105         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
1106         (TestWebKitAPI::TEST):
1107         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp:
1108         (TestWebKitAPI::TEST):
1109         * TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp:
1110         (TestWebKitAPI::TEST):
1111         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
1112         (TestWebKitAPI::TEST):
1113         * TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp:
1114         (TestWebKitAPI::TEST):
1115         * TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
1116         (TestWebKitAPI::TEST):
1117         * TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp:
1118         (TestWebKitAPI::TEST):
1119         * TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp:
1120         (TestWebKitAPI::TEST):
1121         * TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp:
1122         (TestWebKitAPI::TEST):
1123         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp:
1124         (TestWebKitAPI::TEST):
1125         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
1126         (TestWebKitAPI::TEST):
1127         * TestWebKitAPI/Tests/WebKit/WebCoreStatisticsWithNoWebProcess.cpp:
1128         (TestWebKitAPI::TEST):
1129         * TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp:
1130         (TestWebKitAPI::TEST):
1131         * TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
1132         (TestWebKitAPI::TEST):
1133         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
1134         (WebKit2_CommandBackForwardTestWKView::SetUp):
1135         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
1136         (TestWebKitAPI::TEST):
1137         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
1138         (TestWebKitAPI::TEST):
1139         * TestWebKitAPI/Tests/WebKitCocoa/SchemeRegistry.mm:
1140         (TestWebKitAPI::TEST):
1141         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
1142         (TestWebKitAPI::WebKitAgnosticTest::runWebKit2Test):
1143
1144 2019-01-03  Matt Rajca  <mrajca@apple.com>
1145
1146         Make DidPlayMediaPreventedFromPlaying autoplay event more generic.
1147         https://bugs.webkit.org/show_bug.cgi?id=193128
1148         rdar://34554231
1149
1150         Reviewed by Jer Noble.
1151
1152         Today, the "DidPlayMediaPreventedFromPlaying" autoplay event is only sent for
1153         media prevented from autoplaying. It could be generalized to a "DidPlayMediaWithUserGesture"
1154         event along with a flag that indicates whether or not autoplay was actually prevented.
1155
1156         Tests: existing API tests were updated to reflect the new names. New API tests
1157         were added for the new case in which the "DidPlayMediaWithUserGesture" event is sent.
1158
1159         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1160         * TestWebKitAPI/Tests/WebKit/long-test.mp4: Added.
1161         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1162         (TEST):
1163         * TestWebKitAPI/Tests/WebKitCocoa/audio-with-play-button.html: Added.
1164         * TestWebKitAPI/Tests/WebKitCocoa/video-with-play-button.html: Added.
1165
1166 2019-01-04  Chris Dumez  <cdumez@apple.com>
1167
1168         [PSON] Calling history.back() from inside the load event handler prevents process-swapping
1169         https://bugs.webkit.org/show_bug.cgi?id=193120
1170
1171         Reviewed by Alex Christensen.
1172
1173         Add API test coverage.
1174
1175         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1176
1177 2019-01-04  Chris Dumez  <cdumez@apple.com>
1178
1179         Crash under WebProcessPool::addSuspendedPage()
1180         https://bugs.webkit.org/show_bug.cgi?id=193110
1181
1182         Reviewed by Youenn Fablet.
1183
1184         Add API test coverage.
1185
1186         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1187
1188 2019-01-04  Aakash Jain  <aakash_jain@apple.com>
1189
1190         [ews-build] Check patch relevance before applying the patch
1191         https://bugs.webkit.org/show_bug.cgi?id=193102
1192
1193         Reviewed by Lucas Forschler.
1194
1195         * BuildSlaveSupport/ews-build/factories.py:
1196         (Factory.__init__): Moved CheckPatchRelevance step to base class.
1197
1198 2019-01-04  Aakash Jain  <aakash_jain@apple.com>
1199
1200         [ews-build] Check patch relevance step should print patch id
1201         https://bugs.webkit.org/show_bug.cgi?id=193137
1202
1203         Reviewed by Lucas Forschler.
1204
1205         * BuildSlaveSupport/ews-build/steps.py:
1206         (CheckPatchRelevance.start): Update the status to include patch id.
1207
1208 2019-01-04  Jonathan Bedard  <jbedard@apple.com>
1209
1210         webkitpy: Increase simulator teardown timeout
1211         https://bugs.webkit.org/show_bug.cgi?id=193141
1212         <rdar://problem/46174217>
1213
1214         Rubber-stamped by Aakash Jain.
1215
1216         * Scripts/webkitpy/xcode/simulated_device.py:
1217         (SimulatedDeviceManager.tear_down): Use SIMULATOR_BOOT_TIMEOUT.
1218
1219 2019-01-03  Ross Kirsling  <ross.kirsling@sony.com>
1220
1221         test262-runner misbehaves when test file YAML has a trailing space
1222         https://bugs.webkit.org/show_bug.cgi?id=193053
1223
1224         Reviewed by Yusuke Suzuki.
1225
1226         * Scripts/test262/Runner.pm:
1227         (parseData):
1228         Accept trailing space when parsing a test file's YAML block.
1229
1230 2019-01-03  Michael Catanzaro  <mcatanzaro@igalia.com>
1231
1232         UserMedia test should use WKPageNavigationClient
1233         https://bugs.webkit.org/show_bug.cgi?id=192913
1234
1235         Reviewed by Youenn Fablet.
1236
1237         The test currently uses the deprecated WKPageLoaderClient. It should use
1238         WKPageNavigationClient instead, which provides the same callback under a similar name.
1239
1240         * TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
1241         (TestWebKitAPI::TEST):
1242
1243 2019-01-02  Alex Christensen  <achristensen@webkit.org>
1244
1245         Homograph with LATIN SMALL LETTER R WITH FISHHOOK
1246         https://bugs.webkit.org/show_bug.cgi?id=192944
1247
1248         Reviewed by Tim Horton.
1249
1250         * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
1251         (TestWebKitAPI::TEST):
1252
1253 2019-01-02  Wenson Hsieh  <wenson_hsieh@apple.com>
1254
1255         Add support for using the current text selection as the find string on iOS
1256         https://bugs.webkit.org/show_bug.cgi?id=193034
1257         <rdar://problem/45138739>
1258
1259         Reviewed by Tim Horton.
1260
1261         Add a new API test to verify that the new WebKit SPI (_stringForFind, _takeFindStringFromSelection:, and
1262         _setStringForFind) works as expected.
1263
1264         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1265         * TestWebKitAPI/Tests/WebKitCocoa/UseSelectionAsFindString.mm: Added.
1266
1267 2019-01-02  Aakash Jain  <aakash_jain@apple.com>
1268
1269         [ews-build] Use git on OpenSource EWS bots
1270         https://bugs.webkit.org/show_bug.cgi?id=193092
1271
1272         Reviewed by Lucas Forschler.
1273
1274         * BuildSlaveSupport/ews-build/steps.py:
1275         (CheckOutSource): Use git instead of svn.
1276         (CheckOutSource.__init__): Use timeout of 2 hours since the initial checkout might take a long time.
1277
1278 2019-01-02  Daniel Bates  <dabates@apple.com>
1279
1280         [lldb-webkit] Remove broken code to print WTF::OptionSet::m_storage
1281         https://bugs.webkit.org/show_bug.cgi?id=193023
1282
1283         Reviewed by Simon Fraser.
1284
1285         The code to print WTF::OptionSet::m_storage as an item in the set never worked and does
1286         not seem meaningful to fix because WTF::OptionSet::m_storage is just the sum of the printed
1287         enumerator values. We should just remove this code.
1288
1289         * lldb/lldb_webkit.py:
1290         (WTFOptionSetProvider.has_children):
1291         (WTFOptionSetProvider.num_children):
1292         (WTFOptionSetProvider.get_child_index):
1293         (WTFOptionSetProvider.get_child_at_index):
1294
1295 2018-12-29  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
1296
1297         .ycm_extra_conf.py should handle XXXInlines.h
1298         https://bugs.webkit.org/show_bug.cgi?id=193055
1299
1300         Reviewed by Carlos Garcia Campos.
1301
1302         compile_commands.json database only records flags and options for cpp source files.
1303         So, when we open headers, this database does not have any information for that.
1304         Our .ycm_extra_conf.py alleviates this by using XXX.cpp's configuration for XXX.h.
1305         But this mitigation does not handle XXXInlines.h well since we do not have XXXInlines.cpp.
1306         This patch adds support for XXXInlines.h in .ycm_extra_conf.py. When XXXInlines.h is queried,
1307         we attempt to find XXX.cpp and use the configuration if it exists.
1308
1309         * gtk/ycm_extra_conf.py:
1310         (getImplementationFilename):
1311         (FlagsForFile):
1312
1313 2018-12-31  Carlos Garcia Campos  <cgarcia@igalia.com>
1314
1315         Unreviewed. Support PHP 7.3 in Debian.
1316
1317         Add 7.3 to the list of php versions supported in Debian.
1318
1319         * Scripts/webkitpy/port/base.py:
1320         (Port._debian_php_version):
1321
1322 2018-12-27  Alex Christensen  <achristensen@webkit.org>
1323
1324         Resurrect Mac CMake build
1325         https://bugs.webkit.org/show_bug.cgi?id=192658
1326
1327         Reviewed by Yusuke Suzuki.
1328
1329         * DumpRenderTree/PlatformMac.cmake:
1330         * MiniBrowser/mac/CMakeLists.txt:
1331         * TestWebKitAPI/PlatformMac.cmake:
1332
1333 2018-12-26  Adrian Perez de Castro  <aperez@igalia.com>
1334
1335         [Tools] Remove references to Bison and Flex
1336         https://bugs.webkit.org/show_bug.cgi?id=193033
1337
1338         Reviewed by Michael Catanzaro.
1339
1340         The Bison and Flex tools are not needed anymore since r209883.
1341
1342         * CygwinDownloader/cygwin-downloader.py:
1343         * EWSTools/ubuntu-ews-packages:
1344         * Scripts/filter-build-webkit:
1345         (shouldIgnoreLine):
1346         * gtk/install-dependencies:
1347         * wpe/install-dependencies:
1348
1349 2018-12-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1350
1351         WebDriver: warn about non existing tests when parsing expectations
1352         https://bugs.webkit.org/show_bug.cgi?id=192979
1353
1354         Reviewed by Michael Catanzaro.
1355
1356         It's common to update web driver tests and forget updating the test expectations in case of tests removed or
1357         renamed.
1358
1359         * Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
1360         (WebDriverTestRunner.__init__):
1361
1362 2018-12-21  Chris Dumez  <cdumez@apple.com>
1363
1364         navigator.userAgent in service workers does not reflect customUserAgent set by client
1365         https://bugs.webkit.org/show_bug.cgi?id=192951
1366
1367         Reviewed by Youenn Fablet.
1368
1369         Extend API test coverage.
1370
1371         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1372         (-[SWCustomUserAgentDelegate initWithUserAgent:]):
1373         (-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
1374         (-[SWUserAgentMessageHandler initWithExpectedMessage:]):
1375         (-[SWUserAgentMessageHandler userContentController:didReceiveScriptMessage:]):
1376
1377 2018-12-21  Jiewen Tan  <jiewen_tan@apple.com>
1378
1379         [WebAuthN] userPresence should always be true
1380         https://bugs.webkit.org/show_bug.cgi?id=192835
1381         <rdar://problem/46538788>
1382
1383         Reviewed by Brent Fulgham.
1384
1385         * TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp:
1386         (TestWebKitAPI::TEST):
1387
1388 2018-12-19  Simon Fraser  <simon.fraser@apple.com>
1389
1390         Add support to run-benchmark to use non-default copies of the browser apps
1391         https://bugs.webkit.org/show_bug.cgi?id=192905
1392         rdar://problem/46845840
1393
1394         Reviewed by Dewei Zhu.
1395         
1396         Add support for a --browser-path argument to run-benchmark, which allows you to use
1397         a custom app bundle for a given browser (only implemented for Safari at present).
1398
1399         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
1400         (BenchmarkRunner.__init__):
1401         * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:
1402         (BrowserDriver.__init__):
1403         * Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
1404         (BrowserDriverFactory.create):
1405         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:
1406         (OSXBrowserDriver._launch_process):
1407         (OSXBrowserDriver._launch_process_with_caffeinate): Fix spelling.
1408         (OSXBrowserDriver._launch_process_with_caffinate): Deleted.
1409         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
1410         (OSXChromeCanaryDriver.launch_url):
1411         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:
1412         (OSXFirefoxNightlyDriver.launch_url):
1413         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
1414         (OSXSafariDriver.__init__):
1415         (OSXSafariDriver.launch_url):
1416         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
1417         (parse_args):
1418         (run_benchmark_plan):
1419         * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
1420         (WebServerBenchmarkRunner.__init__):
1421         * Scripts/webkitpy/browserperfdash/browserperfdash_unittest.py:
1422         (FakeBenchmarkRunner.__init__):
1423
1424 2018-12-21  Jiewen Tan  <jiewen_tan@apple.com>
1425
1426         [WebAuthN] Import an APDU coder from Chromium
1427         https://bugs.webkit.org/show_bug.cgi?id=192949
1428         <rdar://problem/46879933>
1429
1430         Reviewed by Brent Fulgham.
1431
1432         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1433         * TestWebKitAPI/Tests/WebCore/ApduTest.cpp: Added.
1434         (TestWebKitAPI::TEST):
1435
1436 2018-12-21  Wenson Hsieh  <wenson_hsieh@apple.com>
1437
1438         Setting the file wrapper and content type of an attachment to a PDF should update its image
1439         https://bugs.webkit.org/show_bug.cgi?id=192984
1440         <rdar://problem/46798028>
1441
1442         Reviewed by Tim Horton.
1443
1444         Add an API test to verify that setting the file wrapper for a _WKAttachment with an enclosing image element with
1445         PDF data correctly updates the image element.
1446
1447         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1448
1449 2018-12-21  Michael Catanzaro  <mcatanzaro@igalia.com>
1450
1451         Add JSCOnly to bot dashboard
1452         https://bugs.webkit.org/show_bug.cgi?id=192964
1453
1454         Reviewed by Alexey Proskuryakov.
1455
1456         Apparently we have five JSCOnly test bots and multiple developers working on keeping them in
1457         good shape. Sadly, they are hidden bots not exposed in the dashboard. They would be more
1458         useful if they were not so secret, so add them.
1459
1460         There appear to be no build-only bots, so the first column is blank. And of course there are
1461         no WebKit1 or WebKit2 bots, because this is JSCOnly, so the second and third columns are
1462         blank too. That's OK. This will be the last bot on the dashboard, so it won't look too bad,
1463         and there's plenty of room in the final column for all the bots.
1464
1465         I had a hard time picking a logo to use, because the JavaScript language does not have an
1466         official logo. But I believe I've found one that will be satisfactory.
1467
1468         I will sneak in one bonus change: WPE's EWS queue was missing, and has been added.
1469
1470         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/SquirrelFish.png: Added.
1471         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/SquirrelFish@2x.png: Added.
1472         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
1473         (BubbleQueueServer):
1474         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
1475         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1476         (WebKitBuildbot):
1477         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
1478         (table.queue-grid tr.platform.linux-jsconly img.logo):
1479
1480 2018-12-21  Benjamin Poulain  <benjamin@webkit.org>
1481
1482         <rdar://problem/46194315> macOS: WebKit1 does not handle occlusion changes
1483         https://bugs.webkit.org/show_bug.cgi?id=192821
1484
1485         Reviewed by Chris Dumez.
1486
1487         * DumpRenderTree/mac/DumpRenderTree.mm:
1488         (createWebViewAndOffscreenWindow):
1489         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
1490
1491 2018-12-20  Fujii Hironori  <Hironori.Fujii@sony.com>
1492
1493         [Win][Clang] Fix compilation warnings of DumpRenderTree
1494         https://bugs.webkit.org/show_bug.cgi?id=192924
1495
1496         Reviewed by Alex Christensen.
1497
1498         * DumpRenderTree/AccessibilityController.h: Added member variable initializations in the class definition.
1499         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
1500         (AccessibilityController::AccessibilityController): Moved member variable initializations to the class definition.
1501         * DumpRenderTree/win/DumpRenderTree.cpp:
1502         (dumpHistoryItem): String literals can't be converted non-const type. Use auto for them.
1503         (resetWebPreferencesToConsistentValues): Pass a temporal _bstr_t
1504         object to the argument of setDefaultTextEncodingName instead of a
1505         const string literal.
1506         (createWebViewAndOffscreenWindow): Use %lx for HRESULT (aka 'long').
1507         (main): Exit if _dup2 fails. Use %lu for'DWORD'(aka 'unsigned long').
1508         (setCacheFolder): Deleted.
1509         * DumpRenderTree/win/DumpRenderTreeWin.h: Fix class/struct mismatch of FrameLoadDelegate and PolicyDelegate declarations.
1510         * DumpRenderTree/win/EditingDelegate.cpp:
1511         (dump): Use %d for int.
1512         * DumpRenderTree/win/FrameLoadDelegate.cpp: Removed unused variable g_delegateWaitingOnTimer.
1513         * DumpRenderTree/win/ResourceLoadDelegate.cpp:
1514         (BSTRFromString): Deleted unused function.
1515         * DumpRenderTree/win/TestRunnerWin.cpp:
1516         (TestRunner::setDatabaseQuota): Pass a temporal _bstr_t object to
1517         the arguemnt of setQuota instead of const string literal.
1518         * DumpRenderTree/win/WorkQueueItemWin.cpp:
1519         (jsStringRefToWString): Deleted unused function.
1520
1521 2018-12-20  Chris Dumez  <cdumez@apple.com>
1522
1523         Add API test coverage for customUserAgent client setting and service workers
1524         https://bugs.webkit.org/show_bug.cgi?id=192952
1525
1526         Reviewed by Alex Christensen.
1527
1528         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1529         (-[SWMessageHandler userContentController:didReceiveScriptMessage:]):
1530         (-[SWSchemes webView:startURLSchemeTask:]):
1531         (-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
1532         (-[SWUserAgentMessageHandler userContentController:didReceiveScriptMessage:]):
1533
1534 2018-12-20  Chris Dumez  <cdumez@apple.com>
1535
1536         Use Optional::hasValue() instead of Optional::has_value()
1537         https://bugs.webkit.org/show_bug.cgi?id=192948
1538
1539         Reviewed by Tim Horton.
1540
1541         * TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp:
1542         (TestWebKitAPI::TEST):
1543         * TestWebKitAPI/Tests/WebCore/CBORWriterTest.cpp:
1544         (TestWebKitAPI::TEST):
1545         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
1546         (TestWebKitAPI::TEST_F):
1547
1548 2018-12-20  Chris Dumez  <cdumez@apple.com>
1549
1550         Add style script rule to check for uses of std::optional<>
1551         https://bugs.webkit.org/show_bug.cgi?id=192931
1552
1553         Reviewed by Tim Horton.
1554
1555         * Scripts/webkitpy/style/checkers/cpp.py:
1556         (check_wtf_optional):
1557         (check_style):
1558
1559 2018-12-20  Jiewen Tan  <jiewen_tan@apple.com>
1560
1561         [WebAuthN] Add a runtime flag for local authenticator
1562         https://bugs.webkit.org/show_bug.cgi?id=192792
1563         <rdar://problem/46798738>
1564
1565         Reviewed by Brent Fulgham.
1566
1567         * DumpRenderTree/TestOptions.cpp:
1568         (TestOptions::TestOptions):
1569         * DumpRenderTree/TestOptions.h:
1570         * DumpRenderTree/mac/DumpRenderTree.mm:
1571         (enableExperimentalFeatures):
1572         (setWebPreferencesForTestOptions):
1573         * WebKitTestRunner/TestController.cpp:
1574         (WTR::TestController::resetPreferencesToConsistentValues):
1575         (WTR::updateTestOptionsFromTestHeader):
1576         * WebKitTestRunner/TestOptions.h:
1577         (WTR::TestOptions::hasSameInitializationOptions const):
1578
1579 2018-12-20  Jonathan Bedard  <jbedard@apple.com>
1580
1581         webkitpy: Autoinstall package URLs have changed
1582         https://bugs.webkit.org/show_bug.cgi?id=192909
1583         <rdar://problem/46860359>
1584
1585         Rubber-stamped by Alexey Proskuryakov.
1586
1587         PyPi urls have been moved around, we need to update our auto-installed packages.
1588
1589         We should check for Selenium before asking PyPi for the latest version.
1590
1591         * Scripts/webkitpy/thirdparty/__init__.py:
1592         (AutoinstallImportHook._install_mechanize): Update with new pypi url.
1593         (AutoinstallImportHook._install_keyring): Ditto.
1594         (AutoinstallImportHook._install_pep8): Ditto.
1595         (AutoinstallImportHook._install_mozlog): Ditto.
1596         (AutoinstallImportHook._install_mozprocess): Ditto.
1597         (AutoinstallImportHook._install_pytest_timeout): Ditto.
1598         (AutoinstallImportHook._install_pytest): Ditto.
1599         (AutoinstallImportHook._install_pylint): Ditto.
1600         (AutoinstallImportHook._install_buildbot): Ditto.
1601         (AutoinstallImportHook._install_coverage): Ditto.
1602         (AutoinstallImportHook._install_twisted_15_5_0): Ditto.
1603         (AutoinstallImportHook._install_selenium): Update with new pypi url, only check
1604         for new Selenium if the installed version isn't sufficient.
1605         (AutoinstallImportHook.get_latest_pypi_url): Update with new pypi url.
1606
1607 2018-12-20  Chris Dumez  <cdumez@apple.com>
1608
1609         Use Optional::valueOr() instead of Optional::value_or()
1610         https://bugs.webkit.org/show_bug.cgi?id=192933
1611
1612         Reviewed by Geoffrey Garen.
1613
1614         * TestWebKitAPI/Tests/WTF/URLParser.cpp:
1615         (TestWebKitAPI::checkURL):
1616         (TestWebKitAPI::checkRelativeURL):
1617         (TestWebKitAPI::checkURLDifferences):
1618         (TestWebKitAPI::checkRelativeURLDifferences):
1619         * TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp:
1620         (TestWebKitAPI::checkURL):
1621
1622 2018-12-20  Ryan Haddad  <ryanhaddad@apple.com>
1623
1624         Unreviewed, rolling out r239417.
1625
1626         Introduced two API test failures on macOS.
1627
1628         Reverted changeset:
1629
1630         "<rdar://problem/46194315> macOS: WebKit1 does not handle
1631         occlusion changes"
1632         https://bugs.webkit.org/show_bug.cgi?id=192821
1633         https://trac.webkit.org/changeset/239417
1634
1635 2018-12-20  Devin Rousso  <drousso@apple.com>
1636
1637         Web Inspector: UIString should take an optional key and description to aid localization
1638         https://bugs.webkit.org/show_bug.cgi?id=153962
1639         <rdar://problem/24542505>
1640
1641         Reviewed by Brian Burg.
1642
1643         * Scripts/extract-localizable-js-strings:
1644
1645 2018-12-20  Tim Horton  <timothy_horton@apple.com>
1646
1647         Unparented WKWebView can't retrieve main resource data for a main frame plugin
1648         https://bugs.webkit.org/show_bug.cgi?id=192923
1649         <rdar://problem/46859068>
1650
1651         Reviewed by Wenson Hsieh.
1652
1653         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1654         * TestWebKitAPI/WebKitCocoa/GetResourceData.mm:
1655         Add a test ensuring that both parented and unparented WKWebViews can
1656         retrieve main resource data when loading a PDF.
1657
1658 2018-12-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1659
1660         [GTK][WPE] Bump webkitgtk-test-fonts to 0.0.8
1661         https://bugs.webkit.org/show_bug.cgi?id=192852
1662
1663         Reviewed by Michael Catanzaro.
1664
1665         EmojiOne font was replaced by Noto Color Emoji.
1666
1667         * WebKitTestRunner/gtk/fonts/fonts.conf: Use Noto Color Emoji when Apple Color Emoji font family is used in tests.
1668         * gtk/jhbuild.modules:
1669         * wpe/jhbuild.modules:
1670
1671 2018-12-19  Chris Dumez  <cdumez@apple.com>
1672
1673         wtf/Optional.h: move-constructor and move-assignment operator should disengage the value being moved from
1674         https://bugs.webkit.org/show_bug.cgi?id=192728
1675         <rdar://problem/46746779>
1676
1677         Reviewed by Geoff Garen.
1678
1679         * DumpRenderTree/*:
1680         * MiniBrowser/*:
1681         * TestRunnerShared/*:
1682         * TestWebKitAPI/*:
1683         * WebGPUAPIStructure/*:
1684         * WebKitTestRunner/*:
1685
1686 2018-12-19  Benjamin Poulain  <benjamin@webkit.org>
1687
1688         <rdar://problem/46194315> macOS: WebKit1 does not handle occlusion changes
1689         https://bugs.webkit.org/show_bug.cgi?id=192821
1690
1691         Reviewed by Chris Dumez.
1692
1693         * DumpRenderTree/mac/DumpRenderTree.mm:
1694         (createWebViewAndOffscreenWindow):
1695
1696 2018-12-19  Alex Christensen  <achristensen@webkit.org>
1697
1698         Navigations away from the SafeBrowsing interstitial show a flash of old content
1699         https://bugs.webkit.org/show_bug.cgi?id=192676
1700
1701         Reviewed by Chris Dumez.
1702
1703         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
1704         (safeBrowsingView):
1705         (TEST):
1706         (-[SafeBrowsingHelper webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]): Deleted.
1707
1708 2018-12-19  Adrian Perez de Castro  <aperez@igalia.com>
1709
1710         [GTK][WPE] Unify TestController::platformRunUntil() and honor condition flag
1711         https://bugs.webkit.org/show_bug.cgi?id=192855
1712
1713         Reviewed by Michael Catanzaro.
1714
1715         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
1716         (WTR::TestController::notifyDone): Use the WPE implementation.
1717         (WTR::TestController::platformRunUntil): Use the WPE implementation.
1718         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
1719         (WTR::TestController::platformRunUntil): Honor the condition flag.
1720
1721 2018-12-19  Megan Gardner  <megan_gardner@apple.com>
1722
1723         Allow clients to set the navigator platform
1724         https://bugs.webkit.org/show_bug.cgi?id=192735
1725
1726         Reviewed by Tim Horton.
1727
1728         Add a test for setting a custom navigator platform.
1729
1730         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1731         (-[CustomNavigatorPlatformDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
1732         (-[CustomNavigatorPlatformDelegate webView:didFinishNavigation:]):
1733
1734 2018-12-19  Truitt Savell  <tsavell@apple.com>
1735
1736         Unreviewed, rolling out r239358.
1737
1738         Revision caused imported/w3c/web-platform-tests/IndexedDB/ to
1739         crash on Debug bots
1740
1741         Reverted changeset:
1742
1743         "Clean up IndexedDB files between tests"
1744         https://bugs.webkit.org/show_bug.cgi?id=192796
1745         https://trac.webkit.org/changeset/239358
1746
1747 2018-12-18  Wenson Hsieh  <wenson_hsieh@apple.com>
1748
1749         [iOS] A copied text selection is pasted as a web archive attachment in the entry view in Messages
1750         https://bugs.webkit.org/show_bug.cgi?id=192842
1751         <rdar://problem/46823586>
1752
1753         Reviewed by Tim Horton.
1754
1755         Adjusts an existing API test to verify that "com.apple.webarchive" is not one of the types registered to the
1756         item provider when dragging a rich text selection.
1757
1758         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
1759
1760 2018-12-18  David Quesada  <david_quesada@apple.com>
1761
1762         REGRESSION: [iOS] API test TestWebKitAPI._WKDownload.OriginatingWebView is a flaky failure
1763         https://bugs.webkit.org/show_bug.cgi?id=192810
1764         <rdar://problem/46812536>
1765
1766         Reviewed by Alex Christensen.
1767
1768         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
1769         (-[OriginatingWebViewDownloadDelegate _downloadDidStart:]):
1770             After releasing our reference to the web view, wait until the next turn of the runloop
1771             before checking that the originatingWebView has been zeroed, since the web view might
1772             still be referenced in the autorelease pool. This _WKDownload unit test isn't about
1773             testing general memory management of WKWebViews, only that _WKDownload does not retain
1774             its web view via the 'originatingWebView' property.
1775
1776 2018-12-18  Sihui Liu  <sihui_liu@apple.com>
1777
1778         Clean up IndexedDB files between tests
1779         https://bugs.webkit.org/show_bug.cgi?id=192796
1780
1781         Reviewed by Geoffrey Garen.
1782
1783         * DumpRenderTree/mac/DumpRenderTree.mm:
1784         (runTest):
1785         * WebKitTestRunner/TestController.cpp:
1786         (WTR::TestController::resetStateToConsistentValues):
1787         (WTR::RemoveAllIndexedDatabasesCallbackContext::RemoveAllIndexedDatabasesCallbackContext):
1788         (WTR::RemoveAllIndexedDatabasesCallback):
1789         (WTR::TestController::ClearIndexedDatabases):
1790         * WebKitTestRunner/TestController.h:
1791
1792 2018-12-18  Alex Christensen  <achristensen@webkit.org>
1793
1794         Fix API test introduced in r239339 on iOS.
1795         https://bugs.webkit.org/show_bug.cgi?id=192675
1796
1797         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
1798         (TEST):
1799         The iOS implementation of the safe browsing warning is a little different.
1800         It does some element creation when it is added to the window so it knows how big it is.
1801         To test these elements, we need to simulate adding it to the window.
1802         A similar technique is done in other iOS API tests, such as SafeBrowsing.ShowWarningSPI.
1803
1804 2018-12-18  Jonathan Bedard  <jbedard@apple.com>
1805
1806         webkitpy: Ignore device type for test when using --force
1807         https://bugs.webkit.org/show_bug.cgi?id=192786
1808         <rdar://problem/46794894>
1809
1810         Reviewed by Daniel Bates.
1811
1812         It is sometimes the case that a contributor will wish to run a test on a specific device,
1813         despite expectations which indicate a test should not be run on that device.
1814
1815         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1816         (parse_args):
1817         * Scripts/webkitpy/port/device_port.py:
1818         (DevicePort.default_child_processes): Strip device type information when using --force.
1819         (DevicePort.setup_test_run): Only allow incomplete match when using --force.
1820
1821 2018-12-18  Alex Christensen  <achristensen@webkit.org>
1822
1823         WKWebView has old URL while displaying SafeBrowsing interstitial, for link-click navigations
1824         https://bugs.webkit.org/show_bug.cgi?id=192675
1825
1826         Reviewed by Geoffrey Garen.
1827
1828         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
1829         (goBack):
1830         (TEST):
1831         (visitUnsafeSite):
1832         (-[SafeBrowsingHelper observeValueForKeyPath:ofObject:change:context:]):
1833         (-[SafeBrowsingHelper webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1834
1835 2018-12-18  Chris Dumez  <cdumez@apple.com>
1836
1837         Regression(r239182) SuspendedPage's process reuse for link navigation optimization sometimes broken
1838         https://bugs.webkit.org/show_bug.cgi?id=192772
1839
1840         Reviewed by Antti Koivisto.
1841
1842         Add API test coverage.
1843
1844         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1845
1846 2018-12-18  Philippe Normand  <pnormand@igalia.com>
1847
1848         Unreviewed, JHBuild GTK build fix attempt
1849
1850         * gtk/jhbuild.modules: There's no libffi in this moduleset anymore.
1851         There's no ninja module either, it should be provided by the
1852         host system.
1853
1854 2018-12-17  Chris Dumez  <cdumez@apple.com>
1855
1856         Allow passing nil as session state to [WKWebView _restoreSessionState:]
1857         https://bugs.webkit.org/show_bug.cgi?id=192789
1858         <rdar://problem/46755277>
1859
1860         Reviewed by Alex Christensen.
1861
1862         Add API test coverage.
1863
1864         * TestWebKitAPI/Tests/WebKit/WKBackForwardList.mm:
1865         (TEST):
1866
1867 2018-12-17  Simon Fraser  <simon.fraser@apple.com>
1868
1869         Don't use more expensive layer backing store formats when subpixel text antialiasing is not enabled
1870         https://bugs.webkit.org/show_bug.cgi?id=192780
1871         rdar://problem/43394387
1872
1873         Reviewed by Tim Horton.
1874
1875         No need to set "AppleFontSmoothing" defaults for WK2.
1876
1877         * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
1878         (WTR::InjectedBundle::platformInitialize):
1879
1880 2018-12-17  Jonathan Bedard  <jbedard@apple.com>
1881
1882         webkitpy: Handle case where stdout and stderr don't accept unicode
1883         https://bugs.webkit.org/show_bug.cgi?id=192775
1884         <rdar://problem/46497303>
1885
1886         Reviewed by Stephanie Lewis.
1887
1888         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
1889         (MeteredStream.write): If unicode cannot be written to the stream, replace unicode
1890         characters with '?'.
1891         * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
1892         (RegularTest.test_stream_with_encoding):
1893
1894 2018-12-17  Daniel Bates  <dabates@apple.com>
1895
1896         Support concatenating StringView with other string types
1897         https://bugs.webkit.org/show_bug.cgi?id=177566
1898
1899         Reviewed by Darin Adler.
1900
1901         Add some tests to ensure we do not regress the number of allocations needed when performing
1902         string concatenation with string views.
1903
1904         * TestWebKitAPI/Tests/WTF/StringOperators.cpp:
1905         (TestWebKitAPI::TEST):
1906
1907 2018-12-17  Commit Queue  <commit-queue@webkit.org>
1908
1909         Unreviewed, rolling out r239265 and r239274.
1910         https://bugs.webkit.org/show_bug.cgi?id=192765
1911
1912         unorm_normalize is deprecated, and broke an internal build
1913         (Requested by Truitt on #webkit).
1914
1915         Reverted changesets:
1916
1917         "[GTK][WPE] Need a function to convert internal URI to display
1918         ("pretty") URI"
1919         https://bugs.webkit.org/show_bug.cgi?id=174816
1920         https://trac.webkit.org/changeset/239265
1921
1922         "Fix the Apple Internal Mac build with a newer SDK"
1923         https://trac.webkit.org/changeset/239274
1924
1925 2018-12-17  Daniel Bates  <dabates@apple.com>
1926
1927         Implement UIScriptController::toggleCapsLock() for iOS
1928         https://bugs.webkit.org/show_bug.cgi?id=191815
1929
1930         Reviewed by Andy Estes.
1931
1932         Add support for toggling the caps lock state in WebKitTestRunner on iOS.
1933
1934         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1935         * WebKitTestRunner/TestController.cpp:
1936         (WTR::TestController::resetStateToConsistentValues): Clear the current modifier state
1937         before running a test. This ensures that the caps lock state does not persist between
1938         tests should a test enable caps lock and not disable it.
1939         * WebKitTestRunner/ios/HIDEventGenerator.mm:
1940         (hidUsageCodeForCharacter): Map "capsLock" to the Caps Lock key usage code.
1941         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1942         (WTR::createUIPhysicalKeyboardEvent): Modified to take the keyboard input flags to use to
1943         create the event. Also substituted NSString* for const String& as the data type for the first
1944         two parameters to avoid conversions in the implementation of UIScriptController::toggleCapsLock()
1945         below.
1946         (WTR::UIScriptController::keyDown): Update as needed due to changes to prototype of createUIPhysicalKeyboardEvent().
1947         (WTR::UIScriptController::toggleCapsLock): Dispatch a UIEvent to toggle caps lock.
1948
1949 2018-12-17  Daniel Bates  <dabates@apple.com>
1950
1951         [iOS] Remove -[WebEvent initWithKeyEventType:...:characterSet:]
1952         https://bugs.webkit.org/show_bug.cgi?id=192633
1953
1954         Reviewed by Wenson Hsieh.
1955
1956         Update code to use the modern initializer.
1957
1958         * DumpRenderTree/mac/EventSendingController.mm:
1959         (-[EventSendingController keyDown:withModifiers:withLocation:]):
1960
1961 2018-12-17  Matt Lewis  <jlewis3@apple.com>
1962
1963         Unreviewed, rolling out r239254.
1964
1965         This broke the Windows 10 Debug build
1966
1967         Reverted changeset:
1968
1969         "Replace many uses of String::format with more type-safe
1970         alternatives"
1971         https://bugs.webkit.org/show_bug.cgi?id=192742
1972         https://trac.webkit.org/changeset/239254
1973
1974 2018-12-17  David Kilzer  <ddkilzer@apple.com>
1975
1976         clang-tidy: loop variable is copied but only used as const reference in WebCore, WebKit, Tools
1977         <https://webkit.org/b/192751>
1978         <rdar://problem/46771623>
1979
1980         Reviewed by Daniel Bates.
1981
1982         Change loop variables to const references to avoid unnecessary
1983         copies.
1984
1985         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
1986         (-[LocalPasteboard pasteboardItems]):
1987
1988 2018-12-17  Ms2ger  <Ms2ger@igalia.com>
1989
1990         [GTK][WPE] Need a function to convert internal URI to display ("pretty") URI
1991         https://bugs.webkit.org/show_bug.cgi?id=174816
1992
1993         Reviewed by Michael Catanzaro.
1994
1995         Add tests for userVisibleString() and (for GTK and WPE) webkit_uri_for_display().
1996
1997         * TestWebKitAPI/CMakeLists.txt:
1998         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1999         * TestWebKitAPI/Tests/WTF/URLHelpers.cpp: Added.
2000         (TestWebKitAPI::TEST):
2001         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitURIUtilities.cpp: Added.
2002         (testURIForDisplayUnaffected):
2003         (testURIForDisplayAffected):
2004         (beforeAll):
2005         (afterAll):
2006         * TestWebKitAPI/glib/CMakeLists.txt:
2007
2008 2018-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2009
2010         [WPE] Add API to notify about frame displayed view backend callback
2011         https://bugs.webkit.org/show_bug.cgi?id=192224
2012
2013         Reviewed by Michael Catanzaro.
2014
2015         Add a test case to check the new API.
2016
2017         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
2018         (testWebViewFrameDisplayed):
2019         (beforeAll):
2020         * wpe/jhbuild.modules: Bump WPEBackend-fdo to 1.1.0.
2021
2022 2018-12-16  Adrian Perez de Castro  <aperez@igalia.com>
2023
2024         Unreviewed build fix after r239253
2025
2026         * gtk/jhbuild.modules: Fix typo in libpsl dependency name.
2027
2028 2018-12-15  Darin Adler  <darin@apple.com>
2029
2030         Use warning-ignoring macros more consistently and simply
2031         https://bugs.webkit.org/show_bug.cgi?id=192743
2032
2033         Reviewed by Mark Lam.
2034
2035         * DumpRenderTree/TestNetscapePlugIn/main.cpp:
2036         (handleEventCarbon): Use ALLOW_DEPRECATED_DECLARATIONS_BEGIN/END.
2037         * DumpRenderTree/mac/TextInputControllerMac.m:
2038         (-[TextInputController interpretKeyEvents:withSender:]): Use
2039         IGNORE_WARNINGS_BEGIN/END.
2040         * WebKitTestRunner/mac/EventSenderProxy.mm:
2041         (WTR::EventSenderProxy::mouseForceClick): Use
2042         IGNORE_NULL_CHECK_WARNINGS_BEGIN/END.
2043         (WTR::EventSenderProxy::startAndCancelMouseForceClick): Ditto.
2044         (WTR::EventSenderProxy::mouseForceDown): Ditto.
2045         (WTR::EventSenderProxy::mouseForceUp): Ditto.
2046         (WTR::EventSenderProxy::mouseForceChanged): Ditto.
2047
2048 2018-12-15  Darin Adler  <darin@apple.com>
2049
2050         Replace many uses of String::format with more type-safe alternatives
2051         https://bugs.webkit.org/show_bug.cgi?id=192742
2052
2053         Reviewed by Mark Lam.
2054
2055         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2056         (WTR::cacheTestRunnerCallback): Use makeString.
2057         * WebKitTestRunner/TestController.cpp:
2058         (WTR::TestController::didReceiveAuthenticationChallenge): Use makeString.
2059         (WTR::TestController::downloadDidFail): Use an ASCIILiteral via the _s syntax.
2060
2061 2018-12-15  Adrian Perez de Castro  <aperez@igalia.com>
2062
2063         [WPE][GTK] Add libpsl to JHBuild module sets
2064         https://bugs.webkit.org/show_bug.cgi?id=192740
2065
2066         Reviewed by Michael Catanzaro.
2067
2068         * gtk/jhbuild.modules: Add libpsl module.
2069         * wpe/jhbuild.modules: Ditto.
2070
2071 2018-12-14  Alexey Proskuryakov  <ap@apple.com>
2072
2073         Add a style checker rule for Xcode version macros use
2074         https://bugs.webkit.org/show_bug.cgi?id=192703
2075
2076         Reviewed by Alex Christensen.
2077
2078         * Scripts/webkitpy/style/checkers/cpp.py:
2079         (check_os_version_checks):
2080         (process_line):
2081         (CppChecker):
2082         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
2083         (WebKitStyleTest.test_os_version_checks):
2084
2085 2018-12-14  Chris Dumez  <cdumez@apple.com>
2086
2087         [PSON] Process-swapping on a loadHTMLString causes duplicate decidePolicyForNavigationAction delegate calls
2088         https://bugs.webkit.org/show_bug.cgi?id=192704
2089
2090         Reviewed by Geoffrey Garen.
2091
2092         Extend existing API test to reproduce the problem.
2093
2094         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2095
2096 2018-12-14  Chris Dumez  <cdumez@apple.com>
2097
2098         [PSON] WebsitePolicies are lost on process-swap
2099         https://bugs.webkit.org/show_bug.cgi?id=192694
2100         <rdar://problem/46715748>
2101
2102         Reviewed by Brady Eidson.
2103
2104         Extend existing API test to reproduce the issue.
2105
2106         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2107
2108 2018-12-14  Michael Catanzaro  <mcatanzaro@igalia.com>
2109
2110         [GTK] Error writing data to TLS socket in some sites when using the jhbuild
2111         https://bugs.webkit.org/show_bug.cgi?id=192678
2112
2113         Reviewed by Carlos Garcia Campos.
2114
2115         Update our ancient versions of libsoup and glib-networking.
2116
2117         * gtk/install-dependencies:
2118         * gtk/jhbuild.modules:
2119         * gtk/patches/libsoup-auth-Fix-async-authentication-when-flag-SOUP_MESSAGE.patch: Removed.
2120         * gtk/patches/libsoup-auth-do-not-use-cached-credentials-in-lookup-method-.patch: Removed.
2121         * gtk/patches/libsoup-soup-message-io-Do-not-fail-when-there-s-no-empty-li.patch: Removed.
2122         * gtk/patches/libsoup-soup-socket-fix-critical-warning-when-the-peer-certi.patch: Removed.
2123         * wpe/install-dependencies:
2124         * wpe/jhbuild.modules:
2125         * wpe/patches/libsoup-soup-socket-fix-critical-warning-when-the-peer-certi.patch: Removed.
2126
2127 2018-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2128
2129         [WPE] Use new view state API from libwpe
2130         https://bugs.webkit.org/show_bug.cgi?id=191906
2131
2132         Reviewed by Žan Doberšek.
2133
2134         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
2135         (beforeAll): Enable /webkit/WebKitWebView/page-visibility in WPE.
2136         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
2137         (Test::createWebViewBackend): Make the view initially hidden for consistency with GTK+ tests.
2138         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
2139         * TestWebKitAPI/glib/WebKitGLib/wpe/WebViewTestWPE.cpp:
2140         (WebViewTest::showInWindow): Add wpe_view_activity_state_visible, wpe_view_activity_state_in_window and
2141         wpe_view_activity_state_focused state flags.
2142         (WebViewTest::hideView): Remove wpe_view_activity_state_visible and wpe_view_activity_state_focused state flags.
2143         * wpe/backends/HeadlessViewBackend.cpp:
2144         (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend): Assume view is always visible, focused and in window.
2145         * wpe/backends/WindowViewBackend.cpp:
2146         (WPEToolingBackends::WindowViewBackend::WindowViewBackend): Update the view state flags depending on state
2147         received in configure callback.
2148         * wpe/jhbuild.modules: Bump libwpe to 1.1.0
2149
2150 2018-12-13  Fujii Hironori  <Hironori.Fujii@sony.com>
2151
2152         [WinCairo][Clang] DLLLauncherMain.cpp: warning: unused function 'prependPath' and 'appleApplicationSupportDirectory'
2153         https://bugs.webkit.org/show_bug.cgi?id=192688
2154
2155         Reviewed by Ross Kirsling.
2156
2157         * win/DLLLauncher/DLLLauncherMain.cpp:
2158         (copyEnvironmentVariable): Moved.
2159         (getStringValue): Enclosed with #if !defined(WIN_CAIRO).
2160         (applePathFromRegistry): Ditto.
2161         (appleApplicationSupportDirectory): Ditto.
2162         (prependPath): Ditto.
2163
2164 2018-12-13  Don Olmstead  <don.olmstead@sony.com>
2165
2166         Unreviewed. Changed my status to a reviewer.
2167
2168         * Scripts/webkitpy/common/config/contributors.json:
2169
2170 2018-12-13  Wenson Hsieh  <wenson_hsieh@apple.com>
2171
2172         [iOS] Support dropping contact card data (public.vcard) in editable content
2173         https://bugs.webkit.org/show_bug.cgi?id=192570
2174         <rdar://problem/35626913>
2175
2176         Reviewed by Tim Horton.
2177
2178         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2179
2180         Add API tests to verify that registering `MKMapItem`s and `CNContact`s to item providers and dropping them in
2181         attachment-enabled rich text editable areas inserts attachment elements (and in the case of `MKMapItem`,
2182         additionally inserts a link).
2183
2184         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
2185         (TestWebKitAPI::createMapItemForTesting):
2186         (TestWebKitAPI::createContactItemForTesting):
2187
2188         Add API tests to verify that dropping map items and contact items into rich and plain editable areas behaves as
2189         expected (in the case where a URL is present, e.g. dropping a map item, we insert the URL as an anchor, and when
2190         there is no other suitable representation in the item provider, we do nothing at all, which is the case for the
2191         dropped `CNContact`). Also, add a test to verify that drag and drop can be used to upload these items as .vcf
2192         files.
2193
2194 2018-12-13  Ross Kirsling  <ross.kirsling@sony.com>
2195
2196         Unreviewed -- update my status to "reviewer".
2197
2198         * Scripts/webkitpy/common/config/contributors.json:
2199
2200 2018-12-13  Youenn Fablet  <youenn@apple.com>
2201
2202         On page close, WebPage::m_userMediaPermissionRequestManager is nullified too early
2203         https://bugs.webkit.org/show_bug.cgi?id=192657
2204
2205         Reviewed by Eric Carlson.
2206
2207         Add a test that loads a page registering ondevicechange,
2208         load another page in the same process, closes the first page.
2209         Ensure that the process does not crash in that case.
2210
2211         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2212         * TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
2213         (TestWebKitAPI::TEST):
2214         (TestWebKitAPI::didCrashCallback):
2215         * TestWebKitAPI/Tests/WebKit/ondevicechange.html: Added.
2216
2217 2018-12-13  Carlos Eduardo Ramalho  <cadubentzen@gmail.com>
2218
2219         [GStreamer][JHBuild] update-webkit{gtk,wpe}-libs fails with libfdk-2.0.0
2220         https://bugs.webkit.org/show_bug.cgi?id=192643
2221
2222         Reviewed by Philippe Normand.
2223
2224         This problem happens with Arch Linux users which have libfdk-2.0.0
2225         installed (which is anybody with gst-plugins-bad 1.14.4 installed).
2226
2227         The problem has already been solved upstream at
2228         https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/77.
2229
2230         Adding patches while this problem is not in a release yet.
2231
2232         * gstreamer/jhbuild.modules: Add patches to fix build of gst-plugins-bad with libfdk-2.0.0.
2233         * gstreamer/patches/gst-plugins-bad-0003-fdkaacenc-Remove-MODE_2_1.patch: Added.
2234         * gstreamer/patches/gst-plugins-bad-0004-fdkaacdec-Use-WAV-channel-mapping-instead-of-interleave-setting.patch: Added.
2235
2236 2018-12-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2237
2238         [FreeType] Add initial implementation of variation fonts
2239         https://bugs.webkit.org/show_bug.cgi?id=192151
2240
2241         Reviewed by Michael Catanzaro.
2242
2243         Add cairo patch to avoid crashes.
2244
2245         * gtk/jhbuild.modules:
2246         * gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added.
2247
2248 2018-12-12  Fujii Hironori  <Hironori.Fujii@sony.com>
2249
2250         [Win][Clang][WebKitLegacy] WebFrame.cpp: warning: delete called on non-final 'WebFrame' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
2251         https://bugs.webkit.org/show_bug.cgi?id=192618
2252
2253         Reviewed by Alex Christensen.
2254
2255         * DumpRenderTree/win/DRTDataObject.cpp:
2256         * DumpRenderTree/win/DRTDataObject.h:
2257         * DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
2258         * DumpRenderTree/win/DRTDropSource.h:
2259         * DumpRenderTree/win/EditingDelegate.h:
2260         * DumpRenderTree/win/PolicyDelegate.h:
2261         * DumpRenderTree/win/UIDelegate.h:
2262
2263 2018-12-12  Ryosuke Niwa  <rniwa@webkit.org>
2264
2265         Make TextInputController.legacyAttributedString take DOM nodes and offsets
2266         https://bugs.webkit.org/show_bug.cgi?id=192653
2267
2268         Reviewed by Wenson Hsieh.
2269
2270         Updated TextInputController.legacyAttributedString to take DOM nodes and offsets instead of
2271         a DOM Range object in preparation to add layout tests for HTMLConverter which crosses
2272         shadow boundaries.
2273
2274         * DumpRenderTree/mac/TextInputControllerMac.m:
2275         (+[TextInputController isSelectorExcludedFromWebScript:]): Updated the selector signature.
2276         (+[TextInputController webScriptNameForSelector:]): Ditto.
2277         (-[TextInputController legacyAttributedString:offset:to:offset:]): Made this function take
2278         start node and offset then end node and offset pairs.
2279
2280 2018-12-12  Alex Christensen  <achristensen@webkit.org>
2281
2282         Implement safe browsing in WebKit on WatchOS
2283         https://bugs.webkit.org/show_bug.cgi?id=192641
2284         <rdar://problem/46376188>
2285
2286         Reviewed by Geoff Garen.
2287
2288         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
2289         (-[SafeBrowsingNavigationDelegate _webViewDidShowSafeBrowsingWarning:]):
2290         (safeBrowsingView):
2291         Add a test that the new delegate callback is called.
2292
2293 2018-12-12  Michael Catanzaro  <mcatanzaro@igalia.com>
2294
2295         Unreviewed manual rollout of r239100-r239102 and r239116
2296         https://bugs.webkit.org/show_bug.cgi?id=192151
2297         <rdar://problem/46655586>
2298
2299         * gtk/jhbuild.modules:
2300         * gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Removed.
2301
2302 2018-12-12  Commit Queue  <commit-queue@webkit.org>
2303
2304         Unreviewed, rolling out r239103.
2305         https://bugs.webkit.org/show_bug.cgi?id=192627
2306
2307         It broke the built because it depends on another patch that
2308         didn't land yet (Requested by KaL on #webkit).
2309
2310         Reverted changeset:
2311
2312         "[WPE] Add API to notify about frame displayed view backend
2313         callback"
2314         https://bugs.webkit.org/show_bug.cgi?id=192224
2315         https://trac.webkit.org/changeset/239103
2316
2317 2018-11-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2318
2319         [WPE] Add API to notify about frame displayed view backend callback
2320         https://bugs.webkit.org/show_bug.cgi?id=192224
2321
2322         Reviewed by Michael Catanzaro.
2323
2324         Add a test case to check the new API.
2325
2326         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
2327         (testWebViewFrameDisplayed):
2328         (beforeAll):
2329
2330 2018-12-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2331
2332         [FreeType] Add initial implementation of variation fonts
2333         https://bugs.webkit.org/show_bug.cgi?id=192151
2334
2335         Reviewed by Michael Catanzaro.
2336
2337         Add cairo patch to avoid crashes.
2338
2339         * gtk/jhbuild.modules:
2340         * gtk/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added.
2341
2342 2018-12-11  Justin Michaud  <justin_michaud@apple.com>
2343
2344         Implement feature flag for CSS Typed OM
2345         https://bugs.webkit.org/show_bug.cgi?id=192610
2346
2347         Reviewed by Ryosuke Niwa.
2348
2349         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2350
2351 2018-12-11  Chris Dumez  <cdumez@apple.com>
2352
2353         Unreviewed, fix bad check in API test added in r239080.
2354
2355         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2356
2357 2018-12-11  Fujii Hironori  <Hironori.Fujii@sony.com>
2358
2359         [Win][Clang] Fix warning -Wmissing-field-initializers
2360         https://bugs.webkit.org/show_bug.cgi?id=192584
2361
2362         Reviewed by Yusuke Suzuki.
2363
2364         Initialize a struct with '{ }' instead of '= {0}'.
2365
2366         * DumpRenderTree/win/DumpRenderTree.cpp:
2367         (runTest):
2368         * DumpRenderTree/win/EventSender.cpp:
2369         (makeMsg):
2370         (replaySavedEvents):
2371         (beginDragWithFilesCallback):
2372         * DumpRenderTree/win/PixelDumpSupportWin.cpp:
2373         (createBitmapContextFromWebView):
2374         * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
2375         (updateMenuItemForHistoryItem):
2376         * MiniBrowser/win/WinMain.cpp:
2377         (wWinMain):
2378         * TestWebKitAPI/win/HostWindow.cpp:
2379         (TestWebKitAPI::HostWindow::clientRect const):
2380         (TestWebKitAPI::HostWindow::registerWindowClass):
2381         * TestWebKitAPI/win/PlatformWebViewWin.cpp:
2382         (TestWebKitAPI::PlatformWebView::registerWindowClass):
2383         * WebKitTestRunner/win/PlatformWebViewWin.cpp:
2384         (WTR::registerWindowClass):
2385         (WTR::PlatformWebView::windowFrame):
2386         (WTR::PlatformWebView::windowSnapshotImage):
2387
2388 2018-12-11  Chris Dumez  <cdumez@apple.com>
2389
2390         PSON logic gets confused by concurrent decidePolicyForNavigationAction requests
2391         https://bugs.webkit.org/show_bug.cgi?id=192482
2392         <rdar://problem/46470145>
2393
2394         Reviewed by Antti Koivisto.
2395
2396         Add API test coverage.
2397
2398         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2399
2400 2018-12-11  Andy Estes  <aestes@apple.com>
2401
2402         Introduce makeBlockPtr for lambdas
2403         https://bugs.webkit.org/show_bug.cgi?id=192594
2404
2405         Reviewed by Alex Christensen.
2406
2407         Adopted makeBlockPtr and added API tests.
2408
2409         * DumpRenderTree/TestRunner.cpp:
2410         (TestRunner::callUIScriptCallback):
2411         * TestWebKitAPI/Tests/WTF/BlockPtr.mm:
2412         (TestWebKitAPI::TEST):
2413         * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
2414         (-[DownloadProgressTestRunner init]):
2415         (-[DownloadProgressTestRunner subscribeAndWaitForProgress]):
2416
2417 2018-12-11  Chris Dumez  <cdumez@apple.com>
2418
2419         REGRESSION (r238764-238783): TestWTF.WTF.StringOperators is failing
2420         https://bugs.webkit.org/show_bug.cgi?id=192361
2421         <rdar://problem/46524903>
2422
2423         Reviewed by Alex Christensen.
2424
2425         Compile StringOperators.cpp with -O1 optimization level instead of -Os. This
2426         fixes the failures for me locally.
2427
2428         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2429
2430 2018-12-11  Philippe Normand  <pnormand@igalia.com>
2431
2432         Unreviewed, WPE build fix after r239028
2433
2434         The FLATPAK_USER_DIR env var is not set early enough, leading to:
2435
2436         Traceback (most recent call last):
2437         File "/home/phil/WebKit/Tools/Scripts/webkit-flatpak", line 28, in <module>
2438           sys.exit(WebkitFlatpak.load_from_args().run())
2439         File "/home/phil/WebKit/Tools/flatpak/flatpakutils.py", line 761, in run
2440           if not self.clean_args():
2441         File "/home/phil/WebKit/Tools/flatpak/flatpakutils.py", line 574, in clean_args
2442           _log.debug("Using flatpak user dir: %s" % os.environ["FLATPAK_USER_DIR"])
2443         File "/usr/lib/python2.7/UserDict.py", line 40, in __getitem__
2444           raise KeyError(key)
2445         KeyError: 'FLATPAK_USER_DIR'
2446
2447         * flatpak/flatpakutils.py:
2448         (WebkitFlatpak.clean_args):
2449
2450 2018-12-10  Don Olmstead  <don.olmstead@sony.com>
2451
2452         Move ENABLE_RESOURCE_LOAD_STATISTICS to FeatureDefines.xcconfig
2453         https://bugs.webkit.org/show_bug.cgi?id=192573
2454
2455         Reviewed by Simon Fraser.
2456
2457         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2458
2459 2018-12-10  Don Olmstead  <don.olmstead@sony.com>
2460
2461         [CMake] Add ENABLE_RESOURCE_LOAD_STATISTICS to WebKitFeatures.cmake
2462         https://bugs.webkit.org/show_bug.cgi?id=192574
2463
2464         Reviewed by Michael Catanzaro.
2465
2466         * Scripts/webkitperl/FeatureList.pm:
2467
2468 2018-12-10  Don Olmstead  <don.olmstead@sony.com>
2469
2470         Sync FeatureList.pm
2471         https://bugs.webkit.org/show_bug.cgi?id=192565
2472
2473         Reviewed by Michael Catanzaro.
2474
2475         * Scripts/webkitperl/FeatureList.pm:
2476
2477 2018-12-10  Wenson Hsieh  <wenson_hsieh@apple.com>
2478
2479         [iOS] Unable to upload data that conforms to "public.item" but not "public.content"
2480         https://bugs.webkit.org/show_bug.cgi?id=192555
2481         <rdar://problem/35204990>
2482
2483         Reviewed by Tim Horton.
2484
2485         Add a test to verify that `.p12` files may be uploaded as files via drag and drop. "com.rsa.pkcs-12" is an
2486         example of a data type that conforms to "public.item", but not "public.content"; before this patch, we would
2487         only support uploading "public.content", so files such as these would not be accepted when dropping into file
2488         inputs, or be exposed as files on DataTransfer.
2489
2490         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
2491         (TestWebKitAPI::TEST):
2492
2493 2018-12-10  David Kilzer  <ddkilzer@apple.com>
2494
2495         Injected bundle for WebKitTestRunner leaks WKTypeRef objects
2496         <https://webkit.org/b/192481>
2497         <rdar://problem/46539059>
2498
2499         Follow-up to address Darin's feedback.
2500
2501         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2502         (WTR::TestRunner::shouldDumpPixels const):
2503         (WTR::TestRunner::whatToDump const):
2504         (WTR::TestRunner::shouldWaitUntilDone const):
2505         (WTR::TestRunner::shouldDumpFrameLoadCallbacks):
2506         (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
2507         (WTR::TestRunner::secureEventInputIsEnabled const):
2508         (WTR::TestRunner::isStatisticsPrevalentResource):
2509         (WTR::TestRunner::isStatisticsVeryPrevalentResource):
2510         (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
2511         (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
2512         (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
2513         (WTR::TestRunner::isStatisticsHasHadUserInteraction):
2514         (WTR::TestRunner::isStatisticsGrandfathered):
2515         (WTR::TestRunner::hasDOMCache):
2516         (WTR::TestRunner::keyExistsInKeychain):
2517
2518 2018-12-10  Jonathan Bedard  <jbedard@apple.com>
2519
2520         webkitpy: Ref tests don't respect platform specific expectations
2521         https://bugs.webkit.org/show_bug.cgi?id=192515
2522         <rdar://problem/46564839>
2523
2524         Reviewed by Lucas Forschler.
2525
2526         * Scripts/webkitpy/port/base.py:
2527         (Port._expected_baselines_for_suffixes): Accept multiple suffixes so ref tests can use this function.
2528         (Port.expected_baselines): Move implementation to _expected_baselines_for_suffixes.
2529         (Port.expected_filename): Remove irrelevant FIXME, code clean-up.
2530         (Port.reference_files): Instead of just searching a single directory, use _expected_baselines_for_suffixes to
2531         search all platform expectations as well.
2532         * Scripts/webkitpy/port/base_unittest.py:
2533         (test_ref_tests_platform_directory):
2534
2535 2018-12-10  Chris Dumez  <cdumez@apple.com>
2536
2537         Add SPI to allow the client to set the user-agent at main frame level, from the UIProcess
2538         https://bugs.webkit.org/show_bug.cgi?id=192509
2539         <rdar://problem/46500832>
2540
2541         Reviewed by Alex Christensen.
2542
2543         Add API test coverage.
2544
2545         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2546         (-[DataMappingSchemeHandler addMappingFromURLString:toData:]):
2547         (-[DataMappingSchemeHandler webView:startURLSchemeTask:]):
2548         (-[DataMappingSchemeHandler webView:stopURLSchemeTask:]):
2549         (-[CustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
2550         (-[CustomUserAgentDelegate webView:didFinishNavigation:]):
2551
2552 2018-12-10  Wenson Hsieh  <wenson_hsieh@apple.com>
2553
2554         [iOS] Caret is obscured by finger when dragging over an editable element
2555         https://bugs.webkit.org/show_bug.cgi?id=192499
2556         <rdar://problem/46570101>
2557
2558         Reviewed by Tim Horton.
2559
2560         Augment some existing API tests to check that the `precise` flag is either on or off on `UIDropProposal`.
2561
2562         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
2563         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
2564         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
2565         (-[DragAndDropSimulator _resetSimulatedState]):
2566         (-[DragAndDropSimulator lastKnownDropProposal]):
2567
2568         Rename `currentDropProposal` to `lastKnownDropProposal`, and expose it as a readonly property.
2569
2570         (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
2571         (-[DragAndDropSimulator _advanceProgress]):
2572         (-[DragAndDropSimulator setShowCustomActionSheetBlock:]):
2573         (-[DragAndDropSimulator showCustomActionSheetBlock]):
2574         (-[DragAndDropSimulator setConvertItemProvidersBlock:]):
2575         (-[DragAndDropSimulator convertItemProvidersBlock]):
2576         (-[DragAndDropSimulator setOverridePerformDropBlock:]):
2577         (-[DragAndDropSimulator overridePerformDropBlock]):
2578         (-[DragAndDropSimulator setOverrideDragUpdateBlock:]):
2579         (-[DragAndDropSimulator overrideDragUpdateBlock]):
2580         (-[DragAndDropSimulator setDropCompletionBlock:]):
2581         (-[DragAndDropSimulator dropCompletionBlock]):
2582
2583         Refactor these properties to return and take normal Objective-C blocks, rather than `BlockPtr`s. However, use
2584         `BlockPtr` instance variables to manage the lifetimes of these blocks.
2585
2586         (-[DragAndDropSimulator _webView:willUpdateDropProposalToProposal:forSession:]):
2587         (-[DragAndDropSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]): Deleted.
2588
2589         Update this to use the new WebKit delegate hook for overriding the drop proposal.
2590
2591 2018-12-10  Michael Catanzaro  <mcatanzaro@igalia.com>
2592
2593         [WPE][GTK] run-minibrowser improperly creates webkit-flatpak environment
2594         https://bugs.webkit.org/show_bug.cgi?id=190241
2595
2596         Reviewed by Carlos Garcia Campos.
2597
2598         run-minibrowser calls into webkit-flatpak to check if a flatpak environment is available.
2599         Currently this actually creates the directories needed for the flatpak environment. Fix it.
2600
2601         * flatpak/flatpakutils.py:
2602         (WebkitFlatpak.clean_args):
2603         (WebkitFlatpak.run):
2604
2605 2018-12-10  Michael Catanzaro  <mcatanzaro@igalia.com>
2606
2607         [GTK] Don't use the slice allocator
2608         https://bugs.webkit.org/show_bug.cgi?id=192360
2609
2610         Reviewed by Carlos Garcia Campos.
2611
2612         * MiniBrowser/gtk/main.c:
2613         (aboutDataRequestFree):
2614         (aboutDataRequestNew):
2615
2616 2018-12-10  Tim Horton  <timothy_horton@apple.com>
2617
2618         WKWebView should support custom tintColor
2619         https://bugs.webkit.org/show_bug.cgi?id=192518
2620         <rdar://problem/37243261>
2621
2622         Reviewed by Wenson Hsieh.
2623
2624         * TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm:
2625         (TestWebKitAPI::TEST):
2626         Add a test that tintColor affects UITextInputTraits' interaction colors.
2627
2628 2018-12-09  Wenson Hsieh  <wenson_hsieh@apple.com>
2629
2630         [iOS] DragAndDropTests.RespectsExternalSourceFidelityRankings is flaky
2631         https://bugs.webkit.org/show_bug.cgi?id=192524
2632
2633         Reviewed by Ryosuke Niwa.
2634
2635         This test started failing on certain builds of iOS where UIKit now attempts to reveal the selection by scrolling
2636         (see <rdar://problem/28300343>). This API test simulates two drops from external sources, both from the point
2637         (300, 400) to (100, 300) in window coordinates. On these aforementioned builds of iOS, what happens is that the
2638         first drop inserts text that overflows the editable region by an enormous amount, which creates an extremely
2639         wide selection rect and increases the width of the document; revealing this selection causes the web view to
2640         scroll horizontally, such that the second attempt to simulate a drag from (300, 400) to (100, 300) fails, since
2641         these window coordinates no longer correspond to the drop destination element in the document.
2642
2643         To fix this test, we simply mark the drop destination as `overflow: hidden` to ensure that we don't try and
2644         scroll horizontally after the first drop.
2645
2646         * TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html:
2647
2648 2018-12-08  Daniel Bates  <dabates@apple.com>
2649
2650         Fix lldb_webkit.py following r238771
2651         (https://bugs.webkit.org/show_bug.cgi?id=190234)
2652
2653         Substitute WTFURLProvider for WebCoreURLProvider in one call site that was inadvertently
2654         missed in r238771.
2655
2656         * lldb/lldb_webkit.py:
2657         (WebCoreDocumentProvider.url):
2658
2659 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
2660
2661         [ews-build] check-patch-relevance failure should not mark the overall build as failure
2662         https://bugs.webkit.org/show_bug.cgi?id=192510
2663
2664         Reviewed by Lucas Forschler.
2665
2666         * BuildSlaveSupport/ews-build/steps.py:
2667         (CheckPatchRelevance.start):
2668
2669 2018-12-07  Chris Dumez  <cdumez@apple.com>
2670
2671         ProcessSwap.UseSessionCookiesAfterProcessSwapInPrivateBrowsing API test is failing
2672         https://bugs.webkit.org/show_bug.cgi?id=192362
2673         <rdar://problem/46460360>
2674
2675         Reviewed by Ryosuke Niwa.
2676
2677         Move the call to _setCookieAcceptPolicy *after* we've constructed a WKWebView and thus
2678         *after* we know for sure we have a network process to communicate the policy to.
2679         This should address the failures on iOS.
2680
2681         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2682
2683 2018-12-07  Jiewen Tan  <jiewen_tan@apple.com>
2684
2685         Add keychain access entitlement to WebKitTestRunnerApp
2686         https://bugs.webkit.org/show_bug.cgi?id=192489
2687         <rdar://problem/45057952>
2688
2689         Reviewed by Alexey Proskuryakov.
2690
2691         * WebKitTestRunner/Configurations/WebKitTestRunnerApp-iOS.entitlements:
2692
2693 2018-12-07  Saam Barati  <sbarati@apple.com>
2694
2695         WKWebProcessPlugInLoadDelegate should have API for saying which rendering events it wants to listen for
2696         https://bugs.webkit.org/show_bug.cgi?id=192473
2697
2698         Reviewed by Andy Estes.
2699
2700         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2701         * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgress.mm: Added.
2702         (-[DidFirstMeaningfulPaintRemoteObject didFirstMeaningfulPaint]):
2703         (TEST):
2704         * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressPlugIn.mm: Added.
2705         (-[RenderingProgressPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
2706         (-[RenderingProgressPlugIn webProcessPlugInBrowserContextControllerRenderingProgressEvents:]):
2707         (-[RenderingProgressPlugIn webProcessPlugInBrowserContextController:renderingProgressDidChange:]):
2708         * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressProtocol.h: Added.
2709
2710 2018-12-07  Jonathan Bedard  <jbedard@apple.com>
2711
2712         REGRESSION: run-webkit-tests may fail when using booted simulators (Follow-up fix)
2713         https://bugs.webkit.org/show_bug.cgi?id=192470
2714         <rdar://problem/46532001>
2715
2716         Unreviewed infrastructure fix.
2717
2718         * Scripts/webkitpy/port/device_port.py:
2719         (DevicePort.setup_test_run): Check that the number of initialized devices matches the
2720         number of child processes.
2721
2722 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
2723
2724         [ews-app] Send bug id as a build property
2725         https://bugs.webkit.org/show_bug.cgi?id=192494
2726
2727         Reviewed by Lucas Forschler.
2728
2729         * BuildSlaveSupport/ews-app/ews/fetcher.py:
2730         (BugzillaPatchFetcher.fetch):
2731
2732 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
2733
2734         [ews-build] Builds should have a link to patch and bug
2735         https://bugs.webkit.org/show_bug.cgi?id=192492
2736
2737         Reviewed by Lucas Forschler.
2738
2739         * BuildSlaveSupport/ews-build/steps.py:
2740         (ConfigureBuild.add_patch_id_url): Method to add Patch URL.
2741         (ConfigureBuild.add_bug_id_url): Method to add Bug URL.
2742         (ConfigureBuild.getPatchURL): Method to get Patch URL.
2743         (ConfigureBuild.getBugURL): Method to get Bug URL.
2744
2745 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
2746
2747         [ews-app] Configure logfile for ews-app logs
2748         https://bugs.webkit.org/show_bug.cgi?id=192493
2749
2750         Reviewed by Lucas Forschler.
2751
2752         * BuildSlaveSupport/ews-app/ews/__init__.py:
2753
2754 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
2755
2756         Style queue exception on some security bugs
2757         https://bugs.webkit.org/show_bug.cgi?id=190793
2758
2759         Reviewed by Lucas Forschler.
2760
2761         * Scripts/webkitpy/tool/steps/applywatchlist.py:
2762         (ApplyWatchList.run):
2763
2764 2018-12-07  Wenson Hsieh  <wenson_hsieh@apple.com>
2765
2766         [Attachment Support] Cloned attachment elements lose their unique identifiers
2767         https://bugs.webkit.org/show_bug.cgi?id=192483
2768
2769         Reviewed by Tim Horton.
2770
2771         Introduce a new API test.
2772
2773         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2774         (TestWebKitAPI::TEST):
2775
2776 2018-12-06  Jonathan Bedard  <jbedard@apple.com>
2777
2778         Consecutive DumpRenderTree crashes are happening again on WinCairo BuildBots since r238903
2779         https://bugs.webkit.org/show_bug.cgi?id=192486
2780
2781         Unreviewed infrastructure fix.
2782
2783         WinCairo bots define WEBKIT_TEST_CHILD_PROCESSES to run less processes due to RAM restrictions.
2784
2785         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2786         (_set_up_derived_options):
2787
2788 2018-12-06  David Kilzer  <ddkilzer@apple.com>
2789
2790         Injected bundle for WebKitTestRunner leaks WKTypeRef objects
2791         <https://webkit.org/b/192481>
2792         <rdar://problem/46539059>
2793
2794         Reviewed by Simon Fraser.
2795
2796         This patch:
2797         - Fixes leaks in various injected bundle methods that return +1
2798           retained WKTypeRef objects via pointer.
2799         - Asserts the returned object is the expected WKTypeRef.
2800         - Replaces 0 with nullptr in many places.
2801
2802         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2803         (WTR::InjectedBundle::didCreatePage):
2804         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2805         (WTR::TestRunner::shouldDumpPixels const):
2806         (WTR::TestRunner::whatToDump const):
2807         (WTR::TestRunner::shouldWaitUntilDone const):
2808         (WTR::TestRunner::shouldDumpFrameLoadCallbacks):
2809         (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
2810         (WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
2811         (WTR::TestRunner::secureEventInputIsEnabled const):
2812         (WTR::TestRunner::isStatisticsPrevalentResource):
2813         (WTR::TestRunner::isStatisticsVeryPrevalentResource):
2814         (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
2815         (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
2816         (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
2817         (WTR::TestRunner::isStatisticsHasHadUserInteraction):
2818         (WTR::TestRunner::isStatisticsGrandfathered):
2819         (WTR::TestRunner::statisticsProcessStatisticsAndDataRecords):
2820         (WTR::TestRunner::statisticsUpdateCookieBlocking):
2821         (WTR::TestRunner::statisticsSubmitTelemetry):
2822         (WTR::TestRunner::statisticsClearInMemoryAndPersistentStore):
2823         (WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval):
2824         (WTR::TestRunner::statisticsResetToConsistentState):
2825         (WTR::TestRunner::getAllStorageAccessEntries):
2826         (WTR::TestRunner::hasDOMCache):
2827         (WTR::TestRunner::domCacheSize):
2828         (WTR::TestRunner::injectUserScript):
2829         (WTR::TestRunner::keyExistsInKeychain):
2830
2831 2018-12-06  Jonathan Bedard  <jbedard@apple.com>
2832
2833         REGRESSION: run-webkit-tests may fail when using booted simulators
2834         https://bugs.webkit.org/show_bug.cgi?id=192470
2835         <rdar://problem/46532001>
2836
2837         Reviewed by Lucas Forschler.
2838
2839         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2840         (Manager.run): Logging uses the number of child processes to print out information about how efficiently tests
2841         were sharded after the fact. This number is the most meaningful if it is the maximum number of child processes used.
2842         * Scripts/webkitpy/port/base.py:
2843         (Port.max_child_processes): By default, Ports do not support running on any specific kind of device.
2844         * Scripts/webkitpy/port/device_port.py:
2845         (DevicePort.default_child_processes): Rather than using the currently initialized devices as a proxy for how many
2846         child processes are being used, check the device manager every time. Regardless of which devices are attached or
2847         available, iOS cannot boot watchOS devices and vice-versa. dedicated_simulators is not a known argument to
2848         device_count_for_type, use use_booted_simulator instead.
2849         (DevicePort.max_child_processes): Simulators can boot more devices than what is specified by device_count_for_type,
2850         but, if no devices are available, then max_child_processes should return 0 even for simulators.
2851         * Scripts/webkitpy/port/ios_device_unittest.py:
2852         (IOSDeviceTest):
2853         (IOSDeviceTest.test_max_child_processes):
2854         * Scripts/webkitpy/port/ios_simulator_unittest.py:
2855         (IOSSimulatorTest):
2856         (IOSSimulatorTest.test_max_child_processes):
2857         * Scripts/webkitpy/port/port_testcase.py:
2858         (PortTestCase):
2859         (PortTestCase.test_max_child_processes):
2860         * Scripts/webkitpy/port/watch_simulator_unittest.py:
2861         (WatchSimulatorTest):
2862         (WatchSimulatorTest.test_max_child_processes):
2863
2864 2018-12-06  Jonathan Bedard  <jbedard@apple.com>
2865
2866         webkitpy: Ignore case when comparing device types (Follow-up fix)
2867         https://bugs.webkit.org/show_bug.cgi?id=192409
2868         <rdar://problem/46491558>
2869
2870         Unreviewed typo fix.
2871
2872         * Scripts/webkitpy/xcode/device_type_unittest.py:
2873         (DeviceTypeTest.test_comparison_lower_case):
2874         (DeviceTypeTest.test_comparsion_lower_case): Deleted.
2875
2876 2018-12-06  Jonathan Bedard  <jbedard@apple.com>
2877
2878         webkitpy: Create device given lower-case DeviceType
2879         <https://bugs.webkit.org/show_bug.cgi?id=192472>
2880         <rdar://problem/46532650>
2881
2882         Reviewed by Lucas Forschler.
2883
2884         * Scripts/webkitpy/xcode/simulated_device.py:
2885         (SimulatedDeviceManager._get_device_identifier_for_type): Comparing simctl device identifiers with DeviceTypes
2886         should be letter-case agnostic.
2887         * Scripts/webkitpy/xcode/simulated_device_unittest.py:
2888         (test_lower_case_device_type):
2889
2890 2018-12-06  Wenson Hsieh  <wenson_hsieh@apple.com>
2891
2892         [iOS] WKWebView should match UITextView behavior when editing text with an RTL keyboard
2893         https://bugs.webkit.org/show_bug.cgi?id=187554
2894         <rdar://problem/42075638>
2895
2896         Reviewed by Tim Horton.
2897
2898         Add support for simulating the keyboard input mode in layout tests using UIScriptController, as well as a new
2899         `TestOption` to make the web view editable.
2900
2901         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
2902         (WTR::UIScriptController::setKeyboardInputModeIdentifier):
2903         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
2904         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2905         (WTR::UIScriptController::setKeyboardInputModeIdentifier):
2906         * TestRunnerShared/UIScriptContext/UIScriptController.h:
2907         * WebKitTestRunner/PlatformWebView.h:
2908         * WebKitTestRunner/TestController.cpp:
2909         (WTR::updateTestOptionsFromTestHeader):
2910         * WebKitTestRunner/TestController.h:
2911         (WTR::TestController::overriddenKeyboardInputMode const):
2912         * WebKitTestRunner/TestOptions.h:
2913         (WTR::TestOptions::hasSameInitializationOptions const):
2914         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2915         (WTR::TestController::platformCreateWebView):
2916         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
2917         (WTR::PlatformWebView::setEditable):
2918         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
2919         (WTR::PlatformWebView::setEditable):
2920         * WebKitTestRunner/ios/TestControllerIOS.mm:
2921         (WTR::TestController::platformResetStateToConsistentValues):
2922         (WTR::swizzleCurrentInputMode):
2923         (WTR::TestController::setKeyboardInputModeIdentifier):
2924
2925         Swizzle out several `UIKeyboardInputModeController` methods in order to convince UIKit that the user has
2926         selected a `UIKeyboardInputMode` corresponding to the given identifier. The call to
2927         `-prepareKeyboardInputModeFromPreferences:` is also necessary on iOS 12 in order to update cached writing
2928         direction state in UIKit.
2929
2930         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2931         (WTR::UIScriptController::setKeyboardInputModeIdentifier):
2932         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
2933         (WTR::PlatformWebView::setEditable):
2934         * WebKitTestRunner/win/PlatformWebViewWin.cpp:
2935         (WTR::PlatformWebView::setEditable):
2936         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
2937         (WTR::PlatformWebView::setEditable):
2938
2939 2018-12-05  Wenson Hsieh  <wenson_hsieh@apple.com>
2940
2941         [Cocoa] Share ClassMethodSwizzler and InstanceMethodSwizzler between TestWebKitAPI and WebKitTestRunner
2942         https://bugs.webkit.org/show_bug.cgi?id=192437
2943
2944         Reviewed by Tim Horton.
2945
2946         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2947         * TestRunnerShared/cocoa/ClassMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.h.
2948         * TestRunnerShared/cocoa/ClassMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.mm.
2949         (ClassMethodSwizzler::ClassMethodSwizzler):
2950         (ClassMethodSwizzler::~ClassMethodSwizzler):
2951         * TestRunnerShared/cocoa/InstanceMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.h.
2952         * TestRunnerShared/cocoa/InstanceMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.mm.
2953         (InstanceMethodSwizzler::InstanceMethodSwizzler):
2954         (InstanceMethodSwizzler::~InstanceMethodSwizzler):
2955
2956         Move these swizzling helper classes into TestRunnerShared.
2957
2958         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2959         * TestWebKitAPI/Tests/WebKitCocoa/LocalStorageClear.mm:
2960         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
2961         (safeBrowsingView):
2962         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDefaultNavigationDelegate.mm:
2963         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2964         (-[TestWKWebView initWithFrame:configuration:addToWindow:]):
2965
2966         Remove namespacing around ClassMethodSwizzler and InstanceMethodSwizzler in a few API tests.
2967
2968         * TestWebKitAPI/mac/TestFontOptions.mm:
2969         * WebKitTestRunner/TestController.h:
2970         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2971         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2972         (WTR::ClassMethodSwizzler::ClassMethodSwizzler): Deleted.
2973         (WTR::ClassMethodSwizzler::~ClassMethodSwizzler): Deleted.
2974
2975         Remove this duplicate implementation of ClassMethodSwizzler in WebKitTestRunner.
2976
2977 2018-12-05  Jonathan Bedard  <jbedard@apple.com>
2978
2979         webkitpy: Clean-up apple_additions
2980         https://bugs.webkit.org/show_bug.cgi?id=192413
2981         <rdar://problem/46493491>
2982
2983         Reviewed by Lucas Forschler.
2984
2985         After the addition of watchOS, some functions which were originally iOS specific were
2986         generalized to include all devices.
2987
2988         * Scripts/webkitpy/port/ios_device.py:
2989         (IOSDevicePort._driver_class): Replace iOS specific call with generalized device call.
2990         (IOSDevicePort.path_to_crash_logs): Ditto.
2991         (IOSDevicePort.clean_up_test_run): Ditto.
2992
2993 2018-12-05  Jonathan Bedard  <jbedard@apple.com>
2994
2995         webkitpy: Ignore case when comparing device types
2996         https://bugs.webkit.org/show_bug.cgi?id=192409
2997         <rdar://problem/46491558>
2998
2999         Reviewed by Lucas Forschler.
3000
3001         This allows DeviceTypes constructed with lowercase strings to correctly compare
3002         against DeviceTypes coming from the simulator runtime.
3003
3004         * Scripts/webkitpy/xcode/device_type.py:
3005         (DeviceType.__eq__):
3006         (DeviceType.__contains__):
3007         * Scripts/webkitpy/xcode/device_type_unittest.py:
3008         (DeviceTypeTest):
3009         (DeviceTypeTest.test_comparsion_lower_case):
3010
3011 2018-12-05  Jonathan Bedard  <jbedard@apple.com>
3012
3013         webkitpy: Sort tests by associated device type
3014         https://bugs.webkit.org/show_bug.cgi?id=192161
3015         <rdar://problem/46345392>
3016
3017         Reviewed by Lucas Forschler.
3018
3019         Sort tests by device type and make an effort to run each specified device type.
3020         Do not run tests if their specified device is not available.
3021
3022         * Scripts/webkitpy/common/system/platforminfo.py:
3023         (PlatformInfo.is_watchos): Add watchos bits to platform info.
3024         (PlatformInfo._determine_os_name): Ditto.
3025         * Scripts/webkitpy/layout_tests/controllers/manager.py:
3026         (Manager.run): Assign each test a device type. Then, generate a list of
3027         device types to sequentially iterate through. Note that a test will run
3028         on the first device which matches.
3029         (Manager._end_test_run): Handle the case where no devices are available and no
3030         tests are run.
3031         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3032         (_set_up_derived_options): Manage child processes in manager.
3033         * Scripts/webkitpy/port/base.py:
3034         (Port):
3035         (Port.default_child_processes): Accept additional arguments.
3036         (Port.max_child_processes): Add upper limit for number of child processes.
3037         * Scripts/webkitpy/port/device_port.py:
3038         (DevicePort):
3039         (DevicePort._device_type_with_version): Adds version to the DeviceType.
3040         (DevicePort.default_child_processes): Allows default_child_processes to be
3041         attached to a device type.
3042         (DevicePort.max_child_processes): Add upper limit to the maximum number of child processes.
3043         (DevicePort.setup_test_run): Use _device_type_with_version.
3044         * Scripts/webkitpy/port/ios_device.py:
3045         (IOSDevicePort):
3046         (IOSDevicePort.default_child_processes): Deleted.
3047         * Scripts/webkitpy/port/ios_simulator.py:
3048         (IOSSimulatorPort.default_child_processes): Deleted.
3049         (IOSSimulatorPort.check_sys_deps): Deleted.
3050         * Scripts/webkitpy/port/mac.py:
3051         (MacPort.default_child_processes): Accept additional arguments.
3052         * Scripts/webkitpy/port/test.py:
3053         * Scripts/webkitpy/port/watch_device.py:
3054         (WatchDevicePort):
3055         (WatchDevicePort.default_child_processes): Deleted.
3056         * Scripts/webkitpy/port/watch_simulator.py:
3057         (WatchSimulatorPort.default_child_processes): Deleted.
3058         (WatchSimulatorPort.check_sys_deps): Deleted.
3059         * Scripts/webkitpy/xcode/simulated_device.py:
3060         (SimulatedDeviceManager):
3061         (SimulatedDeviceManager.device_count_for_type): Count the number of devices
3062         available for a specific device type.
3063
3064 2018-12-05  Devin Rousso  <drousso@apple.com>
3065
3066         Unreviewed, add myself to some watch lists.
3067
3068         * Scripts/webkitpy/common/config/watchlist:
3069
3070 2018-12-05  Alicia Boya García  <aboya@igalia.com>
3071
3072         [MSE][GStreamer] Remove the AppendPipeline state machine
3073         https://bugs.webkit.org/show_bug.cgi?id=192204
3074
3075         Reviewed by Xabier Rodriguez-Calvar.
3076
3077         Updated AbortableTaskQueue tests:
3078
3079         Added test: AbortedBySyncTaskHandler.
3080
3081         Renamed test: AbortDuringSyncTask -> AbortBeforeSyncTaskRun (in
3082         order to avoid confusion with the new test).
3083
3084         Added checks for the correct destruction of response objects.
3085
3086         * TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
3087         (TestWebKitAPI::FancyResponse::FancyResponse):
3088         (TestWebKitAPI::FancyResponse::~FancyResponse):
3089         (TestWebKitAPI::TEST):
3090
3091 2018-12-04  Chris Dumez  <cdumez@apple.com>
3092
3093         ProcessSwap.UseSessionCookiesAfterProcessSwapInPrivateBrowsing API test is failing
3094         https://bugs.webkit.org/show_bug.cgi?id=192362
3095
3096         Reviewed by Alex Christensen.
3097
3098         Set the cookie policy to Accept to make sure the cookies are saved.
3099
3100         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3101
3102 2018-12-04  Michael Catanzaro  <mcatanzaro@igalia.com>
3103
3104         [WPE][GTK] Update GLib
3105         https://bugs.webkit.org/show_bug.cgi?id=191222
3106
3107         Reviewed by Žan Doberšek.
3108
3109         When I try running API tests locally, they crash with:
3110
3111         GLib-GIO-WARNING **: unknown schema extension 'd'
3112
3113         We need to update our old glib to support the 'd' value type, otherwise schemas that may
3114         exist on the host using this type will cause instant crashes.
3115
3116         Also, switch the GLib build to use meson. This requires updating meson as well.
3117
3118         * gtk/jhbuild.modules:
3119         * gtk/patches/glib-cast-function-type.patch: Removed.
3120         * gtk/patches/glib-gtester-do-not-consider-skipped-tests-as-failures.patch: Removed.
3121         * wpe/jhbuild.modules:
3122         * wpe/patches/glib-cast-function-type.patch: Removed.
3123         * wpe/patches/glib-revert-wakeup-changes.patch: Removed.
3124
3125 2018-12-04  Aakash Jain  <aakash_jain@apple.com>
3126
3127         [ews-app] Run BugzillaPatchFetcher periodically
3128         https://bugs.webkit.org/show_bug.cgi?id=192241
3129
3130         Reviewed by Lucas Forschler.
3131
3132         * BuildSlaveSupport/ews-app/ews/__init__.py:
3133         * BuildSlaveSupport/ews-app/ews/apps.py:
3134         (EwsConfig.ready): This method is called by Django on startup.
3135         * BuildSlaveSupport/ews-app/ews/fetcher.py:
3136         (FetchLoop): Class which invokes BugzillaPatchFetcher every 60s.
3137
3138 2018-12-04  Jonathan Bedard  <jbedard@apple.com>
3139
3140         webkitpy: Support unicode in MeteredStream
3141         https://bugs.webkit.org/show_bug.cgi?id=192260
3142
3143         Reviewed by Aakash Jain.
3144
3145         It's possible that the test runner returns unicode characters to be logged when
3146         running layout tests.
3147
3148         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
3149         (MeteredStream.write): Print message without attempting to encode/decode it.
3150         * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
3151         (RegularTest.test_unicode):
3152
3153 2018-12-04  Keith Rollin  <krollin@apple.com>
3154
3155         Update scripts for generating .xcfilelist files
3156         https://bugs.webkit.org/show_bug.cgi?id=192081
3157         <rdar://problem/46312290>
3158
3159         Reviewed by Brent Fulgham.
3160
3161         The initial pass at generate-xcfilelists (a script for
3162         creating/updating the .xcfilelist files needed for various Generate
3163         Foo Source build phases in Xcode) only generated the .xcfilelist files
3164         that held the output files; it did not generate the list of input
3165         files. As well, for the sources generated by DerivedSources.make
3166         makefiles, the script accomplished this via the implementation of a
3167         convention in the makefile that allowed the printing of these output
3168         files when invoked with the 'print_all_generated_files' target. Use of
3169         this convention is inconvenient and error-prone.
3170
3171         The script is now updated to address both of these issues. First, it
3172         generates for the input and output sets of files. Second, it does away
3173         with the convention in the DerivedSources.make makefiles and instead
3174         works from the dependency output information printed when `make` is
3175         invoked with --debug. This second part is implemented in the new
3176         script extract-dependencies-from-makefile.
3177
3178         * Scripts/extract-dependencies-from-makefile: Added.
3179         (Parser):
3180         (Parser.__init__):
3181         (Parser.nextLine):
3182         (Parser.addTarget):
3183         (Parser.addPrereq):
3184         (Parser.doParse):
3185         (Parser.printInputs):
3186         (Parser.printOutputs):
3187         (parseArgs):
3188         (main):
3189         * Scripts/generate-xcfilelists:
3190
3191 2018-12-04  Carlos Eduardo Ramalho  <cadubentzen@gmail.com>
3192
3193         [WPE] Add gtk-doc
3194         https://bugs.webkit.org/show_bug.cgi?id=178900
3195
3196         Reviewed by Michael Catanzaro.
3197
3198         Add gtk-doc to WPE port. This patch tries to reuse as much code from
3199         WebKitGTK+ as possible.
3200
3201         * gtkdoc/generate-gtkdoc: Renamed from Tools/gtk/generate-gtkdoc.
3202         (get_gtkdoc_module_paths): Add GDK and GTK only if building for GTK.
3203         (prepare_environment_for_gtkdoc_generation):
3204         (build_gtkdoc_for_wpe): Code to generate doc for WPE.
3205         (build_gtkdoc_for_wkgtk): Code to generate doc for WebKitGTK+. Moved from main.
3206         * gtkdoc/gtkdoc.py: Renamed from Tools/gtk/gtkdoc.py.
3207         (GTKDoc.__init__): Initialized required variables according to pylint.
3208         (GTKDoc.api_missing_documentation):
3209         * wpe/install-dependencies: Add gtkdoc dependency.
3210
3211 2018-12-04  Carlos Garcia Campos  <cgarcia@igalia.com>
3212
3213         [SOUP] Move URLSoup back to WebCore after r238771
3214         https://bugs.webkit.org/show_bug.cgi?id=192306
3215
3216         Reviewed by Michael Catanzaro.
3217
3218         Include GUniquePtrSoup from WebCore again.
3219
3220         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
3221
3222 2018-12-03  Carlos Garcia Campos  <cgarcia@igalia.com>
3223
3224         [GTK] Bump freetype, fontconfig, harfbuzz, cairo and icu in jhbuild
3225         https://bugs.webkit.org/show_bug.cgi?id=192310
3226
3227         Reviewed by Michael Catanzaro.
3228
3229         Update those dependencies to their latest stable versions.
3230
3231         * gtk/jhbuild.modules:
3232
3233 2018-12-03  Tomas Popela  <tpopela@redhat.com>
3234
3235         [GTK] Can't run MiniBrowser due to missing python2-yaml
3236         https://bugs.webkit.org/show_bug.cgi?id=192308
3237
3238         Reviewed by Michael Catanzaro.
3239
3240         * gtk/install-dependencies:
3241
3242 2018-12-03  Chris Dumez  <cdumez@apple.com>
3243
3244         Regression(PSON) Google OAuth is broken in private sessions
3245         https://bugs.webkit.org/show_bug.cgi?id=192337
3246         <rdar://problem/46353558>
3247
3248         Reviewed by Alex Christensen.
3249
3250         Add API test coverage.
3251
3252         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3253         * TestWebKitAPI/Tests/WebKitCocoa/GetSessionCookie.html: Added.
3254         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3255         * TestWebKitAPI/Tests/WebKitCocoa/SetSessionCookie.html: Added.
3256
3257 2018-12-03  Chris Dumez  <cdumez@apple.com>
3258
3259         [PSON] Request by the client to process-swap is ignored if the window has an opener
3260         https://bugs.webkit.org/show_bug.cgi?id=192267
3261         <rdar://problem/46386886>
3262
3263         Reviewed by Brady Eidson.
3264
3265         Add API test coverage.
3266
3267         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3268
3269 2018-12-03  Keith Rollin  <krollin@apple.com>
3270
3271         Add .xcfilelist files
3272         https://bugs.webkit.org/show_bug.cgi?id=192082
3273         <rdar://problem/46312533>
3274
3275         Reviewed by Brent Fulgham.
3276
3277         Add .xcfilelist files for Generate Derived Sources and Generate
3278         Unified Sources build phases in Xcode. These are just being staged for
3279         now; they'll be added to the Xcode projects later.
3280
3281         * DumpRenderTree/DerivedSources-input.xcfilelist: Added.
3282         * DumpRenderTree/DerivedSources-output.xcfilelist: Added.
3283         * WebKitTestRunner/DerivedSources-input.xcfilelist: Added.
3284         * WebKitTestRunner/DerivedSources-output.xcfilelist: Added.
3285
3286 2018-12-03  Alex Christensen  <achristensen@webkit.org>
3287
3288         Add WKWebProcessPlugInLoadDelegate SPI willStartProvisionalLoadForFrame with a completion handler
3289         https://bugs.webkit.org/show_bug.cgi?id=192272
3290
3291         Reviewed by Brady Eidson.
3292
3293         * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm:
3294         (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]):
3295         (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]):
3296
3297 2018-12-03  Wenson Hsieh  <wenson_hsieh@apple.com>
3298
3299         [iOSMac] Unable to upload non-image files using drag and drop in WKWebView
3300         https://bugs.webkit.org/show_bug.cgi?id=192283
3301         <rdar://problem/46399461>
3302
3303         Reviewed by Ryosuke Niwa.
3304
3305         Add a new API test to check that an item provider which contains plain text data and a file URL (but is not
3306         marked as an attachment) is still treated as an attachment upon drop. Furthermore, verify that "text/uri-list"
3307         does not expose the actual file URL written to the item provider.
3308
3309         Additionally, rebaseline an existing API test to remove an extraneous "text/uri-list" type that appears in
3310         `DataTransfer.types`, but whose data is inaccessible via `getData` anyways.
3311
3312         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
3313
3314 2018-12-01  Don Olmstead  <don.olmstead@sony.com>
3315
3316         Cleanup WebKit Features
3317         https://bugs.webkit.org/show_bug.cgi?id=192262
3318
3319         Reviewed by Michael Catanzaro.
3320
3321         Removes obsolete ENABLE options and variable names. Syncs the option's
3322         descriptions with what is present in WebKitFeatures.cmake. Sorts the
3323         options based on the associated define.
3324
3325         * Scripts/webkitperl/FeatureList.pm:
3326
3327 2018-12-01  Chris Dumez  <cdumez@apple.com>
3328
3329         [PSON] process-swapping may occur even though opener has handle to openee
3330         https://bugs.webkit.org/show_bug.cgi?id=192277
3331
3332         Reviewed by Antti Koivisto.
3333
3334         Add API test coverage.
3335
3336         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3337
3338 2018-12-01  Jonathan Bedard  <jbedard@apple.com>
3339
3340         Unreviewed, rolling out r238764.
3341
3342         Breaks existing layout tests
3343
3344         Reverted changeset:
3345
3346         "webkitpy: Support unicode in MeteredStream"
3347         https://bugs.webkit.org/show_bug.cgi?id=192260
3348         https://trac.webkit.org/changeset/238764
3349
3350 2018-12-01  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
3351
3352         Move URL tests from TestWebKitAPI to TestWTF
3353         https://bugs.webkit.org/show_bug.cgi?id=192275
3354
3355         Reviewed by Keith Miller.
3356
3357         Since URL is moved from WebCore to WTF, we also move tests for them from TestWebKitAPI (TestWebCore) to TestWTF.
3358         But we still have some tests in TestWebCore since only WebCore implements TextEncoding. That part is now decoupled
3359         from URLParser tests and new URLParserTextEncoding.cpp is created.
3360
3361         * TestWebKitAPI/CMakeLists.txt:
3362         * TestWebKitAPI/PlatformGTK.cmake:
3363         * TestWebKitAPI/PlatformWPE.cmake:
3364         * TestWebKitAPI/PlatformWin.cmake:
3365         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3366         * TestWebKitAPI/Tests/WTF/URL.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URL.cpp.
3367         (TestWebKitAPI::TEST_F):
3368         * TestWebKitAPI/Tests/WTF/URLParser.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp.
3369         (TestWebKitAPI::TEST_F):
3370         * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm.
3371         (TestWebKitAPI::TEST):
3372         * TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp: Added.
3373         (TestWebKitAPI::ExpectedParts::isInvalid const):
3374         (TestWebKitAPI::eq):
3375         (TestWebKitAPI::insertTabAtLocation):
3376         (TestWebKitAPI::invalidParts):
3377         (TestWebKitAPI::checkURL):
3378         (TestWebKitAPI::TEST_F):
3379
3380 2018-11-30  Zalan Bujtas  <zalan@apple.com>
3381
3382         Unreviewed LFC passing test list update.
3383
3384         * LayoutReloaded/misc/LFC-passing-tests.txt:
3385
3386 2018-11-30  Alex Christensen  <achristensen@webkit.org>
3387
3388         Move URL from WebCore to WTF
3389         https://bugs.webkit.org/show_bug.cgi?id=190234
3390
3391         Reviewed by Keith Miller.
3392
3393         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
3394         * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
3395         * TestWebKitAPI/Tests/WebCore/URL.cpp:
3396         (TestWebKitAPI::createURL):
3397         (TestWebKitAPI::TEST_F):
3398         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
3399         (TestWebKitAPI::checkURL):
3400         (TestWebKitAPI::checkRelativeURL):
3401         (TestWebKitAPI::checkURLDifferences):
3402         (TestWebKitAPI::checkRelativeURLDifferences):
3403         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
3404         * TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:
3405         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
3406         (TestWebKitAPI::originalDataAsString):
3407         (TestWebKitAPI::userVisibleString):
3408         (TestWebKitAPI::literalURL):
3409         (TestWebKitAPI::TEST):
3410         * TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
3411         (TEST):
3412         * TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:
3413         (literalURL):
3414         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
3415         * TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm:
3416         (-[LoadInvalidURLWebFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
3417         * TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm:
3418         * TestWebKitAPI/win/PlatformUtilitiesWin.cpp:
3419         (TestWebKitAPI::Util::createURLForResource):
3420         * lldb/lldb_webkit.py:
3421         (__lldb_init_module):
3422         (WTFURL_SummaryProvider):
3423         (WTFURLProvider):
3424         (WebCoreURL_SummaryProvider): Deleted.
3425         (WebCoreURLProvider): Deleted.
3426         (WebCoreURLProvider.__init__): Deleted.
3427         (WebCoreURLProvider.to_string): Deleted.
3428
3429 2018-11-30  Jonathan Bedard  <jbedard@apple.com>
3430
3431         webkitpy: Support unicode in MeteredStream
3432         https://bugs.webkit.org/show_bug.cgi?id=192260
3433
3434         Reviewed by Stephanie Lewis.
3435
3436         It's possible that the test runner returns unicode characters to be logged when
3437         running layout tests.
3438
3439         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
3440         (MeteredStream.write): Message written to metered stream should be unicode.
3441         * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
3442         (RegularTest.test_unicode):
3443
3444 2018-11-30  Jonathan Bedard  <jbedard@apple.com>
3445
3446         REGRESSION (r238749): run-api-tests dies with AttributeError: 'IOSSimulatorPort' object has no attribute 'DEFAULT_DEVICE_CLASS'
3447         https://bugs.webkit.org/show_bug.cgi?id=192257
3448         <rdar://problem/46384671>
3449
3450         Reviewed by Stephanie Lewis.
3451
3452         Follow-up fix for r238749.
3453
3454         * Scripts/webkitpy/api_tests/manager.py:
3455         (Manager._initialize_devices): Use DEFAULT_DEVICE_TYPE instead of DEFAULT_DEVICE_CLASS.
3456
3457 2018-11-30  Chris Dumez  <cdumez@apple.com>
3458
3459         [PSON] We are sometimes swapping processes even though there is an opened window with an opener link to us
3460         https://bugs.webkit.org/show_bug.cgi?id=192242
3461
3462         Reviewed by Geoffrey Garen.
3463
3464         Add API test coverage.
3465
3466         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3467
3468 2018-11-30  Don Olmstead  <don.olmstead@sony.com>
3469
3470         Rename ENABLE_SUBTLE_CRYPTO to ENABLE_WEB_CRYPTO
3471         https://bugs.webkit.org/show_bug.cgi?id=192197
3472
3473         Reviewed by Jiewen Tan.
3474
3475         * Scripts/webkitperl/FeatureList.pm:
3476         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3477
3478 2018-11-30  Dean Jackson  <dino@apple.com>
3479
3480         Add first-class support for .mjs files in jsc binary
3481         https://bugs.webkit.org/show_bug.cgi?id=192190
3482         <rdar://problem/46375715>
3483
3484         Reviewed by Keith Miller.
3485
3486         Add .mjs files to the regexp looking for all JS files.
3487
3488         * Scripts/run-jsc-stress-tests:
3489
3490 2018-11-30  Jonathan Bedard  <jbedard@apple.com>
3491
3492         webkitpy: Use DeviceType instead of str to represent device class
3493         https://bugs.webkit.org/show_bug.cgi?id=192160
3494         <rdar://problem/46344845>
3495
3496         Rubber-stamped by Aakash Jain.
3497
3498         * Scripts/webkitpy/layout_tests/controllers/manager.py:
3499         (Manager._custom_device_for_test): Use DeviceTypes instead of strings to represent device type.
3500         (Manager._set_up_run): Do not set _options.device_class, use device_type instead of device_class.
3501         (Manager.run): Use device_type instead of device_class.
3502         (Manager._print_expectations_for_subset): Ditto.
3503         (Manager.print_expectations): Ditto.
3504         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
3505         (ManagerTest.test_uses_custom_device): Use DeviceType and actual device definition.
3506         * Scripts/webkitpy/layout_tests/views/printing.py:
3507         (Printer.print_workers_and_shards): Outputting the device suffix doesn't really help, and means
3508         device type needs to be passed around.
3509         * Scripts/webkitpy/port/apple.py:
3510         (ApplePort.setup_test_run): Use device_type instead of device_class.
3511         * Scripts/webkitpy/port/base.py:
3512         (Port):
3513         (Port.setup_test_run): Use device_type instead of device_class.
3514         * Scripts/webkitpy/port/device_port.py:
3515         (DevicePort):
3516         (DevicePort.setup_test_run): Receive device_type as DeviceType object.
3517         (DevicePort._create_devices): Deleted.
3518         * Scripts/webkitpy/port/gtk.py:
3519         (GtkPort.setup_test_run): Use device_type instead of device_class.
3520         * Scripts/webkitpy/port/ios.py:
3521         (IOSPort):
3522         * Scripts/webkitpy/port/ios_simulator.py:
3523         (IOSSimulatorPort):
3524         (IOSSimulatorPort.__init__): Deleted.
3525         (IOSSimulatorPort._set_device_class): Deleted.
3526         * Scripts/webkitpy/port/test.py:
3527         * Scripts/webkitpy/port/watch.py:
3528         (WatchPort):
3529         * Scripts/webkitpy/port/watch_simulator.py:
3530         (WatchSimulatorPort):
3531         (WatchSimulatorPort.__init__): Deleted.
3532         (WatchSimulatorPort._set_device_class): Deleted.
3533         * Scripts/webkitpy/port/win.py:
3534         (WinPort.setup_test_run): Use device_type instead of device_class.
3535         * Scripts/webkitpy/xcode/simulated_device.py:
3536         (SimulatedDeviceManager._disambiguate_device_type): Using the existing devices for this is
3537         a problem if no such device exists yet. Use the _device_identifier_to_name dictionary instead
3538         since this should have hardware types in the device names.
3539
3540 2018-11-30  David Quesada  <david_quesada@apple.com>
3541
3542         -[WKProcessPool _downloadURLRequest:] should allow specifying the initiating web view
3543         https://bugs.webkit.org/show_bug.cgi?id=192212
3544         rdar://problem/46363706
3545
3546         Reviewed by Alex Christensen.
3547
3548         * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
3549         (-[DownloadProgressTestRunner startDownload:expectedLength:]):
3550
3551 2018-11-30  Zalan Bujtas  <zalan@apple.com>
3552
3553         [LFC][BFC] Compute min/maxHeight margins only when they are needed.
3554         https://bugs.webkit.org/show_bug.cgi?id=192223
3555
3556         Reviewed by Antti Koivisto.
3557
3558         * LayoutReloaded/misc/LFC-passing-tests.txt:
3559
3560 2018-11-30  Zalan Bujtas  <zalan@apple.com>
3561
3562         [LFC][BFC][MarginCollapsing] Do not use computed display box values for border and padding
3563         https://bugs.webkit.org/show_bug.cgi?id=192214
3564
3565         Reviewed by Antti Koivisto.
3566
3567         * LayoutReloaded/misc/LFC-passing-tests.txt:
3568
3569 2018-11-30  Thibault Saunier  <tsaunier@igalia.com>
3570
3571         [GTK][MiniBrowser] Handle Device Info permission requests
3572         https://bugs.webkit.org/show_bug.cgi?id=191585
3573
3574         Reviewed by Carlos Garcia Campos.
3575
3576         * MiniBrowser/gtk/BrowserTab.c:
3577         (permissionRequestDataNew):
3578         (permissionRequestDataFree):
3579         (permissionRequestDialogResponse):
3580         (decidePermissionRequest):
3581         (browserTabConstructed):
3582
3583 2018-11-30  Carlos Garcia Campos  <cgarcia@igalia.com>
3584
3585         Unreviewed GTK+ gardening. Stop running tests without complex text enforced
3586
3587         We have enforced complex text in GTK+ for one release cycle without noticing any major issue nor performance
3588         regression.
3589
3590         * WebKitTestRunner/gtk/main.cpp:
3591         (main):
3592
3593 2018-11-29  Wenson Hsieh  <wenson_hsieh@apple.com>
3594
3595         REGRESSION (r238635): Dragging a text selection within WKWebView causes the selection highlight to get into a bad state
3596         https://bugs.webkit.org/show_bug.cgi?id=192165
3597         <rdar://problem/46346682>
3598
3599         Reviewed by Daniel Bates.
3600
3601         Fixes 11 API tests that started failing or timing out after r238635. See below for more details.
3602
3603         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
3604         (TestWebKitAPI::webViewForEditActionTesting):
3605         (TestWebKitAPI::webViewForEditActionTestingWithPageNamed):
3606
3607         Ensure that the web view becomes first responder before executing edit actions.
3608
3609         * TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html:
3610         * TestWebKitAPI/Tests/WebKitCocoa/contenteditable-and-textarea.html:
3611
3612         Tweak these tests to allow selected content to overflow the width of the web view. Without this change,
3613         ContentEditableToContentEditable and ContentEditableToTextarea will sometimes fail because the content causes
3614         the body to scroll horizontally, so we miss the drop destination.
3615
3616         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
3617         (loadTestPageAndEnsureInputSession):
3618
3619         Add a new helper to load a test page with a given name, become first responder, and wait until an input session
3620         starts. Use this in various drag and drop tests to reduce code duplication.
3621
3622         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
3623         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
3624         (-[DragAndDropSimulator initWithWebView:]):
3625         (-[DragAndDropSimulator _resetSimulatedState]):
3626         (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
3627         (-[DragAndDropSimulator _advanceProgress]):
3628
3629         To more accurately emulate UIKit behavior, begin focus preservation when starting a drag, and attempt to clear
3630         the focus preservation token when the drag session ends. This allows us to simulate and test the scenario that
3631         regressed with r238635.
3632
3633         (-[DragAndDropSimulator ensureInputSession]):
3634         (-[DragAndDropSimulator _webView:didStartInputSession:]):
3635         (-[DragAndDropSimulator waitForInputSession]): Deleted.
3636
3637         Refactored into -ensureInputSession. Instead of assuming that an input session has not yet been started, simply
3638         wait for an input session to start if needed.
3639
3640         * TestWebKitAPI/ios/UIKitSPI.h:
3641
3642         Add a new SPI declaration.
3643
3644 2018-11-29  Tim Horton  <timothy_horton@apple.com>
3645
3646         Inform clients when editable image attachment backing data changes
3647         https://bugs.webkit.org/show_bug.cgi?id=192206
3648         <rdar://problem/46350277>
3649
3650         Reviewed by Wenson Hsieh.
3651
3652         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3653         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3654         (-[AttachmentUpdateObserver init]):
3655         (-[AttachmentUpdateObserver dataInvalidated]):
3656         (-[AttachmentUpdateObserver _webView:didInvalidateDataForAttachment:]):
3657         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentInvalidation):
3658         (webViewForTestingAttachments):
3659         (TestWebKitAPI::forEachViewInHierarchy):
3660         (TestWebKitAPI::findEditableImageCanvas):
3661         (TestWebKitAPI::drawSquareInEditableImage):
3662         (TestWebKitAPI::TEST):
3663         * TestWebKitAPI/ios/PencilKitTestSPI.h: Added.
3664         Add a test ensuring that we get an invalidation callback when an editable image is changed.
3665
3666 2018-11-29  Fujii Hironori  <Hironori.Fujii@sony.com>
3667
3668         REGRESSION(r238445)[Buildbot] Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk'
3669         https://bugs.webkit.org/show_bug.cgi?id=192143
3670
3671         Reviewed by Philippe Normand.
3672
3673         Buildbot can't start since r238445.
3674
3675         > Configuration Errors:
3676         >   Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk'
3677         >   Unknown builder 'GTK Linux ARM Release' in scheduler 'trunk'
3678
3679         * BuildSlaveSupport/build.webkit.org-config/config.json: Removed deprecated builders.
3680
3681 2018-11-29  David Quesada  <david_quesada@apple.com>
3682
3683         Add SPI to publish NSProgress on active downloads
3684         https://bugs.webkit.org/show_bug.cgi?id=192021
3685         rdar://problem/44405661
3686
3687         Reviewed by Alex Christensen.
3688
3689         Add API tests to exercise the progress-publishing functionality in a variety of scenarios.
3690
3691         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3692         * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm: Added.
3693         (+[DownloadProgressTestProtocol registerProtocolForTestRunner:]):
3694         (+[DownloadProgressTestProtocol unregisterProtocol]):
3695         (+[DownloadProgressTestProtocol canInitWithRequest:]):
3696         (+[DownloadProgressTestProtocol canonicalRequestForRequest:]):
3697         (+[DownloadProgressTestProtocol requestIsCacheEquivalent:toRequest:]):
3698         (-[DownloadProgressTestProtocol startLoading]):
3699         (-[DownloadProgressTestProtocol stopLoading]):
3700         (-[DownloadProgressTestRunner init]):
3701         (-[DownloadProgressTestRunner startLoadingWithProtocol:]):
3702         (-[DownloadProgressTestRunner tearDown]):
3703         (-[DownloadProgressTestRunner _didGetProgress:]):
3704         (-[DownloadProgressTestRunner _didLoseProgress]):
3705         (-[DownloadProgressTestRunner subscribeAndWaitForProgress]):
3706         (-[DownloadProgressTestRunner waitToLoseProgress]):
3707         (-[DownloadProgressTestRunner startDownload:expectedLength:]):
3708         (-[DownloadProgressTestRunner publishProgress]):
3709         (-[DownloadProgressTestRunner receiveData:]):
3710         (-[DownloadProgressTestRunner finishDownloadTask]):
3711         (-[DownloadProgressTestRunner failDownloadTask]):
3712         (-[DownloadProgressTestRunner waitForDownloadDidCreateDestination]):
3713         (-[DownloadProgressTestRunner waitForDownloadFinished]):
3714         (-[DownloadProgressTestRunner waitForDownloadCanceled]):
3715         (-[DownloadProgressTestRunner waitForDownloadFailed]):
3716         (-[DownloadProgressTestRunner waitForUpdatedCompletedUnitCount]):
3717         (-[DownloadProgressTestRunner observeValueForKeyPath:ofObject:change:context:]):
3718         (-[DownloadProgressTestRunner webView:decidePolicyForNavigationResponse:decisionHandler:]):
3719         (-[DownloadProgressTestRunner webView:decidePolicyForNavigationAction:decisionHandler:]):
3720         (-[DownloadProgressTestRunner _downloadDidStart:]):
3721         (-[DownloadProgressTestRunner _download:didCreateDestination:]):
3722         (-[DownloadProgressTestRunner _downloadDidFinish:]):
3723         (-[DownloadProgressTestRunner _downloadDidCancel:]):
3724         (-[DownloadProgressTestRunner _download:didFailWithError:]):
3725         (-[DownloadProgressTestRunner _download:decideDestinationWithSuggestedFilename:completionHandler:]):
3726         (TEST):
3727
3728 2018-11-29  Alexey Proskuryakov  <ap@apple.com>
3729
3730         Exception in bot watcher's dashboard if a hidden platform in no longer configured for display
3731         https://bugs.webkit.org/show_bug.cgi?id=185527
3732
3733         Reviewed by Aakash Jain.
3734
3735         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
3736         (updateHiddenPlatforms):
3737
3738 2018-11-29  Zalan Bujtas  <zalan@apple.com>
3739
3740         [LFC][BFC][Quirk] Body and html height stretching.
3741         https://bugs.webkit.org/show_bug.cgi?id=192154
3742
3743         Reviewed by Antti Koivisto.
3744
3745         * LayoutReloaded/misc/LFC-passing-tests.txt:
3746
3747 2018-11-29  Jonathan Bedard  <jbedard@apple.com>
3748
3749         webkitpy: Unify device creation
3750         https://bugs.webkit.org/show_bug.cgi?id=192158
3751         <rdar://problem/46344757>
3752
3753         Reviewed by Lucas Forschler.
3754
3755         * Scripts/webkitpy/port/device_port.py:
3756         (DevicePort):
3757         (DevicePort.setup_test_run): Use DEVICE_MANAGER to create devices based on the specified device class.
3758         * Scripts/webkitpy/port/ios.py:
3759         (IOSPort): Add DEFAULT_DEVICE_CLASS.
3760         * Scripts/webkitpy/port/ios_device.py:
3761         (IOSDevicePort):
3762         (IOSDevicePort._create_devices): Deleted.
3763         * Scripts/webkitpy/port/ios_simulator.py:
3764         (IOSSimulatorPort._create_devices): Deleted.
3765         * Scripts/webkitpy/port/watch.py:
3766         (WatchPort): Add DEFAULT_DEVICE_CLASS.
3767         * Scripts/webkitpy/port/watch_device.py:
3768         (WatchDevicePort):
3769         (WatchDevicePort._create_devices): Deleted.
3770         * Scripts/webkitpy/port/watch_simulator.py:
3771         (WatchSimulatorPort._create_devices): Deleted.
3772         * Scripts/webkitpy/xcode/device_type_unittest.py:
3773         (DeviceTypeTest.test_from_string): Test that DeviceTypes without hardware types can be constructed
3774         from strings.
3775
3776 2018-11-29  Jonathan Bedard  <jbedard@apple.com>
3777
3778         EWS iOS-sim bots sometimes fails to shutdown simulator
3779         https://bugs.webkit.org/show_bug.cgi?id=191864
3780
3781         Reviewed by Aakash Jain.
3782
3783         * Scripts/webkitpy/xcode/simulated_device.py:
3784         (SimulatedDevice._shut_down): Increase time to wait for simulated device to
3785         shut down, ignore exit code indicating a device is already shut down.
3786
3787 2018-11-29  Jonathan Bedard  <jbedard@apple.com>
3788
3789         webkitpy: Unify ios_version/watchos_version code
3790         https://bugs.webkit.org/show_bug.cgi?id=192153
3791         <rdar://problem/46343642>
3792
3793         Reviewed by Lucas Forschler.
3794
3795         Treating watchOS and iOS versions differently makes it harder to share code between the similar ports.
3796
3797         * Scripts/webkitpy/port/device_port.py:
3798         (DevicePort):
3799         (DevicePort.device_version): Added.
3800         * Scripts/webkitpy/port/ios.py:
3801         (IOSPort.default_baseline_search_path): Use device_version() instead of ios_version().
3802         (IOSPort.ios_version): Deleted.
3803         * Scripts/webkitpy/port/ios_device.py:
3804         (IOSDevicePort.device_version): Renamed from ios_version().
3805         (IOSDevicePort.ios_version): Deleted.
3806         * Scripts/webkitpy/port/ios_simulator.py:
3807         (IOSSimulatorPort.device_version): Renamed from ios_version().
3808         (IOSSimulatorPort.default_child_processes.booted_ios_devices_filter): Use device_version() instead of ios_version().
3809         (IOSSimulatorPort._create_devices): Ditto.
3810         (IOSSimulatorPort.check_sys_deps): Ditto.
3811         (IOSSimulatorPort.ios_version): Deleted.
3812         * Scripts/webkitpy/port/watch.py:
3813         (WatchPort.default_baseline_search_path): Use device_version() instead of watchos_version().
3814         (WatchPort.watchos_version): Deleted.
3815         * Scripts/webkitpy/port/watch_device.py:
3816         (WatchDevicePort.device_version): Renamed from watchos_version().
3817         (WatchDevicePort.watchos_version): Deleted.
3818         * Scripts/webkitpy/port/watch_simulator.py:
3819         (WatchSimulatorPort.device_version): Renamed from watchos_version().
3820         (WatchSimulatorPort.default_child_processes.filter_booted_watchos_devices): Use device_version() instead of watchos_version().
3821         (WatchSimulatorPort._create_devices): Ditto.
3822         (WatchSimulatorPort.check_sys_deps): Ditto.
3823         (WatchSimulatorPort.watchos_version): Deleted.
3824
3825 2018-11-28  Wenson Hsieh  <wenson_hsieh@apple.com>
3826
3827         [iOSMac] Dropping text selections from web content into editable elements crashes the web process
3828         https://bugs.webkit.org/show_bug.cgi?id=192113
3829         <rdar://problem/46323701>
3830
3831         Reviewed by Ryosuke Niwa.
3832
3833         Add a test to verify that, when dropping an item with both "com.apple.webarchive" and "public.utf8-plain-text"
3834         representations, the higher fidelity web archive data is used when handling the drop.
3835
3836         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
3837
3838 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
3839
3840         [ews-app] Fetch bugs from Bugzilla and submit to Buildbot
3841         https://bugs.webkit.org/show_bug.cgi?id=191947
3842
3843         Reviewed by Lucas Forschler.
3844
3845         * BuildSlaveSupport/ews-app/ews/fetcher.py: Added.
3846
3847 2018-11-28  Alex Christensen  <achristensen@webkit.org>
3848
3849         Fix iOS API test after r238585
3850         https://bugs.webkit.org/show_bug.cgi?id=192022
3851
3852         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
3853         (TEST):
3854         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.
3855         The test was added to catch a bug on Mac platforms, so testing it only on Mac will catch any regression.
3856
3857 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
3858
3859         [ews-app] Configure python logging
3860         https://bugs.webkit.org/show_bug.cgi?id=192005
3861
3862         Reviewed by Lucas Forschler.
3863
3864         * BuildSlaveSupport/ews-app/ews/__init__.py: Configured logging.
3865
3866 2018-11-28  Keith Rollin  <krollin@apple.com>
3867
3868         Update generate-{derived,unified}-sources scripts to support generating .xcfilelist files
3869         https://bugs.webkit.org/show_bug.cgi?id=192031
3870         <rdar://problem/46286816>
3871
3872         Reviewed by Alex Christensen.
3873
3874         The Generate Derived Sources and Generate Unified Sources build phases
3875         in Xcode need to have their inputs and outputs specified. This
3876         specification will come in the form of .xcfilelist files that will be
3877         attached to these build phases. There is one .xcfilelist file that
3878         lists the input file and one that lists the output files. As part of
3879         this work, the various generate-{derived,unified}-sources scripts that
3880         are executed in these Generate build phases are modified to help in
3881         the creation of these .xcfilelist files. In particular, they can now
3882         be invoked with command-line parameters. These parameters are then
3883         used to alter the normal execution of these scripts, causing them to
3884         produce the .xcfilelist files as opposed to actually generating the
3885         files that are listed in those files.
3886
3887         * DumpRenderTree/Scripts/generate-derived-sources.sh:
3888         * WebKitTestRunner/Scripts/generate-derived-sources.sh:
3889
3890 2018-11-28  Keith Rollin  <krollin@apple.com>
3891
3892         Revert print_all_generated_files work in r238008; tighten up target specifications
3893         https://bugs.webkit.org/show_bug.cgi?id=192025
3894         <rdar://problem/46284301>
3895
3896         Reviewed by Alex Christensen.
3897
3898         In r238008, I added a facility for DerivedSources.make makefiles to
3899         print out the list of files that they generate. This output was used
3900         in the generation of .xcfilelist files used to specify the output of
3901         the associated Generate Derived Sources build phases in Xcode. This
3902         approach worked, but it meant that people would need to follow a
3903         specific convention to keep this mechanism working.
3904
3905         Instead of continuing this approach, I'm going to implement a new
3906         facility based on the output of `make` when passed the -d flag (which
3907         prints dependency information). This new mechanism is completely
3908         automatic and doesn't need maintainers to follow a convention. To that
3909         end, remove most of the work performed in r238008 that supports the
3910         print_all_generated_files target.
3911
3912         At the same time, it's important for the sets of targets and their
3913         dependencies to be complete and correct. Therefore, also include
3914         changes to bring those up-to-date. As part of that, you'll see
3915         prevalent use of a particular technique. Here's an example:
3916
3917             BYTECODE_FILES = \
3918                 Bytecodes.h \
3919                 BytecodeIndices.h \
3920                 BytecodeStructs.h \
3921                 InitBytecodes.asm \
3922             #
3923             BYTECODE_FILES_PATTERNS = $(subst .,%,$(BYTECODE_FILES))
3924
3925             all : $(BYTECODE_FILES)
3926
3927             $(BYTECODE_FILES_PATTERNS): $(wildcard $(JavaScriptCore)/generator/*.rb) $(JavaScriptCore)/bytecode/BytecodeList.rb
3928                 ...
3929
3930         These lines indicate a set of generated files (those specified in
3931         BYTECODE_FILES). These files are generated by the BytecodeList.rb
3932         tool. But, as opposed to the normal rule where a single foo.output is
3933         generated by foo.input plus some additional dependencies, this rule
3934         produces multiple output files from a tool whose connection to the
3935         output files is not immediately clear. A special approach is needed
3936         where a single rule produces multiple output files. The normal way to
3937         implement this is to use an .INTERMEDIATE target. However, we used
3938         this approach in the past and ran into a problem with it, addressing
3939         it with an alternate approach in r210507. The above example shows this
3940         approach. The .'s in the list of target files are replaced with %'s,
3941         and the result is used as the left side of the dependency rule.
3942
3943         * DumpRenderTree/DerivedSources.make:
3944         * WebKitTestRunner/DerivedSources.make:
3945
3946 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
3947
3948         [ews-app] Add support to get list of Bugzilla patches needing review
3949         https://bugs.webkit.org/show_bug.cgi?id=191942
3950
3951         Reviewed by Lucas Forschler.
3952
3953         * BuildSlaveSupport/ews-app/ews/common/bugzilla.py:
3954         (Bugzilla.get_list_of_patches_needing_reviews): Get list of patches needing review.
3955         (BugzillaBeautifulSoup.fetch_attachment_ids_from_review_queue): Copied from Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py
3956         (BugzillaBeautifulSoup._load_query): Ditto.
3957         (BugzillaBeautifulSoup._parse_attachment_ids_request_query): Ditto.
3958
3959 2018-11-28  Daniel Bates  <dabates@apple.com>
3960
3961         [iOS] Page not defocused when Find-in-page becomes first responder
3962         https://bugs.webkit.org/show_bug.cgi?id=192084
3963         <rdar://problem/46146777>
3964
3965         Reviewed by Tim Horton.
3966
3967         Add tests for both Mac and iOS to ensure that when finding a string on the page
3968         that we do not start an input session if a match is found in an <input> and the
3969         WKWebView is not the first responder.
3970
3971         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3972         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm: Added.
3973         (-[WKWebViewFindStringInputDelegate _webView:didStartInputSession:]):
3974         (-[WKWebViewFindStringFindDelegate findString]):
3975         (-[WKWebViewFindStringFindDelegate _webView:didCountMatches:forString:]):
3976         (-[WKWebViewFindStringFindDelegate _webView:didFindMatches:forString:withMatchIndex:]):
3977         (-[WKWebViewFindStringFindDelegate _webView:didFailToFindString:]):
3978         (returnNo):
3979         (returnYes):
3980         (viewIsFirstResponder):
3981         (TestWebKitAPI::TEST):
3982         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
3983         (WTR::PlatformWebView::PlatformWebView): Make the view the first responder before the
3984         window key. This matches the ordering used in PlatformWebView::focus(). No behavior change.
3985
3986 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
3987
3988         [ews-app] Add BeautifulSoup
3989         https://bugs.webkit.org/show_bug.cgi?id=191994
3990
3991         Reviewed by Lucas Forschler.
3992
3993         * BuildSlaveSupport/ews-app/ews/thirdparty: Added.
3994         * BuildSlaveSupport/ews-app/ews/thirdparty/BeautifulSoup.py: Added.
3995         * BuildSlaveSupport/ews-app/ews/thirdparty/__init__.py: Added.
3996
3997 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
3998
3999         [ews-app] Add support to download Patch from Bugzilla
4000         https://bugs.webkit.org/show_bug.cgi?id=191943
4001
4002         Reviewed by Lucas Forschler.
4003
4004         * BuildSlaveSupport/ews-app/ews/common/bugzilla.py: Added.
4005         (Bugzilla.retrieve_attachment): Retreives the attachment from Bugzilla and saves to disk.
4006         (Bugzilla._fetch_attachment_json):
4007         (Bugzilla.file_path_for_patch):
4008         * BuildSlaveSupport/ews-app/ews/common/util.py: Added.
4009         (fetch_data_from_url): Method to fetch data from given url.
4010         * BuildSlaveSupport/ews-app/ews/config.py:
4011
4012 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
4013
4014         [ews-app] Add methods to update Patch fields
4015         https://bugs.webkit.org/show_bug.cgi?id=191931
4016
4017         Reviewed by Lucas Forschler.
4018
4019         * BuildSlaveSupport/ews-app/ews/models/patch.py:
4020         (Patch.set_sent_to_buildbot):
4021         (Patch.set_bug_id):
4022         (Patch.set_obsolete):
4023
4024 2018-11-28  Yongjun Zhang  <yongjun_zhang@apple.com>
4025
4026         Allow WebKit clients to specify a minimum effective width for layout.
4027         https://bugs.webkit.org/show_bug.cgi?id=191499
4028         <rdar://problem/45362678>
4029
4030         Reviewed by Wenson Hsieh.
4031
4032         Allow UIScriptController to set WKWebView's minimum effective width with a new `setMinimumEffectiveWidth` method.
4033
4034         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
4035         (WTR::UIScriptController::setMinimumEffectiveWidth):
4036         * DumpRenderTree/mac/UIScriptControllerMac.mm:
4037         (WTR::UIScriptController::setViewScale):
4038         (WTR::UIScriptController::setMinimumEffectiveWidth):
4039         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
4040         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
4041         (WTR::UIScriptController::setMinimumEffectiveWidth):
4042         * TestRunnerShared/UIScriptContext/UIScriptController.h:
4043         * WebKitTestRunner/UIScriptControllerCocoa.mm:
4044         (WTR::UIScriptController::setMinimumEffectiveWidth):
4045         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
4046         (WTR::TestController::cocoaResetStateToConsistentValues):
4047
4048 2018-11-28  Lucas Forschler  <lforschler@apple.com>
4049
4050         Fix webkitbot hi command.
4051         https://bugs.webkit.org/show_bug.cgi?id=192080
4052
4053         Reviewed by Alexey Proskuryakov.
4054
4055         * Scripts/webkitpy/tool/bot/irc_command.py:
4056         (Hi.execute):
4057
4058 2018-11-28  Zalan Bujtas  <zalan@apple.com>
4059
4060         [LFC][Quirk] Use non-collapsed vertical margin values when the container is stretched to the size of the ICB.
4061         https://bugs.webkit.org/show_bug.cgi?id=192078
4062
4063         Reviewed by Antti Koivisto.
4064
4065         * LayoutReloaded/misc/LFC-passing-tests.txt:
4066
4067 2018-11-28  Zalan Bujtas  <zalan@apple.com>
4068
4069         [LFC] Add support for quirk container's collapsing top margin in quirks mode.
4070         https://bugs.webkit.org/show_bug.cgi?id=192070
4071
4072         Reviewed by Antti Koivisto.
4073
4074         * LayoutReloaded/misc/LFC-passing-tests.txt:
4075
4076 2018-11-28  Thibault Saunier  <tsaunier@igalia.com>
4077
4078         [WebRTC][GStreamer] Make sure to have the default microphone on the top of the list
4079         https://bugs.webkit.org/show_bug.cgi?id=192026
4080
4081         Reviewed by Philippe Normand.
4082
4083         Otherwise we might end up picking a useless one in some applications
4084         (not sure what those application do though).
4085
4086         GStreamer patch proposed as https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/34/diffs
4087
4088         * flatpak/org.webkit.CommonModules.yaml:
4089         * gstreamer/jhbuild.modules:
4090         * gstreamer/patches/gst-plugins-good-0014-pulse-Mark-default-devices-as-default.patch: Added.
4091
4092 2018-11-28  Tomas Popela  <tpopela@redhat.com>
4093
4094         [GTK] Silence compilation warnings in glib unittests
4095         https://bugs.webkit.org/show_bug.cgi?id=192009
4096
4097         Reviewed by Michael Catanzaro.
4098
4099         Mark the destructor as virtual.
4100
4101         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
4102         (Test::~Test):
4103
4104 2018-11-27  Mark Lam  <mark.lam@apple.com>
4105
4106         ENABLE_FAST_JIT_PERMISSIONS should be false for iosmac.
4107         https://bugs.webkit.org/show_bug.cgi?id=192055
4108         <rdar://problem/46288783>
4109
4110         Reviewed by Saam Barati.
4111
4112         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4113
4114 2018-11-27  Alex Christensen  <achristensen@webkit.org>
4115
4116         Make synchronous IPC introduced in r237267 asynchronous
4117         https://bugs.webkit.org/show_bug.cgi?id=190757
4118
4119         Reviewed by Chris Dumez.
4120
4121         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
4122
4123 2018-11-27  Jonathan Bedard  <jbedard@apple.com>
4124
4125         webkitpy: Add watchOS ports
4126         https://bugs.webkit.org/show_bug.cgi?id=191974
4127         <rdar://problem/46251051>
4128
4129         Reviewed by Aakash Jain.
4130
4131         * Scripts/webkitpy/port/factory.py:
4132         (PortFactory): Add WatchDevice and WatchSimulator ports.
4133         * Scripts/webkitpy/port/watch.py: Added.
4134         (WatchPort): Base class for watchOS ports.
4135         * Scripts/webkitpy/port/watch_device.py: Added.
4136         (WatchDevicePort): Class for running layout tests on a watchOS device.
4137         * Scripts/webkitpy/port/watch_simulator.py: Added.
4138         (WatchSimulatorPort): Class for running layout tests on a watchOS simulator.
4139         * Scripts/webkitpy/port/watch_simulator_unittest.py: Added.
4140         (WatchSimulatorTest):
4141         * Scripts/webkitpy/port/watch_testcase.py: Added.
4142         (WatchTest):
4143
4144 2018-11-27  Alex Christensen  <achristensen@webkit.org>
4145
4146         Safe browsing warning text needs to be visible on High Sierra
4147         https://bugs.webkit.org/show_bug.cgi?id=192022
4148
4149         Reviewed by Tim Horton.
4150
4151         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
4152         (TEST):
4153
4154 2018-11-27  Wenson Hsieh  <wenson_hsieh@apple.com>
4155
4156         Unreviewed, fix the watchOS engineering build
4157
4158         Disable a newly added API test, since DDScannerResult is unavailable on watchOS.
4159
4160         * TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
4161
4162 2018-11-27  Chris Dumez  <cdumez@apple.com>
4163
4164         Regression(PSON) crash under WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame()
4165         https://bugs.webkit.org/show_bug.cgi?id=191983
4166         <rdar://problem/46246863>
4167
4168         Reviewed by Geoffrey Garen.
4169
4170         Add API test coverage.
4171
4172         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
4173
4174 2018-11-27  Aakash Jain  <aakash_jain@apple.com>
4175
4176         [ews-app] Add support to communicate with Buildbot (Follow-up fix)
4177         https://bugs.webkit.org/show_bug.cgi?id=191935
4178         <rdar://problem/46262314>
4179
4180         Unreviewed infrastructure fix.
4181
4182         * BuildSlaveSupport/ews-app/ews/common/buildbot.py:
4183         (Buildbot.send_patch_to_buildbot):
4184
4185 2018-11-26  Wenson Hsieh  <wenson_hsieh@apple.com>
4186
4187         [Cocoa] No way for clients to tell whether the content view is in the responder chain when the web view is
4188         https://bugs.webkit.org/show_bug.cgi?id=169212
4189         <rdar://problem/30899656>
4190
4191         Reviewed by Tim Horton.
4192
4193         Add an API test to exercise the behavior of `-_contentViewIsFirstResponder` when an embedded text input becomes
4194         and resigns first responder.
4195
4196         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4197         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFirstResponderTests.mm: Added.
4198         (-[FirstResponderTestingView initWithFrame:]):
4199         (-[FirstResponderTestingView inputField]):
4200         (TestWebKitAPI::TEST):
4201
4202 2018-11-26  Fujii Hironori  <Hironori.Fujii@sony.com>
4203
4204         [CMake] Remove ENABLE_ACCESSIBILITY CMake variable
4205         https://bugs.webkit.org/show_bug.cgi?id=191831
4206
4207         Reviewed by Michael Catanzaro.
4208
4209         * WebKitTestRunner/CMakeLists.txt:
4210
4211 2018-11-26  Tim Horton  <timothy_horton@apple.com>
4212
4213         Insert <attachment> elements under editable images to make their backing data accessible
4214         https://bugs.webkit.org/show_bug.cgi?id=191844
4215         <rdar://problem/30900149>
4216
4217         Reviewed by Simon Fraser.
4218
4219         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
4220         (WTR::UIScriptController::attachmentInfo):
4221         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
4222         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
4223         (WTR::UIScriptController::attachmentInfo):
4224         * TestRunnerShared/UIScriptContext/UIScriptController.h:
4225         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
4226         (WTR::UIScriptController::attachmentInfo):
4227         Add a UIScriptController mechanism to retrieve information about
4228         a given attachment.
4229
4230 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
4231
4232         [ews-app] Add support to communicate with Buildbot
4233         https://bugs.webkit.org/show_bug.cgi?id=191935
4234
4235         Reviewed by Lucas Forschler.
4236
4237         * BuildSlaveSupport/ews-app/ews/common/__init__.py: Added.
4238         * BuildSlaveSupport/ews-app/ews/common/buildbot.py: Added.
4239
4240 2018-11-26  Jonathan Bedard  <jbedard@apple.com>
4241
4242         webkitpy: Race condition in ServerProcess tests
4243         https://bugs.webkit.org/show_bug.cgi?id=191989
4244         <rdar://problem/45536844>
4245
4246         Reviewed by Lucas Forschler.
4247
4248         Serializing these tests to prevent the race conditions.
4249
4250         * Scripts/webkitpy/port/server_process_unittest.py:
4251         (TestServerProcess.serial_test_basic):
4252         (TestServerProcess.serial_test_read_after_process_exits):
4253         (TestServerProcess.serial_test_process_crashing):
4254         (TestServerProcess.serial_test_process_crashing_no_data):
4255         (TestServerProcess.test_basic): Deleted.
4256         (TestServerProcess.test_read_after_process_exits): Deleted.
4257         (TestServerProcess.test_process_crashing): Deleted.
4258         (TestServerProcess.test_process_crashing_no_data): Deleted.
4259
4260 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
4261
4262         [ews-app] Add field in Patch object to indicate if it has been sent to Buildbot
4263         https://bugs.webkit.org/show_bug.cgi?id=191929
4264
4265         Reviewed by Lucas Forschler.
4266
4267         * BuildSlaveSupport/ews-app/ews/models/patch.py:
4268         (Patch): Added sent_to_buildbot field.
4269         (Patch.is_patch_sent_to_buildbot): Checks if the patch has been sent to Buildbot.
4270
4271 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
4272
4273         [ews-app] Add a config file
4274         https://bugs.webkit.org/show_bug.cgi?id=191933
4275
4276         Reviewed by Lucas Forschler.
4277
4278         * BuildSlaveSupport/ews-app/ews/config.py: Added.
4279
4280 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
4281
4282         [ews-app] Add methods to save patch to database
4283         https://bugs.webkit.org/show_bug.cgi?id=191928
4284
4285         Reviewed by Lucas Forschler.
4286
4287         * BuildSlaveSupport/ews-app/ews/models/patch.py:
4288         (Patch.save_patch): Method to save the patch to database.
4289         (Patch.save_patches): Method to save multiple patches to database.
4290         (Patch.is_valid_patch_id): Checks if the patch id is valid.
4291         (Patch.is_existing_patch_id): Checks if the patch id already exists in database.
4292
4293 2018-11-26  Alex Christensen  <achristensen@webkit.org>
4294
4295         Rename WKWebView._safeBrowsingWarningForTesting to _safeBrowsingWarning to use it for more than testing
4296         https://bugs.webkit.org/show_bug.cgi?id=191981
4297
4298         Reviewed by Tim Horton.
4299
4300         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
4301         (TEST):
4302         (safeBrowsingView):
4303