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