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