Start using C++17
[WebKit-https.git] / Tools / ChangeLog
1 2019-04-25  Alex Christensen  <achristensen@webkit.org>
2
3         Start using C++17
4         https://bugs.webkit.org/show_bug.cgi?id=197131
5
6         Reviewed by Darin Adler.
7
8         * DumpRenderTree/mac/Configurations/Base.xcconfig:
9         * MiniBrowser/Configurations/Base.xcconfig:
10         * MobileMiniBrowser/Configurations/Base.xcconfig:
11         * TestWebKitAPI/Configurations/Base.xcconfig:
12         * WebKitTestRunner/Configurations/Base.xcconfig:
13
14 2019-04-25  Commit Queue  <commit-queue@webkit.org>
15
16         Unreviewed, rolling out r244627.
17         https://bugs.webkit.org/show_bug.cgi?id=197282
18
19         Causing internal build failures (Requested by ShawnRoberts on
20         #webkit).
21
22         Reverted changeset:
23
24         "Create AVFoundationSoftLink.{h,mm} to reduce duplicate code"
25         https://bugs.webkit.org/show_bug.cgi?id=197171
26         https://trac.webkit.org/changeset/244627
27
28 2019-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
29
30         [GTK] Hardcoded text color in input fields
31         https://bugs.webkit.org/show_bug.cgi?id=126907
32
33         Reviewed by Michael Catanzaro.
34
35         Add dark-mode command line option to MiniBrowser.
36
37         * MiniBrowser/gtk/main.c:
38         (main):
39
40 2019-04-24  Zalan Bujtas  <zalan@apple.com>
41
42         Regression (r244291): Broken API Test AutoLayoutRenderingProgressRelativeOrdering
43         https://bugs.webkit.org/show_bug.cgi?id=196948
44         <rdar://problem/49927131>
45
46         Reviewed by Tim Horton.
47
48         * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
49         (TEST):
50         The expected order of incoming events is
51         1. didInvalidateIntrinsicContentSize
52         2. didFirstLayout
53         At setRenderingProgressDidChange, we already check if didInvalidateIntrinsicContentSize comes in first.
54         However it's not guaranteed that the milestone event is delayed until after TestWebKitAPI::Util::run() is finished
55         (and remember, all we care about is ordering).
56
57 2019-04-24  Eric Carlson  <eric.carlson@apple.com>
58
59         Create AVFoundationSoftLink.{h,mm} to reduce duplicate code
60         https://bugs.webkit.org/show_bug.cgi?id=197171
61         <rdar://problem/47454979>
62
63         Reviewed by Youenn Fablet.
64
65         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
66         * TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm: Added.
67         (TestWebKitAPI::TEST):
68
69 2019-04-24  Brady Eidson  <beidson@apple.com>
70
71         XMLHTTPRequest POSTs to a custom WKURLSchemeHandler protocol are missing the HTTP body.
72         https://bugs.webkit.org/show_bug.cgi?id=191362
73
74         Reviewed by Alex Christensen.
75
76         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm: Add a test that POSTs all sorts of things
77           from an XHR to a custom protocol.
78
79 2019-04-24  John Wilander  <wilander@apple.com>
80
81         Age out unconverted Ad Click Attributions after one week.
82         https://bugs.webkit.org/show_bug.cgi?id=197238
83         <rdar://problem/50177349>
84
85         Reviewed by Chris Dumez.
86
87         This patch adds infrastructure to allow tests to expire all unconverted
88         attributions early.
89
90         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
91         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
92         (WTR::TestRunner::markAdClickAttributionsAsExpiredForTesting):
93         * WebKitTestRunner/InjectedBundle/TestRunner.h:
94         * WebKitTestRunner/TestController.cpp:
95         (WTR::TestController::markAdClickAttributionsAsExpiredForTesting):
96         * WebKitTestRunner/TestController.h:
97         * WebKitTestRunner/TestInvocation.cpp:
98         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
99
100 2019-04-24  Chris Dumez  <cdumez@apple.com>
101
102         Fix flaky crashes in a couple of PSON API tests
103         https://bugs.webkit.org/show_bug.cgi?id=197239
104
105         Reviewed by Tim Horton.
106
107         Do not adopt the NSURLRequest returned by [NSURLRequest requestWithURL:].
108
109         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
110
111 2019-04-24  Simon Fraser  <simon.fraser@apple.com>
112
113         Make it possible to control the renderTreeAsText output by setting options on testRunner
114         https://bugs.webkit.org/show_bug.cgi?id=197133
115
116         Reviewed by Sam Weinig.
117
118         Add testRunner.setRenderTreeDumpOptions() and expose the subset of RenderAsTextFlag flags
119         that make sense in testing (those that don't dump unstable data like addresses), and plumb
120         these flags through the various framework layers.
121
122         Convert RenderAsTextBehavior to an OptionSet<RenderAsTextFlag>.
123
124         Fix code generation in WebKitTestRunner to generate bindings for IDL const values,
125         and hand-code DumpRenderTree bindings.
126
127         Some cleanup of the TestRunners, using member initializers.
128
129         * DumpRenderTree/TestRunner.cpp:
130         (TestRunner::TestRunner):
131         (setRenderTreeDumpOptionsCallback):
132         (TestRunner::staticFunctions):
133         (TestRunner::setRenderTreeDumpOptions):
134         * DumpRenderTree/TestRunner.h:
135         (TestRunner::renderTreeDumpOptions const):
136         * DumpRenderTree/mac/DumpRenderTree.mm:
137         (dump):
138         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
139         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
140         (WTR::InjectedBundlePage::dump):
141         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
142         (WTR::TestRunner::TestRunner):
143         (WTR::TestRunner::setRenderTreeDumpOptions):
144         * WebKitTestRunner/InjectedBundle/TestRunner.h:
145         (WTR::TestRunner::renderTreeDumpOptions const):
146
147 2019-04-24  Alex Christensen  <achristensen@webkit.org>
148
149         WKContentRuleLists should have a maximum FileProtection of CompleteUnlessOpen
150         https://bugs.webkit.org/show_bug.cgi?id=197078
151         <rdar://problem/49564348>
152
153         Reviewed by Geoff Garen.
154
155         * TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm:
156         (TEST_F):
157         (-[TestSchemeHandlerSubresourceShouldBeBlocked webView:startURLSchemeTask:]): Deleted.
158         (-[TestSchemeHandlerSubresourceShouldBeBlocked webView:stopURLSchemeTask:]): Deleted.
159         Unfortunately, setting the NSFileProtectionKey attribute is only supported on iOS devices.
160
161 2019-04-24  Alex Christensen  <achristensen@webkit.org>
162
163         Add unit test for r239322
164         https://bugs.webkit.org/show_bug.cgi?id=197236
165
166         Reviewed by Chris Dumez.
167
168         I initially developed this as a unit test for rdar://problem/48797895 but it seems that isn't quite ready.
169         May as well add the test infrastructure which was needed before and will be needed in the future.
170
171         * TestWebKitAPI/TCPServer.cpp:
172         (TestWebKitAPI::TCPServer::TCPServer):
173         * TestWebKitAPI/TCPServer.h:
174         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
175         * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
176         (TestWebKitAPI::TEST):
177         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
178         (TestWebKitAPI::downloadAtRate):
179         * TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm:
180         (TEST):
181         * TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm: Added.
182         (-[ProxyDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
183         (-[ProxyDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
184         (TestWebKitAPI::TEST):
185         * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm:
186         (TEST):
187
188 2019-04-24  Chris Dumez  <cdumez@apple.com>
189
190         URL set by document.open() is communicated with the WebPageProxy but not the WebFrameProxy
191         https://bugs.webkit.org/show_bug.cgi?id=197214
192         <rdar://problem/49237544>
193
194         Reviewed by Alex Christensen.
195
196         Extend API test coverage.
197
198         * TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm:
199         (TEST):
200
201 2019-04-24  Philippe Normand  <pnormand@igalia.com>
202
203         [Build][GStreamer] Update to 1.16.0
204         https://bugs.webkit.org/show_bug.cgi?id=197157
205
206         Reviewed by Xabier Rodriguez-Calvar.
207
208         The upstreamed patches were removed and a new one was added for a
209         regression detected in the scaletempo GStreamer element. The GNOME
210         Flatpak was migrated to 3.32 and I switched a few modules to Meson
211         on the way, as it is the preferred build system now in GStreamer
212         1.16.
213
214         * flatpak/files/httpd-autogen.sh:
215         * flatpak/flatpakutils.py:
216         (FlatpakPackage.install):
217         (WebkitFlatpak.run_in_sandbox):
218         * flatpak/org.webkit.CommonModules.yaml:
219         * flatpak/org.webkit.WebKit.yaml:
220         * gstreamer/jhbuild.modules:
221         * gstreamer/patches/gst-plugins-bad-0001-aomenc-Add-support-for-10-12bit-decoding.patch: Removed.
222         * gstreamer/patches/gst-plugins-bad-0002-aomenc-Handle-8-bit_depth-images-with-AOM_IMG_FMT_HI.patch: Removed.
223         * gstreamer/patches/gst-plugins-bad-0003-fdkaacenc-Remove-MODE_2_1.patch: Removed.
224         * gstreamer/patches/gst-plugins-bad-0004-fdkaacdec-Use-WAV-channel-mapping-instead-of-interleave-setting.patch: Removed.
225         * gstreamer/patches/gst-plugins-bad-0005-mssdemux-fix-protection-data-double-free.patch: Removed.
226         * gstreamer/patches/gst-plugins-base-0001-parsebin-Post-STREAM_COLLECTION-on-EVENT_STREAM_COLL.patch: Removed.
227         * gstreamer/patches/gst-plugins-good-0001-qtdemux-Detect-and-expose-CEA-608-708-Closed-Caption.patch: Removed.
228         * gstreamer/patches/gst-plugins-good-0001-qtdemux-Do-not-run-the-preferred-decryptor-context-q.patch: Removed.
229         * gstreamer/patches/gst-plugins-good-0002-qtdemux-Do-not-unref-a-NULL-stream_tags.patch: Removed.
230         * gstreamer/patches/gst-plugins-good-0002-qtdemux-add-context-for-a-preferred-protection.patch: Removed.
231         * gstreamer/patches/gst-plugins-good-0003-qtdemux-Clarify-field-name-about-stream-encryption-s.patch: Removed.
232         * gstreamer/patches/gst-plugins-good-0003-qtdemux-also-push-buffers-without-encryption-info-in.patch: Removed.
233         * gstreamer/patches/gst-plugins-good-0004-qtdemux-Add-initial-support-for-AV1-demuxing.patch: Removed.
234         * gstreamer/patches/gst-plugins-good-0005-qtdemux-Extract-AV1-codec_data-and-put-it-in-the-cap.patch: Removed.
235         * gstreamer/patches/gst-plugins-good-0006-qtdemux-Recognize-more-AV1-atoms.patch: Removed.
236         * gstreamer/patches/gst-plugins-good-0011-matroska-Add-the-WebM-encrypted-content-support-in-m.patch: Removed.
237         * gstreamer/patches/gst-plugins-good-0012-matroskdemux-do-not-use-MapInfo.data-after-unmapping.patch: Removed.
238         * gstreamer/patches/gst-plugins-good-0013-Avoid-warning-when-reporting-about-decryptors.patch: Removed.
239         * gstreamer/patches/gst-plugins-good-0014-pulse-Mark-default-devices-as-default.patch: Removed.
240         * gstreamer/patches/gst-plugins-good-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch: Added.
241         * gstreamer/patches/gstreamer-0001-protection-Add-a-new-definition-for-unspecified-syst.patch: Removed.
242         * gstreamer/patches/gstreamer-0002-protection-Fix-the-string-to-define-unspecified-syst.patch: Removed.
243
244 2019-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
245
246         [GTK] MiniBrowser: also set the passed bg-color when receiving arguments
247         https://bugs.webkit.org/show_bug.cgi?id=197156
248
249         Reviewed by Michael Catanzaro.
250
251         The background color is only set when MiniBrowser is launched without arguments. This regressed when tabs
252         support was added.
253
254         * MiniBrowser/gtk/BrowserTab.c:
255         (browser_tab_set_background_color): Set the passed in color as web view background color.
256         * MiniBrowser/gtk/BrowserTab.h:
257         * MiniBrowser/gtk/BrowserWindow.c:
258         (browser_window_init): Initialize backgroundColor.
259         (browser_window_append_view): Call browser_tab_set_background_color().
260         (browser_window_set_background_color): Save the passed in color. This function should now be called before tabs
261         are added.
262         * MiniBrowser/gtk/main.c:
263         (main): Call browser_window_set_background_color() before creating the tabs.
264
265 2019-04-23  John Wilander  <wilander@apple.com>
266
267         Move Ad Click Attribution from internal feature to experimental feature
268         https://bugs.webkit.org/show_bug.cgi?id=197218
269         <rdar://problem/47651691>
270
271         Reviewed by Brent Fulgham.
272
273         * DumpRenderTree/TestOptions.cpp:
274         (TestOptions::TestOptions):
275
276 2019-04-23  Andy Estes  <aestes@apple.com>
277
278         [iOS] QuickLook documents loaded from file: URLs should be allowed to perform same-document navigations
279         https://bugs.webkit.org/show_bug.cgi?id=196749
280         <rdar://problem/35773454>
281
282         Reviewed by Daniel Bates.
283
284         Added a new QuickLook API test and added new expectations to existing QuickLook tests.
285
286         * TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
287         (-[QuickLookDelegate webView:didStartProvisionalNavigation:]):
288         (-[QuickLookDelegate webView:didFinishNavigation:]):
289         (-[QuickLookDelegate _webView:didFailNavigation:withError:userInfo:]):
290         (-[QuickLookDelegate webView:didFailProvisionalNavigation:withError:]):
291         (runTest):
292         (runTestDecideBeforeLoading):
293         (runTestDecideAfterLoading):
294         (TEST):
295
296 2019-04-23  John Wilander  <wilander@apple.com>
297
298         Remove Ad Click Attribution data when removing website data
299         https://bugs.webkit.org/show_bug.cgi?id=197215
300         <rdar://problem/47668988>
301
302         Reviewed by Chris Dumez.
303
304         This patch adds test infrastructure to delete Ad Click Attribution data
305         through WebsiteDataStore::removeData().
306
307         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
308         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
309         (WTR::TestRunner::clearAdClickAttribution):
310         (WTR::TestRunner::clearAdClickAttributionsThroughWebsiteDataRemoval):
311         * WebKitTestRunner/InjectedBundle/TestRunner.h:
312         * WebKitTestRunner/TestController.cpp:
313         (WTR::TestController::clearAdClickAttributionsThroughWebsiteDataRemoval):
314         * WebKitTestRunner/TestController.h:
315         * WebKitTestRunner/TestInvocation.cpp:
316         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
317
318 2019-04-23  Jonathan Bedard  <jbedard@apple.com>
319
320         webkitpy: Kill unresponsive worker processes
321         https://bugs.webkit.org/show_bug.cgi?id=197205
322         <rdar://problem/50104388>
323
324         Reviewed by Lucas Forschler.
325
326         * Scripts/webkitpy/common/message_pool.py:
327         (_MessagePool.__init__): Add close timeout.
328         (_MessagePool._close): Send termination before joining workers, kill unresponsive workers.
329
330 2019-04-23  Alex Christensen  <achristensen@webkit.org>
331
332         Add unit tests for WKWebView.serverTrust
333         https://bugs.webkit.org/show_bug.cgi?id=197202
334
335         Reviewed by Youenn Fablet
336
337         * TestWebKitAPI/TCPServer.cpp:
338         (TestWebKitAPI::deleter<BIO>::operator()):
339         (TestWebKitAPI::deleter<SSL>::operator()):
340         (TestWebKitAPI::deleter<X509>::operator()):
341         (TestWebKitAPI::deleter<SSL_CTX>::operator()):
342         (TestWebKitAPI::deleter<EVP_PKEY>::operator()):
343         (TestWebKitAPI::TCPServer::TCPServer):
344         (TestWebKitAPI::TCPServer::listenForConnections):
345         * TestWebKitAPI/TCPServer.h:
346         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
347         * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
348         (TestWebKitAPI::TEST):
349         (verifyCertificateAndPublicKey):
350         (-[ServerTrustDelegate webView:didFinishNavigation:]):
351         (-[ServerTrustDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
352         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
353         (TestWebKitAPI::downloadAtRate):
354         * TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm:
355         (TEST):
356         * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm:
357         (TEST):
358
359 2019-04-23  Commit Queue  <commit-queue@webkit.org>
360
361         Unreviewed, rolling out r244556.
362         https://bugs.webkit.org/show_bug.cgi?id=197212
363
364         Causing build failures on multiple builders (Requested by
365         ShawnRoberts on #webkit).
366
367         Reverted changeset:
368
369         "Create AVFoundationSoftLink.{h,mm} to reduce duplicate code"
370         https://bugs.webkit.org/show_bug.cgi?id=197171
371         https://trac.webkit.org/changeset/244556
372
373 2019-04-23  Alex Christensen  <achristensen@webkit.org>
374
375         Fix iOS build.
376         https://bugs.webkit.org/show_bug.cgi?id=195537
377
378         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
379         (WTR::TestRunner::setOpenPanelFilesMediaIcon):
380         AdoptWK constructor is private now.  Use adoptWK instead.
381
382 2019-04-23  Andres Gonzalez  <andresg_22@apple.com>
383
384         Accessibility text search and selection API enhancements.
385         https://bugs.webkit.org/show_bug.cgi?id=197095
386         <rdar://problem/48181791>
387
388         Reviewed by Chris Fleizach.
389
390         Added new API JS binding code for searchTextWithCriteria to both WTR and DRT.
391
392         * DumpRenderTree/AccessibilityTextMarker.h:
393         * DumpRenderTree/AccessibilityUIElement.cpp:
394         (searchTextWithCriteriaCallback):
395         (AccessibilityUIElement::getJSClass):
396         * DumpRenderTree/AccessibilityUIElement.h:
397         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
398         (convertVectorToObjectArray):
399         (convertNSArrayToVector):
400         (searchTextParameterizedAttributeForCriteria):
401         (AccessibilityUIElement::getLinkedUIElements):
402         (AccessibilityUIElement::getDocumentLinks):
403         (AccessibilityUIElement::getChildren):
404         (AccessibilityUIElement::getChildrenWithRange):
405         (AccessibilityUIElement::rowHeaders const):
406         (AccessibilityUIElement::columnHeaders const):
407         (AccessibilityUIElement::uiElementArrayAttributeValue const):
408         (AccessibilityUIElement::searchTextWithCriteria):
409         (AccessibilityUIElement::attributesOfColumnHeaders):
410         (AccessibilityUIElement::attributesOfRowHeaders):
411         (AccessibilityUIElement::attributesOfColumns):
412         (AccessibilityUIElement::attributesOfRows):
413         (AccessibilityUIElement::attributesOfVisibleCells):
414         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
415         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
416         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
417         (WTR::convertVectorToObjectArray):
418         (WTR::convertNSArrayToVector):
419         (WTR::searchTextParameterizedAttributeForCriteria):
420         (WTR::AccessibilityUIElement::getLinkedUIElements):
421         (WTR::AccessibilityUIElement::getDocumentLinks):
422         (WTR::AccessibilityUIElement::getUIElementsWithAttribute const):
423         (WTR::AccessibilityUIElement::getChildren):
424         (WTR::AccessibilityUIElement::getChildrenWithRange):
425         (WTR::AccessibilityUIElement::rowHeaders const):
426         (WTR::AccessibilityUIElement::columnHeaders const):
427         (WTR::AccessibilityUIElement::uiElementArrayAttributeValue const):
428         (WTR::AccessibilityUIElement::searchTextWithCriteria):
429         (WTR::AccessibilityUIElement::attributesOfColumnHeaders):
430         (WTR::AccessibilityUIElement::attributesOfRowHeaders):
431         (WTR::AccessibilityUIElement::attributesOfColumns):
432         (WTR::AccessibilityUIElement::attributesOfRows):
433         (WTR::AccessibilityUIElement::attributesOfVisibleCells):
434         (WTR::convertElementsToObjectArray): Deleted.
435
436 2019-04-23  Guy Lewin  <guy@lewin.co.il>
437
438         Multiple File Input Icon Set Regardless of File List
439         https://bugs.webkit.org/show_bug.cgi?id=195537
440
441         Reviewed by Alexey Proskuryakov.
442
443         Add setOpenPanelFilesMediaIcon to TestRunner in order to test icon and
444         display string in iOS file inputs
445
446         * DumpRenderTree/TestRunner.cpp:
447         (SetOpenPanelFilesMediaIconCallback):
448         (TestRunner::staticFunctions):
449         (TestRunner::setOpenPanelFilesMediaIcon):
450         * DumpRenderTree/TestRunner.h:
451         (TestRunner::openPanelFilesMediaIcon const):
452         * DumpRenderTree/mac/UIDelegate.mm:
453         (-[UIDelegate webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:]):
454         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
455         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
456         (WTR::TestRunner::setOpenPanelFilesMediaIcon):
457         * WebKitTestRunner/InjectedBundle/TestRunner.h:
458         * WebKitTestRunner/TestController.cpp:
459         (WTR::runOpenPanel):
460         (WTR::TestController::resetStateToConsistentValues):
461         * WebKitTestRunner/TestController.h:
462         (WTR::TestController::openPanelFileURLsMediaIcon const):
463         (WTR::TestController::setOpenPanelFileURLsMediaIcon):
464         * WebKitTestRunner/TestInvocation.cpp:
465         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
466
467 2019-04-23  Eric Carlson  <eric.carlson@apple.com>
468
469         Create AVFoundationSoftLink.{h,mm} to reduce duplicate code
470         https://bugs.webkit.org/show_bug.cgi?id=197171
471         <rdar://problem/47454979>
472
473         Reviewed by Youenn Fablet.
474
475         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
476         * TestWebKitAPI/Tests/WebCore/cocoa/AVFoundationSoftLinkTest.mm: Added.
477         (TestWebKitAPI::TEST):
478
479 2019-04-23  Aakash Jain  <aakash_jain@apple.com>
480
481         [ews-build] Add unit tests for UnApplyPatchIfRequired
482         https://bugs.webkit.org/show_bug.cgi?id=197197
483
484         Reviewed by Lucas Forschler.
485
486         * BuildSlaveSupport/ews-build/steps_unittest.py:
487         (TestUnApplyPatchIfRequired):
488         (TestUnApplyPatchIfRequired.test_success):
489         (TestUnApplyPatchIfRequired.test_failure):
490         (TestUnApplyPatchIfRequired.test_skip):
491
492 2019-04-23  Aakash Jain  <aakash_jain@apple.com>
493
494         [ews-build] Add unit tests for CleanWorkingDirectory
495         https://bugs.webkit.org/show_bug.cgi?id=197195
496
497         Reviewed by Lucas Forschler.
498
499         * BuildSlaveSupport/ews-build/steps_unittest.py:
500         (TestCleanWorkingDirectory):
501         (TestCleanWorkingDirectory.test_success):
502         (TestCleanWorkingDirectory.test_failure):
503
504 2019-04-23  Aakash Jain  <aakash_jain@apple.com>
505
506         [ews-build] Use explicit imports instead of wildcard imports
507         https://bugs.webkit.org/show_bug.cgi?id=197194
508
509         Reviewed by Lucas Forschler.
510
511         * BuildSlaveSupport/ews-build/factories.py:
512         * BuildSlaveSupport/ews-build/loadConfig.py:
513         * BuildSlaveSupport/ews-build/steps_unittest.py:
514
515 2019-04-23  Aakash Jain  <aakash_jain@apple.com>
516
517         [ews-build] Add unit tests for DownloadBuiltProduct
518         https://bugs.webkit.org/show_bug.cgi?id=197193
519
520         Reviewed by Lucas Forschler.
521
522         * BuildSlaveSupport/ews-build/steps_unittest.py:
523         (TestDownloadBuiltProduct):
524         (TestDownloadBuiltProduct.setUp):
525         (TestDownloadBuiltProduct.tearDown):
526         (TestDownloadBuiltProduct.test_success):
527         (TestDownloadBuiltProduct.test_failure):
528
529 2019-04-23  Aakash Jain  <aakash_jain@apple.com>
530
531         [ews-app] Exception while loading status-bubble when no build step has started
532         https://bugs.webkit.org/show_bug.cgi?id=196676
533
534         Reviewed by Lucas Forschler.
535
536         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
537         (StatusBubble.get_build_timestamp): Check if build step is present before accessing its timestamp.
538
539 2019-04-23  Stephan Szabo  <stephan.szabo@sony.com>
540
541         [PlayStation] Support running of JSC tests on remote playstation devices
542         https://bugs.webkit.org/show_bug.cgi?id=197170
543
544         Reviewed by Ross Kirsling.
545
546         Script changes
547
548         * Scripts/run-javascriptcore-tests:
549         (runJSCStressTests): Pass arguments for playstation to
550         run-jsc-stress-tests
551         * Scripts/run-jsc-stress-tests:
552         Handle $hostOS=="playstation" for determineArchitecture, turning
553         off $isFTLPlatform and runProfiler and defaulting test writer.
554         * Scripts/webkitdirs.pm:
555         (jscPath): PlayStation WebKit executables have .elf extension
556         (executableProductDir): PlayStation builds on Windows hosts but
557         uses bin directory rather than bin64/bin32 for executable output
558         location.
559         * Scripts/webkitruby/jsc-stress-test-writer-playstation.rb: Added.
560
561 2019-04-23  Don Olmstead  <don.olmstead@sony.com>
562
563         [CMake][Win] Use target oriented design for WebKit
564         https://bugs.webkit.org/show_bug.cgi?id=197173
565
566         Reviewed by Alex Christensen.
567
568         * TestWebKitAPI/PlatformWin.cmake: Add WebKitFrameworkHeaders as a dependency.
569         * TestWebKitAPI/Tests/WebKit/curl/Certificates.cpp: Remove unused header.
570
571 2019-04-23  Chris Dumez  <cdumez@apple.com>
572
573         [Process-Swap-On-Navigation] WebKit hangs when going back to a form submission's page due to Process-Swap-On-Navigation on iOS 12.2 and higher
574         https://bugs.webkit.org/show_bug.cgi?id=197097
575         <rdar://problem/50048318>
576
577         Reviewed by Alex Christensen.
578
579         Add API test coverage.
580
581         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
582         (-[PSONScheme webView:startURLSchemeTask:]):
583
584 2019-04-23  Carlos Garcia Campos  <cgarcia@igalia.com>
585
586         [ATK] Implement AtkComponentIface scroll_to methods
587         https://bugs.webkit.org/show_bug.cgi?id=196856
588
589         Reviewed by Michael Catanzaro.
590
591         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
592         (WTR::AccessibilityUIElement::scrollToMakeVisible): Call atk_component_scroll_to().
593         (WTR::AccessibilityUIElement::scrollToGlobalPoint): Call atk_component_scroll_to_point().
594         * gtk/jhbuild.modules: Bump atk, at-spi2-core and at-spi2-atk to their latest stable version.
595
596 2019-04-22  Aakash Jain  <aakash_jain@apple.com>
597
598         [ews-build] Improve summary for UploadBuiltProduct step
599         https://bugs.webkit.org/show_bug.cgi?id=197182
600
601         Reviewed by Lucas Forschler.
602
603         * BuildSlaveSupport/ews-build/steps.py:
604         (UploadBuiltProduct): Added descriptionDone.
605         (UploadBuiltProduct.getResultSummary): Overrided getResultSummary.
606         * BuildSlaveSupport/ews-build/steps_unittest.py:
607         (TestUploadBuiltProduct.test_success): Updated unit-test.
608         (TestUploadBuiltProduct.test_failure): Added unit-test for failure case.
609
610 2019-04-22  Aakash Jain  <aakash_jain@apple.com>
611
612         [ews-build] Trigger queues only after uploading the archive
613         https://bugs.webkit.org/show_bug.cgi?id=197180
614
615         Reviewed by Lucas Forschler.
616
617         * BuildSlaveSupport/ews-build/factories.py:
618         (Factory.__init__):
619         (BuildFactory.__init__): Remove trigger step from factories.
620         (BuildFactory.propertiesToPassToTriggers): Deleted.
621         * BuildSlaveSupport/ews-build/steps.py:
622         (ConfigureBuild.__init__): Confiure triggers property.
623         (Trigger): Step to trigger other queues.
624         (Trigger.propertiesToPassToTriggers): Method to construct properties to pass to triggerred builds.
625         (UploadBuiltProduct.finished): Trigger builds after upload is successful.
626
627 2019-04-22  Alex Christensen  <achristensen@webkit.org>
628
629         Deprecate WKContextCreateWithInjectedBundlePath
630         https://bugs.webkit.org/show_bug.cgi?id=197169
631
632         Reviewed by Youenn Fablet.
633
634         * TestWebKitAPI/PlatformUtilities.cpp:
635         (TestWebKitAPI::Util::createContextWithInjectedBundle):
636         Use WKContextCreateWithConfiguration instead of WKContextCreateWithInjectedBundlePath after having set its injected bundle path.
637
638 2019-04-22  Alex Christensen  <achristensen@webkit.org>
639
640         REGRESSION(r230681) Do not use stored credentials if WKBundlePageResourceLoadClient.shouldUseCredentialStorage returns false
641         https://bugs.webkit.org/show_bug.cgi?id=197093
642         <rdar://problem/49708268>
643
644         Reviewed by Chris Dumez.
645
646         Add a test that does two loads.  The first load shouldUseCredentialStorage returns true and we provide a persistent credential.
647         The second load shouldUseCredentialStorage returns false and we verify that a challenge is received with no suggested credential.
648         We also need to make the TCPServer able to handle more than one connection because we need these two loads to come from the same protection space,
649         and our current Cocoa implementation of NetworkSession uses two NSURLSessions that don't share a connection cache, one for loads with credentials
650         and one for loads without credentials, so there are two TCP connections to the same server in this test.
651
652         * TestWebKitAPI/TCPServer.cpp:
653         (TestWebKitAPI::TCPServer::TCPServer):
654         (TestWebKitAPI::TCPServer::~TCPServer):
655         (TestWebKitAPI::TCPServer::socketBindListen):
656         (TestWebKitAPI::TCPServer::waitForAndReplyToRequests): Deleted.
657         * TestWebKitAPI/TCPServer.h:
658         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
659         * TestWebKitAPI/Tests/WebKitCocoa/BasicProposedCredentialPlugIn.mm: Added.
660         (-[BasicProposedCredentialPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
661         * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
662         (respondWithChallengeThenOK):
663         (TestWebKitAPI::TEST):
664         (-[ProposedCredentialDelegate webView:didFinishNavigation:]):
665         (-[ProposedCredentialDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
666         (TEST):
667
668 2019-04-22  Chris Dumez  <cdumez@apple.com>
669
670         Delayed WebProcessLaunch may break the _relatedWebView SPI
671         https://bugs.webkit.org/show_bug.cgi?id=197160
672
673         Reviewed by Alex Christensen.
674
675         Add API test coverage.
676
677         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
678
679 2019-04-22  Dean Johnson  <dean_johnson@apple.com>
680
681         Use curl to download packages for webkitpy autoinstaller
682         https://bugs.webkit.org/show_bug.cgi?id=197164
683
684         Reviewed by Darin Adler.
685
686         * Scripts/webkitpy/common/system/autoinstall.py:
687         (AutoInstaller._download): Use curl(1) to download packages necessary for
688         webkitpy/thirdparty/autoinstalled since Python2's urllib2 module can result in unnecessary
689         errors which are not present when using curl(1).
690
691 2019-04-22  Chris Dumez  <cdumez@apple.com>
692
693         Unreviewed, rolling out r244502.
694
695         Caused crashes on the bots
696
697         Reverted changeset:
698
699         "Delayed WebProcessLaunch may break the _relatedWebView SPI"
700         https://bugs.webkit.org/show_bug.cgi?id=197160
701         https://trac.webkit.org/changeset/244502
702
703 2019-04-22  Ryan Haddad  <ryanhaddad@apple.com>
704
705         Unreviewed, rolling out r244437.
706
707         Still breaks internal tests.
708
709         Reverted changeset:
710
711         "InjectedBundle parameters often need initialization function
712         called before unarchiving"
713         https://bugs.webkit.org/show_bug.cgi?id=189709
714         https://trac.webkit.org/changeset/244437
715
716 2019-04-22  Aakash Jain  <aakash_jain@apple.com>
717
718         [ews-build] Use singular verb in failure description in case of single api test failure
719         https://bugs.webkit.org/show_bug.cgi?id=197013
720
721         Reviewed by Lucas Forschler.
722
723         * BuildSlaveSupport/ews-build/steps.py:
724         (AnalyzeAPITestsResults.analyzeResults):
725
726 2019-04-22  Chris Dumez  <cdumez@apple.com>
727
728         Delayed WebProcessLaunch may break the _relatedWebView SPI
729         https://bugs.webkit.org/show_bug.cgi?id=197160
730
731         Reviewed by Alex Christensen.
732
733         Add API test coverage.
734
735         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
736
737 2019-04-22  Carlos Garcia Campos  <cgarcia@igalia.com>
738
739         REGRESSION(r241289): [GTK] accessibility/removed-continuation-element-causes-crash.html and accessibility/removed-anonymous-block-child-causes-crash.html crashes
740         https://bugs.webkit.org/show_bug.cgi?id=194630
741
742         Reviewed by Michael Catanzaro.
743
744         Return early from getAttributeSet() is passed in accessible is nullptr.
745
746         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
747
748 2019-04-21  Wenson Hsieh  <wenson_hsieh@apple.com>
749
750         Defer EditorState updates until the next layer tree flush in a few additional circumstances
751         https://bugs.webkit.org/show_bug.cgi?id=197145
752         <rdar://problem/50078170>
753
754         Reviewed by Darin Adler.
755
756         Adjusts several editing API tests to wait for a presentation update following a selection change, programmatic
757         focus, or showing the font manager.
758
759         * TestWebKitAPI/Tests/WebKitCocoa/EditorStateTests.mm:
760         (TestWebKitAPI::TEST):
761         * TestWebKitAPI/Tests/WebKitCocoa/WKContentViewTargetForAction.mm:
762         (TEST):
763         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
764         (TestWebKitAPI::TEST):
765
766 2019-04-21  Brian Burg  <bburg@apple.com>
767
768         WebDriver: add hooks to make it possible to easily run WPT WebDriver web server by itself
769         https://bugs.webkit.org/show_bug.cgi?id=197125
770         <rdar://problem/50061468>
771
772         Reviewed by Darin Adler.
773
774         Sometimes I want to run wptserve independently of tests. Make it easier to script that
775         using this class rather than making our own ./wpt serve invocation.
776
777         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
778         (WebDriverW3CWebServer):
779         (WebDriverW3CWebServer.document_root): Expose this to clients.
780         (WebDriverW3CWebServer.wait): Add a method that blocks until the server dies.
781
782         (WebDriverW3CWebServer.__enter__):
783         (WebDriverW3CWebServer.__exit__):
784         Make it possible to use the web server with a 'with' statement.
785
786 2019-04-20  Don Olmstead  <don.olmstead@sony.com>
787
788         [CMake][Win] Use target oriented design for WebKitLegacy
789         https://bugs.webkit.org/show_bug.cgi?id=197112
790
791         Reviewed by Konstantin Tokarev.
792
793         Fix includes and libraries for DumpRenderTree after changes to WebKitLegacy targets.
794
795         * DumpRenderTree/CMakeLists.txt:
796         * DumpRenderTree/PlatformWin.cmake:
797         * DumpRenderTree/win/EventSender.cpp:
798
799 2019-04-20  Aakash Jain  <aakash_jain@apple.com>
800
801         Update text for old EWS submit button
802         https://bugs.webkit.org/show_bug.cgi?id=197140
803
804         Reviewed by Alexey Proskuryakov.
805
806         * QueueStatusServer/templates/statusbubble.html:
807
808 2019-04-20  Aakash Jain  <aakash_jain@apple.com>
809
810         [ews-app] New EWS should poll bugzilla more frequently
811         https://bugs.webkit.org/show_bug.cgi?id=197138
812
813         Reviewed by Alexey Proskuryakov.
814
815         * BuildSlaveSupport/ews-app/ews/fetcher.py:
816         (FetchLoop.__init__):
817
818 2019-04-20  Aakash Jain  <aakash_jain@apple.com>
819
820         [ews-app] Submit to EWS buttons are not aligned properly with status-bubbles
821         https://bugs.webkit.org/show_bug.cgi?id=197139
822
823         Reviewed by Alexey Proskuryakov.
824
825         * BuildSlaveSupport/ews-app/ews/templates/statusbubble.html:
826         * QueueStatusServer/templates/statusbubble.html:
827
828 2019-04-20  Chris Dumez  <cdumez@apple.com>
829
830         Unreviewed, fix iOS build with recent SDKs.
831
832         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
833
834 2019-04-19  Keith Miller  <keith_miller@apple.com>
835
836         Add script to merge run_benchmark jsons
837         https://bugs.webkit.org/show_bug.cgi?id=197107
838
839         Reviewed by Michael Saboff.
840
841         The script basically recursively decends through all json objects until it gets
842         to an array or JSON primitive and concats or takes the first value, respectively.
843
844         This patch also adds +x bits to the compare-results script so it
845         can be run directly from the command line. I had to add a new line so that svn
846         will accept the change... yay svn!
847
848         * Scripts/compare-results:
849         * Scripts/merge-result-jsons: Added.
850         (readJSONFile):
851         (deepAppend):
852         (mergeJSONs):
853         (main):
854
855 2019-04-18  Ryosuke Niwa  <rniwa@webkit.org>
856
857         Crash in FrameLoader::stopAllLoaders via [WebView dealloc] inside ~ObjCEventListener
858         https://bugs.webkit.org/show_bug.cgi?id=197079
859
860         Reviewed by Darin Adler.
861
862         Added a regression test. It hits a slightly different backtrace but of the same class of issues.
863
864         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
865         * TestWebKitAPI/Tests/WebKitLegacy/mac/DeallocWebViewInEventListener.mm: Added.
866
867 2019-04-18  Commit Queue  <commit-queue@webkit.org>
868
869         Unreviewed, rolling out r244434.
870         https://bugs.webkit.org/show_bug.cgi?id=197089
871
872         caused 1 API test failure (Requested by zalan on #webkit).
873
874         Reverted changeset:
875
876         "Regression (r244291): Broken API Test
877         AutoLayoutRenderingProgressRelativeOrdering"
878         https://bugs.webkit.org/show_bug.cgi?id=196948
879         https://trac.webkit.org/changeset/244434
880
881 2019-04-18  Wenson Hsieh  <wenson_hsieh@apple.com>
882
883         Add new compatibility mode API on WKNavigation
884         https://bugs.webkit.org/show_bug.cgi?id=197069
885         <rdar://problem/50025800>
886
887         Reviewed by Tim Horton.
888
889         Add a block property for -didCommitNavigation to TestNavigationDelegate.
890
891         * TestWebKitAPI/cocoa/TestNavigationDelegate.h:
892         * TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
893         (-[TestNavigationDelegate webView:didCommitNavigation:]):
894
895 2019-04-18  Don Olmstead  <don.olmstead@sony.com>
896
897         [CMake] Make WebCore headers copies
898         https://bugs.webkit.org/show_bug.cgi?id=182512
899         <rdar://problem/37510435>
900
901         Reviewed by Alex Christensen.
902
903         Added WebCorePrivateFrameworkHeaders as a dependency of TestWebKitAPI for all
904         ports.
905
906         WebCore now uses WebCore_PRIVATE_INCLUDE_DIRECTORIES for all ports. Any includes
907         of WebCore headers using "*.h" were modified to <WebCore/*.h>
908
909         * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
910         * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npapi.h:
911         * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npfunctions.h:
912         * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npruntime.h:
913         * TestWebKitAPI/CMakeLists.txt:
914         * TestWebKitAPI/PlatformWin.cmake:
915         * TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
916         * TestWebKitAPI/Tests/WebCore/gstreamer/GstMappedBuffer.cpp:
917         * WebKitTestRunner/win/PlatformWebViewWin.cpp:
918
919 2019-04-18  Jer Noble  <jer.noble@apple.com>
920
921         Add support for parsing FairPlayStreaming PSSH boxes.
922         https://bugs.webkit.org/show_bug.cgi?id=197064
923
924         Reviewed by Eric Carlson.
925
926         * TestWebKitAPI/Tests/WebCore/ISOBox.cpp:
927         (TestWebKitAPI::TEST):
928
929 2019-04-18  Brent Fulgham  <bfulgham@apple.com>
930
931         InjectedBundle parameters often need initialization function called before unarchiving
932         https://bugs.webkit.org/show_bug.cgi?id=189709
933         <rdar://problem/44573653>
934
935         Reviewed by Ryosuke Niwa.
936
937         * TestWebKitAPI/cocoa/WebProcessPlugIn/WebProcessPlugIn.mm:
938         (-[WebProcessPlugIn additionalClassesForParameterCoder]): Added.
939
940 2019-04-18  Zalan Bujtas  <zalan@apple.com>
941
942         Regression (r244291): Broken API Test AutoLayoutRenderingProgressRelativeOrdering
943         https://bugs.webkit.org/show_bug.cgi?id=196948
944         <rdar://problem/49927131>
945
946         Reviewed by Tim Horton.
947
948         * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
949         (TEST): 
950         The expected order of incoming events is
951         1. didInvalidateIntrinsicContentSize
952         2. didFirstLayout
953         At setRenderingProgressDidChange, we already check if didInvalidateIntrinsicContentSize comes in first.
954         However it's not guaranteed that the milestone event is delayed until after TestWebKitAPI::Util::run() is finished
955         (and remember, all we care about is ordering).
956
957 2019-04-18  Ryan Haddad  <ryanhaddad@apple.com>
958
959         Unreviewed, rolling out r244299.
960
961         Breaks internal tests.
962
963         Reverted changeset:
964
965         "InjectedBundle parameters often need initialization function
966         called before unarchiving"
967         https://bugs.webkit.org/show_bug.cgi?id=189709
968         https://trac.webkit.org/changeset/244299
969
970 2019-04-18  Yusuke Suzuki  <ysuzuki@apple.com>
971
972         [WTF] StringBuilder should set correct m_is8Bit flag when merging
973         https://bugs.webkit.org/show_bug.cgi?id=197053
974
975         Reviewed by Saam Barati.
976
977         * TestWebKitAPI/Tests/WTF/StringBuilder.cpp:
978         (TestWebKitAPI::TEST):
979
980 2019-04-17  Tim Horton  <timothy_horton@apple.com>
981
982         [iOS Sim Debug] REGRESSION (r244151) TestWebKitAPI.WebKit.OverrideViewportArguments is failing (197028)
983         https://bugs.webkit.org/show_bug.cgi?id=197028
984         <rdar://problem/49985290>
985
986         Reviewed by Wenson Hsieh.
987
988         * TestWebKitAPI/Tests/WebKitCocoa/OverrideViewportArguments.mm:
989         (TEST):
990         Liberal application of waitForNextPresentationUpdate works around a race
991         where if the page rapidly changes its viewport arguments (or an API client
992         rapidly changes its viewport arguments), we'd get stuck thinking that the
993         user had intentionally zoomed the page, and stop resetting the initial scale.
994         This deserves a separate bug, but no need to keep the test failing while
995         we think about it.
996
997 2019-04-17  Tim Horton  <timothy_horton@apple.com>
998
999         REGRESSION (r241988): Switching tabs is slow
1000         https://bugs.webkit.org/show_bug.cgi?id=197037
1001         <rdar://problem/49951473>
1002
1003         Reviewed by Simon Fraser.
1004
1005         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1006         * TestWebKitAPI/Tests/WebKitCocoa/ReparentWebViewTimeout.mm: Added.
1007         (TEST):
1008         * TestWebKitAPI/cocoa/TestWKWebView.h:
1009         * TestWebKitAPI/cocoa/TestWKWebView.mm:
1010         (-[TestWKWebView addToTestWindow]):
1011         Add a test that hangs without this fix.
1012
1013 2019-04-17  Truitt Savell  <tsavell@apple.com>
1014
1015         Unreviewed, rolling out r244400.
1016
1017         Caused testing to exit early with assertionon Debug WK2
1018
1019         Reverted changeset:
1020
1021         "UI↔Web deadlock when printing with a JavaScript alert
1022         visible"
1023         https://bugs.webkit.org/show_bug.cgi?id=196839
1024         https://trac.webkit.org/changeset/244400
1025
1026 2019-04-17  Brady Eidson  <beidson@apple.com>
1027
1028         Link clicks in PDFs shouldn't send referrer headers.
1029         <rdar://problem/21142581> and https://bugs.webkit.org/show_bug.cgi?id=196980
1030
1031         Reviewed by Tim Horton.
1032
1033         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1034         * TestWebKitAPI/Tests/WebKitCocoa/PDFLinkReferrer.mm: Added.
1035         (putPDFBytesCallback):
1036         (emptyReleaseInfoCallback):
1037         (createPDFWithLinkToURL):
1038         (TEST):
1039
1040 2019-04-17  Tim Horton  <timothy_horton@apple.com>
1041
1042         UI↔Web deadlock when printing with a JavaScript alert visible
1043         https://bugs.webkit.org/show_bug.cgi?id=196839
1044         <rdar://problem/49157642>
1045
1046         Reviewed by Andy Estes.
1047
1048         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1049         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewPrintFormatter.mm: Added.
1050         (-[PrintOnAlertUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1051         (TEST):
1052
1053 2019-04-17  Alex Christensen  <achristensen@webkit.org>
1054
1055         WKRetainPtr's adoption constructor should be private
1056         https://bugs.webkit.org/show_bug.cgi?id=197019
1057
1058         Reviewed by Tim Horton.
1059
1060         * DumpRenderTree/mac/DumpRenderTree.mm:
1061         (dumpFramesAsText):
1062         * TestWebKitAPI/InjectedBundleController.cpp:
1063         (TestWebKitAPI::InjectedBundleController::initialize):
1064         * TestWebKitAPI/PlatformUtilities.cpp:
1065         (TestWebKitAPI::Util::createContextWithInjectedBundle):
1066         (TestWebKitAPI::Util::createInitializationDictionaryForInjectedBundleTest):
1067         (TestWebKitAPI::Util::createContextForInjectedBundleTest):
1068         (TestWebKitAPI::Util::toWK):
1069         * TestWebKitAPI/Tests/CustomProtocolsSyncXHRTest.mm:
1070         (TestWebKitAPI::TEST):
1071         * TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp:
1072         (TestWebKitAPI::TEST):
1073         * TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
1074         (TestWebKitAPI::TEST):
1075         * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic.cpp:
1076         (TestWebKitAPI::TEST):
1077         * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic_Bundle.cpp:
1078         (TestWebKitAPI::DOMWindowExtensionBasic::initialize):
1079         * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionNoCache.cpp:
1080         (TestWebKitAPI::TEST):
1081         * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionNoCache_Bundle.cpp:
1082         (TestWebKitAPI::DOMWindowExtensionNoCache::initialize):
1083         * TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm:
1084         (TestWebKitAPI::TEST):
1085         * TestWebKitAPI/Tests/WebKit/DidNotHandleKeyDown.cpp:
1086         (TestWebKitAPI::TEST):
1087         * TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache_Bundle.cpp:
1088         (TestWebKitAPI::didRemoveFrameFromHierarchyCallback):
1089         * TestWebKitAPI/Tests/WebKit/DocumentStartUserScriptAlertCrash.cpp:
1090         (TestWebKitAPI::TEST):
1091         * TestWebKitAPI/Tests/WebKit/DocumentStartUserScriptAlertCrash_Bundle.cpp:
1092         (TestWebKitAPI::DocumentStartUserScriptAlertCrashTest::initialize):
1093         * TestWebKitAPI/Tests/WebKit/EnumerateMediaDevices.cpp:
1094         (TestWebKitAPI::TEST):
1095         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
1096         (TestWebKitAPI::TEST):
1097         * TestWebKitAPI/Tests/WebKit/EvaluateJavaScript.cpp:
1098         (TestWebKitAPI::TEST):
1099         * TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
1100         (TestWebKitAPI::TEST):
1101         * TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
1102         (TestWebKitAPI::TEST):
1103         * TestWebKitAPI/Tests/WebKit/Find.cpp:
1104         (TestWebKitAPI::TEST):
1105         * TestWebKitAPI/Tests/WebKit/FindMatches.mm:
1106         (TestWebKitAPI::TEST):
1107         * TestWebKitAPI/Tests/WebKit/FirstMeaningfulPaintMilestone.cpp:
1108         (TestWebKitAPI::TEST):
1109         * TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
1110         (TestWebKitAPI::TEST):
1111         * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
1112         (TestWebKitAPI::TEST):
1113         * TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
1114         (TestWebKitAPI::TEST):
1115         * TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
1116         (TestWebKitAPI::TEST):
1117         * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
1118         (TestWebKitAPI::TEST):
1119         * TestWebKitAPI/Tests/WebKit/GetInjectedBundleInitializationUserDataCallback.cpp:
1120         (TestWebKitAPI::TEST):
1121         * TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle.cpp:
1122         (TestWebKitAPI::TEST):
1123         * TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle_Bundle.cpp:
1124         (TestWebKitAPI::HitTestResultNodeHandleTest::getContextMenuFromDefaultMenu):
1125         * TestWebKitAPI/Tests/WebKit/InjectedBundleBasic.cpp:
1126         (TestWebKitAPI::TEST):
1127         * TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior.cpp:
1128         (TestWebKitAPI::TEST):
1129         * TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior_Bundle.cpp:
1130         (TestWebKitAPI::InjectedBundleNoDisableOverrideBuiltinsBehaviorTest::initialize):
1131         (TestWebKitAPI::InjectedBundleDisableOverrideBuiltinsBehaviorTest::initialize):
1132         * TestWebKitAPI/Tests/WebKit/InjectedBundleFrameHitTest.cpp:
1133         (TestWebKitAPI::TEST):
1134         * TestWebKitAPI/Tests/WebKit/InjectedBundleFrameHitTest_Bundle.cpp:
1135         (TestWebKitAPI::InjectedBundleFrameHitTestTest::frameLoadFinished):
1136         * TestWebKitAPI/Tests/WebKit/InjectedBundleInitializationUserDataCallbackWins.cpp:
1137         (TestWebKitAPI::TEST):
1138         * TestWebKitAPI/Tests/WebKit/InjectedBundleMakeAllShadowRootsOpen.cpp:
1139         (TestWebKitAPI::TEST):
1140         * TestWebKitAPI/Tests/WebKit/InjectedBundleMakeAllShadowRootsOpen_Bundle.cpp:
1141         (TestWebKitAPI::InjectedBundleMakeAllShadowRootOpenTest::initialize):
1142         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
1143         (TestWebKitAPI::TEST):
1144         * TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
1145         (TestWebKitAPI::loadAlternateHTMLString):
1146         (TestWebKitAPI::TEST):
1147         * TestWebKitAPI/Tests/WebKit/LoadCanceledNoServerRedirectCallback.cpp:
1148         (TestWebKitAPI::TEST):
1149         * TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp:
1150         (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
1151         * TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp:
1152         (TestWebKitAPI::buildAndPerformTest):
1153         * TestWebKitAPI/Tests/WebKit/ModalAlertsSPI.cpp:
1154         (TestWebKitAPI::TEST):
1155         * TestWebKitAPI/Tests/WebKit/MouseMoveAfterCrash.cpp:
1156         (TestWebKitAPI::TEST):
1157         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp:
1158         (TestWebKitAPI::TEST):
1159         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
1160         (TestWebKitAPI::TEST):
1161         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
1162         (TestWebKitAPI::TEST):
1163         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
1164         (TestWebKitAPI::TEST):
1165         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
1166         (TestWebKitAPI::TEST):
1167         * TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
1168         (TestWebKitAPI::TEST):
1169         * TestWebKitAPI/Tests/WebKit/PasteboardNotifications.mm:
1170         (TestWebKitAPI::TEST):
1171         * TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp:
1172         (TestWebKitAPI::TEST):
1173         * TestWebKitAPI/Tests/WebKit/PreventEmptyUserAgent.cpp:
1174         (TestWebKitAPI::TEST):
1175         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
1176         (TestWebKitAPI::TEST):
1177         * TestWebKitAPI/Tests/WebKit/ProcessDidTerminate.cpp:
1178         (TestWebKitAPI::TEST):
1179         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
1180         (TestWebKitAPI::TEST):
1181         * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
1182         (TestWebKitAPI::TEST):
1183         * TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp:
1184         (TestWebKitAPI::TEST):
1185         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
1186         (TestWebKitAPI::TEST):
1187         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp:
1188         (TestWebKitAPI::TEST):
1189         * TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp:
1190         (TestWebKitAPI::TEST):
1191         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
1192         (TestWebKitAPI::TEST):
1193         * TestWebKitAPI/Tests/WebKit/SpacebarScrolling.cpp:
1194         (TestWebKitAPI::TEST):
1195         * TestWebKitAPI/Tests/WebKit/StopLoadingDuringDidFailProvisionalLoad.cpp:
1196         (TestWebKitAPI::TEST):
1197         * TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp:
1198         (TestWebKitAPI::TEST):
1199         * TestWebKitAPI/Tests/WebKit/UserMedia.cpp:
1200         (TestWebKitAPI::TEST):
1201         * TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp:
1202         (TestWebKitAPI::TEST):
1203         * TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp:
1204         (TestWebKitAPI::TEST):
1205         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp:
1206         (TestWebKitAPI::TEST):
1207         * TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
1208         (TestWebKitAPI::TEST):
1209         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
1210         (TestWebKitAPI::TEST):
1211         * TestWebKitAPI/Tests/WebKit/WillSendSubmitEvent.cpp:
1212         (TestWebKitAPI::didReceiveMessageFromInjectedBundle):
1213         * TestWebKitAPI/Tests/WebKit/mac/AttributedSubstringForProposedRangeWithImage.mm:
1214         (TestWebKitAPI::TEST):
1215         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
1216         (TestWebKitAPI::TEST):
1217         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm:
1218         (TestWebKitAPI::TEST):
1219         * TestWebKitAPI/Tests/WebKit/mac/EditorCommands.mm:
1220         (TestWebKitAPI::TEST):
1221         * TestWebKitAPI/Tests/WebKit/mac/ForceLightAppearanceInBundle.mm:
1222         (TestWebKitAPI::TEST):
1223         * TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp:
1224         (TestWebKitAPI::TEST):
1225         * TestWebKitAPI/Tests/WebKit/mac/InjectedBundleAppleEvent.cpp:
1226         (TestWebKitAPI::TEST):
1227         * TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
1228         (TestWebKitAPI::TEST):
1229         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
1230         (TestWebKitAPI::TEST):
1231         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
1232         (TestWebKitAPI::TEST):
1233         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
1234         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm:
1235         (TEST):
1236         * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
1237         (TEST):
1238         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1239         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1240         (TEST):
1241         * TestWebKitAPI/Tests/mac/FirstResponderScrollingPosition.mm:
1242         (TestWebKitAPI::TEST):
1243         * TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:
1244         (TestWebKitAPI::FullscreenZoomInitialFrame::initializeView):
1245         * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
1246         (WTR::getMenuItemTitleCallback):
1247         (WTR::createMouseMessageBody):
1248         (WTR::EventSendingController::mouseDown):
1249         (WTR::EventSendingController::mouseUp):
1250         (WTR::EventSendingController::mouseMoveTo):
1251         (WTR::EventSendingController::mouseForceClick):
1252         (WTR::EventSendingController::startAndCancelMouseForceClick):
1253         (WTR::EventSendingController::mouseForceDown):
1254         (WTR::EventSendingController::mouseForceUp):
1255         (WTR::EventSendingController::mouseForceChanged):
1256         (WTR::EventSendingController::leapForward):
1257         (WTR::EventSendingController::scheduleAsynchronousClick):
1258         (WTR::createKeyDownMessageBody):
1259         (WTR::EventSendingController::keyDown):
1260         (WTR::EventSendingController::scheduleAsynchronousKeyDown):
1261         (WTR::EventSendingController::mouseScrollBy):
1262         (WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases):
1263         (WTR::EventSendingController::continuousMouseScrollBy):
1264         (WTR::EventSendingController::addTouchPoint):
1265         (WTR::EventSendingController::updateTouchPoint):
1266         (WTR::EventSendingController::setTouchModifier):
1267         (WTR::EventSendingController::setTouchPointRadius):
1268         (WTR::EventSendingController::touchStart):
1269         (WTR::EventSendingController::touchMove):
1270         (WTR::EventSendingController::touchEnd):
1271         (WTR::EventSendingController::touchCancel):
1272         (WTR::EventSendingController::clearTouchPoints):
1273         (WTR::EventSendingController::releaseTouchPoint):
1274         (WTR::EventSendingController::cancelTouchPoint):
1275         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1276         (WTR::InjectedBundle::didCreatePage):
1277         (WTR::InjectedBundle::didReceiveMessage):
1278         (WTR::InjectedBundle::didReceiveMessageToPage):
1279         (WTR::InjectedBundle::booleanForKey):
1280         (WTR::InjectedBundle::done):
1281         (WTR::InjectedBundle::dumpToStdErr):
1282         (WTR::InjectedBundle::outputText):
1283         (WTR::InjectedBundle::postNewBeforeUnloadReturnValue):
1284         (WTR::InjectedBundle::postAddChromeInputField):
1285         (WTR::InjectedBundle::postRemoveChromeInputField):
1286         (WTR::InjectedBundle::postFocusWebView):
1287         (WTR::InjectedBundle::postSetBackingScaleFactor):
1288         (WTR::InjectedBundle::postSetWindowIsKey):
1289         (WTR::InjectedBundle::postSetViewSize):
1290         (WTR::InjectedBundle::postSimulateWebNotificationClick):
1291         (WTR::InjectedBundle::postSetAddsVisitedLinks):
1292         (WTR::InjectedBundle::setGeolocationPermission):
1293         (WTR::InjectedBundle::setMockGeolocationPosition):
1294         (WTR::InjectedBundle::setMockGeolocationPositionUnavailableError):
1295         (WTR::InjectedBundle::isGeolocationProviderActive const):
1296         (WTR::InjectedBundle::imageCountInGeneralPasteboard const):
1297         (WTR::InjectedBundle::setUserMediaPersistentPermissionForOrigin):
1298         (WTR::InjectedBundle::userMediaPermissionRequestCountForOrigin const):
1299         (WTR::InjectedBundle::resetUserMediaPermissionRequestCountForOrigin):
1300         (WTR::InjectedBundle::setCustomPolicyDelegate):
1301         (WTR::InjectedBundle::setHidden):
1302         (WTR::InjectedBundle::setCacheModel):
1303         (WTR::InjectedBundle::shouldProcessWorkQueue const):
1304         (WTR::InjectedBundle::processWorkQueue):
1305         (WTR::InjectedBundle::queueBackNavigation):
1306         (WTR::InjectedBundle::queueForwardNavigation):
1307         (WTR::InjectedBundle::queueLoad):
1308         (WTR::InjectedBundle::queueLoadHTMLString):
1309         (WTR::InjectedBundle::queueReload):
1310         (WTR::InjectedBundle::queueLoadingScript):
1311         (WTR::InjectedBundle::queueNonLoadingScript):
1312         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
1313         (WTR::frameToStr):
1314         (WTR::InjectedBundlePage::InjectedBundlePage):
1315         (WTR::dumpFrameDescriptionSuitableForTestResult):
1316         (WTR::dumpFrameScrollPosition):
1317         (WTR::dumpDescendantFrameScrollPositions):
1318         (WTR::dumpFrameText):
1319         (WTR::dumpDescendantFramesText):
1320         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1321         (WTR::TestRunner::shouldDumpPixels const):
1322         (WTR::TestRunner::setDumpPixels):
1323         (WTR::TestRunner::whatToDump const):
1324         (WTR::TestRunner::setWhatToDump):
1325         (WTR::TestRunner::setWaitUntilDone):
1326         (WTR::TestRunner::shouldWaitUntilDone const):
1327         (WTR::TestRunner::setShouldDumpFrameLoadCallbacks):
1328         (WTR::TestRunner::shouldDumpFrameLoadCallbacks):
1329         (WTR::TestRunner::clearAllDatabases):
1330         (WTR::TestRunner::setIDBPerOriginQuota):
1331         (WTR::TestRunner::originsWithApplicationCache):
1332         (WTR::TestRunner::setCanOpenWindows):
1333         (WTR::TestRunner::setXSSAuditorEnabled):
1334         (WTR::TestRunner::setMediaDevicesEnabled):
1335         (WTR::TestRunner::setWebRTCMDNSICECandidatesEnabled):
1336         (WTR::TestRunner::setWebRTCUnifiedPlanEnabled):
1337         (WTR::TestRunner::setCustomUserAgent):
1338         (WTR::TestRunner::setWebAPIStatisticsEnabled):
1339         (WTR::TestRunner::setModernMediaControlsEnabled):
1340         (WTR::TestRunner::setWebGL2Enabled):
1341         (WTR::TestRunner::setWritableStreamAPIEnabled):
1342         (WTR::TestRunner::setReadableByteStreamAPIEnabled):
1343         (WTR::TestRunner::setEncryptedMediaAPIEnabled):
1344         (WTR::TestRunner::setAllowsAnySSLCertificate):
1345         (WTR::TestRunner::setPluginsEnabled):
1346         (WTR::TestRunner::setValueForUser):
1347         (WTR::TestRunner::setAudioResult):
1348         (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
1349         (WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
1350         (WTR::TestRunner::setAlwaysAcceptCookies):
1351         (WTR::TestRunner::setOnlyAcceptFirstPartyCookies):
1352         (WTR::TestRunner::isDoingMediaCapture const):
1353         (WTR::TestRunner::queueLoad):
1354         (WTR::TestRunner::setRejectsProtectionSpaceAndContinueForAuthenticationChallenges):
1355         (WTR::TestRunner::setHandlesAuthenticationChallenges):
1356         (WTR::TestRunner::setShouldLogCanAuthenticateAgainstProtectionSpace):
1357         (WTR::TestRunner::setShouldLogDownloadCallbacks):
1358         (WTR::TestRunner::setAuthenticationUsername):
1359         (WTR::TestRunner::setAuthenticationPassword):
1360         (WTR::TestRunner::secureEventInputIsEnabled const):
1361         (WTR::TestRunner::setBlockAllPlugins):
1362         (WTR::TestRunner::setPluginSupportedMode):
1363         (WTR::TestRunner::setShouldDecideNavigationPolicyAfterDelay):
1364         (WTR::TestRunner::setShouldDecideResponsePolicyAfterDelay):
1365         (WTR::TestRunner::setNavigationGesturesEnabled):
1366         (WTR::TestRunner::setIgnoresViewportScaleLimits):
1367         (WTR::TestRunner::setShouldDownloadUndisplayableMIMETypes):
1368         (WTR::TestRunner::setShouldAllowDeviceOrientationAndMotionAccess):
1369         (WTR::TestRunner::terminateNetworkProcess):
1370         (WTR::TestRunner::terminateServiceWorkerProcess):
1371         (WTR::TestRunner::runUIScript):
1372         (WTR::TestRunner::setStatisticsDebugMode):
1373         (WTR::TestRunner::setStatisticsPrevalentResourceForDebugMode):
1374         (WTR::TestRunner::setStatisticsLastSeen):
1375         (WTR::TestRunner::setStatisticsPrevalentResource):
1376         (WTR::TestRunner::setStatisticsVeryPrevalentResource):
1377         (WTR::TestRunner::dumpResourceLoadStatistics):
1378         (WTR::TestRunner::isStatisticsPrevalentResource):
1379         (WTR::TestRunner::isStatisticsVeryPrevalentResource):
1380         (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
1381         (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
1382         (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
1383         (WTR::TestRunner::setStatisticsHasHadUserInteraction):
1384         (WTR::TestRunner::isStatisticsHasHadUserInteraction):
1385         (WTR::TestRunner::setStatisticsGrandfathered):
1386         (WTR::TestRunner::isStatisticsGrandfathered):
1387         (WTR::TestRunner::setStatisticsSubframeUnderTopFrameOrigin):
1388         (WTR::TestRunner::setStatisticsSubresourceUnderTopFrameOrigin):
1389         (WTR::TestRunner::setStatisticsSubresourceUniqueRedirectTo):
1390         (WTR::TestRunner::setStatisticsSubresourceUniqueRedirectFrom):
1391         (WTR::TestRunner::setStatisticsTopFrameUniqueRedirectTo):
1392         (WTR::TestRunner::setStatisticsTopFrameUniqueRedirectFrom):
1393         (WTR::TestRunner::setStatisticsCrossSiteLoadWithLinkDecoration):
1394         (WTR::TestRunner::setStatisticsTimeToLiveUserInteraction):
1395         (WTR::TestRunner::installStatisticsDidScanDataRecordsCallback):
1396         (WTR::TestRunner::statisticsProcessStatisticsAndDataRecords):
1397         (WTR::TestRunner::statisticsUpdateCookieBlocking):
1398         (WTR::TestRunner::statisticsSubmitTelemetry):
1399         (WTR::TestRunner::setStatisticsNotifyPagesWhenDataRecordsWereScanned):
1400         (WTR::TestRunner::setStatisticsIsRunningTest):
1401         (WTR::TestRunner::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval):
1402         (WTR::TestRunner::setStatisticsNotifyPagesWhenTelemetryWasCaptured):
1403         (WTR::TestRunner::setStatisticsMinimumTimeBetweenDataRecordsRemoval):
1404         (WTR::TestRunner::setStatisticsGrandfatheringTime):
1405         (WTR::TestRunner::setStatisticsMaxStatisticsEntries):
1406         (WTR::TestRunner::setStatisticsPruneEntriesDownTo):
1407         (WTR::TestRunner::statisticsClearInMemoryAndPersistentStore):
1408         (WTR::TestRunner::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
1409         (WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval):
1410         (WTR::TestRunner::statisticsDeleteCookiesForHost):
1411         (WTR::TestRunner::setStatisticsCacheMaxAgeCap):
1412         (WTR::TestRunner::statisticsResetToConsistentState):
1413         (WTR::TestRunner::setStorageAccessAPIEnabled):
1414         (WTR::TestRunner::getAllStorageAccessEntries):
1415         (WTR::TestRunner::addMockMediaDevice):
1416         (WTR::TestRunner::clearMockMediaDevices):
1417         (WTR::TestRunner::removeMockMediaDevice):
1418         (WTR::TestRunner::resetMockMediaDevices):
1419         (WTR::TestRunner::connectMockGamepad):
1420         (WTR::TestRunner::disconnectMockGamepad):
1421         (WTR::TestRunner::setMockGamepadDetails):
1422         (WTR::TestRunner::setMockGamepadAxisValue):
1423         (WTR::TestRunner::setMockGamepadButtonValue):
1424         (WTR::TestRunner::removeAllSessionCredentials):
1425         (WTR::TestRunner::clearDOMCache):
1426         (WTR::TestRunner::clearDOMCaches):
1427         (WTR::TestRunner::hasDOMCache):
1428         (WTR::TestRunner::domCacheSize):
1429         (WTR::TestRunner::setAllowStorageQuotaIncrease):
1430         (WTR::TestRunner::getApplicationManifestThen):
1431         (WTR::TestRunner::injectUserScript):
1432         (WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting):
1433         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
1434         (WTR::TestRunner::addTestKeyToKeychain):
1435         (WTR::TestRunner::cleanUpKeychain):
1436         (WTR::TestRunner::keyExistsInKeychain):
1437         (WTR::TestRunner::setCanHandleHTTPSServerTrustEvaluation):
1438         (WTR::TestRunner::canDoServerTrustEvaluationInNetworkProcess):
1439         (WTR::TestRunner::serverTrustEvaluationCallbackCallsCount):
1440         (WTR::TestRunner::setShouldDismissJavaScriptAlertsAsynchronously):
1441         (WTR::TestRunner::setAdClickAttributionOverrideTimerForTesting):
1442         (WTR::TestRunner::setAdClickAttributionConversionURLForTesting):
1443         * WebKitTestRunner/TestController.cpp:
1444         (WTR::TestController::initialize):
1445         (WTR::parseStringTestHeaderValueAsRelativePath):
1446         (WTR::updateTestOptionsFromTestHeader):
1447         (WTR::TestController::runTest):
1448         (WTR::TestController::didReceiveLiveDocumentsList):
1449         (WTR::TestController::didReceiveMessageFromInjectedBundle):
1450         (WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle):
1451         (WTR::TestController::didFinishNavigation):
1452         (WTR::TestController::didReceiveAuthenticationChallenge):
1453         * WebKitTestRunner/TestInvocation.cpp:
1454         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
1455         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1456         (WTR::TestInvocation::uiScriptDidComplete):
1457         (WTR::TestInvocation::didReceiveAllStorageAccessEntries):
1458         * WebKitTestRunner/WebNotificationProvider.cpp:
1459         (WTR::WebNotificationProvider::closeWebNotification):
1460         * WebKitTestRunner/WorkQueueManager.cpp:
1461         (WTR::ScriptItem::ScriptItem):
1462         (WTR::WorkQueueManager::queueLoad):
1463         (WTR::WorkQueueManager::queueLoadHTMLString):
1464
1465 2019-04-17  Alex Christensen  <achristensen@webkit.org>
1466
1467         Add a comment to make my test from r244139 less mysterious.
1468         https://bugs.webkit.org/show_bug.cgi?id=196744
1469
1470         As suggested by Darin Adler.
1471
1472         * TestWebKitAPI/Tests/WebKitCocoa/BundleRetainPagePlugIn.mm:
1473         (-[BundleRetainPagePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
1474
1475 2019-04-17  Chris Dumez  <cdumez@apple.com>
1476
1477         Remember device orientation permission for the duration of the browsing session
1478         https://bugs.webkit.org/show_bug.cgi?id=196992
1479         <rdar://problem/49946067>
1480
1481         Reviewed by Alex Christensen.
1482
1483         Add API test coverage.
1484
1485         * TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
1486         (-[DeviceOrientationPermissionUIDelegate _webView:shouldAllowDeviceOrientationAndMotionAccessRequestedByFrame:decisionHandler:]):
1487         (TEST):
1488
1489 2019-04-17  Aakash Jain  <aakash_jain@apple.com>
1490
1491         [ews-app] Clicking 'submit to new ews' doesn't reload status-bubble
1492         https://bugs.webkit.org/show_bug.cgi?id=196675
1493
1494         Reviewed by Lucas Forschler.
1495
1496         * BuildSlaveSupport/ews-app/ews/views/submittoews.py:
1497         (SubmitToEWS): Added @xframe_options_exempt similar to statusbubble.py
1498
1499 2019-04-16  Wenson Hsieh  <wenson_hsieh@apple.com>
1500
1501         [iOS] [WebKit2] Add support for honoring -[UIMenuItem dontDismiss]
1502         https://bugs.webkit.org/show_bug.cgi?id=196919
1503         <rdar://problem/41630459>
1504
1505         Reviewed by Tim Horton.
1506
1507         Add iOS support for several new testing hooks. See below for more detail.
1508
1509         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1510         (WTR::UIScriptController::isDismissingMenu const):
1511
1512         Add a new script controller method to query whether the platform menu (on iOS, the callout bar) is done
1513         dismissing. We consider the menu to be dismissing in between the `-WillHide` and `-DidHide` notifications sent
1514         by UIKit when dismissing the callout bar (i.e. UIMenuController).
1515
1516         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
1517         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1518         (WTR::UIScriptController::isDismissingMenu const):
1519         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1520         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1521         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1522         (WTR::InjectedBundle::didReceiveMessageToPage):
1523         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1524         (WTR::TestRunner::setAllowedMenuActions):
1525
1526         Add a new helper method to specify a list of allowed actions when bringing up the menu. On iOS, in the case of
1527         actions supported by the platform, this matches against method selector names (for instance, "SelectAll", or
1528         "Copy", or "Paste"). In the case of the custom actions installed via `installCustomMenuAction`, we instead match
1529         against the name of the custom action.
1530
1531         (WTR::TestRunner::installCustomMenuAction):
1532
1533         Add a new helper method to install a custom action for the context menu (on iOS, this is the callout bar). This
1534         takes the name of the action (which appears in a button in the callout bar), whether the action should cause
1535         the callout bar to automatically dismiss, and finally, a JavaScript callback that is invoked when the action is
1536         triggered.
1537
1538         (WTR::TestRunner::performCustomMenuAction):
1539
1540         Invoked when the custom menu action is triggered.
1541
1542         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1543         * WebKitTestRunner/TestController.cpp:
1544         (WTR::TestController::installCustomMenuAction):
1545         (WTR::TestController::setAllowedMenuActions):
1546         * WebKitTestRunner/TestController.h:
1547         * WebKitTestRunner/TestInvocation.cpp:
1548         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
1549         (WTR::TestInvocation::performCustomMenuAction):
1550
1551         Add plumbing to call back into the injected bundle when performing the custom action.
1552
1553         * WebKitTestRunner/TestInvocation.h:
1554         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1555         (WTR::TestController::installCustomMenuAction):
1556         (WTR::TestController::setAllowedMenuActions):
1557         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
1558         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
1559         (-[TestRunnerWKWebView initWithFrame:configuration:]):
1560         (-[TestRunnerWKWebView becomeFirstResponder]):
1561         (-[TestRunnerWKWebView _addCustomItemToMenuControllerIfNecessary]):
1562
1563         Helper method that converts web view's current custom menu action info into a UIMenuItem, and adds it to the
1564         shared menu controller. This is also invoked when the web view becomes first responder, which matches behavior
1565         in the Mail app on iOS.
1566
1567         (-[TestRunnerWKWebView installCustomMenuAction:dismissesAutomatically:callback:]):
1568         (-[TestRunnerWKWebView setAllowedMenuActions:]):
1569         (-[TestRunnerWKWebView resetCustomMenuAction]):
1570         (-[TestRunnerWKWebView performCustomAction:]):
1571         (-[TestRunnerWKWebView canPerformAction:withSender:]):
1572         (-[TestRunnerWKWebView _willHideMenu]):
1573         (-[TestRunnerWKWebView _didHideMenu]):
1574         * WebKitTestRunner/ios/TestControllerIOS.mm:
1575         (WTR::TestController::platformResetStateToConsistentValues):
1576
1577         Reset both any custom installed actions on the shared menu controller, as well as the list of allowed actions,
1578         if specified.
1579
1580         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1581         (WTR::UIScriptController::isDismissingMenu const):
1582
1583 2019-04-16  Megan Gardner  <megan_gardner@apple.com>
1584
1585         Allow sharing from imageSheet on an image document
1586         https://bugs.webkit.org/show_bug.cgi?id=196891
1587         <rdar://problem/25377386>
1588
1589         Reviewed by Tim Horton.
1590
1591         Test to make sure that the correct imageURL is extracted from an image element.
1592
1593         * TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
1594         (TestWebKitAPI::TEST):
1595
1596 2019-04-16  Alex Christensen  <achristensen@webkit.org>
1597
1598         REGRESSION(r244162) Clearing website data from ephemeral WKWebsiteDataStore should finish instead of asserting or hanging
1599         https://bugs.webkit.org/show_bug.cgi?id=196995
1600
1601         Reviewed by Brady Eidson.
1602
1603         * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
1604         (TEST):
1605
1606 2019-04-16  Chris Dumez  <cdumez@apple.com>
1607
1608         URL set by document.open() is not communicated to the UIProcess
1609         https://bugs.webkit.org/show_bug.cgi?id=196941
1610         <rdar://problem/49237544>
1611
1612         Reviewed by Geoff Garen.
1613
1614         Add API test coverage.
1615
1616         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1617         * TestWebKitAPI/Tests/WebKit/open-window-then-write-to-it.html: Added.
1618         * TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm:
1619         (-[OpenWindowThenDocumentOpenUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
1620         (TEST):
1621
1622 2019-04-16  Commit Queue  <commit-queue@webkit.org>
1623
1624         Unreviewed, rolling out r244321.
1625         https://bugs.webkit.org/show_bug.cgi?id=196968
1626
1627         Causing all WK2 Debug builds to exit early after Assertion
1628         failures. (Requested by ShawnRoberts on #webkit).
1629
1630         Reverted changeset:
1631
1632         "URL set by document.open() is not communicated to the
1633         UIProcess"
1634         https://bugs.webkit.org/show_bug.cgi?id=196941
1635         https://trac.webkit.org/changeset/244321
1636
1637 2019-04-15  Aakash Jain  <aakash_jain@apple.com>
1638
1639         Regression (r244291): Broken API Test AutoLayoutRenderingProgressRelativeOrdering
1640         https://bugs.webkit.org/show_bug.cgi?id=196948
1641
1642         Reviewed by Zalan Bujtas.
1643
1644         * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
1645         (TEST): Disabling the test for now to keep infrastructure happy, while the root-cause is being investigated.
1646
1647 2019-04-15  Chris Dumez  <cdumez@apple.com>
1648
1649         URL set by document.open() is not communicated to the UIProcess
1650         https://bugs.webkit.org/show_bug.cgi?id=196941
1651         <rdar://problem/49237544>
1652
1653         Reviewed by Geoffrey Garen.
1654
1655         Add API test coverage.
1656
1657         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1658         * TestWebKitAPI/Tests/WebKit/open-window-then-write-to-it.html: Added.
1659         * TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm:
1660         (-[OpenWindowThenDocumentOpenUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
1661         (TEST):
1662
1663 2019-04-15  Dean Johnson  <dean_johnson@apple.com>
1664
1665         Using Tools/Scripts/clean-webkit should not install requests
1666         https://bugs.webkit.org/show_bug.cgi?id=196940
1667
1668         Reviewed by Lucas Forschler.
1669
1670         * Scripts/webkitpy/common/system/autoinstall.py: Drive-by fix for no logging handlers
1671         existing, depending on the path autoinstalled is run through.
1672         * Scripts/webkitpy/port/base.py: Import webkitpy.results.upload.Upload only where it's
1673         needed.
1674         (Port.configuration_for_upload):
1675         (Port.commits_for_upload):
1676
1677 2019-04-15  Alex Christensen  <achristensen@webkit.org>
1678
1679         Add a DiagnosticLogging method taking an arbitrary dictionary of values.
1680         https://bugs.webkit.org/show_bug.cgi?id=196773
1681
1682         Reviewed by Jer Noble.
1683
1684         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDiagnosticLogging.mm:
1685         (-[TestLoggingDelegate _webView:logDiagnosticMessage:description:valueDictionary:]):
1686         (TEST):
1687
1688 2019-04-15  Aakash Jain  <aakash_jain@apple.com>
1689
1690         ews-build should clearly indicate flaky test failures
1691         https://bugs.webkit.org/show_bug.cgi?id=196947
1692
1693         Reviewed by Lucas Forschler.
1694
1695         * BuildSlaveSupport/ews-build/steps.py:
1696         (AnalyzeAPITestsResults.analyzeResults):
1697
1698 2019-04-15  Brent Fulgham  <bfulgham@apple.com>
1699
1700         InjectedBundle parameters often need initialization function called before unarchiving
1701         https://bugs.webkit.org/show_bug.cgi?id=189709
1702         <rdar://problem/44573653>
1703
1704         Reviewed by Ryosuke Niwa.
1705
1706         * TestWebKitAPI/cocoa/WebProcessPlugIn/WebProcessPlugIn.mm:
1707         (-[WebProcessPlugIn additionalClassesForParameterCoder]): Added.
1708
1709 2019-04-12  Ryosuke Niwa  <rniwa@webkit.org>
1710
1711         HashTable::removeIf always shrinks the hash table by half even if there is nothing left
1712         https://bugs.webkit.org/show_bug.cgi?id=196681
1713
1714         Reviewed by Darin Adler.
1715
1716         Added tests.
1717
1718         * TestWebKitAPI/Tests/WTF/HashSet.cpp:
1719         (WTF_HashSet.RemoveIf):
1720         (WTF_HashSet.RemoveIfShrinkToBestSize):
1721
1722 2019-04-15  John Wilander  <wilander@apple.com>
1723
1724         Send delayed Ad Click Attribution conversion requests to the click source
1725         https://bugs.webkit.org/show_bug.cgi?id=196838
1726         <rdar://problem/47650157>
1727
1728         Reviewed by Chris Dumez and Youenn Fablet.
1729
1730         This patch adds test infrastructure to override the default behavior in
1731         WebKit::NetworkAdClickAttribution.
1732
1733         * TestWebKitAPI/Tests/WebCore/AdClickAttribution.cpp:
1734         (TestWebKitAPI::TEST):
1735         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1736         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1737         (WTR::TestRunner::dumpAdClickAttribution):
1738         (WTR::TestRunner::clearAdClickAttribution):
1739         (WTR::TestRunner::setAdClickAttributionOverrideTimerForTesting):
1740         (WTR::TestRunner::setAdClickAttributionConversionURLForTesting):
1741         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1742         * WebKitTestRunner/TestController.cpp:
1743         (WTR::TestController::setAdClickAttributionOverrideTimerForTesting):
1744         (WTR::TestController::setAdClickAttributionConversionURLForTesting):
1745         * WebKitTestRunner/TestController.h:
1746         * WebKitTestRunner/TestInvocation.cpp:
1747         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1748
1749 2019-04-15  Aakash Jain  <aakash_jain@apple.com>
1750
1751         [ews-app] status-bubble should display position in queue
1752         https://bugs.webkit.org/show_bug.cgi?id=196607
1753
1754         Reviewed by Lucas Forschler.
1755
1756         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
1757         (StatusBubble._build_bubble):
1758         (StatusBubble._queue_position): Method to calculate patch's position in queue.
1759
1760 2019-04-15  Aakash Jain  <aakash_jain@apple.com>
1761
1762         [ews-build] Do not run clean build by default on EWS builders
1763         https://bugs.webkit.org/show_bug.cgi?id=196897
1764
1765         Reviewed by Lucas Forschler.
1766
1767         * BuildSlaveSupport/ews-build/steps.py:
1768         (ApplyPatch.start): Do not create .buildbot-patched file. This is a special file for Buildbot and if this
1769         file is present, during the Source checkout, Buildbot cleans the working directory completely (including removing 
1770         untracked directories like WebKitBuild).
1771         (CheckOutSource.__init__): Pass method=clean so that Buildbot clean the working directory. This does not remove
1772         untracked files/directories (like WebKitBuild).
1773
1774 2019-04-15  Per Arne Vollan  <pvollan@apple.com>
1775
1776         TestRunner::notifyDone() should be safely reentrant
1777         https://bugs.webkit.org/show_bug.cgi?id=196898
1778
1779         Reviewed by Darin Adler.
1780
1781         It is currently possible that TestRunner::notifyDone() will call itself, since
1782         notifyDone() will force a repaint, which can start executing JavaScript, which
1783         may call notifyDone() again. This can lead to test failures and flakiness.
1784         Fix this by setting the m_waitToDump flag before calling the dump() method.
1785
1786         * DumpRenderTree/mac/TestRunnerMac.mm:
1787         (TestRunner::notifyDone):
1788         (TestRunner::forceImmediateCompletion):
1789         * DumpRenderTree/win/TestRunnerWin.cpp:
1790         (TestRunner::notifyDone):
1791         (TestRunner::forceImmediateCompletion):
1792
1793 2019-04-15  Philippe Normand  <pnormand@igalia.com>
1794
1795         [GTK][WPE] Add enable-media websetting
1796         https://bugs.webkit.org/show_bug.cgi?id=196863
1797
1798         Reviewed by Michael Catanzaro.
1799
1800         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
1801         (testWebKitSettings): Add test for the enable-media web-setting.
1802
1803 2019-04-14  Wenson Hsieh  <wenson_hsieh@apple.com>
1804
1805         API test WKAttachmentTests.AddAttachmentToConnectedImageElement is a flaky failure on Mac Release builds
1806         https://bugs.webkit.org/show_bug.cgi?id=196905
1807         <rdar://problem/49886096>
1808
1809         Reviewed by Tim Horton.
1810
1811         This flaky test exercises a race condition between when attachment insertion updates are dispatched from the web
1812         process to the UI process, and when script is executed via -[WKWebView evaluateJavaScript:completionHandler:].
1813         Since attachment insertion and removal updates from the web process to the UI process are scheduled on a zero-
1814         delay timer, we end up with this sequence of events in the problematic (failure) case:
1815
1816         (a) [UI]    Run script #1 (which calls `HTMLAttachmentElement.getAttachmentIdentifier`)
1817             ...IPC from UI to web process...
1818         (b) [Web]   Evaluate script #1 in the web process, which schedules attachment updates on a zero-delay timer
1819             ...IPC from web to UI process...
1820         (c) [UI]    Invoke completion handler for script #1
1821         (d) [UI]    Run script #2 (which calls `document.querySelector('img').attachmentIdentifier`)
1822             ...IPC from UI to web process...
1823         (e) [Web]   Evaluate script #2 in the web process
1824         (f) [Web]   Zero-delay timer fires and dispatches attachment updates to the UI process
1825
1826         ...which means that script #2 will complete before the UI process has received the attachment updates sent in
1827         step (f). However, in the case where the flaky test succeeds, the zero-delay timer in (f) fires *before* script
1828         #2 is run in step (e).
1829
1830         This patch fixes the flaky test by waiting until attachment insertion updates are guaranteed to be received in
1831         the UI process by waiting on a script message posted by the web process, after attachment updates are
1832         dispatched.
1833
1834         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1835         (TestWebKitAPI::TEST):
1836
1837 2019-04-14  Aakash Jain  <aakash_jain@apple.com>
1838
1839         Disable Flaky API Test WKAttachmentTests.AddAttachmentToConnectedImageElement
1840         https://bugs.webkit.org/show_bug.cgi?id=196909
1841
1842         Reviewed by Wenson Hsieh.
1843
1844         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1845         (TestWebKitAPI::TEST):
1846
1847 2019-04-13  Tadeu Zagallo  <tzagallo@apple.com>
1848
1849         CodeCache should check that the UnlinkedCodeBlock was successfully created before caching it
1850         https://bugs.webkit.org/show_bug.cgi?id=196880
1851
1852         Reviewed by Yusuke Suzuki.
1853
1854         Add a new function for bytecode cache tests that does not forceDiskCache
1855         for the second run: runBytecodeCacheNoAssetion. This is necessary for the
1856         test added in this patch, since the code is invalid and therefore won't be
1857         cached. It should also be useful for tests that evaluate dynamically
1858         generated code.
1859
1860         * Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper.sh:
1861         * Scripts/run-jsc-stress-tests:
1862
1863 2019-04-12  Eric Carlson  <eric.carlson@apple.com>
1864
1865         Update AudioSession route sharing policy
1866         https://bugs.webkit.org/show_bug.cgi?id=196776
1867         <rdar://problem/46501611>
1868
1869         Reviewed by Jer Noble.
1870
1871         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
1872         (TestWebKitAPI::routeSharingPolicyLongFormVideo):
1873         (TestWebKitAPI::routeSharingPolicyLongFormAudio):
1874         (TestWebKitAPI::TEST):
1875
1876 2019-04-12  Wenson Hsieh  <wenson_hsieh@apple.com>
1877
1878         [iOS] Software keyboard is shown too frequently on some websites
1879         https://bugs.webkit.org/show_bug.cgi?id=195856
1880         <rdar://problem/49191395>
1881
1882         Reviewed by Darin Adler.
1883
1884         Add support for attaching or detaching the hardware keyboard on iOS in layout tests.
1885
1886         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1887         (WTR::UIScriptController::setHardwareKeyboardAttached):
1888         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
1889         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1890         (WTR::UIScriptController::setHardwareKeyboardAttached):
1891         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1892         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
1893
1894         Additionally link against GraphicsServices in WebKitTestRunner.
1895
1896         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1897         (WTR::TestController::platformResetStateToConsistentValues):
1898         (WTR::UIScriptController::setHardwareKeyboardAttached):
1899
1900 2019-04-12  Ludovico de Nittis  <ludovico.denittis@collabora.com>
1901
1902         [GTK][WPE] Fix pacman install-dependencies packages
1903         https://bugs.webkit.org/show_bug.cgi?id=196817
1904
1905         Reviewed by Žan Doberšek.
1906         
1907         python3-setuptools is called python-setuptools
1908         ruby-highline is only available on AUR
1909         libv4l-devel is incorporated in v4l-utils
1910
1911         * gtk/install-dependencies:
1912         * wpe/install-dependencies:
1913
1914 2019-04-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1915
1916         [GTK] REGRESSION(r243860): Many tests failing
1917         https://bugs.webkit.org/show_bug.cgi?id=196791
1918
1919         Reviewed by Joanmarie Diggs.
1920
1921         Rework the accessibility unit test to use DBus for the communication with the server. This way we can load
1922         multiple documents and check that accessibility hierarchy is updated after a navigation.
1923
1924         * TestWebKitAPI/Tests/WebKitGtk/AccessibilityTestServer.cpp:
1925         (loadChangedCallback):
1926         * TestWebKitAPI/Tests/WebKitGtk/TestWebKitAccessibility.cpp:
1927         (AccessibilityTest::AccessibilityTest):
1928         (AccessibilityTest::~AccessibilityTest):
1929         (AccessibilityTest::loadHTMLAndWaitUntilFinished):
1930         (AccessibilityTest::findTestServerApplication):
1931         (AccessibilityTest::findDocumentWeb):
1932         (AccessibilityTest::findRootObject):
1933         (AccessibilityTest::waitUntilChildrenRemoved):
1934         (AccessibilityTest::ensureProxy):
1935         (testAtspiBasicHierarchy):
1936         (beforeAll):
1937         (afterAll):
1938
1939 2019-04-11  Aakash Jain  <aakash_jain@apple.com>
1940
1941         [ews-build] Handle bug titles with unicode characters
1942         https://bugs.webkit.org/show_bug.cgi?id=196802
1943
1944         Reviewed by Dewei Zhu.
1945
1946         * BuildSlaveSupport/ews-build/steps.py:
1947         (ValidatePatch._is_bug_closed):
1948
1949 2019-04-11  Michael Saboff  <msaboff@apple.com>
1950
1951         Improve the Inline Cache Stats code
1952         https://bugs.webkit.org/show_bug.cgi?id=196836
1953
1954         Reviewed by Saam Barati.
1955
1956         Added a new script to consolidate and arrange the output of --useICStats option.
1957
1958         This script merges the output from every group into one large table and sorts it from most common to
1959         least common.  It also counts the slow path GetById and PutById variants and then calculates the
1960         percentage of gets or puts for each unique base,property pair compared to all the gets and puts.
1961         Put together, this is useful to see what property accesses are not getting cached.
1962
1963         * Scripts/ic-stats.py: Added.
1964         (ICStats):
1965         (ICStats.__init__):
1966         (ICStats.parse):
1967         (ICStats.dumpStats):
1968         (usage):
1969
1970 2019-04-10  Alex Christensen  <achristensen@webkit.org>
1971
1972         WKNavigationResponse._downloadAttribute should be nil when no download attribute is present
1973         https://bugs.webkit.org/show_bug.cgi?id=196809
1974         <rdar://49800762>
1975
1976         Reviewed by Brady Eidson.
1977
1978         * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm:
1979         (TEST):
1980
1981 2019-04-10  Said Abou-Hallawa  <sabouhallawa@apple.com>
1982
1983         requestAnimationFrame should execute before the next frame
1984         https://bugs.webkit.org/show_bug.cgi?id=177484
1985
1986         Reviewed by Simon Fraser.
1987
1988         Add trace points for the page RenderingUpdate.
1989
1990         * Tracing/SystemTracePoints.plist:
1991
1992 2019-04-10  Fujii Hironori  <Hironori.Fujii@sony.com>
1993
1994         [Win] Use a bundled vswhere.exe instead of downloading by update-vswhere.py
1995         https://bugs.webkit.org/show_bug.cgi?id=196760
1996
1997         Reviewed by Don Olmstead.
1998
1999         vswhere.exe has been bundled since Visual Studio 2017 version
2000         15.2. We shouldn't download vswhere.exe.
2001
2002         * Scripts/build-jsc: Do not call update-vswhere.py.
2003         * Scripts/build-webkit: Ditto.
2004         * Scripts/update-vswhere.py: Removed.
2005         * Scripts/webkitdirs.pm:
2006         (requireModulesForVSWhere): Deleted.
2007         (pickCurrentVisualStudioInstallation): Deleted.
2008         (visualStudioInstallDirVSWhere): Return the latest installed VS
2009         installation path by using the bundled vswhere.exe.
2010         (setupCygwinEnv): Removed a unused variable $visualStudioPath.
2011         (visualStudioInstallDirFallback): Removed.
2012
2013 2019-04-10  Aakash Jain  <aakash_jain@apple.com>
2014
2015         [ews-build] PrintConfiguration should display Xcode version instead of SDKVersion
2016         https://bugs.webkit.org/show_bug.cgi?id=196780
2017
2018         Reviewed by Alexey Proskuryakov.
2019
2020         * BuildSlaveSupport/ews-build/steps.py:
2021         * BuildSlaveSupport/ews-build/steps_unittest.py:
2022
2023 2019-04-10  Alex Christensen  <achristensen@webkit.org>
2024
2025         Add SPI WKNavigationResponse._downloadAttribute
2026         https://bugs.webkit.org/show_bug.cgi?id=196755
2027         <rdar://49587365>
2028
2029         Reviewed by Brady Eidson.
2030
2031         * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm:
2032         (-[NavigationResponseTestDelegate navigationResponse]):
2033         (-[NavigationResponseTestDelegate waitForNavigationResponseCallback]):
2034         (-[NavigationResponseTestDelegate waitForNavigationFinishedCallback]):
2035         (-[NavigationResponseTestDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
2036         (-[NavigationResponseTestDelegate webView:didFinishNavigation:]):
2037         (-[NavigationResponseTestDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
2038         (readRequest):
2039         (writeResponse):
2040         (TEST):
2041
2042 2019-04-10  Tim Horton  <timothy_horton@apple.com>
2043
2044         Add modern API for overriding the page's specified viewport configuration
2045         https://bugs.webkit.org/show_bug.cgi?id=167734
2046         <rdar://problem/30331795>
2047
2048         Reviewed by Simon Fraser.
2049
2050         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2051         * TestWebKitAPI/Tests/WebKitCocoa/OverrideViewportArguments.mm: Added.
2052
2053 2019-04-10  Tadeu Zagallo  <tzagallo@apple.com>
2054
2055         Add support for incremental bytecode cache updates
2056         https://bugs.webkit.org/show_bug.cgi?id=195000
2057
2058         Reviewed by Filip Pizlo.
2059
2060         Exit when the initial run to generate bytecode fails.
2061
2062         * Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper.sh:
2063
2064 2019-04-10  Alex Christensen  <achristensen@webkit.org>
2065
2066         RemoteObjectRegistry message receiver should be removed when WebPage::close is called instead of waiting until dealloc
2067         https://bugs.webkit.org/show_bug.cgi?id=196744
2068         <rdar://49415309>
2069
2070         Reviewed by Chris Dumez.
2071
2072         * TestWebKitAPI/Tests/WebKitCocoa/BundleRetainPagePlugIn.mm:
2073         (-[BundleRetainPagePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
2074
2075 2019-04-10  Wenson Hsieh  <wenson_hsieh@apple.com>
2076
2077         Add a way to opt into modern compatibility mode in layout tests
2078         https://bugs.webkit.org/show_bug.cgi?id=196770
2079         <rdar://problem/49777550>
2080
2081         Reviewed by Antoine Quint.
2082
2083         Add a new test option to enable modern compatibility mode in layout tests.
2084
2085         * WebKitTestRunner/TestController.cpp:
2086         (WTR::updateTestOptionsFromTestHeader):
2087         * WebKitTestRunner/TestController.h:
2088         * WebKitTestRunner/TestOptions.h:
2089         (WTR::TestOptions::hasSameInitializationOptions const):
2090         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2091         (WTR::TestController::platformCreateWebView):
2092         (WTR::TestController::enableModernCompatibilityMode):
2093
2094 2019-04-10  Andy Estes  <aestes@apple.com>
2095
2096         Try to fix the 32-bit watchOS build.
2097
2098         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2099         (-[TestWKWebView evaluateJavaScriptAndWaitForInputSessionToChange:]):
2100
2101 2019-04-10  Antoine Quint  <graouts@apple.com>
2102
2103         Enable Pointer Events on watchOS
2104         https://bugs.webkit.org/show_bug.cgi?id=196771
2105         <rdar://problem/49040909>
2106
2107         Reviewed by Dean Jackson.
2108
2109         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2110
2111 2019-04-10  Philippe Normand  <pnormand@igalia.com>
2112
2113         Unreviewed. Fix WPE accessibility tests after r244059.
2114
2115         We are failing to load the injected bundle due to undefined symbol
2116         AccessibilityUIElement::replaceTextInRange().
2117
2118         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
2119         (WTR::AccessibilityUIElement::replaceTextInRange):
2120
2121 2019-04-10  Takashi Komori  <Takashi.Komori@sony.com>
2122
2123         [WinCairo][MiniBrowser] Pull down menu "Disable JavaScript" doesn't work.
2124         https://bugs.webkit.org/show_bug.cgi?id=196727
2125
2126         Reviewed by Fujii Hironori.
2127
2128         * MiniBrowser/win/WebKitBrowserWindow.cpp:
2129         (WebKitBrowserWindow::create):
2130
2131 2019-04-09  Aakash Jain  <aakash_jain@apple.com>
2132
2133         [ews-build] Add unit tests for PrintConfiguration
2134         https://bugs.webkit.org/show_bug.cgi?id=196752
2135
2136         Reviewed by Dewei Zhu.
2137
2138         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2139
2140 2019-04-09  Keith Rollin  <krollin@apple.com>
2141
2142         Unreviewed build maintenance -- update .xcfilelists.
2143
2144         * DumpRenderTree/DerivedSources-input.xcfilelist:
2145         * DumpRenderTree/DerivedSources-output.xcfilelist:
2146
2147 2019-04-09  Zalan Bujtas  <zalan@apple.com>
2148
2149         [AutoSizing] Avoid making text paragraphs scroll horizontally when there is a wide table
2150         https://bugs.webkit.org/show_bug.cgi?id=196743
2151         <rdar://problem/43897551>
2152
2153         Reviewed by Tim Horton.
2154
2155         * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm: expected behavior change.
2156         (TEST):
2157
2158 2019-04-09  Youenn Fablet  <youenn@apple.com>
2159
2160         Close service worker database on network process suspension
2161         https://bugs.webkit.org/show_bug.cgi?id=196623
2162         <rdar://problem/48930869>
2163
2164         Reviewed by Alex Christensen.
2165
2166         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2167
2168 2019-04-09  Daniel Bates  <dabates@apple.com>
2169
2170         [iPad] Should open popover when the spacebar is pressed
2171         https://bugs.webkit.org/show_bug.cgi?id=196360
2172         <rdar://problem/49389129>
2173
2174         Reviewed by Brent Fulgham.
2175
2176         Add testing infrastructure to support waiting for a popover to be presented or dismissed.
2177
2178         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
2179         (WTR::UIScriptController::isShowingPopover const): Added.
2180         (WTR::UIScriptController::platformSetWillPresentPopoverCallback): Added.
2181         (WTR::UIScriptController::platformSetDidDismissPopoverCallback): Added.
2182         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
2183         * TestRunnerShared/UIScriptContext/UIScriptContext.h:
2184         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2185         (WTR::UIScriptController::setWillPresentPopoverCallback): Added.
2186         (WTR::UIScriptController::willPresentPopoverCallback const): Added.
2187         (WTR::UIScriptController::setDidDismissPopoverCallback): Added.
2188         (WTR::UIScriptController::didDismissPopoverCallback const): Added.
2189         (WTR::UIScriptController::isShowingPopover const): Added.
2190         (WTR::UIScriptController::platformSetWillPresentPopoverCallback): Added.
2191         (WTR::UIScriptController::platformSetDidDismissPopoverCallback): Added.
2192         * TestRunnerShared/UIScriptContext/UIScriptController.h:
2193         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
2194         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
2195         (-[TestRunnerWKWebView initWithFrame:configuration:]): Update some state.
2196         (-[TestRunnerWKWebView resetInteractionCallbacks]): Ditto.
2197         (-[TestRunnerWKWebView _willPresentPopover]): Added.
2198         (-[TestRunnerWKWebView _didDismissPopover]): Added.
2199         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2200         (WTR::UIScriptController::isShowingPopover const): Added.
2201         (WTR::UIScriptController::platformSetWillPresentPopoverCallback): Added.
2202         (WTR::UIScriptController::platformSetDidDismissPopoverCallback): Added.
2203
2204 2019-04-09  Alex Christensen  <achristensen@webkit.org>
2205
2206         Clicking "Go Back" from a safe browsing warning from an iframe should navigate the WKWebView back to the previous page
2207         https://bugs.webkit.org/show_bug.cgi?id=196665
2208         <rdar://45115669>
2209
2210         Reviewed by Geoff Garen.
2211
2212         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
2213         (goBack):
2214         (+[SimpleLookupContext sharedLookupContext]):
2215         (-[SimpleLookupContext lookUpURL:completionHandler:]):
2216         (TEST):
2217         (+[Simple3LookupContext sharedLookupContext]): Deleted.
2218         (-[Simple3LookupContext lookUpURL:completionHandler:]): Deleted.
2219
2220 2019-04-09  John Wilander  <wilander@apple.com>
2221
2222         Pick up Ad Click Attribution conversions in NetworkResourceLoader::willSendRedirectedRequest()
2223         https://bugs.webkit.org/show_bug.cgi?id=196558
2224         <rdar://problem/47650245>
2225
2226         Reviewed by Youenn Fablet.
2227
2228         * TestWebKitAPI/Tests/WebCore/AdClickAttribution.cpp:
2229         (TestWebKitAPI::TEST):
2230             Added tests of WebCore::AdClickAttribution::parseConversionRequest().
2231
2232 2019-04-09  Don Olmstead  <don.olmstead@sony.com>
2233
2234         [CMake] Apple builds should use ICU_INCLUDE_DIRS
2235         https://bugs.webkit.org/show_bug.cgi?id=196720
2236
2237         Reviewed by Konstantin Tokarev.
2238
2239         * TestWebKitAPI/PlatformMac.cmake:
2240
2241 2019-04-09  Jonathan Bedard  <jbedard@apple.com>
2242
2243         iOS 12 Simulator Release WK2 frequently timing out while running layout tests
2244         https://bugs.webkit.org/show_bug.cgi?id=196694
2245         <rdar://problem/48388734>
2246
2247         Rubber-stamped by Aakash Jain.
2248
2249         * Scripts/webkitpy/port/image_diff.py:
2250         (ImageDiffer.diff_image): If the ImageDiff process has data, kill it before running again.
2251         * Scripts/webkitpy/port/server_process.py:
2252         (ServerProcess.has_available_stdout): Check if stdout has data in it.
2253         (ServerProcess._wait_for_data_and_update_buffers_using_select):
2254         (ServerProcess._wait_for_data_and_update_buffers_using_win32_apis):
2255         * Scripts/webkitpy/port/server_process_mock.py:
2256         (MockServerProcess.has_available_stdout):
2257         * Scripts/webkitpy/port/server_process_unittest.py:
2258         (TestServerProcess.serial_test_basic):
2259
2260 2019-04-09  Jer Noble  <jer.noble@apple.com>
2261
2262         Test for: 196095 Inband Text Track cues interspersed with Data cues can display out of order.
2263         https://bugs.webkit.org/show_bug.cgi?id=196097
2264
2265         Reviewed by Eric Carlson.
2266
2267         Drive-by bug fix: allow tests to play audio without a user gesture by default.
2268
2269         * DumpRenderTree/mac/DumpRenderTree.mm:
2270         (resetWebPreferencesToConsistentValues):
2271         * WebKitTestRunner/TestController.cpp:
2272         (WTR::TestController::resetPreferencesToConsistentValues):
2273
2274 2019-04-09  Pablo Saavedra  <psaavedra@igalia.com>
2275
2276         [JSCOnly] Add an i386 JSCOnly EWS that runs tests
2277         https://bugs.webkit.org/show_bug.cgi?id=196690
2278
2279         Reviewed by Michael Catanzaro.
2280
2281         * QueueStatusServer/config/queues.py:
2282         * Scripts/webkitpy/common/config/ews.json:
2283         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
2284         (test_ews_name):
2285
2286 2019-04-09  Chris Dumez  <cdumez@apple.com>
2287
2288         Loads using loadHTMLString() cause flashing when process-swapping
2289         https://bugs.webkit.org/show_bug.cgi?id=196714
2290         <rdar://problem/49637354>
2291
2292         Reviewed by Antti Koivisto.
2293
2294         Add API test coverage.
2295
2296         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2297
2298 2019-04-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2299
2300         Unreviewed. Fix ATK accessibility tests after r244059.
2301
2302         We are failing to load the injected bundle due to undefined symbol
2303         AccessibilityUIElement::replaceTextInRange().
2304
2305         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2306         (WTR::AccessibilityUIElement::replaceTextInRange):
2307
2308 2019-04-08  Fujii Hironori  <Hironori.Fujii@sony.com>
2309
2310         AX: Support API: accessibilityReplaceRange:withText
2311         https://bugs.webkit.org/show_bug.cgi?id=196636
2312
2313         Unreviewed build fix for Windows port.
2314
2315         * WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp:
2316         (WTR::AccessibilityUIElement::replaceTextInRange): Added.
2317
2318 2019-04-08  Don Olmstead  <don.olmstead@sony.com>
2319
2320         [CMake][WinCairo] Separate copied headers into different directories
2321         https://bugs.webkit.org/show_bug.cgi?id=196655
2322
2323         Reviewed by Michael Catanzaro.
2324
2325         * DumpRenderTree/CMakeLists.txt:
2326         * MiniBrowser/win/CMakeLists.txt:
2327         * TestWebKitAPI/CMakeLists.txt:
2328         * TestWebKitAPI/PlatformWin.cmake:
2329
2330 2019-04-08  Jonathan Bedard  <jbedard@apple.com>
2331
2332         Log stack-trace for run-webkit-tests when interrupted
2333         https://bugs.webkit.org/show_bug.cgi?id=176393
2334         <rdar://problem/34262310>
2335
2336         Reviewed by Lucas Forschler.
2337
2338         * Scripts/webkitpy/common/interrupt_debugging.py: Added.
2339         (log_stack_trace): Given a Python frame object, log a stack trace to the provided file.
2340         (StackTraceFileContext): Context which allows stack-traces to be printed to stderr or to a file. 
2341         (log_stack_trace_on_term): Attach a listener to SIGTERM so that a stack-trace can be logged when a program is terminated.
2342         (log_stack_trace_on_ctrl_c): Attach a listener to SIGINT so that a stack-trace can be logged when a program is CTRL+Ced. 
2343         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2344         (main): Set handlers to log stack trace on interruption.
2345
2346 2019-04-08  Fujii Hironori  <Hironori.Fujii@sony.com>
2347
2348         AX: Support API: accessibilityReplaceRange:withText
2349         https://bugs.webkit.org/show_bug.cgi?id=196636
2350
2351         Unreviewed build fix for Windows port.
2352
2353         * DumpRenderTree/AccessibilityUIElement.cpp:
2354         (AccessibilityUIElement::replaceTextInRange): Changed the return value type from void to bool.
2355
2356 2019-04-08  Aakash Jain  <aakash_jain@apple.com>
2357
2358         [ews-build] Scripts using Buildbot API have CORS error
2359         https://bugs.webkit.org/show_bug.cgi?id=196709
2360
2361         Reviewed by Alexey Proskuryakov.
2362
2363         * BuildSlaveSupport/ews-build/master.cfg: Set allowed_origins appropriately.
2364
2365 2019-04-08  Chris Fleizach  <cfleizach@apple.com>
2366
2367         AX: Support API: accessibilityReplaceRange:withText
2368         https://bugs.webkit.org/show_bug.cgi?id=196636
2369
2370         Reviewed by Daniel Bates.
2371
2372         * DumpRenderTree/AccessibilityUIElement.cpp:
2373         (replaceTextInRangeCallback):
2374         (AccessibilityUIElement::replaceTextInRange):
2375         (AccessibilityUIElement::getJSClass):
2376         * DumpRenderTree/AccessibilityUIElement.h:
2377         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
2378         (AccessibilityUIElement::replaceTextInRange):
2379         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
2380         (AccessibilityUIElement::replaceTextInRange):
2381         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
2382         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
2383         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
2384         (WTR::AccessibilityUIElement::replaceTextInRange):
2385         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
2386         (WTR::AccessibilityUIElement::replaceTextInRange):
2387
2388 2019-04-08  Wenson Hsieh  <wenson_hsieh@apple.com>
2389
2390         [iOS] Do not allow starting selection drags when selection views are not visible
2391         https://bugs.webkit.org/show_bug.cgi?id=196686
2392         <rdar://problem/49399192>
2393
2394         Reviewed by Tim Horton.
2395
2396         Adjust some existing API tests to make the web view become first responder before trying to begin dragging, and
2397         also add some new API tests to cover scenarios where the web view is not first responder.
2398
2399         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
2400         (TestWebKitAPI::TEST):
2401         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
2402
2403         Add a switch to optionally make the web view first responder when starting the simulated drag.
2404
2405         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
2406         (-[DragAndDropSimulator initWithWebView:]):
2407         (-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]):
2408
2409 2019-04-08  Justin Fan  <justin_fan@apple.com>
2410
2411         [Web GPU] Fix Web GPU experimental feature on iOS
2412         https://bugs.webkit.org/show_bug.cgi?id=196632
2413
2414         Reviewed by Myles C. Maxfield.
2415
2416         Properly make Web GPU available on iOS 11+.
2417
2418         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2419
2420 2019-04-08  Aakash Jain  <aakash_jain@apple.com>
2421
2422         [ews-build] Do not upload archive when Compile Fails
2423         https://bugs.webkit.org/show_bug.cgi?id=196674
2424
2425         Reviewed by Alexey Proskuryakov.
2426
2427         * BuildSlaveSupport/ews-build/factories.py:
2428         (BuildFactory.__init__): Remove steps which require dynamic decision about whether to run or not.
2429         * BuildSlaveSupport/ews-build/steps.py:
2430         (CompileWebKit.evaluateCommand): Dynamically decide which steps to run based on compile status.
2431         (CompileWebKitToT.evaluateCommand): Explicitly override Compile.evaluateCommand so that it 
2432         doesn't inherit CompileWebKit.evaluateCommand which dynamically adds more steps.
2433
2434 2019-04-08  Guillaume Emont  <guijemont@igalia.com>
2435
2436         Enable DFG on MIPS
2437         https://bugs.webkit.org/show_bug.cgi?id=196689
2438
2439         Reviewed by Žan Doberšek.
2440
2441         Since the bytecode change, we enabled the baseline JIT on mips in
2442         r240432, but DFG is still missing. With this change, all tests are
2443         passing on a ci20 board.
2444
2445         * Scripts/run-jsc-stress-tests: Enable DFG tests on MIPS.
2446
2447 2019-04-08  Philippe Normand  <pnormand@igalia.com>
2448
2449         [Flatpak] Second run update-webkitwpe-flatpak fails
2450         https://bugs.webkit.org/show_bug.cgi?id=192702
2451
2452         Reviewed by Carlos Garcia Campos.
2453
2454         * flatpak/flatpakutils.py:
2455         (FlatpakObject.flatpak): Fix typo.
2456         (FlatpakPackage.install): When installing, also update to the configured remote commit.
2457         * flatpak/org.webkit.WebKit.yaml: Update GNOME 3.28 SDK/runtime hashes.
2458
2459 2019-04-05  Sergio Villar Senin  <svillar@igalia.com>
2460
2461         [GTK][WPE] outlook.live.com displays old-fashioned UI
2462         https://bugs.webkit.org/show_bug.cgi?id=196642
2463
2464         Reviewed by Carlos Garcia Campos.
2465
2466         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
2467         (TestWebKitAPI::TEST): New Mac platform quirk test.
2468
2469 2019-04-07  Commit Queue  <commit-queue@webkit.org>
2470
2471         Unreviewed, rolling out r243956.
2472         https://bugs.webkit.org/show_bug.cgi?id=196688
2473
2474         Broke API Test SafeBrowsing.WKWebViewGoBackIFrame (Requested
2475         by aakashjain on #webkit).
2476
2477         Reverted changeset:
2478
2479         "Clicking "Go Back" from a safe browsing warning from an
2480         iframe should navigate the WKWebView back to the previous
2481         page"
2482         https://bugs.webkit.org/show_bug.cgi?id=196665
2483         https://trac.webkit.org/changeset/243956
2484
2485 2019-04-06  Ryosuke Niwa  <rniwa@webkit.org>
2486
2487         Added tests for WeakHashSet::computesEmpty and WeakHashSet::computeSize
2488         https://bugs.webkit.org/show_bug.cgi?id=196669
2489
2490         Reviewed by Geoffrey Garen.
2491
2492         Added three new unit tests for WeakHashSet.
2493
2494         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
2495         (WTF_WeakPtr.WeakHashSetConstObjects):
2496         (WTF_WeakPtr.WeakHashSetComputesEmpty):
2497         (WTF_WeakPtr.WeakHashSetComputeSize):
2498
2499 2019-04-06  Wenson Hsieh  <wenson_hsieh@apple.com>
2500
2501         Hide next and previous form control buttons when WKWebView is editable
2502         https://bugs.webkit.org/show_bug.cgi?id=196672
2503         <rdar://problem/35625321>
2504
2505         Reviewed by Tim Horton.
2506
2507         Add a new API test.
2508
2509         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
2510         (-[TestWKWebView lastTrailingBarButtonGroup]):
2511         (TestWebKitAPI::TEST):
2512         * TestWebKitAPI/ios/UIKitSPI.h:
2513
2514 2019-04-05  Yongjun Zhang  <yongjun_zhang@apple.com>
2515
2516         We should pass minimumEffectiveDeviceWidth to web process on new page creation.
2517         https://bugs.webkit.org/show_bug.cgi?id=196077
2518         <rdar://problem/49108202>
2519
2520         Reviewed by Chris Dumez.
2521
2522         Add an API test to verify the minimumEffectDeviceWidth is passed to web content process
2523         on new web view.
2524
2525         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2526
2527 2019-04-05  Saam Barati  <sbarati@apple.com>
2528
2529         Make compare-results understand MotionMark
2530         https://bugs.webkit.org/show_bug.cgi?id=196666
2531
2532         Reviewed by Yusuke Suzuki.
2533
2534         * Scripts/compare-results:
2535         (PLT5Results):
2536         (detectMotionMark):
2537         (detectMotionMark1_1):
2538         (motionMarkResults):
2539         (motionMark1_1Results):
2540         (detectBenchmark):
2541         (biggerIsBetter):
2542         (main):
2543
2544 2019-04-05  Alex Christensen  <achristensen@webkit.org>
2545
2546         Clicking "Go Back" from a safe browsing warning from an iframe should navigate the WKWebView back to the previous page
2547         https://bugs.webkit.org/show_bug.cgi?id=196665
2548         <rdar://45115669>
2549
2550         Reviewed by Geoff Garen.
2551
2552         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
2553         (goBack):
2554         (+[SimpleLookupContext sharedLookupContext]):
2555         (-[SimpleLookupContext lookUpURL:completionHandler:]):
2556         (TEST):
2557         (+[Simple3LookupContext sharedLookupContext]): Deleted.
2558         (-[Simple3LookupContext lookUpURL:completionHandler:]): Deleted.
2559
2560 2019-04-05  Aakash Jain  <aakash_jain@apple.com>
2561
2562         [ews-build] Add configuration and architecture for windows builders
2563         https://bugs.webkit.org/show_bug.cgi?id=196660
2564
2565         Reviewed by Lucas Forschler.
2566
2567         * BuildSlaveSupport/ews-build/config.json:
2568
2569 2019-04-05  Jonathan Bedard  <jbedard@apple.com>
2570
2571         webkitpy: Don't run subsequent rounds if interrupted
2572         https://bugs.webkit.org/show_bug.cgi?id=196646
2573
2574         Reviewed by Aakash Jain.
2575
2576         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2577         (Manager.run): Bail out if interrupted.
2578
2579 2019-04-05  Sihui Liu  <sihui_liu@apple.com>
2580
2581         Test sessionStorage in PSON private browsing mode
2582         https://bugs.webkit.org/show_bug.cgi?id=196561
2583
2584         Reviewed by Alex Christensen.
2585
2586         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2587
2588 2019-04-05  Commit Queue  <commit-queue@webkit.org>
2589
2590         Unreviewed, rolling out r243833.
2591         https://bugs.webkit.org/show_bug.cgi?id=196645
2592
2593         This change breaks build of WPE and GTK ports (Requested by
2594         annulen on #webkit).
2595
2596         Reverted changeset:
2597
2598         "[CMake][WTF] Mirror XCode header directories"
2599         https://bugs.webkit.org/show_bug.cgi?id=191662
2600         https://trac.webkit.org/changeset/243833
2601
2602 2019-04-04  Simon Fraser  <simon.fraser@apple.com>
2603
2604         Simple iframe scrolling test fails to get a composited scrolling frame in WebKitTestRunnerApp
2605         https://bugs.webkit.org/show_bug.cgi?id=196635
2606
2607         Reviewed by Antti Koivisto.
2608         
2609         InjectedBundle::beginTesting() calling WKBundleSetAsyncFrameScrollingEnabled() makes it impossible
2610         for a test to enable async frame scrolling via:
2611             <!-- webkit-test-runner [ internal:AsyncFrameScrollingEnabled=true ] -->
2612         so remove it and have TestController::resetPreferencesToConsistentValues() set the default value.
2613         
2614         Test: scrollingcoordinator/ios/programmatic-frame-scroll.html
2615
2616         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2617         (WTR::InjectedBundle::beginTesting):
2618         * WebKitTestRunner/TestController.cpp:
2619         (WTR::TestController::resetPreferencesToConsistentValues):
2620
2621 2019-04-04  Alexey Proskuryakov  <ap@apple.com>
2622
2623         Use a correct LC_RPATH when building with ASan
2624         https://bugs.webkit.org/show_bug.cgi?id=196576
2625
2626         Reviewed by David Kilzer.
2627
2628         * asan/asan.xcconfig: As a temporary hack, just force LC_RPATH on all binaries,
2629         so that ../Frameworks is checked. This is simpler and more reliable than updating
2630         each SPC service xcconfig.
2631
2632 2019-04-04  Aakash Jain  <aakash_jain@apple.com>
2633
2634         Disable Flaky API Test TestWebKitAPI.WebKit.FocusTextInputContext
2635         https://bugs.webkit.org/show_bug.cgi?id=196629
2636
2637         Reviewed by Lucas Forschler.
2638
2639         * TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
2640
2641 2019-04-04  Aakash Jain  <aakash_jain@apple.com>
2642
2643         [ews-app] while waiting in queue status-bubble for testers queues should display build information from builder queue
2644         https://bugs.webkit.org/show_bug.cgi?id=196618
2645
2646         Reviewed by Lucas Forschler.
2647
2648         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
2649         (StatusBubble): Added QUEUE_TRIGGERS.
2650         (StatusBubble._build_bubble): Get the build from builder if tester has not started the build yet.
2651         (StatusBubble._get_parent_queue): Get the name of the parent (builder) queue.
2652         (StatusBubble.get_latest_build_for_queue): If the queue doesn't have any build yet, return build information from
2653         its parent(builder).
2654
2655 2019-04-04  Aakash Jain  <aakash_jain@apple.com>
2656
2657         [ews-app] Status-bubble steps are sometimes displayed in reverse order
2658         https://bugs.webkit.org/show_bug.cgi?id=196625
2659
2660         Reviewed by Lucas Forschler.
2661
2662         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
2663         (StatusBubble._steps_messages): Explicitly specify order_by('uid').
2664
2665 2019-04-04  Aakash Jain  <aakash_jain@apple.com>
2666
2667         Disable Flaky API Test TestWebKitAPI.KeyboardInputTests.KeyboardTypeForInput
2668         https://bugs.webkit.org/show_bug.cgi?id=196630
2669
2670         Reviewed by Wenson Hsieh.
2671
2672         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
2673
2674 2019-04-04  Youenn Fablet  <youenn@apple.com>
2675
2676         Pass storage quota parameters from UIProcess to NetworkProcess as part of WebsiteDataStore parameters
2677         https://bugs.webkit.org/show_bug.cgi?id=196543
2678
2679         Reviewed by Alex Christensen.
2680
2681         * WebKitTestRunner/TestController.cpp:
2682         (WTR::TestController::generatePageConfiguration):
2683
2684 2019-04-04  Aakash Jain  <aakash_jain@apple.com>
2685
2686         [ews-app] Status bubble should not display skipped buildbot steps
2687         https://bugs.webkit.org/show_bug.cgi?id=196584
2688
2689         Reviewed by Lucas Forschler.
2690
2691         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
2692
2693 2019-04-04  Aakash Jain  <aakash_jain@apple.com>
2694
2695         [ews-app] configure localhost as BUILDBOT_SERVER_HOST in testing mode
2696         https://bugs.webkit.org/show_bug.cgi?id=196620
2697
2698         Reviewed by Lucas Forschler.
2699
2700         * BuildSlaveSupport/ews-app/ews/config.py:
2701
2702 2019-04-04  Per Arne Vollan  <pvollan@apple.com>
2703
2704         [Win] DumpRenderTreeWatchDog.py is not checked into source
2705         https://bugs.webkit.org/show_bug.cgi?id=196567
2706         <rdar://problem/49525901>
2707
2708         Reviewed by Lucas Forschler.
2709
2710         This script is used on Win EWS bots to terminate hanging DRT processes.
2711
2712         * EWSTools/dumprendertreewatchdog.py: Added.
2713
2714 2019-04-04  Chris Dumez  <cdumez@apple.com>
2715
2716         Unreviewed, roll out r243858 which made tests time out.
2717
2718         Disable new API tests on Windows instead.
2719
2720         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
2721         (TestWebKitAPI::TEST):
2722
2723 2019-04-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2724
2725         [ATK] Cleanup WebPageAccessibilityObjectAtk
2726         https://bugs.webkit.org/show_bug.cgi?id=196537
2727
2728         Reviewed by Michael Catanzaro.
2729
2730         Also consider files under atk directories as exceptions for GObject conventions.
2731
2732         * Scripts/webkitpy/style/checkers/cpp.py:
2733         (check_identifier_name_in_declaration):
2734
2735 2019-04-03  Fujii Hironori  <Hironori.Fujii@sony.com>
2736
2737         The page's focusedFrame / frameSetLargestFrame do not get cleared on process swap or crash
2738         https://bugs.webkit.org/show_bug.cgi?id=196588
2739         <rdar://problem/49365787>
2740
2741         Unreviewed build fix for Windows port.
2742
2743         error C3861: 'kill': identifier not found
2744
2745         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
2746         (TestWebKitAPI::TEST): Replaced kill with WKPageTerminate.
2747
2748 2019-04-03  Aakash Jain  <aakash_jain@apple.com>
2749
2750         [ews-build] Cancel build and similar operations should have authentication
2751         https://bugs.webkit.org/show_bug.cgi?id=196520
2752
2753         Reviewed by Dewei Zhu.
2754
2755         * BuildSlaveSupport/ews-build/master.cfg: Configure authentication using admin's username and password from
2756         environment variables.
2757
2758 2019-04-03  Aakash Jain  <aakash_jain@apple.com>
2759
2760         [ews-build] Do not trigger queues which are not in production yet
2761         https://bugs.webkit.org/show_bug.cgi?id=196581
2762
2763         Reviewed by Dewei Zhu.
2764
2765         * BuildSlaveSupport/ews-build/config.json:
2766
2767 2019-04-03  Chris Dumez  <cdumez@apple.com>
2768
2769         Unreviewed, fix typo in the name of API test added in r243848.
2770
2771         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
2772         (TestWebKitAPI::TEST):
2773
2774 2019-04-03  Chris Dumez  <cdumez@apple.com>
2775
2776         The page's focusedFrame / frameSetLargestFrame do not get cleared on process swap or crash
2777         https://bugs.webkit.org/show_bug.cgi?id=196588
2778         <rdar://problem/49365787>
2779
2780         Reviewed by Ryosuke Niwa.
2781
2782         Add API test coverage.
2783
2784         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
2785         (TestWebKitAPI::nullJavaScriptCallback):
2786         (TestWebKitAPI::didCrashCheckFrames):
2787         (TestWebKitAPI::TEST):
2788
2789 2019-04-03  Jonathan Bedard  <jbedard@apple.com>
2790
2791         run-webkit-tests: Upload test results (new results database)
2792         https://bugs.webkit.org/show_bug.cgi?id=196577
2793         <rdar://problem/34841155>
2794
2795         Reviewed by Lucas Forschler.
2796
2797         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2798         (Manager.run): Upload results after each device shard, since the configuration will be
2799         different for each device.
2800         (Manager._results_to_upload_json_trie): Convert a TestRunResults object to a trie to be
2801         uploaded to a results database.
2802         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2803         (parse_args): Add new 'Upload Options' and prepare 'Results JSON Options' for deprecation.
2804
2805 2019-04-03  Myles C. Maxfield  <mmaxfield@apple.com>
2806
2807         -apple-trailing-word is needed for browser detection
2808         https://bugs.webkit.org/show_bug.cgi?id=196575
2809
2810         Unreviewed.
2811
2812         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2813
2814 2019-04-03  Don Olmstead  <don.olmstead@sony.com>
2815
2816         [CMake][WTF] Mirror XCode header directories
2817         https://bugs.webkit.org/show_bug.cgi?id=191662
2818
2819         Reviewed by Konstantin Tokarev.
2820
2821         Use WTFFramework as a dependency and include frameworks/WTF.cmake for AppleWin internal
2822         builds.
2823
2824         * CMakeLists.txt:
2825         * DumpRenderTree/CMakeLists.txt:
2826         * DumpRenderTree/PlatformWin.cmake:
2827         * MiniBrowser/win/CMakeLists.txt:
2828         * TestWebKitAPI/CMakeLists.txt:
2829         * TestWebKitAPI/PlatformWin.cmake:
2830         * WebKitTestRunner/PlatformGTK.cmake:
2831         * WebKitTestRunner/PlatformWin.cmake:
2832
2833 2019-04-03  Aakash Jain  <aakash_jain@apple.com>
2834
2835         [ews-app] Status bubble should not display certain infrastructure status messages
2836         https://bugs.webkit.org/show_bug.cgi?id=196550
2837
2838         Reviewed by Lucas Forschler.
2839
2840         Do not display the steps which are un-needed for end-user. This information is still avaiable
2841         if the user click on the bubble and look at the Buildbot build.
2842         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
2843         (StatusBubble._steps_messages):
2844         (StatusBubble._should_display_step): Method to decide whether to display the step or not.
2845
2846 2019-04-03  Aakash Jain  <aakash_jain@apple.com>
2847
2848         [ews-build] Use https for sending data to ews-app
2849         https://bugs.webkit.org/show_bug.cgi?id=196492
2850
2851         Reviewed by Lucas Forschler.
2852
2853         * BuildSlaveSupport/ews-build/events.py:
2854
2855 2019-04-03  Myles C. Maxfield  <mmaxfield@apple.com>
2856
2857         Remove support for -apple-trailing-word
2858         https://bugs.webkit.org/show_bug.cgi?id=196525
2859
2860         Reviewed by Zalan Bujtas.
2861
2862         This CSS property is nonstandard and not used.
2863
2864         * Scripts/webkitperl/FeatureList.pm:
2865         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2866
2867 2019-04-03  Youenn Fablet  <youenn@apple.com>
2868
2869         Add a test for DOMCache on multiple browsing in case of private browsing
2870         https://bugs.webkit.org/show_bug.cgi?id=196524
2871
2872         Reviewed by Alex Christensen.
2873
2874         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2875         (-[SWMessageHandlerForCacheStorage userContentController:didReceiveScriptMessage:]):
2876
2877 2019-04-03  Jonathan Bedard  <jbedard@apple.com>
2878
2879         [ews] Clean out ~/Library/Logs/CoreSimulator/ on reboot
2880         https://bugs.webkit.org/show_bug.cgi?id=196540
2881
2882         Reviewed by Aakash Jain.
2883
2884         * EWSTools/start-queue-mac.sh: Remove CoreSimulator logs.
2885
2886 2019-04-03  Wenson Hsieh  <wenson_hsieh@apple.com>
2887
2888         Add plumbing for a compatibility mode preference in WebKit
2889         https://bugs.webkit.org/show_bug.cgi?id=196005
2890
2891         Reviewed by Tim Horton.
2892
2893         Add new API tests.
2894
2895         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2896         * TestWebKitAPI/ios/PreferredCompatibilityMode.mm: Added.
2897
2898 2019-04-03  Claudio Saavedra  <csaavedra@igalia.com>
2899
2900         [WPE][GTK] Update libsrtp dependency package for Debian
2901         https://bugs.webkit.org/show_bug.cgi?id=196528
2902
2903         Reviewed by Frédéric Wang.
2904
2905         * gtk/install-dependencies:
2906         * wpe/install-dependencies:
2907
2908 2019-04-02  Fujii Hironori  <Hironori.Fujii@sony.com>
2909
2910         [WK2] Add support for Window's beforeprint / afterprint events
2911         https://bugs.webkit.org/show_bug.cgi?id=196478
2912         <rdar://problem/49535124>
2913
2914         Unreviewed build fix for MSVC.
2915
2916         > WebKitTestRunner\TestController.cpp(267): error C2397: conversion from 'double' to 'float' requires a narrowing conversion
2917
2918         And, there is a style guideline. <https://webkit.org/code-style-guidelines/#floating-point-literals>
2919
2920         * WebKitTestRunner/TestController.cpp:
2921         (WTR::printFrame): Use int and float literals.
2922
2923 2019-04-02  Aakash Jain  <aakash_jain@apple.com>
2924
2925         [ews-build] Reassign bots to queues
2926
2927         * BuildSlaveSupport/ews-build/config.json: Reassigned ews150 and ews152.
2928
2929 2019-04-02  Chris Dumez  <cdumez@apple.com>
2930
2931         [WK2] Add support for Window's beforeprint / afterprint events
2932         https://bugs.webkit.org/show_bug.cgi?id=196478
2933
2934         Reviewed by Alex Christensen.
2935
2936         Add minimal implementation for printFrame in WebKitTestRunner.
2937
2938         * WebKitTestRunner/TestController.cpp:
2939         (WTR::printFrame):
2940         (WTR::TestController::createOtherPage):
2941         (WTR::TestController::createWebViewWithOptions):
2942
2943 2019-04-02  Aakash Jain  <aakash_jain@apple.com>
2944
2945         [ews-app] Status bubble hover over message should clearly indicate that build is in-progress
2946         https://bugs.webkit.org/show_bug.cgi?id=196491
2947
2948         Reviewed by Lucas Forschler.
2949
2950         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
2951
2952 2019-04-02  Aakash Jain  <aakash_jain@apple.com>
2953
2954         [ews-build] Configure buildbot try credentials in environment variables
2955         https://bugs.webkit.org/show_bug.cgi?id=196501
2956
2957         Reviewed by Lucas Forschler.
2958
2959         * BuildSlaveSupport/ews-build/loadConfig.py: Read credentials from environment variables.
2960         * BuildSlaveSupport/ews-app/ews/common/buildbot.py: Rename BUILDBOT_PB_USERNAME to BUILDBOT_TRY_USERNAME.
2961         * BuildSlaveSupport/ews-app/ews/config.py: Ditto.
2962
2963 2019-04-02  Wenson Hsieh  <wenson_hsieh@apple.com>
2964
2965         REGRESSION (r243726): Crash at unrecognized selector: -[WKWebpagePreferences webpagePreferences]
2966         https://bugs.webkit.org/show_bug.cgi?id=196496
2967         <rdar://problem/49521634>
2968
2969         Reviewed by Chris Dumez.
2970
2971         Add new API tests (see WebKit ChangeLog for more detail).
2972
2973         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2974         (-[WebsitePoliciesNavigationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
2975         (TEST):
2976
2977 2019-04-02  David Kilzer  <ddkilzer@apple.com>
2978
2979         Rename CLANG_ADDRESS_SANITIZER Xcode variable to ENABLE_ADDRESS_SANITIZER
2980         <https://webkit.org/b/196499>
2981
2982         Reviewed by Alexey Proskuryakov.
2983
2984         * asan/asan.xcconfig: Change CLANG_ADDRESS_SANITIZER to
2985         ENABLE_ADDRESS_SANITIZER.
2986
2987 2019-04-02  Fujii Hironori  <Hironori.Fujii@sony.com>
2988
2989         [CMake] WEBKIT_MAKE_FORWARDING_HEADERS shouldn't use POST_BUILD to copy generated headers
2990         https://bugs.webkit.org/show_bug.cgi?id=182757
2991
2992         Reviewed by Don Olmstead.
2993
2994         * TestWebKitAPI/PlatformGTK.cmake: Removed the workaround of using an intermediate target.
2995         * TestWebKitAPI/PlatformWPE.cmake: Ditto.
2996
2997 2019-04-01  Jonathan Bedard  <jbedard@apple.com>
2998
2999         run-api-tests: Upload test results
3000         https://bugs.webkit.org/show_bug.cgi?id=196323
3001         <rdar://problem/49356714>
3002
3003         Reviewed by Lucas Forschler.
3004
3005         * Scripts/webkitpy/api_tests/manager.py:
3006         (Manager):
3007         (Manager.run): Upload results to a results database.
3008         * Scripts/webkitpy/api_tests/run_api_tests.py:
3009         (parse_args): Add upload arguments.
3010         * Scripts/webkitpy/port/base.py:
3011         (Port):
3012         (Port.configuration_for_upload): Creates a configuration dictionary for uploading results.
3013         (Port.commits_for_upload): Create a list of commits from the WebKit repository tests are run from along
3014         with commits from any other associated repositories.
3015         * Scripts/webkitpy/port/device.py:
3016         (Device):
3017         (Device.build_version): Access build_versoin of underlying platform device.
3018         * Scripts/webkitpy/port/ios_simulator_unittest.py:
3019         (IOSSimulatorTest):
3020         (IOSSimulatorTest.test_configuration_for_upload):
3021         * Scripts/webkitpy/port/device_port.py:
3022         (DevicePort):
3023         (DevicePort.configuration_for_upload): Devices are unique because their configuration is not
3024         the same as the machine uploading results.
3025         * Scripts/webkitpy/port/mac.py:
3026         (MacPort):
3027         (MacPort.configuration_for_upload): Define SDK in upload configuration for Mac.
3028         * Scripts/webkitpy/port/mac_unittest.py:
3029         (MacTest):
3030         (MacTest.test_configuration_for_upload):
3031         * Scripts/webkitpy/xcode/simulated_device.py:
3032         (SimulatedDeviceManager._create_device_with_runtime):
3033         (SimulatedDevice.__init__): Create simulated device with a build_version.
3034         * Scripts/webkitpy/xcode/simulated_device_unittest.py:
3035         (test_existing_simulator):
3036
3037 2019-04-01  Aakash Jain  <aakash_jain@apple.com>
3038
3039         Remove extra newline characters (Follow-up fix to r243707)
3040
3041         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
3042
3043 2019-04-01  Aakash Jain  <aakash_jain@apple.com>
3044
3045         [ews-app] Use API_KEY to accept results data
3046         https://bugs.webkit.org/show_bug.cgi?id=196461
3047
3048         Reviewed by Dewei Zhu.
3049
3050         * BuildSlaveSupport/ews-app/ews/views/results.py:
3051         (Results.post): Validate EWS_API_KEY before accepting any data.
3052         * BuildSlaveSupport/ews-build/events.py:
3053         (Events.sendData): Send EWS_API_KEY if available along with event data.
3054
3055 2019-04-01  Wenson Hsieh  <wenson_hsieh@apple.com>
3056
3057         Unable to copy and paste a PDF from Notes into Mail compose body
3058         https://bugs.webkit.org/show_bug.cgi?id=196442
3059         <rdar://problem/48573098>
3060
3061         Reviewed by Tim Horton.
3062
3063         Add new API tests to exercise pasting CNContact and MKMapItem-backed item providers. Additionally, adjust an
3064         existing test that pastes a PDF file as an attachment to not require UIPreferredPresentationStyleAttachment
3065         to be specified on the item providers.
3066
3067         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3068         (TestWebKitAPI::mapItemForTesting):
3069         (TestWebKitAPI::contactItemForTesting):
3070
3071 2019-04-01  Tim Horton  <timothy_horton@apple.com>
3072
3073         Make UIWKDocumentContext rects per-character instead of per-word
3074         https://bugs.webkit.org/show_bug.cgi?id=196459
3075
3076         Reviewed by Wenson Hsieh.
3077
3078         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
3079         (TEST):
3080         Adjust test results due to switching to per-character rects.
3081
3082 2019-04-01  Chris Dumez  <cdumez@apple.com>
3083
3084         UIProcess crash when a prewarmed process is terminated
3085         https://bugs.webkit.org/show_bug.cgi?id=196451
3086         <rdar://problem/49245471>
3087
3088         Reviewed by Geoffrey Garen.
3089
3090         Add API test coverage.
3091
3092         * TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm:
3093         (TEST):
3094
3095 2019-04-01  Aakash Jain  <aakash_jain@apple.com>
3096
3097         [ews-app] Display OS and Xcode configuration in status-bubble's hover-over message
3098         https://bugs.webkit.org/show_bug.cgi?id=196449
3099
3100         Reviewed by Lucas Forschler.
3101
3102         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
3103         (StatusBubble.get_os_details): Method to get OS and Xcode details.
3104         (StatusBubble._build_bubble): Moved the timestamp logic to common method.
3105         (StatusBubble.get_build_timestamp): Method to get the timestamp to display for the build.
3106
3107 2019-04-01  Aakash Jain  <aakash_jain@apple.com>
3108
3109         [ews-build] Remove force schedulers from OpenSource EWS Buildbot
3110         https://bugs.webkit.org/show_bug.cgi?id=196444
3111
3112         Reviewed by Lucas Forschler.
3113
3114         * BuildSlaveSupport/ews-build/loadConfig.py: Remove ForceSchedulers.
3115
3116 2019-04-01  Alex Christensen  <achristensen@webkit.org>
3117
3118         Add SPI to canonicalize NSURLs with WTF::URL
3119         https://bugs.webkit.org/show_bug.cgi?id=196415
3120         <rdar://problem/44980271>
3121
3122         Reviewed by Darin Adler.
3123
3124         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3125         * TestWebKitAPI/Tests/WebKitLegacy/mac/URLCanonicalization.mm: Added.
3126         (TestWebKitAPI::TEST):
3127
3128 2019-04-01  Zan Dobersek  <zdobersek@igalia.com>
3129
3130         [WPE] EventSenderProxy constructor is called before a PlatformWindow is usable
3131         https://bugs.webkit.org/show_bug.cgi?id=196441
3132
3133         Reviewed by Carlos Garcia Campos.
3134
3135         Don't cache the wpe_view_backend object that might not exist yet at the
3136         time of EventSenderProxy constructor invocation, but instead retrieve
3137         that object whenever it's required for event dispatching. This should
3138         avoid crashes in this constructor now that it's invoked before any
3139         PlatformWindow has been set up (as changed in r243496).
3140
3141         * WebKitTestRunner/EventSenderProxy.h:
3142         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
3143         (WTR::viewBackend):
3144         (WTR::EventSenderProxy::EventSenderProxy):
3145         (WTR::EventSenderProxy::mouseDown):
3146         (WTR::EventSenderProxy::mouseUp):
3147         (WTR::EventSenderProxy::mouseMoveTo):
3148         (WTR::EventSenderProxy::mouseScrollBy):
3149         (WTR::EventSenderProxy::keyDown):
3150         (WTR::EventSenderProxy::prepareAndDispatchTouchEvent):
3151
3152 2019-03-31  Fujii Hironori  <Hironori.Fujii@sony.com>
3153
3154         [Win][WebKit] MiniBrowser should support high DPI display
3155         https://bugs.webkit.org/show_bug.cgi?id=196391
3156
3157         Reviewed by Alex Christensen.
3158
3159         * MiniBrowser/win/WebKitBrowserWindow.cpp:
3160         (WebKitBrowserWindow::WebKitBrowserWindow): Call resetZoom to set the page zoom factor.
3161         (WebKitBrowserWindow::resetZoom): Changed the default page zoom factor from 1 to the device scale factor.
3162         * MiniBrowser/win/stdafx.h: Define WEBCORE_EXPORT.
3163
3164 2019-03-31  Sam Weinig  <weinig@apple.com>
3165
3166         Remove more i386 specific configurations
3167         https://bugs.webkit.org/show_bug.cgi?id=196430
3168
3169         Reviewed by Alexey Proskuryakov.
3170
3171         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3172         ENABLE_WEB_AUTHN_macosx and ENABLE_WEB_RTC_macosx can now be enabled unconditionally on macOS.
3173
3174 2019-03-31  Andy Estes  <aestes@apple.com>
3175
3176         [iOS] WebKit should consult the navigation response policy delegate before previewing a QuickLook document
3177         https://bugs.webkit.org/show_bug.cgi?id=196433
3178         <rdar://problem/49293305>
3179
3180         Reviewed by Tim Horton.
3181
3182         Enhanced API test coverage to include all navigation response policy decisions in both
3183         linked-before and linked-on-or-after modes. Also added new expectations for all tests.
3184
3185         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3186         * TestWebKitAPI/Tests/WebCore/ios/PreviewConverter.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/ios/PreviewLoader.cpp.
3187         (TestWebKitAPI::TEST):
3188         * TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
3189         (readFile):
3190         (-[QuickLookDelegate initWithExpectedFileURL:responsePolicy:]):
3191         (-[QuickLookDelegate initWithExpectedFileURL:previewMIMEType:responsePolicy:]):
3192         (-[QuickLookDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
3193         (-[QuickLookDelegate _webView:didStartLoadForQuickLookDocumentInMainFrameWithFileName:uti:]):
3194         (-[QuickLookDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]):
3195         (-[QuickLookDelegate webView:didFailProvisionalNavigation:withError:]):
3196         (-[QuickLookDelegate _webViewWebProcessDidCrash:]):
3197         (-[QuickLookDelegate _downloadDidStart:]):
3198         (-[QuickLookDelegate _download:didReceiveResponse:]):
3199         (-[QuickLookDelegate _download:didReceiveData:]):
3200         (-[QuickLookDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
3201         (-[QuickLookDelegate _downloadDidFinish:]):
3202         (-[QuickLookDelegate _download:didFailWithError:]):
3203         (-[QuickLookDelegate _downloadDidCancel:]):
3204         (-[QuickLookDelegate verifyDownload]):
3205         (runTest):
3206         (runTestDecideBeforeLoading):
3207         (runTestDecideAfterLoading):
3208         (TEST):
3209         (-[QuickLookAsyncDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
3210         (-[QuickLookPasswordDelegate _webViewDidRequestPasswordForQuickLookDocument:]):
3211         (-[QuickLookFrameLoadDelegate webView:didFinishLoadForFrame:]):
3212         (-[QuickLookNavigationDelegate _webView:didStartLoadForQuickLookDocumentInMainFrameWithFileName:uti:]): Deleted.
3213         (-[QuickLookNavigationDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]): Deleted.
3214         (-[QuickLookNavigationDelegate webView:didFinishNavigation:]): Deleted.
3215         (-[QuickLookAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): Deleted.
3216         (-[QuickLookAsyncNavigationDelegate _webView:didStartLoadForQuickLookDocumentInMainFrameWithFileName:uti:]): Deleted.
3217         (-[QuickLookAsyncNavigationDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]): Deleted.
3218         (-[QuickLookAsyncNavigationDelegate webView:didFinishNavigation:]): Deleted.
3219         (-[QuickLookDecidePolicyDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]): Deleted.
3220         (-[QuickLookDecidePolicyDelegate webView:didFailProvisionalNavigation:withError:]): Deleted.
3221         (-[QuickLookDecidePolicyDelegate _webViewWebProcessDidCrash:]): Deleted.
3222         (-[QuickLookPasswordNavigationDelegate _webViewDidRequestPasswordForQuickLookDocument:]): Deleted.
3223
3224 2019-03-30  Dominik Infuehr  <dinfuehr@igalia.com>
3225
3226         [CMake] add testdfg as target with build-jsc
3227         https://bugs.webkit.org/show_bug.cgi?id=196393
3228
3229         Reviewed by Saam Barati.
3230
3231         Added testdfg as one of the targets to build when
3232         using CMake.
3233
3234         * Scripts/build-jsc:
3235
3236 2019-03-29  Myles C. Maxfield  <mmaxfield@apple.com>
3237
3238         Delete WebMetal implementation in favor of WebGPU
3239         https://bugs.webkit.org/show_bug.cgi?id=195418
3240
3241         Reviewed by Dean Jackson.
3242
3243         * DumpRenderTree/mac/DumpRenderTree.mm:
3244         (enableExperimentalFeatures):
3245         (resetWebPreferencesToConsistentValues):
3246         * Scripts/webkitperl/FeatureList.pm:
3247         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3248         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3249         * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm: Removed.
3250         * TestWebKitAPI/Tests/WebCore/mac/GPULegacyBuffer.mm: Removed.
3251         * TestWebKitAPI/Tests/WebCore/mac/GPULegacyCommandQueue.mm: Removed.
3252         * TestWebKitAPI/Tests/WebCore/mac/GPULegacyDevice.mm: Removed.
3253         * TestWebKitAPI/Tests/WebCore/mac/GPULegacyFunction.mm: Removed.
3254         * TestWebKitAPI/Tests/WebCore/mac/GPULegacyLibrary.mm: Removed.
3255         * TestWebKitAPI/Tests/WebCore/mac/GPULegacyTest.h: Removed.
3256         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3257         (WTR::InjectedBundle::beginTesting):
3258         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3259         (WTR::TestRunner::setWebMetalEnabled): Deleted.
3260         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3261
3262 2019-03-29  Chris Dumez  <cdumez@apple.com>
3263
3264         REGRESSION (r243523): Six form-related watchOS layout tests are timing out
3265         https://bugs.webkit.org/show_bug.cgi?id=196405
3266         <rdar://problem/49428130>
3267
3268         Reviewed by Wenson Hsieh.
3269
3270         Add a shouldPresentPopovers=false WebKitTestRunner option to cause WKTR to swizzle
3271         the popover presentation methods to be no-ops. Use this in the new test added in
3272         r243523 so that we do not swizzle those methods for all tests. This is needed because
3273         those WatchOS tests rely on the popover getting presented and interactive.
3274
3275         * WebKitTestRunner/TestController.cpp:
3276         (WTR::updateTestOptionsFromTestHeader):
3277         * WebKitTestRunner/TestController.h:
3278         * WebKitTestRunner/TestOptions.h:
3279         (WTR::TestOptions::hasSameInitializationOptions const):
3280         * WebKitTestRunner/ios/TestControllerIOS.mm:
3281         (WTR::TestController::platformInitialize):
3282         (WTR::TestController::platformResetStateToConsistentValues):
3283
3284 2019-03-29  Takashi Komori  <Takashi.Komori@sony.com>
3285
3286         [Curl] Add Server Trust Evaluation Support.
3287         https://bugs.webkit.org/show_bug.cgi?id=191646
3288
3289         Reviewed by Fujii Hironori.
3290
3291         Implemented MiniBrowser UI for asking if user trusts the server.
3292
3293         * MiniBrowser/win/Common.cpp:
3294         (askServerTrustEvaluation):
3295         (replaceString):
3296         * MiniBrowser/win/Common.h:
3297         * MiniBrowser/win/MiniBrowserLib.rc:
3298         * MiniBrowser/win/MiniBrowserLibResource.h:
3299         * MiniBrowser/win/WebKitBrowserWindow.cpp:
3300         (createPEMString):
3301         (WebKitBrowserWindow::didReceiveAuthenticationChallenge):
3302         (WebKitBrowserWindow::canTrustServerCertificate):
3303         * MiniBrowser/win/WebKitBrowserWindow.h:
3304
3305 2019-03-29  Cathie Chen  <cathiechen@igalia.com>
3306
3307         Implement ResizeObserver.
3308         https://bugs.webkit.org/show_bug.cgi?id=157743
3309
3310         Reviewed by Simon Fraser.
3311
3312         Support resizeObserverEnabled webPreferences.
3313
3314         * DumpRenderTree/TestOptions.cpp:
3315         (TestOptions::TestOptions):
3316         * DumpRenderTree/TestOptions.h:
3317         * DumpRenderTree/mac/DumpRenderTree.mm:
3318         (setWebPreferencesForTestOptions):
3319         * DumpRenderTree/win/DumpRenderTree.cpp:
3320         (enableExperimentalFeatures):
3321         * Scripts/webkitperl/FeatureList.pm:
3322         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3323
3324 2019-03-28  John Wilander  <wilander@apple.com>
3325
3326         Resource Load Statistics: IPC to the WebsiteDataStore in the UI process from NetworkProcess::deleteWebsiteDataForRegistrableDomains()
3327         https://bugs.webkit.org/show_bug.cgi?id=196281
3328         <rdar://problem/48938748>
3329
3330         Reviewed by Alex Christensen.
3331
3332         This patch adds the function isStatisticsHasLocalStorage() to the
3333         TestRunner. With it, the page can query the WebsiteDataStore in the
3334         UI process to make sure that it sees LocalStorage.
3335
3336         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3337         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3338         (WTR::TestRunner::isStatisticsHasLocalStorage):
3339         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3340         * WebKitTestRunner/TestController.cpp:
3341         (WTR::TestController::isStatisticsHasLocalStorage):
3342         * WebKitTestRunner/TestController.h:
3343         * WebKitTestRunner/TestInvocation.cpp:
3344         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3345
3346 2019-03-28  Jiewen Tan  <jiewen_tan@apple.com>
3347
3348         API::Data::createWithoutCopying should do a null check before calling CFRelease
3349         https://bugs.webkit.org/show_bug.cgi?id=196276
3350         <rdar://problem/48059859>
3351
3352         Reviewed by Alex Christensen.
3353
3354         Add an API test that will pass a nil to API::Data::createWithoutCopying via NavigationState::NavigationClient::webCryptoMasterKey.
3355
3356         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3357         * TestWebKitAPI/Tests/WebKit/navigation-client-default-crypto.html:
3358         * TestWebKitAPI/Tests/WebKitCocoa/WebCryptoMasterKey.mm: Added.
3359         (-[WebCryptoMasterKeyNavigationDelegate _webCryptoMasterKeyForWebView:]):
3360         (-[WebCryptoMasterKeyNavigationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3361         (TestWebKitAPI::TEST):
3362
3363 2019-03-28  Michael Catanzaro  <mcatanzaro@igalia.com>
3364
3365         [WPE][GTK] webkit_web_resource_get_data_finish can return NULL without setting error
3366         https://bugs.webkit.org/show_bug.cgi?id=186276
3367
3368         Reviewed by Carlos Garcia Campos.
3369
3370         * TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp:
3371         (webViewLoadChanged):
3372         (testWebResourceGetDataError):
3373         (testWebResourceGetDataEmpty):
3374         (beforeAll):
3375         (webViewloadChanged): Deleted.
3376
3377 2019-03-27  Andy Estes  <aestes@apple.com>
3378
3379         REGRESSION (r242686): package-root creates roots with broken symlinks in WebKit.framework/XPCServices/
3380         https://bugs.webkit.org/show_bug.cgi?id=196317
3381
3382         Reviewed by Dan Bernstein.
3383
3384         package-root copies built products into a staging directory using ditto(1), which does not
3385         follow symbolic links as it traverses a directory. Now that the files in
3386         WebKit.framework/XPCServices/ are symbolic links to a location outside of the framework
3387         itself, these become broken links when ditto'd into the staging directory.
3388
3389         To account for this, change package-root to copy using cp(1) in a mode that follows symlinks.
3390
3391         * Scripts/package-root:
3392
3393 2019-03-27  Aakash Jain  <aakash_jain@apple.com>
3394
3395         [ews-app] Update display text of Submit for ews analysis
3396         https://bugs.webkit.org/show_bug.cgi?id=196309
3397
3398         Reviewed by Dewei Zhu.
3399
3400         * BuildSlaveSupport/ews-app/ews/templates/statusbubble.html:
3401
3402 2019-03-27  David Kilzer  <ddkilzer@apple.com>
3403
3404         run-webkit-tests should check for leaks in WebKit processes
3405         <https://webkit.org/b/193772>
3406         <rdar://problem/46526680>
3407
3408         Reviewed by Ryosuke Niwa.
3409
3410         This works by doing the following:
3411         - Add a "#LIST CHILD PROCESSES" command to WebKitTestRunnner.
3412           The list of child processes are returned one per line:
3413           process.name: pid
3414         - Run the "#LIST CHILD PROCESSES" command just before the
3415           "#CHECK FOR WORLD LEAKS" command, and store the list of child
3416           processes on the ServerProcess object.
3417         - When the `--leaks` switch is handled, run check_for_leaks() on
3418           each child process after the main test harness.
3419
3420         * DumpRenderTree/mac/DumpRenderTree.mm:
3421         (handleControlCommand):
3422         - Use strncmp() instead of strcmp().
3423         - Add support for handling "#LIST CHILD PROCESSES" command.
3424
3425         * Scripts/webkitpy/port/base.py:
3426         (Port.check_for_leaks):
3427         * Scripts/webkitpy/port/darwin.py:
3428         (DarwinPort.check_for_leaks):
3429         - Rename redundant 'process_pid' argument to 'process_id'.
3430
3431         * Scripts/webkitpy/port/driver.py:
3432         (Driver.do_post_tests_work):
3433         - Restructure the logic since "#CHECK FOR WORLD LEAKS" is no
3434           longer the only command this sends to WebKitTestRunner.
3435         - If the `--leaks` switch is present, send the
3436           "#LIST CHILD PROCESSES" to WebKitTestRunner and store the
3437           result using Port.set_webkit_processes().
3438         (Driver._parse_child_processes_output):
3439         - Add helper method to parse list of child process names and
3440           process IDs returned from WebKitTestRunner.
3441
3442         * Scripts/webkitpy/port/ios_device.py:
3443         (IOSDevicePort.check_for_leaks):
3444         - Rename redundant 'process_pid' argument to 'process_id'.
3445
3446         * Scripts/webkitpy/port/leakdetector.py:
3447         (LeakDetector._parse_leaks_output):
3448         - Return early if there is no leaks_output.
3449         (LeakDetector.check_for_leaks):
3450         - Rename redundant 'process_pid' argument to 'process_id'.
3451
3452         * Scripts/webkitpy/port/server_process.py:
3453         (ServerProcess.__init__):
3454         (ServerProcess.child_processes):
3455         (ServerProcess.set_child_processes):
3456         - Add instance variable to Port to store list of child process
3457           names and process IDs returned from WebKitTestRunner.
3458         (ServerProcess._start):
3459         - Clear self._child_processes.
3460         (ServerProcess.stop):
3461         - If self._child_processes is set, call
3462           self._port.check_for_leaks() for each child process.
3463
3464         * Scripts/webkitpy/port/server_process_unittest.py:
3465         (TrivialMockPort.check_for_leaks):
3466         - Rename redundant 'process_pid' argument to 'process_id'.
3467
3468         * Scripts/webkitpy/port/simulator_process.py:
3469         (SimulatorProcess.stop):
3470         - If self._child_processes is set, call
3471           self._port.check_for_leaks() for each child process.
3472
3473         * Scripts/webkitpy/port/watch_device.py:
3474         (WatchDevicePort.check_for_leaks):
3475         - Rename redundant 'process_pid' argument to 'process_id'.
3476
3477         * WebKitTestRunner/TestController.cpp:
3478         (WTR::TestController::dumpResponse):
3479         - Extract method from findAndDumpWorldLeaks() so that it may be
3480           reused by findAndDumpWebKitProcessIdentifiers().
3481         (WTR::TestController::findAndDumpWebKitProcessIdentifiers):
3482         - Add method to output process name and process ID of both the
3483           WebContent and Networking processes.
3484         (WTR::TestController::findAndDumpWorldLeaks):
3485         - Fix missing newline in output when there were no abandoned
3486           documents.
3487         - Call dumpResponse() for extracted code.
3488         (WTR::TestController::handleControlCommand):
3489         - Restructure the logic for "#CHECK FOR WORLD LEAKS".
3490         - Use strncmp() instead of strcmp().
3491         - Call findAndDumpWebKitProcessIdentifiers() when
3492           "#LIST CHILD PROCESSES" command is sent.
3493         * WebKitTestRunner/TestController.h:
3494         (WTR::TestController::dumpResponse):
3495         (WTR::TestController::findAndDumpWebKitProcessIdentifiers):
3496         - Declare methods.
3497
3498 2019-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
3499
3500         Unreviewed. Add GLib API test cases after r243434.
3501
3502         * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
3503         (testWebViewActiveURI):
3504         (serverCallback):
3505         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
3506         (sendRequestCallback):
3507
3508 2019-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
3509
3510         Geolocation request not complete when watch request was started in a different web process
3511         https://bugs.webkit.org/show_bug.cgi?id=195996
3512
3513         Reviewed by Alex Christensen.
3514
3515         Add a test case.
3516
3517         * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
3518         (TestWebKitAPI::runJavaScriptAlert):
3519         (TestWebKitAPI::TEST):
3520
3521 2019-03-26  Keith Rollin  <krollin@apple.com>
3522
3523         Update the way generate-xcfilelists returns strings from functions
3524         https://bugs.webkit.org/show_bug.cgi?id=195975
3525         <rdar://problem/49040807>
3526
3527         Reviewed by Dean Jackson.
3528
3529         There are places where generate-xcfilelists executes assignments with
3530         statements like:
3531
3532             FOO=$(some_function)
3533
3534         where "some_function" return a string by echoing it. E.g.
3535
3536             some_function()
3537             {
3538                 echo "Hello, World"
3539             }
3540
3541         This is a common idiom, but it has a problem if "some_function" needs
3542         to call "exit" in an attempt to halt the entire script right then and
3543         there. Since "some_function" is called inside of $(), it's being
3544         executed in a sub-shell. Calling exit in that sub-shell simply exits
3545         that shell; it doesn't not exit the outer shell in which the main part
3546         of the script is still running. As such, the main script keeps
3547         executing when the intent was for the script to halt.
3548
3549         The solution to this is to use a different idiom for returning
3550         strings. The one we now is to pass in the name of the variable to
3551         receive the string result:
3552
3553             some_function()
3554             {
3555                 variable_name=$1
3556                 eval $variable_name ="Hello, World"
3557             }
3558
3559         The call site now looks like
3560
3561             some_function FOO
3562
3563         Because there's no invocation of a sub-shell, some_function can now
3564         call "exit" if it wants to, and the entire script will exit at that
3565         point.
3566
3567         * Scripts/generate-xcfilelists:
3568
3569 2019-03-26  Chris Dumez  <cdumez@apple.com>
3570
3571         Add basic layout test coverage for File Picker on iOS
3572         https://bugs.webkit.org/show_bug.cgi?id=196265
3573
3574         Reviewed by Wenson Hsieh.
3575
3576         Add layout test infrastructure to test the file picker on iOS.
3577
3578         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3579         (WTR::UIScriptController::dismissFilePicker):
3580         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3581         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3582         (WTR::UIScriptController::dismissFilePicker):
3583         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3584         * WebKitTestRunner/TestController.cpp:
3585         (WTR::TestController::createWebViewWithOptions):
3586         (WTR::updateTestOptionsFromTestHeader):
3587         * WebKitTestRunner/TestOptions.h:
3588         (WTR::TestOptions::hasSameInitializationOptions const):
3589         * WebKitTestRunner/ios/TestControllerIOS.mm:
3590         (overridePresentViewController):
3591         (WTR::TestController::platformInitialize):
3592         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3593         (WTR::UIScriptController::dismissFilePicker):
3594
3595 2019-03-26  Wenson Hsieh  <wenson_hsieh@apple.com>
3596
3597         Implement async paste method on UIWKInteractionViewProtocol
3598         https://bugs.webkit.org/show_bug.cgi?id=196267
3599         <rdar://problem/49236346>
3600
3601         Reviewed by Tim Horton.
3602
3603         Add a new test to exercise the new SPI. Additionally, add staging forward declarations for
3604         -pasteWithCompletionHandler:, and remove some old existing staging declarations for other bits of UIKit SPI that
3605         are now a part of all iOS 12 internal SDKs.
3606
3607         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
3608
3609         While we're here, also change a few iOS 11.3 checks to just be about PLATFORM(IOS) (since we don't build for iOS
3610         prior to 12, these version checks are effectively only about iOS vs. tvOS or watchOS).
3611
3612         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
3613         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
3614         (-[DragAndDropSimulator _sendQueuedAdditionalItemRequest]):
3615         * TestWebKitAPI/ios/UIKitSPI.h:
3616
3617 2019-03-26  Aakash Jain  <aakash_jain@apple.com>
3618
3619         [ews-build] Use PostgreSQL for ews.webkit.org database
3620         https://bugs.webkit.org/show_bug.cgi?id=196270
3621
3622         Reviewed by Lucas Forschler.
3623
3624         * BuildSlaveSupport/ews-app/ews-app/settings.py:
3625
3626 2019-03-26  Jonathan Bedard  <jbedard@apple.com>
3627
3628         [ews] Reset simctl states on reboot
3629         https://bugs.webkit.org/show_bug.cgi?id=196260
3630
3631         Rubber-stamped by Aakash Jain.
3632
3633         * EWSTools/start-queue-mac.sh:
3634
3635 2019-03-26  Aakash Jain  <aakash_jain@apple.com>
3636
3637         [ews-build] Use PostgreSQL for ews-build database
3638         https://bugs.webkit.org/show_bug.cgi?id=196229
3639
3640         Reviewed by Lucas Forschler.
3641
3642         * BuildSlaveSupport/ews-build/master.cfg:
3643
3644 2019-03-26  Aakash Jain  <aakash_jain@apple.com>
3645
3646         [ews-build] Get master_hostname dynamically in master.cfg
3647         https://bugs.webkit.org/show_bug.cgi?id=196255
3648
3649         Reviewed by&