4e629e134ebb7a4133f9e1ef74ad4c9d5ee54ebc
[WebKit-https.git] / Tools / ChangeLog
1 2020-06-19  Jonathan Bedard  <jbedard@apple.com>
2
3         Bring up watchOS/tvOS on build.webkit.org
4         https://bugs.webkit.org/show_bug.cgi?id=213402
5         <rdar://problem/64542588>
6
7         Reviewed by Aakash Jain.
8
9         * BuildSlaveSupport/build.webkit.org-config/config.json: Add AppleTV and watchOS builders.
10         * BuildSlaveSupport/build.webkit.org-config/factories.py:
11         (BuildFactory.__init__): Support AppleTV and watchOS.
12         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS13.png: Added.
13         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS13@2x.png: Added.
14         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS13Simulator.png: Added.
15         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/TvOS13Simulator@2x.png: Added.
16         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOS6.png: Added.
17         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOS6@2x.png: Added.
18         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOSSimulator6.png: Added.
19         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WatchOSSimulator6@2x.png: Added.
20         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
21         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
22         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
23         * BuildSlaveSupport/build.webkit.org-config/steps.py:
24         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
25
26 2020-06-19  Saam Barati  <sbarati@apple.com>
27
28         Have a memory monitor thread in jsc shell when running tests using --memory-limited
29         https://bugs.webkit.org/show_bug.cgi?id=213389
30
31         Reviewed by Mark Lam.
32
33         * Scripts/run-jsc-stress-tests:
34         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
35         * Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
36
37 2020-06-19  Chris Fleizach  <cfleizach@apple.com>
38
39         AX: Make isolated tree enablement status dependent on client preference
40         https://bugs.webkit.org/show_bug.cgi?id=213355
41         <rdar://problem/64506577>
42
43         Reviewed by Zalan Bujtas.
44
45         * MiniBrowser/mac/AppDelegate.m:
46         (-[BrowserAppDelegate defaultConfiguration]):
47
48 2020-06-19  Aakash Jain  <aakash_jain@apple.com>
49
50         Improve handling of trac downtime by commit-queue
51         https://bugs.webkit.org/show_bug.cgi?id=213377
52
53         Reviewed by Jonathan Bedard.
54
55         * BuildSlaveSupport/ews-build/steps.py: Load contributors.json from disk when loading from trac fails.
56         (ValidateCommiterAndReviewer.load_contributors_from_disk):
57         (ValidateCommiterAndReviewer.load_contributors_from_trac):
58         (ValidateCommiterAndReviewer.load_contributors):
59         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test
60
61 2020-06-19  Lauro Moura  <lmoura@igalia.com>
62
63         [WPE] Warn potential issues when creating WindowViewBackend
64         https://bugs.webkit.org/show_bug.cgi?id=213326
65
66         Reviewed by Philippe Normand.
67
68         Make it easier to debug eventual GL issues when starting up MiniBrowser in
69         windowed mode.
70
71         * wpe/backends/WindowViewBackend.cpp:
72         (WPEToolingBackends::WaylandEGLConnection::singleton):
73         (WPEToolingBackends::WindowViewBackend::WindowViewBackend):
74
75 2020-06-19  Lauro Moura  <lmoura@igalia.com>
76
77         [webkitpy][WPE] Default to headless if _display_server is xfvb
78         https://bugs.webkit.org/show_bug.cgi?id=213327
79
80         Reviewed by Philippe Normand.
81
82         Xvfb is used as the default display server for some scripts, and the
83         equivalent for WPE is the headless one.
84
85         WTR and the API tests already create only HeadlessViewBackends, but the
86         WebDriver tests create them through MiniBrowser, which requires the
87         '--headless' parameter.
88
89         * Scripts/run-webdriver-tests: Do not override _display_server
90         * Scripts/webkitpy/port/base.py:
91         (Port.__init__): Define _display_server for all ports to avoid
92         eventually needing to override it.
93         * Scripts/webkitpy/port/wpe.py:
94         (WPEPort.__init__): Default to 'headless' if _display_server is 'xvfb'
95         * Scripts/webkitpy/w3c/wpt_runner.py:
96         (main): Dot not override _display_server
97
98 2020-06-19  Carlos Garcia Campos  <cgarcia@igalia.com>
99
100         Add support for fetching registrable domains with resource load statistics
101         https://bugs.webkit.org/show_bug.cgi?id=213291
102
103         Reviewed by Adrian Perez de Castro.
104
105         Update GLib ITP unit test to check also fetch and remove.
106
107         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
108         (testWebsiteDataITP):
109
110 2020-06-19  Tomoki Imai  <Tomoki.Imai@sony.com>
111
112         Change my (Tomoki Imai's) status to committer
113
114         Unreviewed, just updating contributors.json for myself.
115
116         * Scripts/webkitpy/common/config/contributors.json:
117
118 2020-06-18  Jonathan Bedard  <jbedard@apple.com>
119
120         Add SPI to preconnect to a server (Follow-up fix)
121         https://bugs.webkit.org/show_bug.cgi?id=213109
122         <rdar://problem/64184412>
123
124         Unreviewed build-fix.
125
126         * TestWebKitAPI/Tests/WebKitCocoa/Preconnect.mm: HTTPServer does not exist if HAVE(NETWORK_FRAMEWORK) is false.
127
128 2020-06-18  Jonathan Bedard  <jbedard@apple.com>
129
130         [iOS] Two KeyboardInputTests are failing on recent iOS SDK versions (build-fix)
131         https://bugs.webkit.org/show_bug.cgi?id=213183
132         <rdar://problem/64273483>
133
134         Unreviewed build fix.
135
136         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
137         (webViewWithAutofocusedInput): bool may not be the same type as BOOL.
138
139 2020-06-18  Saam Barati  <sbarati@apple.com>
140
141         call skip when skipping JetStream2 wasm test
142         https://bugs.webkit.org/show_bug.cgi?id=213354
143
144         Reviewed by Yusuke Suzuki.
145
146         So we can see the logging that we're skipping.
147
148         * Scripts/run-jsc-stress-tests:
149
150 2020-06-18  Joonghun Park  <jh718.park@samsung.com>
151
152     Unreviewed. Remove the build warning below since r262971.
153     warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
154
155         * WebKitTestRunner/TestController.cpp:
156         (WTR::getAllStorageAccessEntriesCallback):
157
158 2020-06-18  Ross Kirsling  <ross.kirsling@sony.com>
159
160         [Intl] Enable RelativeTimeFormat and Locale by default
161         https://bugs.webkit.org/show_bug.cgi?id=213324
162
163         Reviewed by Yusuke Suzuki.
164
165         * Scripts/run-jsc-stress-tests:
166         Remove feature flags.
167
168 2020-06-18  Andy Estes  <aestes@apple.com>
169
170         Unreviewed build fix after r263194
171
172         * WebKitTestRunner/ios/TestControllerIOS.mm:
173         (WTR::TestController::platformResetStateToConsistentValues): Guarded code that mentions
174         UIContextMenuInteraction with USE(UICONTEXTMENU).
175
176 2020-06-18  Ryan Haddad  <ryanhaddad@apple.com>
177
178         Unreviewed infrastructure fix, temporarily remove ews116 due to hardware failure tracked with rdar://64424245
179
180         * BuildSlaveSupport/ews-build/config.json:
181
182 2020-06-18  Carlos Garcia Campos  <cgarcia@igalia.com>
183
184         [GTK][WPE] Add API to configure and handle service worker registrations to WebKitWebsiteDataManager
185         https://bugs.webkit.org/show_bug.cgi?id=213290
186
187         Reviewed by Michael Catanzaro.
188
189         Handle new website data in MiniBrowser and add a unit test.
190
191         * MiniBrowser/gtk/main.c:
192         (gotWebsiteDataCallback):
193         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
194         (serverCallback):
195         (testWebsiteDataConfiguration):
196         (testWebsiteDataEphemeral):
197         (testWebsiteDataITP):
198         (testWebsiteDataServiceWorkerRegistrations):
199         (beforeAll):
200         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
201         (Test::Test):
202
203 2020-06-17  Fujii Hironori  <Hironori.Fujii@sony.com>
204
205         RebaselineServer: "Rebaseline queue" button is placed behind the footer
206         https://bugs.webkit.org/show_bug.cgi?id=213258
207
208         Reviewed by Zalan Bujtas.
209
210         * Scripts/webkitpy/tool/servers/data/rebaselineserver/index.html: Moved 'log' and 'queue' elements after 'footer' element.
211         * Scripts/webkitpy/tool/servers/data/rebaselineserver/main.css:
212         (#queue): Changed 'bottom' property from 3em to 4em.
213
214 2020-06-17  Wenson Hsieh  <wenson_hsieh@apple.com>
215
216         [macOS] Shift-tab in a bullet list in Mail Compose jumps back to Subject field
217         https://bugs.webkit.org/show_bug.cgi?id=213320
218         <rdar://problem/63831962>
219
220         Reviewed by Tim Horton.
221
222         Add a new API test to verify that preventing the "keypress" event for shift+tab in an SPI-editable web view
223         causes us to avoid relinquishing focus.
224
225         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
226
227 2020-06-17  Andy Estes  <aestes@apple.com>
228
229         REGRESSION (r258092): fast/forms/ios/file-upload-panel.html fails when HAVE(UICONTEXTMENU_LOCATION)
230         https://bugs.webkit.org/show_bug.cgi?id=213314
231         <rdar://problem/60339129>
232
233         Reviewed by Maciej Stachowiak.
234
235         fast/forms/ios/file-upload-panel.html sets the shouldHandleRunOpenPanel and
236         shouldPresentPopovers test options to false so that WKTR will (a) not register a
237         runOpenPanel UI delegate callback, causing WebKit to create a WKFileUploadPanel instead, and
238         (b) swizzle two UIKit view controller presentation methods to prevent the document picker
239         menu from being presented. The test merely wants the WKFileUploadPanel instance to exist in
240         order to query its available actions, not for it to show UI.
241
242         In r258092, WKFileUploadPanel now sometimes uses a UIContextMenuInteraction instance to
243         present the document picker menu, but -[UIContextMenuInteraction _presentMenuAtLocation:]
244         fails due to WKTR's above-mentioned swizzling. When this failure occurs,
245         UIContextMenuInteraction calls -contextMenuInteraction:willEndForConfiguration:animator: on
246         its delegate (the WKFileUploadPanel), which dismisses the open panel before the test has had
247         a chance to query the available actions.
248
249         Fixed this by swizzling -[UIContextMenuInteraction _presentMenuAtLocation:] when the
250         shouldPresentPopovers test option is false.
251
252         * WebKitTestRunner/ios/TestControllerIOS.mm:
253         (overridePresentMenuOrPopoverOrViewController): Renamed from
254         overridePresentViewControllerOrPopover.
255         (WTR::TestController::platformResetStateToConsistentValues): Swizzled
256         -[UIContextMenuInteraction _presentMenuAtLocation:] with
257         overridePresentMenuOrPopoverOrViewController when the shouldPresentPopovers test option is
258         false.
259         (overridePresentViewControllerOrPopover): Renamed to
260         overridePresentMenuOrPopoverOrViewController.
261
262 2020-06-17  Sihui Liu  <sihui_liu@apple.com>
263
264         REGRESSION (r263044): [macOS] TestWebKitAPI.TextManipulation.InsertingContentIntoAlreadyManipulatedContentCreatesTextManipulationItem is a flaky failure
265         https://bugs.webkit.org/show_bug.cgi?id=213311
266         <rdar://problem/64456413>
267
268         Reviewed by Wenson Hsieh.
269
270         TextManipulation.InsertingContentIntoAlreadyManipulatedContentCreatesTextManipulationItem does not wait long 
271         enough to make sure TextManipulationController gets notified about the insertion and starts observing.
272
273         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
274         (TestWebKitAPI::TEST):
275
276 2020-06-17  Aakash Jain  <aakash_jain@apple.com>
277
278         Delete code for old ews bindings queue
279         https://bugs.webkit.org/show_bug.cgi?id=213315
280
281         Rubber-stamped by Alexey Proskuryakov.
282
283         * Scripts/webkitpy/common/config/ews.json:
284         * Scripts/webkitpy/common/config/ports.py:
285         (DeprecatedPort.run_bindings_tests_command): Deleted.
286         (WinPort.run_bindings_tests_command): Deleted.
287         * Scripts/webkitpy/common/config/ports_mock.py:
288         (MockPort.run_bindings_tests_command): Deleted.
289         * Scripts/webkitpy/common/net/generictestresults.py: Removed.
290         * Scripts/webkitpy/common/net/generictestresults_unittest.py: Removed.
291         * Scripts/webkitpy/tool/bot/bindingstestresultsreader.py: Removed.
292         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
293         (PatchAnalysisTask._retry_bindings_tests): Deleted.
294         * Scripts/webkitpy/tool/bot/retrylogic_unittest.py:
295         (MockBindingsEarlyWarningSystem): Deleted.
296         (MockBindingsEarlyWarningSystem.__init__): Deleted.
297         (MockBindingsEarlyWarningSystem.test_results): Deleted.
298         (BindingsEarlyWarningSystemTest): Deleted.
299         (BindingsEarlyWarningSystemTest._results_indicate_all_passed): Deleted.
300         (BindingsEarlyWarningSystemTest._create_task): Deleted.
301         (BindingsEarlyWarningSystemTest.test_success_case): Deleted.
302         (BindingsEarlyWarningSystemTest.test_test_failure): Deleted.
303         (BindingsEarlyWarningSystemTest.test_fix): Deleted.
304         (BindingsEarlyWarningSystemTest.test_ineffective_patch): Deleted.
305         (BindingsEarlyWarningSystemTest.test_partially_effective_patch): Deleted.
306         (BindingsEarlyWarningSystemTest.test_different_test_failures_in_patch_and_tree): Deleted.
307         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
308         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
309         (TestBindingsEWS): Deleted.
310         (AbstractEarlyWarningSystemTest.test_failing_bindings_tests_message): Deleted.
311         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
312         * Scripts/webkitpy/tool/steps/runtests.py:
313         (RunTests._run_bindings_tests): Deleted.
314         * Scripts/webkitpy/tool/steps/steps_unittest.py:
315         (test_patch_relevant_bindings): Deleted.
316         (test_runtests_api): Deleted.
317
318 2020-06-17  Aakash Jain  <aakash_jain@apple.com>
319
320         Delete code for old ews style queue
321         https://bugs.webkit.org/show_bug.cgi?id=213297
322
323         Rubber-stamped by Alexey Proskuryakov.
324
325         * Scripts/webkitpy/tool/bot/stylequeuetask.py: Removed.
326         * Scripts/webkitpy/tool/commands/queues.py:
327         (StyleQueue): Deleted.
328         (StyleQueue.__init__): Deleted.
329         (StyleQueue.review_patch): Deleted.
330         (StyleQueue.run_command): Deleted.
331         (StyleQueue.expected_failures): Deleted.
332         (StyleQueue.refetch_patch): Deleted.
333         * Scripts/webkitpy/tool/commands/queues_unittest.py:
334         (TestReviewQueue): Deleted.
335
336 2020-06-17  Aakash Jain  <aakash_jain@apple.com>
337
338         Delete code for old ews webkitpy queue
339         https://bugs.webkit.org/show_bug.cgi?id=213299
340
341         Reviewed by Jonathan Bedard.
342
343         * Scripts/webkitpy/common/config/ews.json:
344         * Scripts/webkitpy/common/net/generictestresults.py:
345         (WebkitpyTestResults): Deleted.
346         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
347         * Scripts/webkitpy/tool/bot/webkitpytestresultsreader.py: Removed.
348         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
349         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
350         (TestWebkitpyEWS): Deleted.
351         (AbstractEarlyWarningSystemTest.test_failing_webkitpy_tests_message): Deleted.
352         * Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
353         * Scripts/webkitpy/tool/steps/runtests.py:
354         (RunTests._run_webkitpy_tests): Deleted.
355         * Scripts/webkitpy/tool/steps/steps_unittest.py:
356         (test_runtests_webkitpy): Deleted.
357         (test_patch_not_relevant_bindings): Deleted.
358         (test_runtests_api_debug): Deleted.
359
360 2020-06-17  Keith Miller  <keith_miller@apple.com>
361
362         WebKitTestRunner should not crash on alert with invalid utf16 strings
363         https://bugs.webkit.org/show_bug.cgi?id=213269
364
365         Reviewed by Simon Fraser.
366
367         * WebKitTestRunner/StringFunctions.h:
368         (WTR::toWTFString):
369
370 2020-06-17  Aakash Jain  <aakash_jain@apple.com>
371
372         Delete old ews client side code - part 2
373         https://bugs.webkit.org/show_bug.cgi?id=213262
374
375         Reviewed by Alexey Proskuryakov.
376
377         * Scripts/webkitpy/common/net/bugzilla/attachment.py:
378         * Scripts/webkitpy/tool/bot/patchanalysistask.py:
379         (PatchAnalysisTaskDelegate.command_passed): Deleted.
380         (PatchAnalysisTaskDelegate.command_failed): Deleted.
381         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
382         (AbstractEarlyWarningSystem.command_passed): Deleted.
383         (AbstractEarlyWarningSystem.command_failed): Deleted.
384         * Scripts/webkitpy/tool/commands/perfalizer.py:
385         (PerfalizerTask.command_passed): Deleted.
386         (PerfalizerTask.command_failed): Deleted.
387         * Scripts/webkitpy/tool/commands/perfalizer_unittest.py:
388         * Scripts/webkitpy/tool/commands/queues.py:
389         (AbstractPatchQueue._next_patch): Deleted.
390         (AbstractPatchQueue._did_error): Deleted.
391         (AbstractPatchQueue._did_skip): Deleted.
392         (AbstractPatchQueue._unlock_patch): Deleted.
393         (StyleQueue.command_passed): Deleted.
394         (StyleQueue.command_failed): Deleted.
395
396 2020-06-17  Paulo Matos  <pmatos@igalia.com>
397
398         Add new Igalia EWS workers for ARM/MIPS
399         https://bugs.webkit.org/show_bug.cgi?id=212803
400
401         Reviewed by Aakash Jain.
402
403         * BuildSlaveSupport/ews-build/config.json:
404
405 2020-06-16  Mark Lam  <mark.lam@apple.com>
406
407         TestWebKitAPI.WebCore.WildcardStringMatching needs to initialize Options before accessing them.
408         https://bugs.webkit.org/show_bug.cgi?id=213270
409         <rdar://problem/64427499>
410
411         Reviewed by Yusuke Suzuki.
412
413         * TestWebKitAPI/Tests/WebCore/StringUtilities.mm:
414         (TestWebKitAPI::TEST):
415
416 2020-06-16  Wenson Hsieh  <wenson_hsieh@apple.com>
417
418         Text manipulation should not re-extract elements whose children have been manipulated
419         https://bugs.webkit.org/show_bug.cgi?id=213276
420         <rdar://problem/64193446>
421
422         Reviewed by Tim Horton.
423
424         Add a new API test where we start and complete text manipulation, and then hide and show the manipulated
425         element. This test verifies that the new item callbacks are *not* called after element is shown again.
426
427         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
428         (TestWebKitAPI::TEST):
429
430 2020-06-16  Saam Barati  <sbarati@apple.com>
431
432         Fix two typos "signifcant" and "signficance". Should be "significant" and "significance"
433
434         * Scripts/compare-results:
435         (displayStr):
436         (computeMultipleHypothesesSignificance):
437         (dumpBreakdowns):
438         (writeCSV):
439         (computeMultipleHypothesesSignficance): Deleted.
440
441 2020-06-16  Andres Gonzalez  <andresg_22@apple.com>
442
443         Fix for accessibility/textarea-selected-text-range.html in isolated tree mode.
444         https://bugs.webkit.org/show_bug.cgi?id=213257
445
446         Reviewed by Chris Fleizach.
447
448         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
449         (WTR::setAttributeValue):
450         (WTR::AccessibilityUIElement::selectedTextRange): Dispatch call into
451         WebAccessibilityWrapper onto AX secondary thread to simulate isolated
452         tree mode.
453
454 2020-06-16  Saam Barati  <sbarati@apple.com>
455
456         Multiple hypothesis testing should use False Discovery Rate instead of Bonferroni
457         https://bugs.webkit.org/show_bug.cgi?id=213219
458
459         Reviewed by Mark Lam.
460
461         My previous patch here used Bonferroni to do multiple hypotheses correction.
462         Bonferroni does a good job at reducing false positive rate (type I error,
463         saying something is significant when it's not, e.g, rejecting the null
464         hypothesis when we shouldn't), but at the expense of also having a high
465         false negative rate (type II error, saying something is not significant when
466         it is, e.g, not rejecting the null hypothesis when we should).
467         
468         After doing a bit more reading, it seems like using a technique called False
469         Discovery Rate (FDR) is better. It still does a good job at controlling type
470         I error rate, but without sacrificing a high type II error rate. FDR is based
471         on a technique for "estimating the proportion of wrongly rejected null hypotheses" [2].
472         
473         This patch uses Benjamini and Hochberg estimation of FDR, which relies
474         on hypotheses being independent. We know subtests in a benchmark aren't
475         fully independent variables, but it's a good enough approximation.
476         
477         You can read more about FDR:
478         1. https://www.stat.berkeley.edu/~mgoldman/Section0402.pdf
479         2. https://besjournals.onlinelibrary.wiley.com/doi/10.1111/j.2041-210X.2010.00061.x
480         3. https://en.wikipedia.org/wiki/False_discovery_rate
481
482         * Scripts/compare-results:
483         (displayStr):
484         (computeMultipleHypothesesSignficance):
485         (dumpBreakdowns):
486         (writeCSV):
487
488 2020-06-16  David Kilzer  <ddkilzer@apple.com>
489
490         REGRESSION (r262994): Web Inspector is killed when context-clicking anywhere
491         <https://webkit.org/b/213224>
492         <rdar://problem/64383320>
493
494         Reviewed by Darin Adler.
495
496         * TestWebKitAPI/CMakeLists.txt:
497         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
498         - Add ContextMenuAction.cpp to build systems.
499         * TestWebKitAPI/Tests/WebCore/ContextMenuAction.cpp: Add.
500         (TestWebKitAPI::TEST):
501         - Add TestWebKitAPI.WebCore.ContextMenuAction_IsValidEnum.
502
503 2020-06-16  Fujii Hironori  <Hironori.Fujii@sony.com>
504
505         [Win] Mouse dragging tests are failing because WebKitTestRunner dispatches WM_MOUSELEAVE to the hidden WebView
506         https://bugs.webkit.org/show_bug.cgi?id=213239
507
508         Reviewed by Don Olmstead.
509
510         There are two problems:
511         1. Windows EventSenderProxy::mouseMoveTo doesn't set WPARAM of WM_MOUSEMOVE
512         2. Unexpected WM_MOUSELEAVE discontinues the mouse dragging events
513
514         WPARAM of WM_MOUSEMOVE should represent pressed mouse buttons while dragging.
515
516         WM_MOUSELEAVE is unexpectedly dispatched because the mouse cursor
517         is always out of the hidden WebView. The unexpected WM_MOUSELEAVE
518         discontinues dragging events. WM_MOUSELEAVE shouldn't be
519         dispatched in WebKitTestRunner. Ignore it.
520
521         * WebKitTestRunner/win/EventSenderProxyWin.cpp:
522         (WTR::EventSenderProxy::mouseDown):
523         (WTR::EventSenderProxy::mouseUp):
524         (WTR::EventSenderProxy::mouseMoveTo): Set MK_LBUTTON to WPARAM of
525         WM_MOUSEMOVE while dragging.
526         * WebKitTestRunner/win/TestControllerWin.cpp:
527         (WTR::runRunLoopUntil): Ignore WM_MOUSELEAVE.
528
529 2020-06-16  Wenson Hsieh  <wenson_hsieh@apple.com>
530
531         Text manipulation should handle nested item boundary elements
532         https://bugs.webkit.org/show_bug.cgi?id=213251
533         <rdar://problem/63371514>
534
535         Reviewed by Sihui Liu.
536
537         Add a new API test to exercise this scenario.
538
539         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
540
541 2020-06-16  Charlie Turner  <cturner@igalia.com>
542
543         [GTK] Disable video autoplay
544         https://bugs.webkit.org/show_bug.cgi?id=184845
545
546         Reviewed by Carlos Garcia Campos.
547
548         Update the various callsites for constructing a view to take into
549         account the default policies. I chose the default as autoplay
550         allow without sound, which is in keeping with WebCore's choice.
551
552         * MiniBrowser/gtk/BrowserWindow.c:
553         (webViewDecidePolicy):
554         (newTabCallback):
555         (openPrivateWindow):
556         (browser_window_get_or_create_web_view_for_automation):
557         (browser_window_create_web_view_in_new_tab_for_automation):
558         * MiniBrowser/gtk/main.c:
559         (createBrowserTab):
560         (main):
561         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp: Add
562         autoplay policy tests, and use modern class initializers.
563         (testAutoplayPolicy):
564         (beforeAll):
565
566 2020-06-16  Philippe Normand  <pnormand@igalia.com>
567
568         [Flatpak SDK] Subversion perl bindings unusable
569         https://bugs.webkit.org/show_bug.cgi?id=213241
570
571         Reviewed by Sergio Villar Senin.
572
573         * buildstream/elements/sdk/subversion.bst: The svn swig perl library wasn't correctly
574         installed, leading to undefined symbols when importing it from the bindings. A new
575         integration command now tests this.
576
577 2020-06-16  Philippe Normand  <pnormand@igalia.com>
578
579         [Flatpak SDK] Update to Qt 5.15
580         https://bugs.webkit.org/show_bug.cgi?id=213192
581
582         Reviewed by Sergio Villar Senin.
583
584         The new patch comes from the upstream KDE SDK: https://github.com/KDE/flatpak-kde-runtime/tree/qt5.15lts/patch
585         
586         * buildstream/elements/qt5/qtbase.bst:
587         * buildstream/elements/qt5/qtdeclarative.bst:
588         * buildstream/elements/qt5/qtquickcontrols.bst:
589         * buildstream/elements/qt5/qtquickcontrols2.bst:
590         * buildstream/elements/qt5/qtwayland.bst:
591         * buildstream/elements/qt5/qtx11extras.bst:
592         * buildstream/patches/qtbase-make-sure-to-correctly-construct-base-platform-theme.patch: Added.
593         * buildstream/patches/qtwayland-use-gnome-platform-theme-on-gnome-based-desktops.patch: Removed.
594         * buildstream/project.conf:
595
596 2020-06-16  Carlos Garcia Campos  <cgarcia@igalia.com>
597
598         [GTK][WPE] Add API to configure and enable resource load statistics
599         https://bugs.webkit.org/show_bug.cgi?id=177943
600
601         Reviewed by Michael Catanzaro.
602
603         Add --enable-itp command line version to MiniBrowser and unit tests to check the new API.
604
605         * MiniBrowser/gtk/main.c:
606         (gotWebsiteDataCallback):
607         (activate):
608         * MiniBrowser/wpe/main.cpp:
609         (main):
610         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
611         (serverCallback):
612         (testWebsiteDataConfiguration):
613         (testWebsiteDataEphemeral):
614         (testWebsiteDataITP):
615         (beforeAll):
616         * TestWebKitAPI/glib/TestExpectations.json:
617         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
618         (Test::Test):
619         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
620         (directoryChangedCallback):
621         (WebViewTest::waitUntilFileChanged):
622         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
623
624 2020-06-16  Philippe Normand  <pnormand@igalia.com>
625
626         REGRESSION(r263029): [Flatpak SDK] Broke initial SDK installation
627
628         Rubber-stamped by Žan Doberšek.
629
630         * flatpak/flatpakutils.py:
631         (FlatpakObject.version): Gracefully return an empty version when the flatpak info command
632         fails. This usually means the app has not been installed yet.
633
634 2020-06-15  Megan Gardner  <megan_gardner@apple.com>
635
636         Text form controls can scroll by 1px when value is the same length as size. No scrolling should happen.
637         https://bugs.webkit.org/show_bug.cgi?id=212856
638         <rdar://problem/63541707>
639
640         Reviewed by Zalan Bujtas.
641
642         Rebased to reflect new sizes.
643
644         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
645         (TEST):
646         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
647         (TestWebKitAPI::TEST):
648
649 2020-06-15  Jonathan Bedard  <jbedard@apple.com>
650
651         Follow-up fix: Make API tests tolerant of our relatively new use of WebPageProxy::preconnectTo
652         https://bugs.webkit.org/show_bug.cgi?id=213144
653         <rdar://problem/64316743>
654
655         Unreviewed build fix.
656
657         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: Guard didFinishNavigation declaration with HAVE(NETWORK_FRAMEWORK).
658
659 2020-06-15  Alex Christensen  <achristensen@webkit.org>
660
661         Provide alternatively-named SPI for user style sheets and scripts
662         https://bugs.webkit.org/show_bug.cgi?id=213206
663
664         Reviewed by Brady Eidson.
665
666         * DumpRenderTree/mac/DumpRenderTree.mm:
667         (fontAllowList):
668         (createWebViewAndOffscreenWindow):
669         (resetWebViewToConsistentStateBeforeTesting):
670         (fontWhitelist): Deleted.
671         * DumpRenderTree/mac/TestRunnerMac.mm:
672         (TestRunner::addOriginAccessWhitelistEntry):
673         (TestRunner::removeOriginAccessWhitelistEntry):
674         (TestRunner::addUserScript):
675         (TestRunner::addUserStyleSheet):
676         * TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
677         (TEST):
678         * TestWebKitAPI/Tests/WebKitCocoa/UserContentWorld.mm:
679         (TEST):
680         * WebKitTestRunner/mac/TestControllerMac.mm:
681         (WTR::generateFontAllowList):
682         (WTR::TestController::platformInitializeContext):
683         (WTR::generateWhitelist): Deleted.
684
685 2020-06-15  Alex Christensen  <achristensen@webkit.org>
686
687         Add SPI to preconnect to a server
688         https://bugs.webkit.org/show_bug.cgi?id=213109
689         <rdar://problem/64184412>
690
691         Reviewed by Geoff Garen.
692
693         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
694
695 2020-06-15  Keith Miller  <keith_miller@apple.com>
696
697         Signal handlers should have a two phase installation.
698         https://bugs.webkit.org/show_bug.cgi?id=213160
699
700         Reviewed by Mark Lam.
701
702         * TestWebKitAPI/Tests/WTF/Signals.cpp:
703         (TEST):
704
705 2020-06-15  Sihui Liu  <sihui_liu@apple.com>
706
707         Text manipulation does not observe newly displayed element inside previously observed content
708         https://bugs.webkit.org/show_bug.cgi?id=213156
709
710         Reviewed by Darin Adler.
711
712         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
713         (TestWebKitAPI::TEST):
714
715 2020-06-15  Philippe Normand  <pnormand@igalia.com>
716
717         [Flatpak SDK] Bump Subversion and enable Perl bindings
718         https://bugs.webkit.org/show_bug.cgi?id=213189
719
720         Reviewed by Žan Doberšek.
721
722         * buildstream/elements/sdk-build-depends/swig.bst: Added.
723         * buildstream/elements/sdk/subversion.bst: Enable Perl bindings so that git svn can be used within the sandbox.
724
725 2020-06-15  Philippe Normand  <pnormand@igalia.com>
726
727         [Flatpak SDK] flatpak update still not displayed
728         https://bugs.webkit.org/show_bug.cgi?id=213180
729
730         Reviewed by Žan Doberšek.
731
732         Added a new --version option to the script. We no longer gather the flatpak update command
733         output to know if something was updated or not. Instead we get the version of the SDK prior
734         to the update operation and compare that with the version after the update.
735
736         * flatpak/flatpakutils.py:
737         (FlatpakObject.version):
738         (WebkitFlatpak.load_from_args):
739         (WebkitFlatpak.main):
740
741 2020-06-15  Carlos Garcia Campos  <cgarcia@igalia.com>
742
743         [GTK][WPE] Add API to expose UIClient::requestStorageAccessConfirm
744         https://bugs.webkit.org/show_bug.cgi?id=210422
745
746         Reviewed by Michael Catanzaro.
747
748         Handle WebKitWebsiteDataAccessPermissionRequest in MiniBrowser.
749
750         * MiniBrowser/gtk/BrowserTab.c:
751         (decidePermissionRequest):
752
753 2020-06-15  Philippe Normand  <pnormand@igalia.com>
754
755         [Flatpak SDK] Add libavif
756         https://bugs.webkit.org/show_bug.cgi?id=212964
757         <rdar://problem/64291035>
758
759         Reviewed by Žan Doberšek.
760
761         Because of the ABI bump of dav1d, which ffmpeg depends on, ffmpeg needs to be rebuilt. So
762         this is a good opportunity to include it in the SDK and not rely on the ffmpeg-full
763         extension anymore, because it doesn't provide debug symbols.
764
765         * buildstream/elements/flatpak/platform.bst:
766         * buildstream/elements/flatpak/sdk.bst:
767         * buildstream/elements/freedesktop-sdk.bst:
768         * buildstream/elements/sdk-platform.bst:
769         * buildstream/elements/sdk/ffmpeg.bst: Added.
770         * buildstream/elements/sdk/gst-libav.bst:
771         * buildstream/elements/sdk/libavif.bst: Added.
772         * buildstream/elements/sdk/ruby-highline.bst: Remove the spec source, un-needed.
773         * buildstream/patches/fdo/0001-dav1d-Bump-to-0.7.0.patch: Added.
774         * buildstream/patches/fdo/0001-ffmpeg-Add-MS-MPEG-DivX-variants.patch: Removed.
775         * buildstream/patches/fdo/0002-ffmpeg-Add-VP6-and-Sorenson-Spark-video-codecs.patch: Removed.
776         * buildstream/patches/fdo/0003-ffmpeg-Add-Intel-Indeo-and-Cinepak-video-support.patch: Removed.
777         * buildstream/patches/fdo/0004-ffmpeg-Add-MPEG-2-video-decoder.patch: Removed.
778         * buildstream/patches/fdo/0005-ffmpeg-Add-msmpeg4v3-support.patch: Removed.
779         * buildstream/project.conf:
780         * flatpak/flatpakutils.py:
781         (WebkitFlatpak._get_packages):
782
783 2020-06-15  Philippe Normand  <pnormand@igalia.com>
784
785         [Flatpak SDK] Remove webkit-build-directory dependency from flatpakutils
786         https://bugs.webkit.org/show_bug.cgi?id=213179
787
788         Reviewed by Žan Doberšek.
789
790         This makes webkit-flatpak usable without installing additional perl modules (version) on the host OS.
791
792         * flatpak/flatpakutils.py:
793         (WebkitFlatpak.load_from_args): Make --release and --debug mutually exclusive, and default to Release builds.
794         (WebkitFlatpak.__init__):
795         (WebkitFlatpak.clean_args): No need to pull in webkitpy which pulls webkitdirs.pm only to
796         determine the default configuration. Assume we use Release by default.
797
798 2020-06-15  Paulo Matos  <pmatos@igalia.com>
799
800         Properly propagate TZ to the remote test devices
801         https://bugs.webkit.org/show_bug.cgi?id=212816
802
803         Reviewed by Philippe Normand.
804
805         * Scripts/run-jsc-stress-tests:
806
807 2020-06-14  Wenson Hsieh  <wenson_hsieh@apple.com>
808
809         [iOS] Two KeyboardInputTests are failing on recent iOS SDK versions
810         https://bugs.webkit.org/show_bug.cgi?id=213183
811         <rdar://problem/64273483>
812
813         Reviewed by Tim Horton.
814
815         On recent versions of the iOS SDK, iOS simulators that are not shown on-screen are treated as if the hardware
816         keyboard is not available (that is, `+[UIIKeyboard isInHardwareKeyboardMode]` returns `NO`). When running API
817         tests while `Simulator.app` is already launched, an iOS simulator is presented on-screen, whereas the simulator
818         is not visible when running API tests without launching `Simulator.app` beforehand.
819
820         This discrepancy causes two iOS API tests to fail (i.e. `CaretSelectionRectAfterRestoringFirstResponder` and
821         `RangedSelectionRectAfterRestoringFirstResponder`), due to the fact that `-[WKWebView becomeFirstResponder]` no
822         longer causes an input session to begin.
823
824         Interestingly, these tests already attempt to circumvent this by using `webViewWithAutofocusedInput()`, which
825         creates and loads a `WKWebView` with a single autofocusing input element, with a `_WKInputDelegate` that
826         unconditionally allows input sessions to begin. However, this doesn't work as intended in these tests, because
827         nothing keeps the delegate (a `TestInputDelegate`) alive past the scope of the call to
828         `webViewWithAutofocusedInput()`. Since `[WKWebView _inputDelegate]` is a weak property, the input delegate
829         simply disappears after we finish waiting for the load to finish (and the autofocused input element begins its
830         input session). This causes us to erroneously fall back to default behavior (i.e.
831         `_WKFocusStartsInputSessionPolicyAuto`) for subsequent calls to show the keyboard for the focused element, as is
832         the case when these two API tests call `-becomeFirstResponder`. The end result is that the keyboard doesn't
833         appear and text selection views are not created and laid out, but only when API tests are run without having
834         launched the Simulator app beforehand.
835
836         To fix this, refactor `webViewWithAutofocusedInput()` into `webViewAndInputDelegateWithAutofocusedInput()`,
837         which returns both the new `WKWebView` as well as the `TestInputDelegate` of the web view. The call site is then
838         responsible for keeping the input delegate around for as long as it needs.
839
840         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
841         (webViewWithAutofocusedInput):
842
843         Drive-by fix: fix a potential stack smasher by using an Objective-C block when setting the input delegate's
844         policy handler, and by using `__block` for the `doneWaiting` boolean flag. This is now a problem becuase this
845         block may be invoked multiple times.
846
847         (webViewAndInputDelegateWithAutofocusedInput):
848
849 2020-06-13  Saam Barati  <sbarati@apple.com>
850
851         compare-results should have an option to print a breakdown and to save the breakdown as csv file
852         https://bugs.webkit.org/show_bug.cgi?id=213140
853
854         Reviewed by Filip Pizlo.
855
856         In this patch, compare-results has a new --breakdown feature which will
857         break down the results for -a and -b per subtest. It will also show you
858         p values with a significance threshold determined using the Bonferroni
859         correction for testing multiple hypotheses:
860         https://en.wikipedia.org/wiki/Bonferroni_correction
861         
862         And there is also now a --csv option to generate a csv file containing
863         the same per subtest breakdown.
864         
865         --breakdown will print out results like:
866         
867         ------------------------------------------------------------------------------------------------------------
868         |               subtest                |     ms       |     ms       |  b / a   | pValue, alpha = 0.003125 |
869         ------------------------------------------------------------------------------------------------------------
870         | Elm-TodoMVC                          |616.625000    |583.625000    |0.946483  | 0.065002                 |
871         | VueJS-TodoMVC                        |89.425000     |83.225000     |0.930668  | 0.039102                 |
872         | EmberJS-TodoMVC                      |695.875000    |664.000000    |0.954194  | 0.088901                 |
873         | Flight-TodoMVC                       |263.600000    |257.600000    |0.977238  | 0.249259                 |
874         | BackboneJS-TodoMVC                   |213.025000    |201.550000    |0.946133  | 0.000636 (significant)   |
875         | Preact-TodoMVC                       |48.800000     |47.550000     |0.974385  | 0.502768                 |
876         | AngularJS-TodoMVC                    |745.300000    |704.275000    |0.944955  | 0.011779                 |
877         | Inferno-TodoMVC                      |607.900000    |354.800000    |0.583649  | 0.000000 (significant)   |
878         | Vanilla-ES2015-TodoMVC               |214.950000    |200.575000    |0.933124  | 0.005018                 |
879         | Angular2-TypeScript-TodoMVC          |191.575000    |187.025000    |0.976250  | 0.542229                 |
880         | VanillaJS-TodoMVC                    |162.075000    |160.375000    |0.989511  | 0.747186                 |
881         | jQuery-TodoMVC                       |855.275000    |833.825000    |0.974920  | 0.103439                 |
882         | EmberJS-Debug-TodoMVC                |2056.250000   |1952.050000   |0.949325  | 0.000003 (significant)   |
883         | React-TodoMVC                        |475.225000    |428.950000    |0.902625  | 0.007566                 |
884         | React-Redux-TodoMVC                  |791.100000    |736.675000    |0.931203  | 0.066091                 |
885         | Vanilla-ES2015-Babel-Webpack-TodoMVC |208.050000    |202.000000    |0.970920  | 0.152470                 |
886         ------------------------------------------------------------------------------------------------------------
887
888         * Scripts/compare-results:
889         (readJSONFile):
890         (speedometer2Breakdown):
891         (jetStream2Breakdown):
892         (motionMarkBreakdown):
893         (plt5Breakdown):
894         (displayStr):
895         (dumpBreakdowns):
896         (writeCSV):
897         (detectMotionMark1_1):
898         (detectMotionMark1_1_1):
899         (motionMarkResults):
900         (detectBenchmark):
901         (getOptions):
902         (main):
903         (motionMark1_1Results): Deleted.
904
905 2020-06-13  Sam Weinig  <weinig@apple.com>
906
907         Extended Color: Experiment with strongly typed ColorComponents
908         https://bugs.webkit.org/show_bug.cgi?id=212396
909
910         Reviewed by Darin Adler.
911
912         * TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
913         (TestWebKitAPI::TEST):
914         * TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
915         (TestWebKitAPI::TEST):
916         Update for changed names (e.g. toSRGBAComponentsLossy() -> toSRGBALossy())
917         and use of explicit types.
918
919 2020-06-13  Diego Pino Garcia  <dpino@igalia.com>
920
921         Unreviewed, fix configuration setting of WPE Debug (Tests JS) bot
922         https://bugs.webkit.org/show_bug.cgi?id=213164
923
924         The bot was meant to run as Debug.
925
926         * BuildSlaveSupport/build.webkit.org-config/config.json:
927
928 2020-06-12  Keith Miller  <keith_miller@apple.com>
929
930         Tests expecting a crash should use a signal handler in the JSC CLI process
931         https://bugs.webkit.org/show_bug.cgi?id=212479
932
933         Reviewed by Yusuke Suzuki.
934
935         Crashing tests should now exit with status zero.
936
937         * Scripts/run-jsc-stress-tests:
938         * Scripts/webkitruby/jsc-stress-test-writer-default.rb:
939         * Scripts/webkitruby/jsc-stress-test-writer-playstation.rb:
940         * Scripts/webkitruby/jsc-stress-test-writer-ruby.rb:
941
942 2020-06-12  Alex Christensen  <achristensen@webkit.org>
943
944         Make API tests tolerant of our relatively new use of WebPageProxy::preconnectTo
945         https://bugs.webkit.org/show_bug.cgi?id=213144
946
947         Reviewed by Geofferey Garen.
948
949         Most changes are straightforward moving to HTTPServer, which is more tolerant of different numbers of connections except these two:
950
951         The ResourceLoadDelegate.Challenge API test was checking the output of _WKResourceLoadDelegate.didReceiveChallenge
952         by using a server trust challenge.  Now that preconnecting happens, the server trust evaluation would happen with a
953         PreconnectTask, not the main resource load.  The WKNavigationDelegate still gets the challenge and there is no problem
954         here, but in order to continue to test _WKResourceLoadDelegate.didReceiveChallenge I use a basic authentication challenge
955         instead of a server trust evaluation.
956
957         The WebKit.FastServerTrust API test now has two failed attempts (one from the preconnect attempt, one from the main resource load attempt),
958         but only when _strictTrustEvaluate is not available.
959
960         * TestWebKitAPI/TCPServer.cpp:
961         (TestWebKitAPI::TCPServer::TCPServer):
962         * TestWebKitAPI/TCPServer.h:
963         * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
964         (TEST):
965         (TestWebKitAPI::TEST):
966         * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
967         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
968         * TestWebKitAPI/cocoa/HTTPServer.h:
969         * TestWebKitAPI/cocoa/HTTPServer.mm:
970         (TestWebKitAPI::HTTPServer::respondWithChallengeThenOK):
971
972 2020-06-12  Diego Pino Garcia  <dpino@igalia.com>
973
974         [buildbot] [GTK][WPE] Move WebDriver test to own bot
975         https://bugs.webkit.org/show_bug.cgi?id=212527
976
977         Reviewed by Carlos Alberto Lopez Perez.
978
979         Move 'webdriver-test' step from GTK Release and GTK Debug test bots
980         to separated bots.
981
982         For bots that require a Wayland display (WPE and GTK Wayland),
983         'webdriver-test' step is run on the corresponding general test bot,
984         since it's not possible at the moment to run tests that require a 
985         Wayland display in a bot set as a container.
986
987         * BuildSlaveSupport/build.webkit.org-config/config.json:
988         * BuildSlaveSupport/build.webkit.org-config/factories.py:
989         (TestFactory.__init__):
990         (TestWebDriverFactory):
991         (TestWebDriverFactory.__init__):
992         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
993
994 2020-06-12  Takashi Komori  <Takashi.Komori@sony.com>
995
996         [Curl] Implement functions to use ResourceLoadStatistics.
997         https://bugs.webkit.org/show_bug.cgi?id=207692
998
999         Reviewed by Don Olmstead.
1000
1001         Implement functions which are required to implement ResourceLoadStatistics for Curl port.
1002
1003         Tests: http/tests/resourceLoadStatistics/
1004
1005         * WebKitTestRunner/TestController.cpp:
1006         (WTR::GetAllStorageAccessEntriesCallbackContext::GetAllStorageAccessEntriesCallbackContext):
1007         (WTR::getAllStorageAccessEntriesCallback):
1008         (WTR::TestController::getAllStorageAccessEntries):
1009
1010 2020-06-12  Jonathan Bedard  <jbedard@apple.com>
1011
1012         Support building test runners for watchOS and tvOS
1013         https://bugs.webkit.org/show_bug.cgi?id=213128
1014         <rdar://problem/64298006>
1015
1016         Reviewed by Tim Horton.
1017
1018         * DumpRenderTree/mac/Configurations/Base.xcconfig: Link against framework stubs.
1019         * DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig: Apply iOS rules to all embedded sdks.
1020         * WebKitTestRunner/Configurations/Base.xcconfig: Link against framework stubs.
1021         * WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig: Apply iOS rules to all embedded sdks.
1022         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig: Use watchOS entitlements for tvOS.
1023
1024 2020-06-12  Jonathan Bedard  <jbedard@apple.com>
1025
1026         TestWebKitAPI: Build for watchOS and tvOS
1027         https://bugs.webkit.org/show_bug.cgi?id=213127
1028         <rdar://problem/64297979>
1029
1030         Reviewed by Tim Horton.
1031
1032         * TestWebKitAPI/Configurations/Base.xcconfig: Link against framework stubs.
1033         * TestWebKitAPI/Configurations/InjectedBundle.xcconfig: Apply iOS rules to all embedded sdks.
1034         * TestWebKitAPI/Configurations/TestWTF.xcconfig: Ditto.
1035         * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Link against framework stubs.
1036         * TestWebKitAPI/Configurations/WebProcessPlugIn.xcconfig: Apply iOS rules to all embedded sdks.
1037         * TestWebKitAPI/config.h: WatchOS uses SSL.
1038
1039 2020-06-12  Commit Queue  <commit-queue@webkit.org>
1040
1041         Unreviewed, reverting r262942.
1042         https://bugs.webkit.org/show_bug.cgi?id=213132
1043
1044         Broke gst-libav due to dav1d ABI bump
1045
1046         Reverted changeset:
1047
1048         "[Flatpak SDK] Add libavif"
1049         https://bugs.webkit.org/show_bug.cgi?id=212964
1050         https://trac.webkit.org/changeset/262942
1051
1052 2020-06-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1053
1054         Unreviewed. Fix GTK WebDriver tests after r262938
1055
1056         Ensure a valid title for backforward items in MiniBrowser, using the URL when the title is empty.
1057
1058         * MiniBrowser/gtk/BrowserWindow.c:
1059         (browserWindowCreateBackForwardMenu):
1060
1061 2020-06-12  Philippe Normand  <pnormand@igalia.com>
1062
1063         [Flatpak SDK] Update GTK4 to 3.98.5
1064
1065         Rubber-stamped by Carlos Alberto Lopez Perez.
1066
1067         * buildstream/elements/sdk/gtk.bst:
1068
1069 2020-06-12  Philippe Normand  <pnormand@igalia.com>
1070
1071         [Flatpak SDK] Add libavif
1072         https://bugs.webkit.org/show_bug.cgi?id=212964
1073
1074         Reviewed by Carlos Alberto Lopez Perez.
1075
1076         * buildstream/elements/freedesktop-sdk.bst:
1077         * buildstream/elements/sdk-platform.bst:
1078         * buildstream/elements/sdk/libavif.bst: Added.
1079         * buildstream/patches/fdo/0001-dav1d-Bump-to-0.7.0.patch: Added.
1080
1081 2020-06-12  Philippe Normand  <pnormand@igalia.com>
1082
1083         [Flatpak SDK] Add libkate
1084         https://bugs.webkit.org/show_bug.cgi?id=212865
1085
1086         Reviewed by Carlos Alberto Lopez Perez.
1087
1088         The GStreamer kate decoder is required for some media/track tests being re-enabled in bug
1089         120665.
1090
1091         * buildstream/elements/sdk-platform.bst:
1092         * buildstream/elements/sdk/gst-plugins-bad.bst:
1093         * buildstream/elements/sdk/libkate.bst: Added.
1094
1095 2020-06-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1096
1097         [GTK4] Get MiniBrowser ready for GTK4
1098         https://bugs.webkit.org/show_bug.cgi?id=210276
1099
1100         Reviewed by Adrian Perez de Castro.
1101
1102         Port MiniBrowser to GTK4. BrowserSearchBar has been renamed as BrowserSearchBox, because in GTK GtkSearchBar is
1103         final class, so we derive from GtkBox and to be used as contents of a GtkSearchBar.
1104
1105         * MiniBrowser/gtk/BrowserCellRendererVariant.c:
1106         (browserCellRendererVariantCellRendererSnapshot):
1107         (browser_cell_renderer_variant_class_init):
1108         * MiniBrowser/gtk/BrowserCellRendererVariant.h:
1109         * MiniBrowser/gtk/BrowserSearchBar.c: Removed.
1110         * MiniBrowser/gtk/BrowserSearchBox.c: Added.
1111         (setFailedStyleForEntry):
1112         (doSearch):
1113         (searchNext):
1114         (searchPrevious):
1115         (searchEntryMenuIconPressedCallback):
1116         (searchEntryClearIconReleasedCallback):
1117         (searchEntryChangedCallback):
1118         (searchEntryActivatedCallback):
1119         (searchPreviousButtonCallback):
1120         (searchNextButtonCallback):
1121         (searchMenuCheckButtonToggledCallback):
1122         (findControllerFailedToFindTextCallback):
1123         (findControllerFoundTextCallback):
1124         (browserSearchBoxFinalize):
1125         (browserSearchBoxDispose):
1126         (browserSearchBoxSizeAllocate):
1127         (browser_search_box_class_init):
1128         (browser_search_box_new):
1129         (browser_search_box_get_entry):
1130         * MiniBrowser/gtk/BrowserSearchBox.h: Renamed from Tools/MiniBrowser/gtk/BrowserSearchBar.h.
1131         * MiniBrowser/gtk/BrowserSettingsDialog.c:
1132         (browser_settings_dialog_init):
1133         (browser_settings_dialog_new):
1134         * MiniBrowser/gtk/BrowserSettingsDialog.h:
1135         * MiniBrowser/gtk/BrowserTab.c:
1136         (loadChanged):
1137         (createInfoBarQuestionMessage):
1138         (tlsErrorsDialogResponse):
1139         (loadFailedWithTLSerrors):
1140         (permissionRequestDialogResponse):
1141         (decidePermissionRequest):
1142         (colorChooserRequestFinished):
1143         (runColorChooserCallback):
1144         (tabCloseClicked):
1145         (browserTabConstructed):
1146         (browserTabIsSearchBarOpen):
1147         (browser_tab_start_search):
1148         (browser_tab_stop_search):
1149         (browser_tab_enter_fullscreen):
1150         (browser_tab_leave_fullscreen):
1151         * MiniBrowser/gtk/BrowserWindow.c:
1152         (settingsCallback):
1153         (resetEntryProgress):
1154         (webViewLoadProgressChanged):
1155         (browserWindowCreateBackForwardMenu):
1156         (browserWindowUpdateNavigationMenu):
1157         (navigationButtonPressed):
1158         (navigationButtonPressCallback):
1159         (scrollEventCallback):
1160         (webViewIsLoadingChanged):
1161         (searchCallback):
1162         (insertImageDialogResponse):
1163         (insertImageCommandCallback):
1164         (insertLinkDialogResponse):
1165         (insertLinkCommandCallback):
1166         (typingAttributesChanged):
1167         (browserWindowSaveSession):
1168         (browserWindowFinalize):
1169         (browserWindowDispose):
1170         (addToolbarButton):
1171         (browserWindowSwitchTab):
1172         (browserWindowTabAddedOrRemoved):
1173         (browserWindowBuildPopoverMenu):
1174         (browserWindowCloseRequest):
1175         (browserWindowDeleteEvent):
1176         (browser_window_class_init):
1177         (browser_window_append_view):
1178         (browser_window_set_background_color):
1179         * MiniBrowser/gtk/CMakeLists.txt:
1180
1181 2020-06-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1182
1183         [GTK] MiniBrowser: stop using GtkToolbar
1184         https://bugs.webkit.org/show_bug.cgi?id=212898
1185
1186         Reviewed by Adrian Perez de Castro.
1187
1188         GtkToolbar iss no longer available in GTK4, use a GtkBox with buttons instead. Also use symbolic icons and move
1189         some of the actions to a gear menu.
1190
1191         * MiniBrowser/gtk/BrowserWindow.c:
1192         (browserWindowHistoryItemActivated):
1193         (browserWindowCreateBackForwardMenu):
1194         (browserWindowUpdateNavigationMenu):
1195         (navigationButtonPressCallback):
1196         (browserWindowCanZoomDefault):
1197         (browserWindowUpdateZoomActions):
1198         (webViewIsLoadingChanged):
1199         (addToolbarButton):
1200         (browserWindowBuildPopoverMenu):
1201         (resetStatusText): Deleted.
1202         (browserWindowHistoryItemSelected): Deleted.
1203         (browserWindowSetupEditorToolbarItem): Deleted.
1204
1205 2020-06-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1206
1207         [GTK] MiniBrowser: stop using GtkToolbar for the search bar
1208         https://bugs.webkit.org/show_bug.cgi?id=212817
1209
1210         Reviewed by Adrian Perez de Castro.
1211
1212         Use a GtkSearchBar instead, because GtkToolbar is no longer available in GTK4. Also use a GtkPopover for the
1213         options menu instead of the GtkMenu.
1214
1215         * MiniBrowser/gtk/BrowserSearchBar.c:
1216         (setFailedStyleForEntry):
1217         (doSearch):
1218         (searchEntryMenuIconPressedCallback):
1219         (searchEntryChangedCallback):
1220         (searchMenuCheckButtonToggledCallback):
1221         (browserSearchBarFinalize):
1222         (browser_search_bar_new):
1223         (browser_search_bar_open):
1224         (browser_search_bar_close):
1225         (browser_search_bar_is_open):
1226         (searchCloseButtonClickedCallback): Deleted.
1227         (searchEntryClearIconReleasedCallback): Deleted.
1228         * MiniBrowser/gtk/BrowserSearchBar.h:
1229         * MiniBrowser/gtk/BrowserTab.c:
1230         (browser_tab_start_search):
1231         (browser_tab_stop_search):
1232
1233 2020-06-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1234
1235         [GTK4] Make WebDriver work
1236         https://bugs.webkit.org/show_bug.cgi?id=212316
1237
1238         Reviewed by Adrian Perez de Castro.
1239
1240         Stop connecting to WebKitWebView::close signal twice for newaly created windows.
1241
1242         * MiniBrowser/gtk/BrowserWindow.c:
1243         (webViewCreate):
1244
1245 2020-06-11  Saam Barati  <sbarati@apple.com>
1246
1247         Skip wasm-js2 test on memory limited devices
1248         https://bugs.webkit.org/show_bug.cgi?id=213099
1249
1250         Reviewed by Yusuke Suzuki.
1251
1252         * Scripts/run-jsc-stress-tests:
1253
1254 2020-06-11  Alex Christensen  <achristensen@webkit.org>
1255
1256         Re-enable download resume tests
1257         https://bugs.webkit.org/show_bug.cgi?id=213098
1258         <rdar://problem/63512518>
1259
1260         Reviewed by Geoffrey Garen.
1261
1262         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
1263
1264 2020-06-11  Commit Queue  <commit-queue@webkit.org>
1265
1266         Unreviewed, reverting r262696.
1267         https://bugs.webkit.org/show_bug.cgi?id=213097
1268
1269         It broke running JSC tests on watchOS
1270
1271         Reverted changeset:
1272
1273         "Allow run-jsc-stress-tests still run if some of the remote
1274         hosts are not available"
1275         https://bugs.webkit.org/show_bug.cgi?id=201426
1276         https://trac.webkit.org/changeset/262696
1277
1278 2020-06-11  Sihui Liu  <sihui_liu@apple.com>
1279
1280         REGRESSION (r262879): 3 TestWebKitAPI.TextManipulation tests are failing
1281         https://bugs.webkit.org/show_bug.cgi?id=213079
1282         <rdar://problem/64256870>
1283
1284         Reviewed by Wenson Hsieh.
1285
1286         Update a few tests after behavior change in r262879. From r262879, we no longer use visible positions of element
1287         to calculate range to observe. Instead, we use the first and end position in the element to decide the range. In
1288         previous implementation, the range can be extended to outside of the element, like some visible positon before 
1289         or after the element.
1290
1291         TextManipulation.StartTextManipulationFindNewlyDisplayedParagraph: Different elements would make separate ranges 
1292         because we create range with the boundaries of element. We can consider merging adjacent ranges later.
1293         TextManipulation.StartTextManipulationFindSameParagraphWithNewContent: The newly observing range only includes
1294         the newly inserted element now.
1295         TextManipulation.InsertingContentIntoAlreadyManipulatedContentDoesNotCreateTextManipulationItem: The p element
1296         is not manipulated as it is the common ancestor of manipulated elements. And we want to make sure the newly
1297         inserted element is child of a manipulated element.
1298
1299         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
1300         (TestWebKitAPI::TEST):
1301
1302 2020-06-11  Andy Estes  <aestes@apple.com>
1303
1304         [iOS] nullptr deref in FileInputType::iconLoaded when the input's type attribute is modified by a change event listener
1305         https://bugs.webkit.org/show_bug.cgi?id=208244
1306         <rdar://problem/41855350>
1307
1308         Reviewed by Wenson Hsieh.
1309
1310         * DumpRenderTree/TestRunner.cpp:
1311         (SetOpenPanelFilesMediaIconCallback):
1312         (TestRunner::staticFunctions):
1313         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1314         (WTR::TestRunner::setOpenPanelFilesMediaIcon):
1315
1316 2020-06-11  Sergio Villar Senin  <svillar@igalia.com>
1317
1318         Unreviewed, updated libsoup dependency in jhbuild.
1319
1320         * wpe/jhbuild.modules:
1321
1322 2020-06-10  Said Abou-Hallawa  <sabouhallawa@apple.com>
1323
1324         [macOS]: The File Picker of the <input> file element should show the selection filter
1325         https://bugs.webkit.org/show_bug.cgi?id=212485
1326
1327         Reviewed by Darin Adler.
1328
1329         Create a view with an NSPopupButton for the file extensions filter. Set
1330         this view as the AccessoryView of the OpenPanel. Create a customized target
1331         for the NSPopupButton to respond to changing its selection.
1332
1333         * MiniBrowser/mac/WK2BrowserWindowController.m:
1334         (-[FileExtensionsPopupTarget initWithOpenPanel:allowedFileExtensions:]):
1335         (-[FileExtensionsPopupTarget popupAction:]):
1336         (-[FileExtensionsPopupTarget dealloc]):
1337         (-[WK2BrowserWindowController dealloc]):
1338         (-[WK2BrowserWindowController createFilterView:popupTarget:]):
1339         (-[WK2BrowserWindowController webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:]):
1340
1341 2020-06-10  Jonathan Bedard  <jbedard@apple.com>
1342
1343         Generalize configure-xcode-for-ios-development (Part 2)
1344         https://bugs.webkit.org/show_bug.cgi?id=207043
1345         <rdar://problem/63946933>
1346
1347         Reviewed by Darin Adler.
1348
1349         * EWSTools/start-queue-mac.sh: Use configure-xcode-for-embedded-development over configure-xcode-for-ios-development.
1350         * Scripts/configure-xcode-for-ios-development: Removed.
1351
1352 2020-06-10  Sihui Liu  <sihui_liu@apple.com>
1353
1354         Text manipulation does not observe inserted elements that are invisible
1355         https://bugs.webkit.org/show_bug.cgi?id=213057
1356         <rdar://problem/63768253>
1357
1358         Reviewed by Wenson Hsieh.
1359
1360         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
1361         (TestWebKitAPI::TEST):
1362
1363 2020-06-10  Geoffrey Garen  <ggaren@apple.com>
1364
1365         Some style improvements to main thread code
1366         https://bugs.webkit.org/show_bug.cgi?id=213051
1367
1368         Reviewed by Darin Adler.
1369
1370         Updated for rename.
1371         
1372         * TestWebKitAPI/Tests/WTF/RefPtr.cpp:
1373         (TestWebKitAPI::TEST):
1374         * TestWebKitAPI/Tests/WTF/RunLoop.cpp:
1375         (TestWebKitAPI::TEST):
1376         * TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
1377         (TestWebKitAPI::TEST):
1378         * TestWebKitAPI/Tests/WebCore/ApplicationManifestParser.cpp:
1379         (ApplicationManifestParserTest::SetUp):
1380         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
1381         (TestWebKitAPI::ComplexTextControllerTest::SetUp):
1382         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
1383         (TestWebKitAPI::ContentExtensionTest::SetUp):
1384         * TestWebKitAPI/Tests/WebCore/DNS.cpp:
1385         (TestWebKitAPI::TEST):
1386         * TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
1387         (TestWebKitAPI::TEST_F):
1388         * TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
1389         (initializeInAppBrowserPrivacyTestSettings):
1390         * WebKitTestRunner/TestController.cpp:
1391         (WTR::TestController::initialize):
1392
1393 2020-06-10  Jonathan Bedard  <jbedard@apple.com>
1394
1395         results.webkit.org: Health check should access redis and Cassandra
1396         https://bugs.webkit.org/show_bug.cgi?id=212899
1397         <rdar://problem/64118077>
1398
1399         Reviewed by Stephanie Lewis.
1400
1401         * resultsdbpy/resultsdbpy/example/main.py:
1402         (health): Check the health status of the model.
1403         * resultsdbpy/resultsdbpy/model/model.py:
1404         (Model.HealthTable):
1405         (Model.__init__): Construct a Cassandra table used to check the health of our Cassandra connection.
1406         (Model.healthy): Make both a read and write connection to our two database dependencies so that if
1407         our connection to those databases fails, an instance will be forced to restart.
1408         * resultsdbpy/resultsdbpy/model/model_unittest.py: Added.
1409         (ModelTest):
1410         (ModelTest.init_database):
1411         (ModelTest.test_health):
1412
1413 2020-06-10  Keith Miller  <keith_miller@apple.com>
1414
1415         run-jsc-stress-tests should skip tests marked as slow in quick mode.
1416         https://bugs.webkit.org/show_bug.cgi?id=213042
1417
1418         Reviewed by Yusuke Suzuki.
1419
1420         * Scripts/run-jsc-stress-tests:
1421
1422 2020-06-10  Antoine Quint  <graouts@webkit.org>
1423
1424         Subframes should not autosize independently
1425         https://bugs.webkit.org/show_bug.cgi?id=212984
1426         <rdar://problem/64175493>
1427
1428         Reviewed by Simon Fraser.
1429
1430         * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
1431         (TEST): Added test for <object>.
1432
1433 2020-06-09  Ryan Haddad  <ryanhaddad@apple.com>
1434
1435         [Mojave] Flaky API Test: TestWebKitAPI.WebKitLegacy.CrossPartitionFileSchemeAccess
1436         https://bugs.webkit.org/show_bug.cgi?id=206956
1437
1438         Unreviewed test gardening.
1439
1440         * TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm: Disable this test for Mojave.
1441
1442 2020-06-10  Alex Christensen  <achristensen@webkit.org>
1443
1444         Revert r259770
1445         https://bugs.webkit.org/show_bug.cgi?id=210097
1446         <rdar://problem/64175992>
1447
1448         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
1449         (TEST):
1450
1451 2020-06-10  Commit Queue  <commit-queue@webkit.org>
1452
1453         Unreviewed, reverting r262807.
1454         https://bugs.webkit.org/show_bug.cgi?id=213019
1455
1456         It is breaking JSC queues (Requested by caiolima on #webkit).
1457
1458         Reverted changeset:
1459
1460         "Add a timeout monitor for JSC stress test"
1461         https://bugs.webkit.org/show_bug.cgi?id=211978
1462         https://trac.webkit.org/changeset/262807
1463
1464 2020-06-09  Fujii Hironori  <Hironori.Fujii@sony.com>
1465
1466         Unreviewed, reverting r262791.
1467
1468         WinCairo WebKit1 is crashing.
1469
1470         Reverted changeset:
1471
1472         "[Curl] Implement functions to use ResourceLoadStatistics."
1473         https://bugs.webkit.org/show_bug.cgi?id=207692
1474         https://trac.webkit.org/changeset/262791
1475
1476 2020-06-09  Zhifei Fang  <zhifei_fang@apple.com>
1477
1478         Add a timeout monitor for JSC stress test
1479         https://bugs.webkit.org/show_bug.cgi?id=211978
1480
1481         Reviewed by Jonathan Bedard.
1482
1483         * Scripts/webkitruby/jsc-stress-test-writer-default.rb: Add timeout monitor inside the jsc stress test runner, it will kill the process in case of jsc timeout handler not working
1484
1485 2020-06-09  Tim Horton  <timothy_horton@apple.com>
1486
1487         WebKit.ShrinkToFit is failing on some bots
1488         https://bugs.webkit.org/show_bug.cgi?id=212932
1489         <rdar://problem/60972407>
1490
1491         Reviewed by Simon Fraser.
1492
1493         TestWebKitAPI was failing to stabilize the overlay scrollbar preference,
1494         because the only stabilization attempt was in the injected bundle 
1495         initialization code, and most tests (including ShrinkToFit) do not have
1496         an injected bundle.
1497
1498         Because this preference is manually propagated to the Web Content process,
1499         we can set the default in the volatile domain in the UI process at startup.
1500
1501         We can't move other preferences yet, because they are not manually propagated,
1502         and WebKit's NSUserDefault synchronization mechanism ignores defaults in the
1503         volatile domain (and the initial preference load reads from disk, not
1504         from the UI process, so it wouldn't find them anyway).
1505
1506         * TestWebKitAPI/Tests/WebKitCocoa/ShrinkToFit.mm:
1507         (TEST):
1508         Explain why the final value of the test is different than the starting value.
1509
1510         * TestWebKitAPI/mac/InjectedBundleControllerMac.mm:
1511         (TestWebKitAPI::InjectedBundleController::platformInitialize):
1512         Leave a FIXME for future generations.
1513
1514         * TestWebKitAPI/mac/mainMac.mm:
1515         (main):
1516         Override overlay scrollbar preferences in the UI process, so it affects all tests.
1517
1518         * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
1519         This test is also affected by using non-overlay scrollbars; we now have less space, so take up more pages.
1520
1521 2020-06-09  Youenn Fablet  <youenn@apple.com>
1522
1523         BaseAudioSharedUnit should unmute its clients in case of suspension even if not having any audio unit
1524         https://bugs.webkit.org/show_bug.cgi?id=212970
1525
1526         Reviewed by Eric Carlson.
1527
1528         Add an option to capture in UI process so that the same test can run on both MacOS and iOS.
1529         This eases the testing infra to be able to get audio capture unit state in WebProcess as is the case in iOS.
1530
1531         * WebKitTestRunner/TestController.cpp:
1532         (WTR::TestController::resetPreferencesToConsistentValues):
1533         (WTR::updateTestOptionsFromTestHeader):
1534         * WebKitTestRunner/TestOptions.h:
1535         (WTR::TestOptions::hasSameInitializationOptions const):
1536
1537 2020-06-09  Takashi Komori  <Takashi.Komori@sony.com>
1538
1539         [Curl] Implement functions to use ResourceLoadStatistics.
1540         https://bugs.webkit.org/show_bug.cgi?id=207692
1541
1542         Implement functions which are required to implement ResourceLoadStatistics for Curl port.
1543
1544         Tests: http/tests/resourceLoadStatistics/
1545
1546         Reviewed by Don Olmstead.
1547
1548         * WebKitTestRunner/TestController.cpp:
1549         (WTR::GetAllStorageAccessEntriesCallbackContext::GetAllStorageAccessEntriesCallbackContext):
1550         (WTR::getAllStorageAccessEntriesCallback):
1551         (WTR::TestController::getAllStorageAccessEntries):
1552
1553 2020-06-09  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
1554
1555         [Flatpak][GStreamer] enhance GST_ environment variable passing
1556         https://bugs.webkit.org/show_bug.cgi?id=212905
1557
1558         Reviewed by Philippe Normand.
1559
1560         Handle the passing of several GST environment variables,
1561         particularly GST_DEBUG, which, when using * symbol, python adds
1562         quotes, but they break the parsing in GStreamer.
1563
1564         Also the variables are handled by gst-env.py when using
1565         GST_BUILD_PATH, so they are filtered out when it's exported,
1566         avoiding duplication. But it GST_BUILD_PATH is not defined, the
1567         variables are passed to flatpak.
1568
1569         * flatpak/flatpakutils.py:
1570         (WebkitFlatpak.setup_gstbuild):
1571         (WebkitFlatpak.run_in_sandbox):
1572
1573 2020-06-09  Sihui Liu  <sihui_liu@apple.com>
1574
1575         TextManipulationController range of paragraph may be wrong after r262601
1576         https://bugs.webkit.org/show_bug.cgi?id=212874
1577
1578         Reviewed by Wenson Hsieh.
1579
1580         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
1581         (TestWebKitAPI::TEST):
1582
1583 2020-06-08  Sihui Liu  <sihui_liu@apple.com>
1584
1585         TextManipulation should only convert text from Node's text content to tokens
1586         https://bugs.webkit.org/show_bug.cgi?id=212928
1587
1588         Reviewed by Wenson Hsieh.
1589
1590         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
1591         (TestWebKitAPI::TEST):
1592
1593 2020-06-08  Diego Pino Garcia  <dpino@igalia.com>
1594
1595         [webkitpy] Check 'bug-search' returns a non null result before parsing
1596         https://bugs.webkit.org/show_bug.cgi?id=212906
1597
1598         Reviewed by Jonathan Bedard.
1599
1600         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
1601         (BugzillaQueries._parse_result_count): Check quick-search query
1602         response is non-null and a non-empty text.
1603
1604 2020-06-08  Sam Weinig  <weinig@apple.com>
1605
1606         Extended Color: Rename Color::lighten() and Color::darken() to Color::lightened() and Color::darkened()
1607         https://bugs.webkit.org/show_bug.cgi?id=212917
1608
1609         Reviewed by Darin Adler.
1610
1611         Addresses feedback from Darin.
1612
1613         * TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
1614         (TestWebKitAPI::TEST):
1615
1616 2020-06-08  Sam Weinig  <weinig@apple.com>
1617
1618         Fix test results after r262733.
1619
1620         * TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
1621         (TestWebKitAPI::TEST):
1622
1623 2020-06-08  David Kilzer  <ddkilzer@apple.com>
1624
1625         [IPC] Adopt enum class for DragOperation
1626         <https://webkit.org/b/212870>
1627         <rdar://problem/64069940>
1628
1629         Reviewed by Darin Adler.
1630
1631         * Scripts/do-webcore-rename:
1632         - Do DragOperation renames.
1633
1634 2020-06-08  Commit Queue  <commit-queue@webkit.org>
1635
1636         Unreviewed, reverting r262685.
1637         https://bugs.webkit.org/show_bug.cgi?id=212914
1638
1639         caused flakey crashes in an iOS test
1640
1641         Reverted changeset:
1642
1643         "Clear WebPageProxy event state between tests"
1644         https://bugs.webkit.org/show_bug.cgi?id=212864
1645         https://trac.webkit.org/changeset/262685
1646
1647 2020-06-08  Sam Weinig  <weinig@apple.com>
1648
1649         Extended Color: Unify rounding / clamping conversions between 0-1 float components and 0-255 byte components
1650         https://bugs.webkit.org/show_bug.cgi?id=212871
1651
1652         Reviewed by Simon Fraser.
1653
1654         * TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
1655         (TestWebKitAPI::TEST):
1656         Switch to using makeSimpleColor(hslToSRGB(...)) directly.
1657
1658 2020-06-08  Sam Weinig  <weinig@apple.com>
1659
1660         Extended Color: Replace uses of differenceSquared() with luminance based computations
1661         https://bugs.webkit.org/show_bug.cgi?id=212872
1662
1663         Reviewed by Darin Adler.
1664
1665         * TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
1666         (TestWebKitAPI::TEST):
1667         Add basic tests for Color::luminance(), ensuring white == 1, black == 0, and 
1668         darken() and lighten() creat colors with less than / greater than luminance.
1669
1670 2020-06-08  Per Arne Vollan  <pvollan@apple.com>
1671
1672         [Cocoa] CFPrefs synchronization does not always work for global preference changes
1673         https://bugs.webkit.org/show_bug.cgi?id=212783
1674
1675         Reviewed by Tim Horton.
1676
1677         Add API test, and add some synchronization to avoid flakiness.
1678
1679         * TestWebKitAPI/Tests/WebKit/PreferenceChanges.mm:
1680         (-[WKTestPreferenceObserver preferenceDidChange:key:encodedValue:]):
1681         (TEST):
1682         (sharedInstanceMethodOverride):
1683
1684 2020-06-08  Wenson Hsieh  <wenson_hsieh@apple.com>
1685
1686         [iOS] Hit-testing on icloud.com is offset after closing a tab
1687         https://bugs.webkit.org/show_bug.cgi?id=212890
1688         <rdar://problem/58775297>
1689
1690         Reviewed by Simon Fraser.
1691
1692         Add a new API test to verify that the scroll position doesn't get stuck at -30px after shifting both the top
1693         content inset and top obscured inset by 30px. See WebKit ChangeLog for more details.
1694
1695         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1696         * TestWebKitAPI/Tests/WebKitCocoa/overflow-hidden.html: Added.
1697         * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
1698         (-[ScrollViewDelegate scrollViewDidScroll:]):
1699         (TestWebKitAPI::TEST):
1700         * TestWebKitAPI/ios/UIKitSPI.h:
1701
1702 2020-06-08  Philippe Normand  <pnormand@igalia.com>
1703
1704         [Flatpak SDK] Add flatpak-run-nightly
1705         https://bugs.webkit.org/show_bug.cgi?id=212882
1706
1707         Reviewed by Carlos Alberto Lopez Perez.
1708
1709         This new script is able to download WPE and GTK builds from the Igalia servers and run the
1710         corresponding binaries (like MiniBrowser, jsc) within the Flatpak SDK.
1711
1712         Unzipped builds will be saved in /tmp and can be reused in further runs (by providing the
1713         path with the -p argument).
1714
1715         Example:
1716         $ webkit-flatpak-run-nightly --wpe MiniBrowser https://webkit.org
1717         <SDK installs to ~/.cache/wk-nightly>
1718         Downloading build release_r262699_b33885.zip from https://wpewebkit-release.igalia.com/built-products/
1719         Extracting build to /tmp/wpewebkit-release-b33885
1720         <MiniBrowser starts>
1721
1722         $ webkit-flatpak-run-nightly --wpe -p /tmp/wpewebkit-release-b33885 jsc
1723         Looking for updates…
1724         Nothing to do.
1725         >>> 2+2
1726         4
1727
1728         * Scripts/webkit-flatpak-run-nightly: Added.
1729
1730 2020-06-08  Diego Pino Garcia  <dpino@igalia.com>
1731
1732         [webkitpy] Make 'webkit-path rebaseline' to not update expectations file by default
1733         https://bugs.webkit.org/show_bug.cgi?id=212835
1734
1735         Reviewed by Carlos Alberto Lopez Perez.
1736
1737         `webkit-patch rebaseline` let us add or update a test baseline
1738         from a test bot. By default, the command also updates the
1739         corresponding expectations file. This update is actually a brand-new
1740         generation of an expectations file based on the results of the bot,
1741         which in most cases messes up the current contents of the file.
1742
1743         This patch makes the default to not update the expectations file and
1744         adds a new option '--update-expectations' to explicitly request an
1745         update.
1746
1747         * Scripts/webkitpy/tool/commands/rebaseline.py:
1748         (AbstractRebaseliningCommand):
1749         (RebaselineTest.__init__):
1750         (RebaselineTest._rebaseline_tests):
1751         (RebaselineTest.execute):
1752         (AbstractParallelRebaselineCommand._rebaseline_commands):
1753         (RebaselineExpectations.__init__):
1754         (RebaselineExpectations.execute):
1755         (Rebaseline.__init__):
1756         (RebaselineTest._rebaseline_test_and_update_expectations): Deleted.
1757         * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
1758         (TestRebaselineTest.setUp):
1759
1760 2020-06-08  Youenn Fablet  <youenn@apple.com>
1761
1762         File URLs with hostnames are misleading
1763         https://bugs.webkit.org/show_bug.cgi?id=212739
1764         <rdar://problem/63754917>
1765
1766         Reviewed by Alex Christensen.
1767
1768         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1769         * TestWebKitAPI/Tests/WebKit/open-window-with-file-url-with-host.html: Added.
1770         * TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm:
1771         (TEST):
1772
1773 2020-06-07  Caio Lima  <ticaiolima@gmail.com>
1774
1775         Allow run-jsc-stress-tests still run if some of the remote hosts are not available
1776         https://bugs.webkit.org/show_bug.cgi?id=201426
1777
1778         Reviewed by Saam Barati.
1779
1780         This patch allows run-jsc-stress-tests to keep on running if some of
1781         the remote hosts are not available. To do this, we created a new
1782         function `checkAndPrepareRemoteHosts` that is responsible to check the
1783         connection and read/write permissions of given remote hosts list. It
1784         filters out every unavailable remote host.
1785         These checks and filter happen in the beginning of the script and is
1786         excuted only once, in the beggining of the script. It means that if
1787         some remote device becomes unavailable after the check and preparation
1788         is done, the script execution will be interupted.
1789
1790         * Scripts/run-jsc-stress-tests:
1791
1792 2020-06-07  Philippe Normand  <pnormand@igalia.com>
1793
1794         Remove ENABLE_VIDEO_TRACK ifdef guards
1795         https://bugs.webkit.org/show_bug.cgi?id=212568
1796
1797         Reviewed by Youenn Fablet.
1798
1799         * Scripts/webkitperl/FeatureList.pm:
1800         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1801
1802 2020-06-06  Simon Fraser  <simon.fraser@apple.com>
1803
1804         Clear WebPageProxy event state between tests
1805         https://bugs.webkit.org/show_bug.cgi?id=212864
1806
1807         Reviewed by Anders Carlsson.
1808
1809         Make sure that event state doesn't leak between tests via events queued in WebPageProxy.
1810
1811         * WebKitTestRunner/TestController.cpp:
1812         (WTR::TestController::resetStateToConsistentValues):
1813
1814 2020-06-06  Peng Liu  <peng.liu6@apple.com>
1815
1816         REGRESSION (r262456): [iOS Debug] TestWebKitAPI.WKWebViewCloseAllMediaPresentations.PictureInPicture is frequently timing out
1817         https://bugs.webkit.org/show_bug.cgi?id=212777
1818
1819         Unreviewed test gardening.
1820
1821         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
1822         Disable the PictureInPicture test for old iOS devices.
1823
1824 2020-06-05  Ryan Haddad  <ryanhaddad@apple.com>
1825
1826         [iOS] TestWebKitAPI.WKWebsiteDataStore.RemoveAndFetchData is failing
1827         https://bugs.webkit.org/show_bug.cgi?id=208451
1828
1829         Unreviewed test gardening.
1830
1831         * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: Disable this test again because it is still failing on certain bots.
1832
1833 2020-06-05  Daniel Bates  <dabates@apple.com>
1834
1835         -_focusTextInputContext should reposition the caret if called for an already focused text input context
1836         https://bugs.webkit.org/show_bug.cgi?id=212830
1837         <rdar://problem/64032956>
1838
1839         Reviewed by Wenson Hsieh.
1840
1841         Re-purpose some existing tests to check for the new behavior.
1842
1843         In TextInteraction_FocusingAssistedElementShouldScrollToReveal, keep in mind that the caret position is
1844         changing: on iOS, calling input.focus() places the caret at the end of the field's content.
1845
1846         * TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
1847         (TestWebKitAPI::TEST):
1848
1849 2020-06-05  Jonathan Bedard  <jbedard@apple.com>
1850
1851         Generalize configure-xcode-for-ios-development (Part 1)
1852         https://bugs.webkit.org/show_bug.cgi?id=207043
1853
1854         Rubber-stamped by David Kilzer.
1855
1856         Patch by Keith Rollin and Jonathan Bedard.
1857
1858         Replace configure-xcode-for-ios-development with a Python script that works for iOS,
1859         watchOS and tvOS.
1860
1861         * Scripts/configure-xcode-for-embedded-development: Added.
1862
1863 2020-06-05  Wenson Hsieh  <wenson_hsieh@apple.com>
1864
1865         Text manipulation should exclude characters outside of the unicode private use area
1866         https://bugs.webkit.org/show_bug.cgi?id=212800
1867         <rdar://problem/63736417>
1868
1869         Reviewed by Sihui Liu.
1870
1871         Add a new API test to verify the new behavior when extracting PUA characters.
1872
1873         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
1874         (TestWebKitAPI::TEST):
1875
1876 2020-06-05  Dean Jackson  <dino@apple.com>
1877
1878         REGRESSION (r262366): [ Mac wk1 ] webgl/webgl-backing-store-size-update.html is failing
1879         https://bugs.webkit.org/show_bug.cgi?id=212647
1880         <rdar://problem/63882960>
1881
1882         Reviewed by Eric Carlson.
1883
1884         Drive-by comment from Simon. Remove some useless braces.
1885
1886         * TestWebKitAPI/Tests/WebKitLegacy/ios/WebGLPrepareDisplayOnWebThread.mm:
1887
1888 2020-06-05  Saam Barati  <sbarati@apple.com>
1889
1890         Try to reduce jetsams further on iOS devices running jsc stress tests
1891         https://bugs.webkit.org/show_bug.cgi?id=212786
1892
1893         Reviewed by Mark Lam.
1894
1895         * Scripts/run-jsc-stress-tests:
1896
1897 2020-06-05  Peng Liu  <peng.liu6@apple.com>
1898
1899         REGRESSION (r262456?): [macOS] media/picture-in-picture/picture-in-picture-api tests are flaky timeouts
1900         https://bugs.webkit.org/show_bug.cgi?id=212762
1901
1902         Reviewed by Eric Carlson.
1903
1904         Skip the Picture-in-Picture test if Picture-in-Picture is not supported and add playsinline attribute
1905         to the video element.
1906
1907         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
1908         (TEST):
1909
1910 2020-06-05  Andy Estes  <aestes@apple.com>
1911
1912         [Apple Pay] Remove conditionals for ENABLE_APPLE_PAY_SESSION_V(3|4)
1913         https://bugs.webkit.org/show_bug.cgi?id=212541
1914         <rdar://problem/63781452>
1915
1916         Reviewed by Darin Adler.
1917
1918         APPLE_PAY_SESSION_V(3|4) is now enabled whenever APPLE_PAY itself is enabled.
1919
1920         * Scripts/webkitperl/FeatureList.pm:
1921         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1922
1923 2020-06-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1924
1925         [GTK] MiniBrowser: use GAction API for actions and shortcuts in preparation for GTK4
1926         https://bugs.webkit.org/show_bug.cgi?id=212740
1927
1928         Reviewed by Adrian Perez de Castro.
1929
1930         Make MiniBrowser a GtkApplication and BrowserWindow a GtkApplicationWindow to easily install actions and shortcuts.
1931
1932         * MiniBrowser/gtk/BrowserMain.c: Removed.
1933         * MiniBrowser/gtk/BrowserMain.h: Removed.
1934         * MiniBrowser/gtk/BrowserSearchBar.c:
1935         (searchPreviousButtonCallback):
1936         (searchNextButtonCallback):
1937         * MiniBrowser/gtk/BrowserSearchBar.h:
1938         * MiniBrowser/gtk/BrowserTab.c:
1939         * MiniBrowser/gtk/BrowserTab.h:
1940         * MiniBrowser/gtk/BrowserWindow.c:
1941         (reloadOrStopCallback):
1942         (goBackCallback):
1943         (goForwardCallback):
1944         (settingsCallback):
1945         (browserWindowUpdateNavigationMenu):
1946         (browserWindowTryCloseCurrentWebView):
1947         (browserWindowTryClose):
1948         (webViewCreate):
1949         (browserWindowUpdateZoomActions):
1950         (webViewZoomLevelChanged):
1951         (zoomInCallback):
1952         (zoomOutCallback):
1953         (defaultZoomCallback):
1954         (searchCallback):
1955         (newTabCallback):
1956         (toggleWebInspector):
1957         (openPrivateWindow):
1958         (focusLocationBar):
1959         (reloadPage):
1960         (reloadPageIgnoringCache):
1961         (stopPageLoad):
1962         (loadHomePage):
1963         (toggleFullScreen):
1964         (printPage):
1965         (editingActionCallback):
1966         (typingAttributesChanged):
1967         (browserWindowFinalize):
1968         (browserWindowSetupEditorToolbarItem):
1969         (browserWindowSetupToolbarItem):
1970         (browserWindowDeleteEvent):
1971         (browser_window_new):
1972         (browser_window_append_view):
1973         (browser_window_get_or_create_web_view_for_automation):
1974         (browser_window_create_web_view_in_new_tab_for_automation):
1975         * MiniBrowser/gtk/BrowserWindow.h:
1976         * MiniBrowser/gtk/CMakeLists.txt:
1977         * MiniBrowser/gtk/main.c:
1978         (createWebViewForAutomationInWindowCallback):
1979         (createWebViewForAutomationInTabCallback):
1980         (automationStartedCallback):
1981         (startup):
1982         (activate):
1983         (main):
1984
1985 2020-06-04  Sihui Liu  <sihui_liu@apple.com>
1986
1987         Text manipulation: first and last unit in a paragraph should not contain only excluded tokens
1988         https://bugs.webkit.org/show_bug.cgi?id=212759
1989
1990         Reviewed by Wenson Hsieh.
1991
1992         Modify existing test for changed behavior that leading and trailing excluded units are not included in paragraph
1993         now.
1994
1995         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
1996         (TestWebKitAPI::TEST):
1997
1998 2020-06-04  Chris Dumez  <cdumez@apple.com>
1999
2000         UIProcess may crash after its prewarmed WebProcess gets terminated
2001         https://bugs.webkit.org/show_bug.cgi?id=212790
2002         <rdar://problem/63696191>
2003
2004         Reviewed by Geoffrey Garen.
2005
2006         Add API test coverage.
2007
2008         * TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm:
2009         (TEST):
2010
2011 2020-06-04  Sihui Liu  <sihui_liu@apple.com>
2012
2013         REGRESSION: (r262398) Text manipulation crashes when content is added
2014         https://bugs.webkit.org/show_bug.cgi?id=212785
2015
2016         Reviewed by Ryosuke Niwa.
2017
2018         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2019         (TestWebKitAPI::TEST):
2020
2021 2020-06-04  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2022
2023         Improve watchlist logic for comments on patches touching imported WPT tests.
2024         https://bugs.webkit.org/show_bug.cgi?id=212597
2025
2026         Reviewed by Youenn Fablet.
2027
2028         On r262295 I added a watchlist comment for patches touching the imported WPT tests.
2029         However, this is commenting on patches that are importing WPT tests.
2030
2031         To avoid this situations, this patch adds a new rule to detect if the changes modify
2032         any of the w3c-import.log files, and then changes the logic to make the comment only
2033         for patches that modify the WPT imported tests but not the w3c-import.log files.
2034
2035         In order to support this new logic, watchlist rule parsing is improved to support
2036         the "and" and "not" operators. Previously it only supported the "or" operator.
2037
2038         * Scripts/webkitpy/common/config/watchlist:
2039         * Scripts/webkitpy/common/watchlist/watchlistparser.py:
2040         (WatchListParser._rule_definitions_as_set):
2041         * Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py:
2042         (WatchListParserTest.test_cc_rule_with_undefined_defintion_with_suggestion):
2043         (WatchListParserTest):
2044         (WatchListParserTest.test_cc_rule_with_complex_logic):
2045         * Scripts/webkitpy/common/watchlist/watchlistrule.py:
2046         (WatchListRule.__init__):
2047         (WatchListRule._match_test_definitions):
2048         (WatchListRule.match):
2049         * Scripts/webkitpy/common/watchlist/watchlistrule_unittest.py:
2050         (WatchListRuleTest.test_complex_definition_or):
2051         (WatchListRuleTest):
2052         (WatchListRuleTest.test_complex_definition_and):
2053         (WatchListRuleTest.test_complex_definition_not):
2054         (WatchListRuleTest.test_complex_definition_combined):
2055
2056 2020-06-04  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2057
2058         svn-apply command is too slow with big patches
2059         https://bugs.webkit.org/show_bug.cgi?id=212766
2060
2061         Reviewed by Darin Adler.
2062
2063         The script svn-apply was calling a "git add" or "svn add" command
2064         after adding each new file. This caused the git or svn command to
2065         re-check the internal SCM database each time they were called, and
2066         this was really slow when lot of new files are added.
2067         Instead of doing this, we queue the list of new files in memory,
2068         and at the end we call "git add" or "svn add" once (or a few times).
2069
2070         On top of that, another optimization is added for the case of git,
2071         to avoid calling scmKnowsOfFile() inside addDirectoriesIfNeeded(),
2072         which is a slow operation and gets called a lot (once per file).
2073         Doing that for git is totally unneeded, as the only thing we have
2074         to take care about, is of ensuring that the directory is created.
2075         See: https://wkb.ug/86973
2076
2077         This reduces the time spent in the large test patch that caused
2078         this issue (see bug):
2079          - Git: 8 hours (before) -> 8 minutes (now).
2080          - SVN: 25 minutes (before) -> 5 minutes (now).
2081
2082         * Scripts/svn-apply:
2083         (addDirectoriesIfNeeded):
2084         (handleBinaryChange):
2085         (handleGitBinaryChange):
2086         (patch):
2087         (scmRemove):
2088         (scmAddQueued):
2089         (scmCommitQueueAdded):
2090         (scmToggleExecutableBitQueued):
2091         (scmCommitQueueToggledExecutableBit):
2092
2093 2020-06-04  Jonathan Bedard  <jbedard@apple.com>
2094
2095         Add watchOS and tvOS to build-webkit
2096         https://bugs.webkit.org/show_bug.cgi?id=212719
2097         <rdar://problem/63951600>
2098
2099         Reviewed by Tim Horton.
2100
2101         * Scripts/build-webkit: Add tvOS and watchOS flags, generalize embedded if statements.
2102         * Scripts/webkitdirs.pm:
2103         (determineArchitecture): Add tvOS and watchOS architectures.
2104         (argumentsForConfiguration): Add tvOS and watchOS flags.
2105         (extractNonMacOSHostConfiguration): Ditto.
2106
2107 2020-06-04  Tim Horton  <timothy_horton@apple.com>
2108
2109         Work around broken system version macro
2110         https://bugs.webkit.org/show_bug.cgi?id=212726
2111
2112         Reviewed by Dan Bernstein.
2113
2114         * ContentExtensionTester/Configurations/DebugRelease.xcconfig:
2115         * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
2116         * ImageDiff/cg/Configurations/DebugRelease.xcconfig:
2117         * MiniBrowser/Configurations/DebugRelease.xcconfig:
2118         * TestWebKitAPI/Configurations/DebugRelease.xcconfig:
2119         * WebEditingTester/Configurations/DebugRelease.xcconfig:
2120         * WebKitTestRunner/Configurations/DebugRelease.xcconfig:
2121         * lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig:
2122
2123 2020-06-04  Andy Estes  <aestes@apple.com>
2124
2125         [watchOS] Re-enable content filtering in the simulator build
2126         https://bugs.webkit.org/show_bug.cgi?id=212711
2127         <rdar://problem/63938350>
2128
2129         Reviewed by Wenson Hsieh.
2130
2131         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2132
2133 2020-06-04  Philippe Normand  <pnormand@igalia.com>
2134
2135         [Flatpak SDK] Update definitions
2136         https://bugs.webkit.org/show_bug.cgi?id=212698
2137
2138         Reviewed by Žan Doberšek.
2139
2140         * buildstream/elements/freedesktop-sdk.bst: Update to FDO 19.08.11
2141         * buildstream/elements/sdk/gtk.bst: Update GTK4
2142         * buildstream/patches/fdo/0001-Pango-Bump-to-1.45-master.patch: Added. Needed for GTK4
2143         * buildstream/patches/fdo/0001-Add-Jack.patch: Removed. This will be used when we update to the 20.08 FDO SDK.
2144         * buildstream/patches/fdo/0001-components-xdg-desktop-portal.bst-Update-to-1.6.0.patch: Removed. Ditto.
2145         * buildstream/patches/fdo/0002-Update-PipeWire-to-0.3.1.patch: Removed. Ditto.
2146
2147 2020-06-03  Tadeu Zagallo  <tzagallo@apple.com>
2148
2149         Disable B3 hoistLoopInvariantValues by default
2150         https://bugs.webkit.org/show_bug.cgi?id=212511
2151         <rdar://problem/63813245>
2152
2153         Reviewed by Mark Lam.
2154
2155         Enable the B3 hoistLoopInvariantValues pass in one of our existing configurations to
2156         avoid bit rot since we'd like to re-enable it eventually.
2157
2158         * Scripts/run-jsc-stress-tests:
2159
2160 2020-06-03  Wenson Hsieh  <wenson_hsieh@apple.com>
2161
2162         [Text manipulation] Extract the value attribute in inputs of type "text" and "search"
2163         https://bugs.webkit.org/show_bug.cgi?id=212706
2164         <rdar://problem/63876969>
2165
2166         Reviewed by Tim Horton.
2167
2168         Add a new test case (similar to the existing test `StartTextManipulationExtractsValuesFromButtonInputs`) to
2169         verify that we extract text from the `value` of inputs of type "text" and "search".
2170
2171         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2172         (TestWebKitAPI::TEST):
2173
2174 2020-06-03  Michael Saboff  <msaboff@apple.com>
2175
2176         [iOS] TestWTF.WTF_Lock.ContendedShortSection is consistently timing out on debug simulator builds
2177         https://bugs.webkit.org/show_bug.cgi?id=211650
2178
2179         Reviewed by Saam Barati.
2180
2181         The prior change to disable this test for Debug actually enabled it
2182         only for Debug IOS builds of any type, simulator or real HW.
2183
2184         This test has intermittently failed or timed out on Debug simulator
2185         builds for for almost a year.  We want to test Release builds as well as
2186         hardware builds. Therefore we should disable Debug simulator builds,
2187         and test all other variants.
2188
2189         * TestWebKitAPI/Tests/WTF/Lock.cpp:
2190
2191 2020-06-03  Wenson Hsieh  <wenson_hsieh@apple.com>
2192
2193         dataTransfer.types is empty when handling the "dragstart" event
2194         https://bugs.webkit.org/show_bug.cgi?id=212685
2195         <rdar://problem/61368402>
2196
2197         Reviewed by Andy Estes.
2198
2199         Adds new API tests and test infrastructure to verify that DataTransfer types and data are accessible during
2200         the "dragstart" event. See below for more details.
2201
2202         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2203         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
2204         (-[TestWKWebView selectElementWithID:]):
2205         (-[DragAndDropSimulator dragFromElementWithID:to:]):
2206
2207         Add a few (very specialized) helper methods to assist with simulating drags over the various elements in the new
2208         drag and drop test harness page below (dragstart-data.html).
2209
2210         (runDragStartDataTestCase):
2211
2212         Test the following scenarios (split between three API tests) by dumping the resulting DataTransfer types and
2213         their data strings, and observing the results:
2214
2215         - Dragging a normal text selection.
2216         - Dragging a normal text selection, and then adding a URL string.
2217         - Dragging a normal text selection, and then adding a custom pasteboard type.
2218         - Dragging a normal text selection, but then replacing the data with just a URL string.
2219         - Dragging a normal text selection, but then replacing the data with just a custom data type.
2220         - Dragging an image element.
2221         - Dragging an image element, and then overriding the plain text data.
2222         - Dragging a link (anchor element).
2223         - Dragging a link, and then adding a custom type.
2224
2225         * TestWebKitAPI/Tests/WebKitCocoa/dragstart-data.html: Added.
2226
2227         Add a new test harness to help test DataTransfer types when starting a drag. This test page can also be used as
2228         a manual test harness, by simply opening the test page, starting drags on the various elements and observing the
2229         output in the textarea.
2230
2231         * TestWebKitAPI/Tests/WebKitCocoa/dump-datatransfer-types.html:
2232
2233         Tweak this test page to replace the DataTransfer with custom data (rather than simply append it) by calling
2234         `DataTransfer.clearData()` prior to writing the custom types.
2235
2236         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
2237         * TestWebKitAPI/cocoa/TestWKWebView.h:
2238         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2239         (-[TestWKWebViewHostWindow initWithWebView:contentRect:styleMask:backing:defer:]):
2240
2241         Add a `__weak` reference on TestWKWebViewHostWindow back to the TestWKWebView, so that we can consult
2242         `-eventTimestamp` when synthesizing mouse events on macOS during API tests.
2243
2244         (-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:clickCount:]):
2245         (-[TestWKWebViewHostWindow _mouseUpAtPoint:clickCount:]):
2246         (-[TestWKWebViewHostWindow initWithWebView:frame:]):
2247         (-[TestWKWebView _setUpTestWindow:]):
2248         (-[TestWKWebView setEventTimestampOffset:]):
2249         (-[TestWKWebView eventTimestamp]):
2250
2251         Add a mechanism to offset synthetic event timestamps by a given time interval (i.e. the event timestamp offset).
2252
2253         (-[TestWKWebView mouseMoveToPoint:withFlags:]):
2254         (-[TestWKWebView _mouseEventWithType:atLocation:]):
2255         (-[TestWKWebView typeCharacter:]):
2256         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2257         (-[DragAndDropSimulator runFrom:to:]):
2258
2259         While simulating drag and drop on macOS, use `-setEventTimestampOffset:` to "leap forward" in time, so that the
2260         150 millisecond delay when dragging a text selection doesn't prevent drags from beginning.
2261
2262 2020-06-03  Sihui Liu  <sihui_liu@apple.com>
2263
2264         Text manipulation sometimes fails to replace text in attributes
2265         https://bugs.webkit.org/show_bug.cgi?id=212701
2266
2267         Reviewed by Wenson Hsieh.
2268
2269         Modify TextManipulation.CompleteTextManipulationShouldReplaceTextContentWithMultipleTokens to cover text 
2270         manipulation for attributes.
2271
2272         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2273         (TestWebKitAPI::TEST):
2274
2275 2020-06-03  Diego Pino Garcia  <dpino@igalia.com>
2276
2277         [WPE] lint-test-expectations doesn't work when platform is WPE
2278         https://bugs.webkit.org/show_bug.cgi?id=212700
2279
2280         Reviewed by Carlos Alberto Lopez Perez.
2281
2282         When passing arguments '--wpe' or '--platform=wpe*',
2283         lint-test-expectations does nothing for WPE, despite currently 
2284         there are many lint errors in WPE's TestExpectations file.
2285
2286         As a side-effect of this patch, now `Tools/Scripts/webkit-path
2287         rebaseline` lists the WPE Release and Debug bots.
2288
2289         * Scripts/webkitpy/port/builders.py: Add WPE to the list of
2290         exact_matches and fuzzy_matches.
2291         * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
2292
2293 2020-06-03  Jonathan Bedard  <jbedard@apple.com>
2294
2295         Allow using web processes for service workers even though they loaded about URLs (Follow-up fix)
2296         https://bugs.webkit.org/show_bug.cgi?id=212464
2297
2298         Unreviewed build fix.
2299
2300         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: didFinishNavigation is now used unconditionally.
2301
2302 2020-06-02  Keith Rollin  <krollin@apple.com>
2303
2304         Revert FEATURES_DEFINES related changes
2305         https://bugs.webkit.org/show_bug.cgi?id=212664
2306         <rdar://problem/63893033>
2307
2308         Reviewed by Andy Estes.
2309
2310         Bug 262310, Bug 262311, Bug 262318, and Bug 262331 involve changes to
2311         FEATURE_DEFINES and how the values there relate to those found in the
2312         Platform*.h files. Those changes break XCBuild (by removing the
2313         .xcfilelist related to UnifiedSources and the process for generating
2314         them), and so are being reverted.
2315
2316         * Scripts/webkitperl/FeatureList.pm:
2317         * Scripts/webkitpy/generate_xcfilelists_lib/generators.py:
2318         (WebCoreGenerator):
2319         (WebCoreGenerator._get_generate_unified_sources_script):
2320         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2321
2322 2020-06-02  Peng Liu  <peng.liu6@apple.com>
2323
2324         Stressing webkitSetPresentationMode leads to wrong inline video dimensions
2325         https://bugs.webkit.org/show_bug.cgi?id=202425
2326
2327         Reviewed by Eric Carlson.
2328
2329         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm:
2330         (TEST):
2331
2332 2020-06-02  Youenn Fablet  <youenn@apple.com>
2333
2334         Allow using web processes for service workers even though they loaded about URLs
2335         https://bugs.webkit.org/show_bug.cgi?id=212464
2336
2337         Reviewed by Chris Dumez.
2338
2339         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2340
2341 2020-06-02  Diego Pino Garcia  <dpino@igalia.com>
2342
2343         [buildbot] [GTK][WPE] Move JavaScript related tests to own bot
2344         https://bugs.webkit.org/show_bug.cgi?id=212481
2345
2346         Reviewed by Carlos Alberto Lopez Perez.
2347
2348         Currently GTK and WPE tests bots run too many tests. This makes
2349         the total running time for each build very long.
2350
2351         This patch moves JavaScript related tests (jscore-test and
2352         test262-test) to a separated bot which will be triggered by the
2353         corresponding build bot of each platform.
2354
2355         * BuildSlaveSupport/build.webkit.org-config/config.json:
2356         * BuildSlaveSupport/build.webkit.org-config/factories.py:
2357         (TestFactory.__init__):
2358         (TestJSFactory):
2359         (TestJSFactory.__init__):
2360         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2361
2362 2020-06-02  Carlos Garcia Campos  <cgarcia@igalia.com>
2363
2364         [GTK4] Make popup menus work
2365         https://bugs.webkit.org/show_bug.cgi?id=211178
2366
2367         Reviewed by Adrian Perez de Castro.
2368
2369         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
2370         (WTR::PlatformWebView::dismissAllPopupMenus):
2371
2372 2020-06-02  Carlos Garcia Campos  <cgarcia@igalia.com>
2373
2374         [GTK4] Make it possible to run layout tests
2375         https://bugs.webkit.org/show_bug.cgi?id=212328
2376
2377         Reviewed by Carlos Alberto Lopez Perez.
2378
2379         Build WTR with GTK4.
2380
2381         * PlatformGTK.cmake:
2382         * Scripts/webkitdirs.pm:
2383         (builtDylibPathForName): Try with both 4 and 5 API versions.
2384         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
2385         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
2386         (WTR::PlatformWebView::PlatformWebView):
2387         (WTR::PlatformWebView::~PlatformWebView):
2388         (WTR::PlatformWebView::setWindowIsKey):
2389         (WTR::PlatformWebView::windowFrame):
2390         (WTR::PlatformWebView::setWindowFrame):
2391         (WTR::PlatformWebView::addToWindow):
2392         (WTR::PlatformWebView::removeFromWindow):
2393         (WTR::PlatformWebView::windowSnapshotImage):
2394         (WTR::PlatformWebView::dismissAllPopupMenus):
2395         * WebKitTestRunner/gtk/UIScriptControllerGtk.cpp:
2396         (WTR::UIScriptControllerGtk::copyText):
2397
2398 2020-06-01  Noam Rosenthal  <noam@webkit.org>
2399
2400         Make unicode-bidi:isolate the default for an element with a dir attribute (instead of unicode-bidi:embed)
2401         https://bugs.webkit.org/show_bug.cgi?id=134630
2402
2403         Reviewed by Simon Fraser.
2404
2405         * TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.mm:
2406         (TEST):
2407                 Test was expecting unicode-bidi:embed, changed expectation.
2408
2409 2020-06-01  Sihui Liu  <sihui_liu@apple.com>
2410
2411         TextManipulationController should put one Node in only one paragraph
2412         https://bugs.webkit.org/show_bug.cgi?id=212548
2413
2414         Reviewed by Wenson Hsieh.
2415
2416         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2417         (TestWebKitAPI::TEST):
2418
2419 2020-06-01  Alex Christensen  <achristensen@webkit.org>
2420
2421         Make CustomDisplayName and DefaultDisplayName API tests fail instead of timing out when something changes
2422         https://bugs.webkit.org/show_bug.cgi?id=212480
2423
2424         This saves time when debugging and running all the tests.
2425
2426         * TestWebKitAPI/Tests/WebKitCocoa/DisplayName.mm:
2427         (TestWebKitAPI::checkUntilDisplayNameIs):
2428
2429 2020-06-01  Philippe Normand  <pnormand@igalia.com>
2430
2431         [Flatpak SDK] Install and update don't provide any terminal output
2432         https://bugs.webkit.org/show_bug.cgi?id=212579
2433
2434         Reviewed by Žan Doberšek.
2435
2436         The `show_output` option was removed from the process execution routines. We now assume the
2437         output will be displayed, unless the call-site asks `gather_output`. This change makes
2438         webkit-flatpak more chatty, which is nice during install/update operations.
2439
2440         * flatpak/flatpakutils.py:
2441         (run_sanitized):
2442         (FlatpakObject.flatpak):
2443         (FlatpakPackage.install):
2444         (FlatpakPackage.update):
2445         (WebkitFlatpak.setup_builddir):
2446         (WebkitFlatpak.run_in_sandbox):
2447
2448 2020-06-01  Chris Dumez  <cdumez@apple.com>
2449
2450         ASSERTION FAILURE (r220931): !m_function in ~CompletionHandler() after switch tabs
2451         https://bugs.webkit.org/show_bug.cgi?id=212537
2452         <rdar://problem/63766838>
2453
2454         Reviewed by Alex Christensen.
2455
2456         Add API test coverage.
2457
2458         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2459         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspension.mm: Added.
2460         (TEST):
2461
2462 2020-06-01  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2463
2464         [EWS] Add a special case for running the layout test step without aborting in case of many failures for WPT tests
2465         https://bugs.webkit.org/show_bug.cgi?id=212381
2466
2467         Reviewed by Jonathan Bedard.
2468
2469         Add a special case for patches uploaded by the bugzilla user that would be used
2470         for prototyping a bot that helps automating the import of WPT tests. For patches
2471         uploaded by this user don't pass the parameters that make the step abort early in
2472         case of many errors, and only run the layout tests inside the WPT import directory.
2473
2474         * BuildSlaveSupport/ews-build/steps.py:
2475         (RunWebKitTests):
2476         (RunWebKitTests.start):
2477         * BuildSlaveSupport/ews-build/steps_unittest.py:
2478         (test_success):
2479         (test_warnings):
2480         (test_parse_results_json_regression):
2481         (test_parse_results_json_flakes):
2482         (test_parse_results_json_flakes_and_regressions):
2483         (test_parse_results_json_with_newlines):
2484         (test_unexpected_error):
2485         (test_failure):
2486         (test_success_wpt_import_bot):
2487         (TestRunWebKitTestsWithoutPatch.test_success):
2488         (TestRunWebKitTestsWithoutPatch.test_failure):
2489         (TestRunWebKit1Tests.test_success):
2490         (TestRunWebKit1Tests.test_failure):
2491
2492 2020-06-01  Sam Weinig  <weinig@apple.com>
2493
2494         Extended Color: Replace Color constructors taking numeric values with type specific factory functions
2495         https://bugs.webkit.org/show_bug.cgi?id=212576
2496
2497         Reviewed by Tim Horton.
2498
2499         Replaces all remaining implicit and explicit uses of the Color constructors taking numeric
2500         values with explicit calls to makeSimpleColor/makeSimpleColorFromFloats/makeExtendedColor,
2501         giving us a consistent way to create colors. Also addes use constexpr SimpleColors where possible.
2502
2503         * TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
2504         (TestWebKitAPI::TEST):
2505         * TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
2506         (TestWebKitAPI::TEST):
2507         (TestWebKitAPI::makeColor):
2508         * TestWebKitAPI/Tests/WebKitCocoa/PDFSnapshot.mm:
2509         (TestWebKitAPI::TEST):
2510         * TestWebKitAPI/cocoa/TestPDFDocument.mm:
2511         (TestWebKitAPI::TestPDFPage::colorAtPoint const):
2512
2513 2020-05-31  Dean Jackson  <dino@apple.com>
2514
2515         AutoTrader crashed while browsing search results
2516         https://bugs.webkit.org/show_bug.cgi?id=212461
2517         rdar://60733185
2518
2519         Reviewed by Sam Weinig.
2520
2521         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2522         * TestWebKitAPI/Tests/WebKitLegacy/ios/WebGLPrepareDisplayOnWebThread.mm: Added.
2523         (-[WebGLPrepareDisplayOnWebThreadDelegate webViewDidFinishLoad:]):
2524         (-[WebGLPrepareDisplayOnWebThreadDelegate webView:shouldStartLoadWithRequest:navigationType:]):
2525         (TestWebKitAPI::TEST):
2526         * TestWebKitAPI/Tests/WebKitLegacy/ios/webgl.html: Added.
2527
2528 2020-05-31  Carlos Garcia Campos  <cgarcia@igalia.com>
2529
2530         Unreviewed. Fix GTK4 build with current GTK
2531
2532         * MiniBrowser/gtk/BrowserTab.c:
2533         (audioMutedChanged):
2534
2535 2020-05-30  Sam Weinig  <weinig@apple.com>
2536
2537         Extended Color: Additional color cleanups
2538         https://bugs.webkit.org/show_bug.cgi?id=212567
2539
2540         Reviewed by Simon Fraser.
2541
2542         * TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
2543         (TestWebKitAPI::TEST):
2544         Update for rename from ExtendedColor::channels() to ExtendedColor::components()
2545
2546 2020-05-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2547
2548         [GTK] WebDriver: stop using GdkEvent API in preparation for GTK4
2549         https://bugs.webkit.org/show_bug.cgi?id=212465
2550
2551         Reviewed by Adrian Perez de Castro.
2552
2553         Update to the new webkitWebViewBaseSynthesizeKeyEvent() API.
2554
2555         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
2556         (WTR::EventSenderProxy::keyDown):
2557
2558 2020-05-29  Alex Christensen  <achristensen@webkit.org>
2559
2560         Use correct encoding when converting a WTF::URL to CFURLRef
2561         https://bugs.webkit.org/show_bug.cgi?id=212486
2562
2563         Reviewed by Darin Adler.
2564
2565         * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
2566         (TestWebKitAPI::TEST):
2567
2568 2020-05-29  Andy Estes  <aestes@apple.com>
2569
2570         [Apple Pay] Remove conditionals for ENABLE_APPLE_PAY_SESSION_V(3|4)
2571         https://bugs.webkit.org/show_bug.cgi?id=212541
2572
2573         Reviewed by Darin Adler.
2574
2575         APPLE_PAY_SESSION_V(3|4) is now enabled whenever APPLE_PAY itself is enabled.
2576
2577         * Scripts/webkitperl/FeatureList.pm:
2578         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2579
2580 2020-05-29  Jan-Michael Brummer  <jan.brummer@tabos.org>
2581
2582         [GTK][WPE] API for WebView audio mute support
2583         https://bugs.webkit.org/show_bug.cgi?id=176119
2584
2585         Reviewed by Michael Catanzaro.
2586
2587         * MiniBrowser/gtk/BrowserTab.c:
2588         (audioClicked):
2589         (audioMutedChanged):
2590         (browserTabConstructed):
2591         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
2592         (testWebViewIsAudioMuted):
2593         (beforeAll):
2594
2595 2020-05-29  Darin Adler  <darin@apple.com>
2596
2597         Remove things from FeatureDefines.xcconfig that are covered by PlatformEnableCocoa.h
2598         https://bugs.webkit.org/show_bug.cgi?id=212418
2599
2600         Rubber-stamped by Simon Fraser.
2601
2602         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Add back ENABLE_CSS_CONIC_GRADIENTS,
2603         removed by accident.
2604
2605 2020-05-29  Pavel  <pavel.feldman@gmail.com>
2606
2607         [Win] Allow compiling with the TOUCH_EVENTS enabled
2608         https://bugs.webkit.org/show_bug.cgi?id=212528
2609
2610         Reviewed by Fujii Hironori.
2611
2612         Aligning Win with GTK, adding missing EventSenderProxy stubs.
2613         This allows compiling Win with TOUCH_EVENTS and unlocks event
2614         injection / processing by the automation drivers
2615
2616         * WebKitTestRunner/win/EventSenderProxyWin.cpp:
2617         (WTR::EventSenderProxy::addTouchPoint):
2618         (WTR::EventSenderProxy::updateTouchPoint):
2619         (WTR::EventSenderProxy::setTouchModifier):
2620         (WTR::EventSenderProxy::setTouchPointRadius):
2621         (WTR::EventSenderProxy::touchStart):
2622         (WTR::EventSenderProxy::touchMove):
2623         (WTR::EventSenderProxy::touchEnd):
2624         (WTR::EventSenderProxy::touchCancel):
2625         (WTR::EventSenderProxy::clearTouchPoints):
2626         (WTR::EventSenderProxy::releaseTouchPoint):
2627         (WTR::EventSenderProxy::cancelTouchPoint):
2628
2629 2020-05-27  Darin Adler  <darin@apple.com>
2630
2631         Remove things from FeatureDefines.xcconfig that are covered by PlatformEnableCocoa.h
2632         https://bugs.webkit.org/show_bug.cgi?id=212418
2633
2634         Reviewed by Andy Estes.
2635
2636         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed 83 of the 119 things
2637         defined in this file. There are 36 more that are slightly more complex that we can
2638         remove carefully later.
2639
2640 2020-05-29  Darin Adler  <darin@apple.com>
2641
2642         Make generate-unified-sources.sh not depend on features being listed in FEATURE_DEFINES environment variable
2643         https://bugs.webkit.org/show_bug.cgi?id=212420
2644
2645         Reviewed by Andy Estes.
2646
2647         * Scripts/webkitpy/generate_xcfilelists_lib/generators.py:
2648         (WebCoreGenerator._get_generate_derived_sources_script): Removed the code
2649         to generate UnifiedSources-output.xcfilelist.
2650
2651 2020-05-29  Keith Rollin  <krollin@apple.com>
2652
2653         Revert switch to XCBuild
2654         https://bugs.webkit.org/show_bug.cgi?id=212530
2655         <rdar://problem/63764632>
2656
2657         Unreviewed build fix.
2658
2659         Bug 209890 enabled the use of XCBuild by default. Since then, some
2660         build issues have shown up. While addressing them, temporarily turn
2661         off the use of XCBuild by default.
2662
2663         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2664         * Scripts/build-webkit:
2665         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2666
2667 2020-05-29  Philippe Normand  <pnormand@igalia.com>
2668
2669         [Flatpak][GStreamer] all commands, except webkit-build, fails if GST_BUILD_PATH is set
2670         https://bugs.webkit.org/show_bug.cgi?id=212408
2671
2672         Reviewed by Žan Doberšek.
2673
2674         Don't run gst-env.py in the sandbox because that can lead to command-line options clashing
2675         with build-webkit and other WebKit scripts. So instead we now parse the output of the
2676         environment variables gst-build requires and we forward those to the sandbox.
2677
2678         * flatpak/flatpakutils.py:
2679         (run_sanitized):
2680         (check_flatpak):
2681         (FlatpakObject.flatpak):
2682         (WebkitFlatpak.execute_command):
2683         (WebkitFlatpak.setup_gstbuild):
2684         (WebkitFlatpak.run_in_sandbox):
2685         (flatpak_run_sanitized): Deleted.
2686
2687 2020-05-29  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2688
2689         Add watchlist comment for patches touching imported WPT tests.
2690         https://bugs.webkit.org/show_bug.cgi?id=212362
2691
2692         Reviewed by Youenn Fablet.
2693
2694         Add a watchlist trigger to comment on patches touching imported WPT tests
2695         with a link to documentation about the export process.
2696
2697         * Scripts/webkitpy/common/config/watchlist:
2698
2699 2020-05-29  Lauro Moura  <lmoura@igalia.com>
2700
2701         [Flatpak] Fix os.system return code for better signal handling.
2702
2703         Rubber-stamped by Philippe Normand.
2704
2705         The previous fix in r262270 correctly fixed the return code issue
2706         but made signal handling pass through python. For example, when you
2707         ctlr+C running MiniBrowser, you'd get a python stacktrace deep inside
2708         subprocess.call.
2709
2710         So, revert back to os.system but fixing the return code.
2711
2712         * flatpak/webkit-bwrap:
2713
2714 2020-05-29  Philippe Normand  <pnormand@igalia.com>
2715
2716         [Flatpak SDK] Update OpenXR
2717         https://bugs.webkit.org/show_bug.cgi?id=212518
2718
2719         Reviewed by Žan Doberšek.
2720
2721         Upstream now builds fine with GCC 9.3.0. Removing downstream patch.
2722         
2723         * buildstream/elements/sdk/openxr.bst:
2724         * buildstream/patches/openxr-0001-cmake-Check-for-C-17-and-conditionally-enable-it.patch: Removed.
2725
2726 2020-05-29  Wenson Hsieh  <wenson_hsieh@apple.com>
2727
2728         REGRESSION (r261812): editing/async-clipboard/clipboard-item-get-type-basic.html is flaky
2729         https://bugs.webkit.org/show_bug.cgi?id=212281
2730         <rdar://problem/63554912>
2731
2732         Reviewed by Tim Horton.
2733
2734         On some shipping versions of iOS, returning `NO` from `-supportsImagePaste` still results in UIKit keyboard
2735         code pinning temporary items to the general pasteboard, which increments the change count of the pasteboard.
2736         If this happens in the middle of an attempt to read from the pasteboard, we end up falsely denying access to the
2737         contents of the pasteboard, since we believe that the contents of the pasteboard have changed.
2738
2739         This has the potential to affect any test that attempts to read from the pasteboard on iOS, though the titular
2740         layout test seems to trigger the bug more frequently than other tests.
2741
2742         This item pinning was added in support of being able to insert Memojis from the software keyboard, and works by
2743         pretending to copy a temporary PNG image, asking the delegate whether it `-canPerformAction:withSender:`, and
2744         then restoring the items previously on the pasteboard. To work around this in the test runner, we can simply
2745         swizzle out `-[UIKeyboardImpl delegateSupportsImagePaste]` to always return `NO`, which has the same effect as
2746         disabling the Memoji keyboard.
2747
2748         * WebKitTestRunner/TestController.h:
2749         * WebKitTestRunner/ios/TestControllerIOS.mm:
2750         (overrideKeyboardDelegateSupportsImagePaste):
2751         (WTR::TestController::platformResetStateToConsistentValues):
2752
2753 2020-05-28  Myles C. Maxfield  <mmaxfield@apple.com>
2754
2755         Make fast/text/user-installed-fonts/extended-character.html more robust
2756         https://bugs.webkit.org/show_bug.cgi?id=212487
2757         <rdar://problem/63235370>
2758
2759         Unreviewed.
2760
2761         Update the font to use the new character.
2762
2763         * WebKitTestRunner/fonts/FakeHelvetica-SingleExtendedCharacter.ttf:
2764
2765 2020-05-28  Lauro Moura  <lmoura@igalia.com>
2766
2767         [Flatpak] Use subprocess.call instead of os.system to forward the return code correctly.
2768
2769         os.system reports error codes from the child process like wait(),
2770         which seems to not be playing well with flatpak/bwrap.
2771
2772         This was causing flatpak to return 0 to some failed commands (like
2773         build-webkit), making failures show as successes in the bots.
2774
2775         Unreviewed build fix.
2776
2777         * flatpak/webkit-bwrap:
2778
2779 2020-05-28  Tim Horton  <timothy_horton@apple.com>
2780
2781         makeValueRefForValue should be robust against the type encoding of a NSNumber backed by a boolean
2782         https://bugs.webkit.org/show_bug.cgi?id=212456
2783
2784         Reviewed by Anders Carlsson.
2785
2786         * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
2787         (WTR::makeValueRefForValue):
2788         Apply the fix from r260515 to this second copy of the code too.
2789
2790 2020-05-27  Saam Barati  <sbarati@apple.com>
2791
2792         revert logging for detecting failures in run-jsc-stress-tests
2793         https://bugs.webkit.org/show_bug.cgi?id=212447
2794
2795         Reviewed by Alexey Proskuryakov.
2796
2797         * Scripts/run-jsc-stress-tests:
2798
2799 2020-05-27  Tim Horton  <timothy_horton@apple.com>
2800
2801         REGRESSION (PSON): Resizing WKWebView during cross-site navigation results in the page laying out at the wrong size
2802         https://bugs.webkit.org/show_bug.cgi?id=212434
2803         <rdar://problem/51621621>
2804
2805         Reviewed by Chris Dumez.
2806
2807         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2808         Add a test ensuring that we correctly update the view size if it changes
2809         during the provisional phase of the navigation.
2810
2811 2020-05-27  Lauro Moura  <lmoura@igalia.com>
2812
2813         Unreviewed. A couple transformations missing from r262214.
2814
2815         Was making fast/events/touch/tap-highlight-color.html to fail.
2816
2817         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
2818         (WTR::EventSenderProxy::keyDown):
2819         (WTR::EventSenderProxy::addTouchPoint):
2820
2821 2020-05-27  Kenneth Russell  <kbr@chromium.org>
2822
2823         Update MobileMiniBrowser project settings to current Xcode
2824         https://bugs.webkit.org/show_bug.cgi?id=212428
2825
2826         Reviewed by Dean Jackson.
2827
2828         Apply suggestions from Dean to automatically switch between the
2829         internal and public SDKs.
2830
2831         * MobileMiniBrowser/Configurations/Base.xcconfig:
2832
2833 2020-05-27  Lauro Moura  <lmoura@igalia.com>
2834
2835         [WPE] Avoid possible WTR event timing going back in time and fix conversion from s to ms
2836         https://bugs.webkit.org/show_bug.cgi?id=212338
2837
2838         Reviewed by Michael Catanzaro.
2839
2840         Make sure we cast the double m_time timestamp from seconds to uint32_t
2841         milliseconds expected by WPE input events.
2842
2843         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
2844         (WTR::secToMsTimestamp):
2845         (WTR::EventSenderProxy::EventSenderProxy): Use monotonic time instead
2846         of zero as the time origin. This is used only in a relative manner,
2847         and we need monotonic behavior so conversion to DOM event timestamps
2848         makes sense.
2849         (WTR::EventSenderProxy::mouseDown):
2850         (WTR::EventSenderProxy::mouseUp):
2851         (WTR::EventSenderProxy::mouseMoveTo):
2852         (WTR::EventSenderProxy::mouseScrollBy):
2853         (WTR::EventSenderProxy::updateTouchPoint):
2854         (WTR::EventSenderProxy::prepareAndDispatchTouchEvent):
2855         (WTR::EventSenderProxy::releaseTouchPoint):
2856
2857 2020-05-27  Kate Cheney  <katherine_cheney@apple.com>
2858
2859         Make sure bundle identifier testing override is set in the network process
2860         https://bugs.webkit.org/show_bug.cgi?id=212288
2861         <rdar://problem/63539061>
2862
2863         Reviewed by Chris Dumez.
2864
2865         Set the bundle identifier in the network process if a layout test
2866         updates it. This value usually only gets updated when a new network
2867         process is initialized, which does not happen for every test. So it
2868         should be set/cleared as needed.
2869
2870         * WebKitTestRunner/TestController.cpp:
2871         (WTR::TestController::createWebViewWithOptions):
2872         (WTR::TestController::updateBundleIdentifierInNetworkProcess):
2873         * WebKitTestRunner/TestController.h:
2874
2875 2020-05-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2876
2877         [Clipboard API] Support reading "image/png" on ClipboardItem
2878         https://bugs.webkit.org/show_bug.cgi?id=212339
2879         <rdar://problem/63588957>
2880
2881         Reviewed by Tim Horton.
2882
2883         Add a new API test to verify that TIFF images on the system pasteboard on macOS are automatically converted to
2884         PNG data, and is accessible through `ClipboardItem` through the "image/png" type.
2885
2886         * TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm:
2887
2888 2020-05-27  Per Arne Vollan  <pvollan@apple.com>
2889
2890         Unreviewed, reverting r260840.
2891
2892         This patch is no longer needed after preferences root cause
2893         has been fixed.
2894
2895         Reverted changeset:
2896
2897         "[Cocoa] Global preferences are not accessible in the
2898         WebContent process when CFPrefs direct mode is enabled"
2899         https://bugs.webkit.org/show_bug.cgi?id=211075
2900         https://trac.webkit.org/changeset/260840
2901
2902 2020-05-27  Devin Rousso  <drousso@apple.com>
2903
2904         Web Inspector: replace `featureGuard` and `availability` with a combined `condition` that accepts any macro
2905         https://bugs.webkit.org/show_bug.cgi?id=210014
2906
2907         Reviewed by Brian Burg.
2908
2909         Previously, the generated InspectorBackendCommands.js would include code for things that the
2910         backend doesn't actually support. By using actual macros and preprocessing that file, we can
2911         ensure that the frontend doesn't incorrectly think that something is supported by the page
2912         being inspected:
2913          - the `Canvas` commands and events related to shader programs/pipelines should only exist
2914            when the corresponding context type exists, namely `ENABLE(WEBGL)` and `ENABLE(WEBGPU)`.
2915          - iOS doesn't support showing rulers, so create a variant of `DOM.setInspectModeEnabled`
2916            that only exists for `PLATFORM(IOS_FAMILY)` that doesn't have the `showRulers` optional
2917            parameter, as well as removing `Page.setShowRulers` entirely.
2918          - setting the forced appearance should only be possible if dark mode is supported.
2919          - web archives only exist if CF is used.
2920
2921         * Configurations/FeatureDefines.xcconfig:
2922         Add `ENABLE_WEB_ARCHIVE` since it's always enabled in wtf/PlatformEnableCocoa.h.
2923
2924         * Scripts/webkitpy/inspector/main.py:
2925         (InspectorGeneratorTests.generate_from_json):
2926         (InspectorGeneratorTests.run_tests):
2927         (InspectorGeneratorTests.main):
2928
2929 2020-05-27  Philippe Normand  <pnormand@igalia.com>
2930
2931         [Flatpak SDK] Update openxr recipe
2932         https://bugs.webkit.org/show_bug.cgi?id=212403
2933
2934         Reviewed by Sergio Villar Senin.
2935
2936         * buildstream/elements/sdk/openxr.bst: Explicitely list dependencies and bump to latest git master.
2937
2938 2020-05-27  Carlos Garcia Campos  <cgarcia@igalia.com>
2939
2940         [GTK][WTR] EventSender: stop using GdkEvent API in preparation for GTK4
2941         https://bugs.webkit.org/show_bug.cgi?id=212298
2942
2943         Reviewed by Adrian Perez de Castro.
2944
2945         Use WebKitWebViewBase internal API to synthesize events instead of GdkEvents. The touch events support has been
2946         removed because we are no longer testing touch events, since they need an actual touchscreen.
2947
2948         * WebKitTestRunner/EventSenderProxy.h:
2949         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
2950         (WTR::getGDKKeySymForKeyRef):
2951         (WTR::toWebKitGLibAPI):
2952         (WTR::EventSenderProxy::keyDown):
2953         (WTR::EventSenderProxy::mouseDown):
2954         (WTR::EventSenderProxy::mouseUp):
2955         (WTR::EventSenderProxy::mouseMoveTo):
2956         (WTR::EventSenderProxy::mouseScrollBy):
2957         (WTR::EventSenderProxy::continuousMouseScrollBy):
2958         (WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):
2959         (WTR::EventSenderProxy::leapForward):
2960         (WTR::EventSenderProxy::addTouchPoint):
2961         (WTR::EventSenderProxy::updateTouchPoint):
2962         (WTR::EventSenderProxy::touchStart):
2963         (WTR::EventSenderProxy::touchMove):
2964         (WTR::EventSenderProxy::touchEnd):
2965         (WTR::EventSenderProxy::touchCancel):
2966         (WTR::EventSenderProxy::clearTouchPoints):
2967         (WTR::EventSenderProxy::releaseTouchPoint):
2968         (WTR::EventSenderProxy::cancelTouchPoint):
2969         (WTR::EventSenderProxy::setTouchPointRadius):
2970         (WTR::EventSenderProxy::setTouchModifier):
2971
2972 2020-05-26  Alex Christensen  <achristensen@webkit.org>
2973
2974         UTF-8 encode strings of invalid URLs when converting WTF::URL to NSURL instead of truncating the UTF-16 encoding
2975         https://bugs.webkit.org/show_bug.cgi?id=212393
2976         <rdar://problem/63095503>
2977
2978         Reviewed by Tim Horton.
2979
2980         * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm:
2981         (TestWebKitAPI::TEST):
2982
2983 2020-05-26  Mark Lam  <mark.lam@apple.com>
2984
2985         Enhance Bitmap::setEachNthBit() to also take an end index.
2986         https://bugs.webkit.org/show_bug.cgi?id=212386
2987         <rdar://problem/63643324>
2988
2989         Reviewed by Robin Morisset.
2990
2991         * TestWebKitAPI/Tests/WTF/Bitmap.cpp:
2992         (TestWebKitAPI::testBitmapSetEachNthBitImpl):
2993
2994 2020-05-26  Fujii Hironori  <Hironori.Fujii@sony.com>
2995
2996         [WinCairo][WK2] Use GraphicsLayerTextureMapper for Accelerated Compositing mode
2997         https://bugs.webkit.org/show_bug.cgi?id=211883
2998
2999         Reviewed by Don Olmstead.
3000
3001         * MiniBrowser/win/WebKitBrowserWindow.cpp:
3002         (WebKitBrowserWindow::setPreference): Call WKPreferencesSet* for
3003         menu items IDM_ACC_COMPOSITING, IDM_COMPOSITING_BORDERS and
3004         IDM_DEBUG_INFO_LAYER.
3005
3006 2020-05-26  Sam Weinig  <weinig@apple.com>
3007
3008         Extended Color Cleanup: Remove red()/green()/blue() accessors from ExtendedColor in preperation for supporting non-RGB based ColorSpaces
3009         https://bugs.webkit.org/show_bug.cgi?id=212366
3010
3011         Reviewed by Simon Fraser.
3012
3013         * TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
3014         (TestWebKitAPI::TEST):
3015         Update tests to pull values from the channels rather than from the red()/green()/blue() accessors.
3016
3017 2020-05-26  Peng Liu  <peng.liu6@apple.com>
3018
3019         ASSERTION FAILED: m_clientCounts.contains(contextId) - WebKit::VideoFullscreenManagerProxy::removeClientForContext()
3020         https://bugs.webkit.org/show_bug.cgi?id=212308
3021
3022         Disable TestWebKitAPI.PictureInPicture.ExitPiPOnSuspendVideoElement for old iOS versions
3023         due to an issue of AVKit.
3024
3025         In addition, don't run the test if Picture-in-Picture is not supported.
3026
3027         Reviewed by Jer Noble.
3028
3029         * TestWebKitAPI/Tests/WebKitCocoa/ExitPiPOnSuspendVideoElement.mm:
3030         (TestWebKitAPI::TEST):
3031
3032 2020-05-26  Keith Rollin  <krollin@apple.com>
3033
3034         Enable the use of XCBuild by default in Apple builds
3035         https://bugs.webkit.org/show_bug.cgi?id=209890
3036         <rdar://problem/44182078>
3037
3038         Reviewed by Darin Adler.
3039
3040         Switch from the "legacy" Xcode build system to the "new" build system
3041         (also known as "XCBuild"). Switching to the new system speeds up
3042         builds by a small percentage, better validates projects for
3043         build-related issues (such as dependency cycles), lets WebKit benefit
3044         from future improvements in XCBuild such as those coming from the
3045         underlying llbuild open source project, and prepares us for any other
3046         tools built for this new ecosystem.
3047
3048         Specific changes:
3049
3050         - Remove Xcode project and workspace settings that selected the Build
3051           system, allowing the default to take hold (which is currently the
3052           New build system).
3053         - Updated webkitdirs.pm with a terser check for Xcode version.
3054         - Update build-webkit and Makefile.shared to be explicit when using
3055           the old build system (no longer treat it as a default or fall-back
3056           configuration).
3057         - Update various xcconfig files similarly to treat the default as
3058           using the new build system.
3059         - Update various post-processing build steps to check for Xcode 11.4
3060           and to no longer treat the default as using the old build system.
3061
3062         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
3063         * Scripts/build-webkit:
3064         * Scripts/webkitdirs.pm:
3065         (canUseXCBuild):
3066         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3067
3068 2020-05-26  Jonathan Bedard  <jbedard@apple.com>
3069
3070         webkitpy: simctl list may have stderr logging
3071         https://bugs.webkit.org/show_bug.cgi?id=212376
3072         <rdar://problem/63517635>
3073
3074         Unreviewed infrastructure fix.
3075
3076         * Scripts/webkitpy/xcode/simulated_device.py:
3077         (SimulatedDeviceManager.populate_available_devices): Only parse stdout, log error when
3078         json decoding fails.
3079         (SimulatedDevice.is_usable): Only parse stdout.
3080         (SimulatedDevice.launch_app): Ditto.
3081
3082 2020-05-25  Wenson Hsieh  <wenson_hsieh@apple.com>
3083
3084         [iOS] ActionSheetTests.DataDetectorsLinkIsNotPresentedAsALink is failing consistently
3085         https://bugs.webkit.org/show_bug.cgi?id=212363
3086         <rdar://problem/63508866>
3087
3088         Reviewed by Tim Horton.
3089
3090         This test began to consistently throw an exception after <https://trac.webkit.org/r261157>, due to how
3091         UserInterfaceSwizzler always instantiates the shared UIApplication. This apparently causes -[WKContentView
3092         resizableSnapshotViewFromRect:afterScreenUpdates:withCapInsets:] to return `nil` instead of a replica view. As a
3093         result, we crash under `createFallbackTargetedPreview` as we're attempting to assemble a targeted preview for
3094         the context menu interaction.
3095
3096         Since this seems to only affect this particular API test, work around it by swizzling out
3097         `-resizableSnapshotViewFromRect:afterScreenUpdates:withCapInsets:` in this API test to return a non-null UIView.
3098
3099         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
3100         (TestWebKitAPI::swizzledResizableSnapshotViewFromRect):
3101         (TestWebKitAPI::TEST):
3102
3103 2020-05-24  Sam Weinig  <weinig@apple.com>
3104
3105         Extended Color Cleanup: Use the name SimpleColor consistently
3106         https://bugs.webkit.org/show_bug.cgi?id=212337
3107
3108         Reviewed by Anders Carlsson.
3109
3110         * TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
3111         (TestWebKitAPI::TEST):
3112         Update test for rename of makeRGBAFromHSLA to makeSimpleColorFromHSLA.
3113
3114 2020-05-25  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
3115
3116         [Flatpak][GStreamer] compilation fails when GST_BUILD_PATH is defined
3117         https://bugs.webkit.org/show_bug.cgi?id=212343
3118
3119         Reviewed by Philippe Normand.
3120
3121         Flatpak's command has to be expressed before gst-env declaration.
3122
3123         * flatpak/flatpakutils.py:
3124         (WebkitFlatpak.run_in_sandbox):
3125
3126 2020-05-25  Adrian Perez de Castro  <aperez@igalia.com>
3127
3128         [WPE][WKTR] Fix typo in EventSenderProxyWPE
3129         https://bugs.webkit.org/show_bug.cgi?id=212340
3130
3131         Reviewed by Carlos Garcia Campos.
3132
3133         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
3134         (WTR::wpeKeySymForKeyRef): Fix typo rightArror -> rightArrow.
3135
3136 2020-05-25  Philippe Normand  <pnormand@igalia.com>
3137
3138         REGRESSION(r262057): [Flatpak SDK] sccache-dist server no longer starting
3139         https://bugs.webkit.org/show_bug.cgi?id=212326
3140
3141         Reviewed by Žan Doberšek.
3142
3143         A few mount points were missing in the sandbox created by
3144         `flatpak run` preventing the sccache-dist server to start and keep running.
3145
3146         * flatpak/flatpakutils.py:
3147         (WebkitFlatpak.run_in_sandbox):
3148         * flatpak/webkit-bwrap:
3149
3150 2020-05-25  Philippe Normand  <pnormand@igalia.com>
3151
3152         [Flatpak SDK] Fixup icecc support
3153         https://bugs.webkit.org/show_bug.cgi?id=212301
3154
3155         Reviewed by Žan Doberšek.
3156
3157         * flatpak/flatpakutils.py:
3158         (WebkitFlatpak.run_in_sandbox): Allow homedir access from the
3159         sandbox, this is needed because the icecc toolchains paths refer
3160         to the host environment, not the sandbox.
3161         (WebkitFlatpak.pack_toolchain): Fix byte-string formatting issue, happening in Python3.
3162
3163 2020-05-25  Philippe Normand  <pnormand@igalia.com>
3164
3165         [GTK4] SDK contains too old GTK4
3166         https://bugs.webkit.org/show_bug.cgi?id=212334
3167
3168         Reviewed by Adrian Perez de Castro.
3169
3170         * buildstream/elements/sdk/gtk.bst: Update GTK4 to 3.98.4.
3171
3172 2020-05-24  Sam Weinig  <weinig@apple.com>
3173
3174         Extended Color Cleanup: Stop allowing direct access to the underlying SimpleColor (it is almost always incorrect with respect to extended colors)
3175         https://bugs.webkit.org/show_bug.cgi?id=212184
3176
3177         Reviewed by Dean Jackson.
3178
3179         * TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
3180         (TestWebKitAPI::TEST):
3181         Use toSRGBASimpleColorLossy() to get access to color components.
3182
3183 2020-05-22  Alex Christensen  <achristensen@webkit.org>
3184
3185         Make download resume workaround forgiving of changes in CFNetwork
3186         https://bugs.webkit.org/show_bug.cgi?id=212273
3187
3188         Reviewed by Geoffrey Garen.
3189
3190         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
3191
3192 2020-05-22  Paulo Matos  <pmatos@igalia.com>
3193
3194         Add support for [no-]use-ccache option in build-jsc
3195         https://bugs.webkit.org/show_bug.cgi?id=212259
3196
3197         Reviewed by Mark Lam.
3198
3199         * Scripts/build-jsc:
3200
3201 2020-05-22  Alex Christensen  <achristensen@webkit.org>
3202
3203         Add SPI to unblock third party cookies from WKWebViews with ResourceLoadStatistics turned on
3204         https://bugs.webkit.org/show_bug.cgi?id=212058
3205         <rdar://problem/60595539>
3206
3207         Reviewed by John Wilander.
3208
3209         I also add _test_waitForAlert to make tests less verbose.
3210
3211         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
3212         (TEST):
3213         * TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
3214         (TEST):
3215         * TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
3216         (TestWebKitAPI::TEST):
3217         * TestWebKitAPI/cocoa/HTTPServer.h:
3218         (TestWebKitAPI::Connection::Connection):
3219         * TestWebKitAPI/cocoa/HTTPServer.mm:
3220         (TestWebKitAPI::HTTPServer::HTTPServer):
3221         (TestWebKitAPI::dataFromString):
3222         (TestWebKitAPI::nullTerminatedRequest):
3223         (TestWebKitAPI::HTTPServer::request const):
3224         (TestWebKitAPI::Connection::receive const):
3225         (TestWebKitAPI::Connection::send const):
3226         * TestWebKitAPI/cocoa/TestUIDelegate.h:
3227         * TestWebKitAPI/cocoa/TestUIDelegate.mm:
3228         (-[WKWebView _test_waitForAlert]):
3229
3230 2020-05-22  Chris Dumez  <cdumez@apple.com>
3231
3232         [WKTR] Make TestController::resetStateToConsistentValues() more robust against failures to navigate to about:blank
3233         https://bugs.webkit.org/show_bug.cgi?id=212268
3234         <rdar://problem/63493074>
3235
3236         Reviewed by Geoffrey Garen.
3237
3238         Make TestController::resetStateToConsistentValues() more robust against failures to navigate to about:blank.
3239
3240         In <rdar://problem/63493074>, we have evidence that TestController::resetStateToConsistentValues() sometimes
3241         fails to load about:blank, likely due to an unresponsive WebProcess. When this happens, WebKitTestRunner
3242         reports the test as timing out and logs this on stderr:
3243         """
3244         <unknown> - TestController::run - Failed to reset state to consistent values
3245         #PROCESS UNRESPONSIVE - com.apple.WebKit.WebContent.Development (pid 57421)
3246         """
3247
3248         This is unfortunate because this does not indicate that anything is particularly wrong with the test in
3249         question. Rather, it indicates that the WebProcess is unresponsive (likely due to a hang caused by a
3250         previous test), which prevents WebKitTestRunner to reset the state in order to run the test.
3251
3252         I propose that if we fail to load about:blank once, we log an error message to stderr but then terminate
3253         the WebProcess and try once again, to make WebKitTestRunner more robust.
3254         I have verified the change locally, by injecting a script in resetStateToConsistentValues() that causes
3255         a WebProcess hang. Before my change, the test would time out and the same logging as in
3256         <rdar://problem/63493074> would show. After my change though, the test would pass successfully despite the
3257         WebProcess hang.
3258
3259         * WebKitTestRunner/TestController.cpp:
3260         (WTR::TestController::resetStateToConsistentValues):
3261
3262 2020-05-22  ChangSeok Oh  <changseok@webkit.org>
3263
3264         [GTK] jhbuild is broken with GCC 10.0
3265         https://bugs.webkit.org/show_bug.cgi?id=212256
3266
3267         Reviewed by Carlos Alberto Lopez Perez.
3268
3269         GCC 10.0 enables -fno-common as default, so many 'multiple definitions' failures occur
3270         in building dependencies via jhbuild. This patch addresses them by back-porting patches
3271         from corresponding source repositories.
3272
3273         * gstreamer/jhbuild.modules:
3274         * gstreamer/patches/libsrtp-Fix-building-with-gcc-10.patch: Added.
3275         * gstreamer/patches/orc-satisfy-fno-common-under-gcc10.patch: Added.
3276         * gtk/jhbuild.modules:
3277         * gtk/patches/at-spi2-atk-tests-Replace-common-variable-with-usual-external.patch: Added.
3278         * gtk/patches/at-spi2-atk-tests-fix-child_pid-reference.patch: Added.
3279         * gtk/patches/mesa-gallium-build-fix-to-make-gcc-10-happy.patch: Added.
3280         * gtk/patches/xserver-Fix-building-with-fno-common.patch: Added.
3281
3282 2020-05-22  Philippe Normand  <pnormand@igalia.com>
3283
3284         [Flatpak SDK] Add bubblewrap ... wrapper
3285         https://bugs.webkit.org/show_bug.cgi?id=212077
3286
3287         Reviewed by Carlos Alberto Lopez Perez.
3288
3289         The bind-mounts are now handled through webkit-bwrap.
3290
3291         * flatpak/flatpakutils.py:
3292         (WebkitFlatpak.execute_command):
3293         (WebkitFlatpak.run_in_sandbox):
3294         * flatpak/webkit-bwrap: Added.
3295
3296 2020-05-22  Javier Fernandez  <jfernandez@igalia.com>
3297
3298         [Flatpak SDK] CCACHE_ env vars are not forwarded to the sandbox environment
3299         https://bugs.webkit.org/show_bug.cgi?id=212257
3300
3301         Reviewed by Philippe Normand.
3302
3303         Added the "CCACHE" prefix to the ones the SDK should keep from the
3304         user's environment, and forwarded to the Flatpak sandbox.
3305
3306         * flatpak/flatpakutils.py:
3307         (WebkitFlatpak.run_in_sandbox):
3308
3309 2020-05-22  Tim Horton  <timothy_horton@apple.com>
3310
3311         iOS: Pressing tab in the Mail subject field moves focus to the body, but pressing shift tab doesn't move it back
3312         https://bugs.webkit.org/show_bug.cgi?id=212243
3313         <rdar://problem/59127764>
3314
3315         Reviewed by Wenson Hsieh.
3316
3317         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
3318         (-[FocusDelegate _webView:takeFocus:]):
3319         (-[FocusDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3320         (TEST):
3321
3322 2020-05-21  Wenson Hsieh  <wenson_hsieh@apple.com>
3323
3324         DataTransfer.files contains multiple files when pasting a single image with multiple representations
3325         https://bugs.webkit.org/show_bug.cgi?id=212245
3326         <rdar://problem/60240436>
3327
3328         Reviewed by Tim Horton.
3329
3330         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
3331         (-[LocalPasteboard _clearContentsWithoutUpdatingChangeCount]):
3332         (-[LocalPasteboard _addTypesWithoutUpdatingChangeCount:owner:]):
3333         (-[LocalPasteboard writeObjects:]):
3334         (-[LocalPasteboard pasteboardItems]):
3335
3336         Adjust DumpRenderTree's LocalPasteboard so that it lazily populates the pasteboard when constructing
3337         NSPasteboardItems. To do this, we need to make a few adjustments:
3338
3339         1.      When reifying NSPasteboardItems from LocalPasteboard, ask the owner (WebHTMLView) to provide pasteboard
3340                 data for each pasteboard type that was promised by WebKit, but was not eagerly written to the pasteboard.
3341
3342         2.      Cache pasteboard items that were created, so that we don't repeatedly ask WebHTMLView to provide
3343                 pasteboard data. WebHTMLView doesn't currently support this, and suffers from a bug where TIFF data may
3344                 only be provided once. This was fixed for WebKit2, but not for WebKit1.
3345
3346         3.      Maintain a separate hash list of original pasteboard types (which may not be UTIs) that were handed to
3347                 LocalPasteboard by WebKit. We use these original types in step (1).
3348
3349         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
3350
3351         Add a new API test to verify that one file is exposed via the DataTranfer when the pasteboard contains a single
3352         image with two image representations, but two files are exposed when the pasteboard contains two images, each
3353         with a single representation.
3354
3355         (writeImageDataToPasteboard):
3356
3357         Overload this helper method with two additional variants: one that takes a dictionary of pasteboard types to
3358         data, and another that takes an array of dictionaries, each representing a single item's types and data.
3359
3360 2020-05-21  Robin Morisset  <rmorisset@apple.com>
3361
3362         Various compile-time boolean flags could/should be marked constexpr
3363         https://bugs.webkit.org/show_bug.cgi?id=212244
3364
3365         Reviewed by Mark Lam.
3366
3367         * TestWebKitAPI/Tests/WTF/Condition.cpp:
3368
3369 2020-05-21  Mark Lam  <mark.lam@apple.com>
3370
3371         Rename some variables in Bitmap API test for consistency and better readability.
3372         https://bugs.webkit.org/show_bug.cgi?id=212235
3373
3374         Reviewed by Saam Barati.
3375
3376         This patch renames the following:
3377             bitmap0 => bitmapZeroes
3378             bitmapFilled => bitmapOnes
3379             bitmap3 => bitmap2Clone
3380             bitmapSmallZeroed => smallBitmapZeroes
3381             bitmapSmallFilled => smallBitmapOnes
3382             bitmapSmall1 => smallBitmap1
3383             bitmapSmall2 => smallBitmap2
3384
3385         Apart from these renamings, there are no other code changes.
3386
3387         * TestWebKitAPI/Tests/WTF/Bitmap.cpp:
3388         (TestWebKitAPI::testBitmapSize):
3389         (TestWebKitAPI::testBitmapConstructedEmpty):
3390         (TestWebKitAPI::testBitmapSetGet):
3391         (TestWebKitAPI::testBitmapTestAndSet):
3392         (TestWebKitAPI::testBitmapTestAndClear):
3393         (TestWebKitAPI::testBitmapConcurrentTestAndSet):
3394         (TestWebKitAPI::testBitmapConcurrentTestAndClear):
3395         (TestWebKitAPI::testBitmapClear):
3396         (TestWebKitAPI::testBitmapClearAll):
3397         (TestWebKitAPI::testBitmapInvert):
3398         (TestWebKitAPI::testBitmapFindRunOfZeros):
3399         (TestWebKitAPI::testBitmapCount):
3400         (TestWebKitAPI::testBitmapIsEmpty):
3401         (TestWebKitAPI::testBitmapIsFull):
3402         (TestWebKitAPI::testBitmapMerge):
3403         (TestWebKitAPI::testBitmapFilter):
3404         (TestWebKitAPI::testBitmapExclude):
3405         (TestWebKitAPI::testBitmapConcurrentFilter):
3406         (TestWebKitAPI::testBitmapSubsumes):
3407         (TestWebKitAPI::testBitmapForEachSetBit):
3408         (TestWebKitAPI::testBitmapFindBit):
3409         (TestWebKitAPI::testBitmapIteration):
3410         (TestWebKitAPI::testBitmapMergeAndClear):
3411         (TestWebKitAPI::testBitmapSetAndClear):
3412         (TestWebKitAPI::testBitmapSetEachNthBit):
3413         (TestWebKitAPI::testBitmapOperatorEqual):
3414         (TestWebKitAPI::testBitmapOperatorNotEqual):
3415         (TestWebKitAPI::testBitmapOperatorAssignment):
3416         (TestWebKitAPI::testBitmapOperatorBitOrAssignment):
3417         (TestWebKitAPI::testBitmapOperatorBitAndAssignment):
3418         (TestWebKitAPI::testBitmapOperatorBitXorAssignment):
3419         (TestWebKitAPI::testBitmapHash):
3420
3421 2020-05-20  Mark Lam  <mark.lam@apple.com>
3422
3423         Add more Bitmap methods.
3424         https://bugs.webkit.org/show_bug.cgi?id=212190
3425         <rdar://problem/63481333>
3426
3427         Reviewed by Robin Morisset.
3428
3429         Added test coverage for the new WTF::Bitmap methods.
3430
3431         * TestWebKitAPI/Tests/WTF/Bitmap.cpp:
3432         (TestWebKitAPI::testBitmapSetEachNthBit):
3433         (TestWebKitAPI::testBitmapOperatorAssignment):
3434         (TestWebKitAPI::testBitmapOperatorBitOrAssignment):
3435         (TestWebKitAPI::testBitmapOperatorBitAndAssignment):
3436         (TestWebKitAPI::testBitmapOperatorBitXorAssignment):
3437         (TestWebKitAPI::TEST):
3438
3439 2020-05-21  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
3440
3441         [PlayStation] Add minimal WKView API to enable TestWebKitAPI
3442         https://bugs.webkit.org/show_bug.cgi?id=211868
3443
3444         Reviewed by Alex Christensen.
3445
3446         Enable TestWebKitAPI
3447
3448         * TestWebKitAPI/PlatformPlayStation.cmake:
3449         * TestWebKitAPI/PlatformWebView.h:
3450         * TestWebKitAPI/playstation/PlatformUtilitiesPlayStation.cpp:
3451         (TestWebKitAPI::Util::createInjectedBundlePath):
3452         (TestWebKitAPI::Util::createURLForResource):
3453         * TestWebKitAPI/playstation/PlatformWebViewPlayStation.cpp:
3454         (TestWebKitAPI::PlatformWebView::PlatformWebView):
3455         (TestWebKitAPI::PlatformWebView::~PlatformWebView):
3456         (TestWebKitAPI::PlatformWebView::initialize):
3457         (TestWebKitAPI::PlatformWebView::resizeTo):
3458         (TestWebKitAPI::PlatformWebView::page const):
3459         (TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
3460         (TestWebKitAPI::PlatformWebView::simulateMouseMove):
3461         (TestWebKitAPI::PlatformWebView::simulateRightClick):
3462         (TestWebKitAPI::PlatformWebView::simulateButtonClick):
3463         * TestWebKitAPI/playstation/main.cpp:
3464         (loadLibraryOrExit):
3465         (main):
3466         Add PlayStation Platform support.
3467
3468         * TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
3469         (TestWebKitAPI::TEST):
3470         Use the same expected default font preferences as GTK's.
3471
3472 2020-05-21  Alex Christensen  <achristensen@webkit.org>
3473
3474         [macOS] TestWebKitAPI.WebKit.HTTPReferer is a flaky failure
3475         https://bugs.webkit.org/show_bug.cgi?id=212180
3476
3477         Reviewed by Darin Adler.
3478
3479         Sometimes an HTTP request takes more than one call to nw_connection_receive to receive entirely.
3480         Add a new abstraction Connection that wraps an nw_connection_t and knows how to read an entire request.
3481         Use strnstr instead of null terminating and using strstr.
3482
3483         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
3484         (TEST):
3485         * TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
3486         (TEST):
3487         * TestWebKitAPI/Tests/WebKitCocoa/Proxy.mm:
3488         (TestWebKitAPI::TEST):
3489         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
3490         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerTCPServer.h:
3491         * TestWebKitAPI/cocoa/HTTPServer.h:
3492         (TestWebKitAPI::Connection::receiveHTTPRequest):
3493         (TestWebKitAPI::Connection::Connection):
3494         * TestWebKitAPI/cocoa/HTTPServer.mm:
3495         (TestWebKitAPI::HTTPServer::HTTPServer):
3496         (TestWebKitAPI::dataFromString):
3497         (TestWebKitAPI::vectorFromData):
3498         (TestWebKitAPI::HTTPServer::respondToRequests):
3499         (TestWebKitAPI::HTTPServer::request const):
3500         (TestWebKitAPI::Connection::receiveHTTPRequest const):
3501         (TestWebKitAPI::Connection::send const):
3502         (TestWebKitAPI::Connection::terminate const):
3503         (TestWebKitAPI::nullTerminatedRequest): Deleted.
3504
3505 2020-05-21  Enrique Ocaña González  <eocanha@igalia.com>
3506
3507         [GStreamer][GTK][WPE] Expose and honor the media content types requiring hardware support setting
3508         https://bugs.webkit.org/show_bug.cgi?id=211950
3509
3510         Reviewed by Adrian Perez de Castro.
3511
3512         Exercise the new mediaContentTypesRequiringHardwareSupport setting.
3513
3514         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
3515         (testWebKitSettings):
3516
3517 2020-05-20  Simon Fraser  <simon.fraser@apple.com>
3518
3519         [macOS] Scrolling synchronization part 1: Have the scrolling thread wait half a frame for the main thread to complete the rendering update
3520         https://bugs.webkit.org/show_bug.cgi?id=212168
3521
3522         Reviewed by Tim Horton.
3523
3524         Some new trace points for scrolling thread activity.
3525
3526         * Tracing/SystemTracePoints.plist:
3527
3528 2020-05-20  Wenson Hsieh  <wenson_hsieh@apple.com>
3529
3530         [iOS] Layout tests in editing/pasteboard sporadically crash
3531         https://bugs.webkit.org/show_bug.cgi?id=212169
3532         <rdar://problem/63361966>
3533
3534         Reviewed by Tim Horton.
3535
3536         Add some missing entitlements.
3537
3538         * TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements:
3539         * WebKitTestRunner/Configurations/WebKitTestRunnerApp-iOS.entitlements:
3540
3541 2020-05-20  Sam Weinig  <weinig@apple.com>
3542
3543         Replace Color::getHSL() with sRGBToHSL to ensure it at least gives somewhat sensible results for ExtendedColors and reduce code duplication
3544         https://bugs.webkit.org/show_bug.cgi?id=212143
3545
3546         Reviewed by Simon Fraser.
3547
3548         * TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
3549         (TestWebKitAPI::TEST):
3550         Update tests to use sRGBToHSL instead of Color::getHSL() and add testing of WebCore::lightness() and 
3551         round tripping. Update results for hue to be 0->1 rather than 0->6 which allows the round tripping to succeed.
3552
3553 2020-05-20  ChangSeok Oh  <changseok@webkit.org>
3554
3555         [GTK] Implement connected and disconnected events of GAMEPAD API with libmanette
3556         https://bugs.webkit.org/show_bug.cgi?id=133854
3557
3558         Reviewed by Carlos Garcia Campos.
3559
3560         This patch brings initial GAMEPAD API support to the gtk port. We use libmanette,
3561         a simple GObject game controller library to handle gamepad connection and input.
3562         In particular, we use libmanette-0.2.4 which is the latest version and minimum
3563         version to build in c++.
3564
3565         * gtk/jhbuild.modules:
3566
3567 2020-05-20  Kate Cheney  <katherine_cheney@apple.com>
3568
3569         Support operating dates in ResourceLoadStatisticsDatabaseStore
3570         https://bugs.webkit.org/show_bug.cgi?id=212034
3571         <rdar://problem/63349242>
3572
3573         Reviewed by Brent Fulgham.
3574
3575         Add a testing function to insert an expired statistic.
3576
3577         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3578         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3579         (WTR::InjectedBundle::didReceiveMessageToPage):
3580         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3581         (WTR::TestRunner::setStatisticsExpiredStatistic):
3582         (WTR::TestRunner::statisticsCallDidSetExpiredStatisticCallback):
3583         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3584         * WebKitTestRunner/TestController.cpp:
3585         (WTR::TestController::setStatisticsExpiredStatistic):
3586         * WebKitTestRunner/TestController.h:
3587         * WebKitTestRunner/TestInvocation.cpp:
3588         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
3589         (WTR::TestInvocation::didSetExpiredStatistic):
3590         * WebKitTestRunner/TestInvocation.h:
3591
3592 2020-05-20  Chris Dumez  <cdumez@apple.com>
3593
3594         Deprecate WKBundlePageSetPolicyClient() Injected bundle C API
3595         https://bugs.webkit.org/show_bug.cgi?id=212166
3596
3597         Reviewed by Alex Christensen.
3598
3599         * TestWebKitAPI/Tests/WebKitObjC/CustomProtocolsInvalidScheme_Bundle.cpp:
3600         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3601         (WTR::InjectedBundlePage::InjectedBundlePage):
3602
3603 2020-05-20  Myles C. Maxfield  <mmaxfield@apple.com>
3604
3605         [iPadOS] -webkit-text-size-adjust:percentage doesn't work in native apps
3606         https://bugs.webkit.org/show_bug.cgi?id=212122
3607         <rdar://problem/54560875>
3608
3609         Reviewed by Wenson Hsieh.
3610
3611         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3612         * TestWebKitAPI/Tests/WebKit/idempotent-mode-autosizing-only-honors-percentages.html: Added.
3613         * TestWebKitAPI/ios/PreferredContentMode.mm:
3614
3615 2020-05-20  Lauro Moura  <lmoura@igalia.com>
3616
3617         [WPE][WebDriver] Allow subviews to create new views
3618         https://bugs.webkit.org/show_bug.cgi?id=212118
3619
3620         Reviewed by Carlos Garcia Campos.
3621
3622         Required by some WebDriver tests.
3623
3624         * MiniBrowser/wpe/main.cpp:
3625         (createWebView):
3626
3627 2020-05-20  Philippe Normand  <pnormand@igalia.com>
3628
3629         [FlatPak SDK] Missing ruby gems json and highline
3630         https://bugs.webkit.org/show_bug.cgi?id=212086
3631
3632         Reviewed by Žan Doberšek.
3633
3634         Add the json and highline Ruby gems in the Flatpak SDK.
3635
3636         * buildstream/elements/sdk-platform.bst:
3637         * buildstream/elements/sdk/ruby-highline.bst: Added.
3638         * buildstream/elements/sdk/ruby-json.bst: Added.
3639         * buildstream/project.conf:
3640
3641 2020-05-20  Diego Pino Garcia  <dpino@igalia.com>
3642
3643         Unreviewed, reverting r261909.
3644
3645         Execution of LayoutTests returns syntax error in the bots (GTK, WPE)
3646
3647         Reverted changeset:
3648
3649         "[Flatpak SDK] Add bubblewrap ... wrapper"
3650         https://bugs.webkit.org/show_bug.cgi?id=212077
3651         https://trac.webkit.org/changeset/261909
3652
3653 2020-05-20  Philippe Normand  <pnormand@igalia.com>
3654
3655         [Flatpak SDK] Bump rr and bst
3656         https://bugs.webkit.org/show_bug.cgi?id=212074
3657
3658         Reviewed by Adrian Perez de Castro.
3659
3660         Update Buildstream to 1.4.3 which is their latest stable release. Also bump rr to their
3661         latest git master commit, which makes it usable in the Flatpak sandbox.
3662
3663         * buildstream/Pipfile:
3664         * buildstream/Pipfile.lock:
3665         * buildstream/elements/sdk/rr.bst:
3666
3667 2020-05-20  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3668
3669         update-test-expectations-from-bugzilla tool not working with new EWS
3670         https://bugs.webkit.org/show_bug.cgi?id=210975
3671
3672         Reviewed by Youenn Fablet.
3673
3674         With the new EWS, the layout test archive results are not longer
3675         posted to bugzilla as attachment. Now we need to inspect the EWS
3676         server to get the status of the runs for the patch id, and then
3677         query the EWS builbot server in order to get the details of each
3678         run to finally obtain the URL with the zip file for the results.
3679
3680         The tool now automatically applies platform-specific and generic
3681         results automatically (its not longer needed to specify whether
3682         the result its generic or not). It uses mac-wk2 results as generic.
3683
3684         Also now it updates the test results for tests where the result
3685         is MISSING.
3686
3687         * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py:
3688         (configure_logging):
3689         (argument_parser):
3690         (TestExpectationUpdater.__init__):
3691         (TestExpectationUpdater._platform_name):
3692         (TestExpectationUpdater):
3693         (TestExpectationUpdater._get_layout_tests_run):
3694         (TestExpectationUpdater._lookup_ews_results):
3695         (TestExpectationUpdater._tests_to_update):
3696         (TestExpectationUpdater._update_for_generic_bot):
3697         (TestExpectationUpdater._update_for_platform_specific_bot):
3698         (TestExpectationUpdater.do_update):
3699         (main):
3700         * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py:
3701         (MockAttachment.__init__):
3702         (MockAttachment.is_patch):
3703         (MockAttachment):
3704         (MockAttachment.is_obsolete):
3705         (MockBugzilla):
3706         (MockBugzilla.attachments):
3707         (MockRequests):
3708         (MockRequests.__init__):
3709         (MockRequests.get):
3710         (MockRequests.content):
3711         (MockRequests.text):
3712         (MockZip.__init__):
3713         (TestExpectationUpdaterTest.test_update_test_expectations):
3714
3715 2020-05-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3716
3717         Unreviewed. Fix GTK4 build with GTK 3.98.4
3718
3719         * MiniBrowser/gtk/BrowserTab.c:
3720         (loadChanged):
3721         (browserTabConstructed):
3722         * MiniBrowser/gtk/BrowserWindow.c:
3723         (webViewClose):
3724         (browserWindowSetupToolbarItem):
3725         (browser_window_init):
3726
3727 2020-05-20  Sam Weinig  <weinig@apple.com>
3728
3729         Remove unused Color::getHSV function
3730         https://bugs.webkit.org/show_bug.cgi?id=212119
3731
3732         Reviewed by Simon Fraser.
3733
3734         * TestWebKitAPI/Tests/WebCore/ColorTests.cpp:
3735         Remove tests for Color::getHSV().
3736
3737 2020-05-20  Philippe Normand  <pnormand@igalia.com>
3738
3739         [Flatpak SDK] Add bubblewrap ... wrapper
3740         https://bugs.webkit.org/show_bug.cgi?id=212077
3741
3742         Reviewed by Carlos Alberto Lopez Perez.
3743
3744         The bind-mounts are now handled through webkit-bwrap.
3745
3746         * flatpak/flatpakutils.py:
3747         (WebkitFlatpak.execute_command):
3748         (WebkitFlatpak.run_in_sandbox):
3749         * flatpak/webkit-bwrap: Added.
3750
3751 2020-05-19  Darin Adler  <darin@apple.com>
3752
3753         REGRESSION (r259930): Dictation marker at start of text is removed when added trailing whitespace is collapsed
3754         https://bugs.webkit.org/show_bug.cgi?id=212093
3755
3756         Reviewed by Daniel Bates.
3757
3758         * TestWebKitAPI/Tests/WebKitCocoa/InsertTextAlternatives.mm:
3759         (TestWebKitAPI::TEST): Expect success rather than failure.
3760
3761 2020-05-19  Alex Christensen  <achristensen@webkit.org>
3762
3763         Add _WKDownloadDelegate callback including totalBytesWritten
3764         https://bugs.webkit.org/show_bug.cgi?id=212110
3765         <rdar://problem/63358981>
3766
3767         Reviewed by Geoffrey Garen.
3768
3769         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
3770         (TEST):
3771         * TestWebKitAPI/cocoa/TestDownloadDelegate.h:
3772         * TestWebKitAPI/cocoa/TestDownloadDelegate.mm:
3773         (-[TestDownloadDelegate _download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
3774         (-[TestDownloadDelegate _download:didReceiveData:]): Deleted.
3775
3776 2020-05-19  Daniel Bates  <dabates@apple.com>
3777
3778         Blue dotted underline with alternatives only shown for last word, gets lost for previous insertions
3779         https://bugs.webkit.org/show_bug.cgi?id=212097
3780         <rdar://problem/61913405>
3781
3782         Reviewed by Darin Adler.
3783
3784         Add tests. As I was writing them I discovered a few bugs in the existing code:
3785                 1. <https://webkit.org/b/212093> REGRESSION (r259930): Dictation marker at start of text is removed when added trailing whitespace is collapsed
3786                 2. <https://webkit.org/b/212098> Inserting a no-break space before or after a marker removes the marker
3787
3788         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3789         * TestWebKitAPI/Tests/WebKitCocoa/InsertTextAlternatives.mm: Added.
3790         (TestWebKitAPI::TEST):
3791         (TestWebKitAPI::makeNSStringWithCharacter): Added.
3792
3793 2020-05-19  Sergio Villar Senin  <svillar@igalia.com>
3794
3795         [WPE] Sync jhbuild to flatpak
3796         https://bugs.webkit.org/show_bug.cgi?id=212087
3797
3798         Reviewed by Adrian Perez de Castro.
3799
3800         * wpe/jhbuild.modules: Updated meson, libwpe and wpebackend-fdo.
3801
3802 2020-05-19  Chris Dumez  <cdumez@apple.com>
3803
3804         Turn on ITP in TestController::resetStateToConsistentValues()
3805         https://bugs.webkit.org/show_bug.cgi?id=212076
3806
3807         Reviewed by Darin Adler.
3808
3809         Turn on ITP in TestController::resetStateToConsistentValues(), in a single place
3810         instead of doing it in different places depending on whether or not the session
3811         is ephemeral or not. It is also important to do it in resetStateToConsistentValues()
3812         instead of doing it on data store creation because there is a testRunner method
3813         that allows tests to turn off ITP.
3814
3815         * WebKitTestRunner/TestController.cpp:
3816         (WTR::TestController::generatePageConfiguration):
3817         (WTR::TestController::resetStateToConsistentValues):
3818         (WTR::TestController::platformAdjustContext):
3819         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
3820         (WTR::initializeWebViewConfiguration):
3821         (WTR::TestController::platformInitializeDataStore):
3822
3823 2020-05-19  Lauro Moura  <lmoura@igalia.com>
3824
3825         [Flatpak SDK] Use items instead of iteritems to make Python 3 happier.
3826
3827         Rubber-stamped by Philippe Normand.
3828
3829         * flatpak/flatpakutils.py:
3830         (WebkitFlatpak.pack_toolchain):
3831
3832 2020-05-19  Wenson Hsieh  <wenson_hsieh@apple.com>
3833
3834         [macOS] Drag and drop within a contenteditable area duplicates attachment-backed images
3835         https://bugs.webkit.org/show_bug.cgi?id=212075
3836         <rdar://problem/62434146>
3837
3838         Reviewed by Andy Estes.
3839
3840         Add a new API test to verify that starting a drag on an attachment-backed image in an editable container with
3841         queued mouse move events does not cause the selection to collapse. See Source/WebKit/ChangeLog for more details.
3842
3843         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3844         * TestWebKitAPI/cocoa/TestWKWebView.h:
3845         * TestWebKitAPI/cocoa/TestWKWebView.mm:
3846         (-[TestWKWebView waitForPendingMouseEvents]):
3847
3848         Move this method from DragAndDropSimulator into TestWKWebView.
3849
3850         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
3851         (-[DragAndDropTestWKWebView waitForPendingMouseEvents]): Deleted.
3852
3853 2020-05-19  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3854
3855         [buildbot][GTK][WPE] Pass --verbose flag when running JavaScriptCore tests
3856         https://bugs.webkit.org/show_bug.cgi?id=212088
3857
3858         Reviewed by Philippe Normand.
3859
3860         Pass the "--verbose" flag to run-javascriptcore-tests also for GTK and WPE.
3861         Also change the way we are currently passing "--memory-limited" to make
3862         it more obvious that this is needed for all Linux bots (GTK+WPE+JSCOnly).
3863
3864         * BuildSlaveSupport/build.webkit.org-config/steps.py:
3865         (RunJavaScriptCoreTests.start):
3866         (RunRemoteJavaScriptCoreTests.start):
3867
3868 2020-05-19  Michael Catanzaro  <mcatanzaro@gnome.org>
3869
3870         Fixups for r261689 "stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js failing on ppc64le and s390x"
3871         https://bugs.webkit.org/show_bug.cgi?id=211724
3872         <rdar://problem/63227393>
3873
3874         Reviewed by Carlos Alberto Lopez Perez.
3875
3876         Rewrite determineArchitectureFromELFBinary to properly handle big endian architectures.
3877         Also, properly account for 32-bit PowerPC.
3878
3879         * Scripts/run-jsc-stress-tests:
3880
3881 2020-05-19  Michael Catanzaro  <mcatanzaro@gnome.org>
3882
3883         [GTK] Add WEBKIT_EDITING_COMMAND_PASTE_AS_PLAIN_TEXT
3884         https://bugs.webkit.org/show_bug.cgi?id=212038
3885
3886         Reviewed by Carlos Garcia Campos.
3887
3888         * TestWebKitAPI/Tests/WebKitGtk/TestWebViewEditor.cpp:
3889         (testWebViewEditorCutCopyPasteNonEditable):
3890         (testWebViewEditorCutCopyPasteEditable):
3891         (testWebViewEditorNonEditable):
3892
3893 2020-05-18  Zan Dobersek  <zdobersek@igalia.com>
3894
3895         [WPE] HeadlessViewBackend should exclusively use software rasterization mode
3896         https://bugs.webkit.org/show_bug.cgi?id=211982
3897
3898         Reviewed by Carlos Garcia Campos.
3899
3900         Instead of using WPEBackend-fdo's EGL mode that optionally allows the
3901         GL operations to be done through software rasterization, have the
3902         HeadlessViewBackend use the SHM mode which enforces this behavior.
3903
3904         Under the hood, the graphics library will be forced to set up and use
3905         the software rasterization mechanisms, and on our side we are required
3906         to properly handle SHM-backed buffers. This avoids any use of EGL or
3907         GL operations inside HeadlessViewBackend, enabling to use this setup
3908         in systems and environments that don't have GPUs available.
3909
3910         All GL-y things are pushed into the WindowViewBackend class. Inside
3911         HeadlessViewBackend, the whole SHM logic requires WPEBackend-fdo APIs
3912         that are part of the current 1.7 development cycle. When building
3913         against older versions, HeadlessViewBackend itself remains buildable
3914         but is not operational otherwise.
3915
3916         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
3917         (WTR::PlatformWebView::windowSnapshotImage):
3918         * wpe/backends/HeadlessViewBackend.cpp:
3919         (WPEToolingBackends::HeadlessInstance::singleton):
3920         (WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
3921         (WPEToolingBackends::HeadlessViewBackend::~HeadlessViewBackend):
3922         (WPEToolingBackends::HeadlessViewBackend::backend const):
3923         (WPEToolingBackends::HeadlessViewBackend::snapshot):
3924         (WPEToolingBackends::HeadlessViewBackend::updateSnapshot):
3925         (WPEToolingBackends::HeadlessViewBackend::vsync):
3926         (): Deleted.
3927         (WPEToolingBackends::HeadlessEGLConnection::singleton): Deleted.
3928         (WPEToolingBackends::HeadlessViewBackend::createSnapshot): Deleted.
3929         (WPEToolingBackends::HeadlessViewBackend::createEGLSnapshot): Deleted.
3930         (WPEToolingBackends::HeadlessViewBackend::createSHMSnapshot): Deleted.
3931         (WPEToolingBackends::HeadlessViewBackend::performUpdate): Deleted.
3932         (WPEToolingBackends::HeadlessViewBackend::displayBuffer): Deleted.
3933         * wpe/backends/HeadlessViewBackend.h:
3934         * wpe/backends/ViewBackend.cpp:
3935         (WPEToolingBackends::ViewBackend::initialize): Deleted.
3936         (WPEToolingBackends::ViewBackend::deinitialize): Deleted.
3937         (WPEToolingBackends::ViewBackend::backend const): Deleted.
3938         * wpe/backends/ViewBackend.h:
3939         * wpe/backends/WindowViewBackend.cpp:
3940         (WPEToolingBackends::WindowViewBackend::backend const):
3941         (WPEToolingBackends::WindowViewBackend::initialize):
3942         (WPEToolingBackends::WindowViewBackend::deinitialize):
3943         * wpe/backends/WindowViewBackend.h:
3944
3945 2020-05-18  Zan Dobersek  <zdobersek@igalia.com>
3946
3947         [WPE] Disable modern media controls for testing
3948         https://bugs.webkit.org/show_bug.cgi?id=212023
3949
3950         Reviewed by Philippe Normand.
3951
3952         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
3953         (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
3954         Since using the same Adwaita-based media controls as the GTK port, WPE
3955         too should disable modern media controls during testing by overriding
3956         the default value. This fixes a couple of obscure crashes in text track
3957         tests.
3958
3959 2020-05-18  Christopher Reid  <chris.reid@sony.com>
3960
3961         [WinCairo] WKTR WebsiteDataStore is being overwritten by the default one
3962         https://bugs.webkit.org/show_bug.cgi?id=212044
3963
3964         Reviewed by Fujii Hironori.
3965
3966         Ensure TestController::defaultWebSiteDataStore is being used for WinCairo as done in r259705.
3967
3968         Also consolidate platformInitializeDataStore implementations with GTK/WPE since WinCairo WKTR
3969         also started crashing since r261758.
3970
3971         * WebKitTestRunner/TestController.cpp:
3972         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
3973         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
3974
3975 2020-05-18  Andy Estes  <aestes@apple.com>
3976
3977         http/tests/ssl/applepay/ApplePayInstallmentConfiguration.https.html fails in public SDK builds
3978         https://bugs.webkit.org/show_bug.cgi?id=212000
3979         <rdar://problem/63323082>
3980
3981         Reviewed by Youenn Fablet.
3982
3983         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3984
3985 2020-05-18  Wenson Hsieh  <wenson_hsieh@apple.com>
3986
3987         Replace uses of +self with +class
3988         https://bugs.webkit.org/show_bug.cgi?id=212041
3989
3990         Reviewed by Darin Adler.
3991
3992         * DumpRenderTree/mac/EventSendingController.mm:
3993         (-[EventSendingController monitorWheelEventsWithOptions:]):
3994         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3995         (TestWebKitAPI::TEST):
3996         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3997         (WTR::enclosingScrollViewIncludingSelf):
3998
3999 2020-05-18  Simon Fraser  <simon.fraser@apple.com>
4000
4001         Implement conversion between P3 and sRGB color
4002         https://bugs.webkit.org/show_bug.cgi?id=211998
4003
4004         Reviewed by Daniel Bates.
4005
4006         API test for conversions from P3 to sRGB, and linearRGB to sRGB. Values were confirmed
4007         as close to those provided by ColorSync Utility.
4008
4009         * TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
4010         (TestWebKitAPI::TEST):
4011
4012 2020-05-18  Mark Lam  <mark.lam@apple.com>
4013
4014         Implement a faster findBitInWord() using the hardware ctz instruction.
4015         https://bugs.webkit.org/show_bug.cgi?id=212032
4016         <rdar://problem/63348086>
4017
4018         Reviewed by Saam Barati.
4019
4020         Add tests to make sure that the ctz implementation matches the loop implementation
4021         in behavior.
4022
4023         * TestWebKitAPI/CMakeLists.txt:
4024         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4025         * TestWebKitAPI/Tests/WTF/StdLibExtras.cpp: Added.
4026         (TestWebKitAPI::testFindBitInWord):
4027         (TestWebKitAPI::TEST):
4028
4029 2020-05-18  Wenson Hsieh  <wenson_hsieh@apple.com>
4030
4031         Allow clipboard API access when pasting from a menu item or key binding
4032         https://bugs.webkit.org/show_bug.cgi?id=211990
4033         <rdar://problem/63308916>
4034
4035         Reviewed by Megan Gardner.
4036
4037         Add a UIScriptController method to trigger a paste from the application process.
4038
4039         * DumpRenderTree/cocoa/UIScriptControllerCocoa.h:
4040         * DumpRenderTree/cocoa/UIScriptControllerCocoa.mm:
4041         (WTR::UIScriptControllerCocoa::paste):
4042         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
4043         * TestRunnerShared/UIScriptContext/UIScriptController.h:
4044         (WTR::UIScriptController::paste):
4045         * WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
4046         * WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
4047         (WTR::UIScriptControllerCocoa::paste):
4048
4049 2020-05-18  Darin Adler  <darin@apple.com>
4050
4051         Add iterator checking to ListHashSet
4052         https://bugs.webkit.org/show_bug.cgi?id=211669
4053
4054         Reviewed by Anders Carlsson.
4055
4056         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp: Removed use of the DID_CREATE_WEAK_PTR_IMPL
4057         and WILL_DESTROY_WEAK_PTR_IMPL, which didn't work consistently because of the
4058         one-definition rule. Instead, this file parameterizes the WeakPtr family of
4059         class templates with a counter class. To avoid having to rewrite test code, used
4060         alias templates to insert these class template into the TestWebKitAPI namespace,
4061         hiding the class templates from the WTF namespace.
4062
4063 2020-05-18  Peng Liu  <peng.liu6@apple.com>
4064
4065         [iPad Simulator] TestWebKitAPI.WebKitLegacy.ScrollingDoesNotPauseMedia is timing out
4066         https://bugs.webkit.org/show_bug.cgi?id=211792
4067
4068         Reviewed by Daniel Bates.
4069
4070         Fix deadlocks in two API tests (only reproducible on iPad simulators).
4071
4072         * TestWebKitAPI/Tests/WebKitLegacy/ios/PreemptVideoFullscreen.mm:
4073         (TestWebKitAPI::TEST):
4074         * TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:
4075         (TestWebKitAPI::TEST):
4076
4077 2020-05-18  Wenson Hsieh  <wenson_hsieh@apple.com>
4078
4079         Single selection <select> with <optgroups> shows multiple selected options
4080         https://bugs.webkit.org/show_bug.cgi?id=199485
4081         <rdar://problem/52757531>
4082
4083         Reviewed by Megan Gardner.
4084
4085         Add a new helper method to check whether the currently presented form accessory is a select menu, and has a
4086         checked menu item at the given row.
4087
4088         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
4089         * TestRunnerShared/UIScriptContext/UIScriptController.h:
4090         (WTR::UIScriptController::selectFormAccessoryHasCheckedItemAtRow const):
4091         * WebKitTestRunner/ios/UIScriptControllerIOS.h:
4092         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
4093         (WTR::UIScriptControllerIOS::selectFormAccessoryHasCheckedItemAtRow const):
4094
4095 2020-05-18  Wenson Hsieh  <wenson_hsieh@apple.com>
4096
4097         [iOS] Unexpected capitalization of next word after repositioning caret
4098         https://bugs.webkit.org/show_bug.cgi?id=211969
4099         <rdar://problem/62605526>
4100
4101         Reviewed by Alex Christensen.
4102
4103         Add a new UIScriptController hook to query whether or not the software keyboard is in shifted state.
4104
4105         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
4106         * TestRunnerShared/UIScriptContext/UIScriptController.h:
4107         (WTR::UIScriptController::keyboardIsAutomaticallyShifted const):
4108         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
4109
4110         Adjust a couple of API tests that copy and paste back-to-back, so that they wait for the copy to finish before
4111         attempting to paste.
4112
4113         * WebKitTestRunner/ios/UIScriptControllerIOS.h:
4114         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
4115         (WTR::UIScriptControllerIOS::keyboardIsAutomaticallyShifted const):
4116
4117 2020-05-18  Carlos Garcia Campos  <cgarcia@igalia.com>
4118
4119         [GTK] Add WebKitContextMenuItemType for paste as plaintext
4120         https://bugs.webkit.org/show_bug.cgi?id=177638
4121
4122         Reviewed by Michael Catanzaro.
4123
4124         Update default context menu test case to also test the context menu for rich editable content.
4125
4126         * TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
4127         (prepareContextMenuTestView):
4128         (testContextMenuDefaultMenu):
4129
4130 2020-05-17  Simon Fraser  <simon.fraser@apple.com>
4131
4132         Fix operator== and hash() for ExtendedColor
4133         https://bugs.webkit.org/show_bug.cgi?id=211993
4134
4135         Reviewed by Sam Weinig.
4136
4137         * TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp:
4138         (TestWebKitAPI::TEST):
4139
4140 2020-05-16  Simon Fraser  <simon.fraser@apple.com>
4141
4142         Rename some API test files
4143         https://bugs.webkit.org/show_bug.cgi?id=211992
4144
4145         Reviewed by Zalan Bujtas.
4146
4147         I'm tired of Quick Open of Color.cpp opening the test file rather than the one I want.
4148
4149         * TestWebKitAPI/CMakeLists.txt:
4150         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4151         * TestWebKitAPI/Tests/WebCore/ColorTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/Color.cpp.
4152         * TestWebKitAPI/Tests/WebCore/ExtendedColorTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/ExtendedColor.cpp.
4153         * TestWebKitAPI/Tests/WebCore/FloatPointTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/FloatPoint.cpp.
4154         * TestWebKitAPI/Tests/WebCore/FloatRectTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/FloatRect.cpp.
4155         * TestWebKitAPI/Tests/WebCore/FloatSizeTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/FloatSize.cpp.
4156         * TestWebKitAPI/Tests/WebCore/IntPointTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/IntPoint.cpp.
4157         * TestWebKitAPI/Tests/WebCore/IntRectTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/IntRect.cpp.
4158         * TestWebKitAPI/Tests/WebCore/IntSizeTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/IntSize.cpp.
4159         * TestWebKitAPI/Tests/WebCore/LayoutUnitTests.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp.
4160
4161 2020-05-15  Lauro Moura  <lmoura@igalia.com>
4162
4163         [GTK][WPE] Add default initialization of WebsiteDataStore to WebKitTestRunner after r261758
4164         https://bugs.webkit.org/show_bug.cgi?id=211977
4165
4166         As GTK/WPE does not explicitly create WebSiteDataStore for the tests,
4167         assign the default one.
4168
4169         Not sure if this is the correct fix, but should allow running tests
4170         again.
4171
4172         Reviewed by Žan Doberšek.
4173
4174         * WebKitTestRunner/TestController.cpp: Add GTK/WPE guards.
4175         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
4176         (WTR::TestController::platformInitializeDataStore): Use default
4177         WebsiteDataStore.
4178         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
4179         (WTR::TestController::platformInitializeDataStore): Use default
4180         websiteDataStore.
4181
4182 2020-05-15  Alex Christensen  <achristensen@webkit.org>
4183
4184         Use enum serialization instead of casting to/from uint32_t
4185         https://bugs.webkit.org/show_bug.cgi?id=211885
4186
4187         Reviewed by Geoffrey Garen.
4188
4189         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
4190         (AccessibilityUIElement::increaseTextSelection):
4191         (AccessibilityUIElement::decreaseTextSelection):
4192         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
4193         (WTR::AccessibilityUIElement::increaseTextSelection):
4194         (WTR::AccessibilityUIElement::decreaseTextSelection):
4195
4196 2020-05-15  Ryan Haddad  <ryanhaddad@apple.com>
4197
4198         [iOS EWS] TestWebKitAPI.WKWebsiteDataStore.RemoveAndFetchData is failing
4199         https://bugs.webkit.org/show_bug.cgi?id=208451
4200
4201         Unreviewed test gardening.
4202
4203         * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
4204         (TestWebKitAPI::TEST): Re-enable the test for iOS.
4205
4206 2020-05-15  Geoffrey Garen  <ggaren@apple.com>
4207
4208         Update Sihui Liu's status to reviewer
4209         https://bugs.webkit.org/show_bug.cgi?id=211966
4210
4211         Reviewed by Per Arne Vollan.
4212
4213         See email thread on webkit-reviewers on 5/7, "Reviewer nomination:
4214         Sihui Liu".
4215
4216         * Scripts/webkitpy/common/config/contributors.json:
4217
4218 2020-05-15  Alex Christensen  <achristensen@webkit.org>
4219
4220         TestWebKitAPI.WKHTTPCookieStore.Basic is a flaky failure
4221         https://bugs.webkit.org/show_bug.cgi?id=211752
4222
4223         Reviewed by Geoffrey Garen.
4224
4225         The ordering of cookiesDidChangeInCookieStore callbacks with regard to other callbacks isn't quite deterministic.
4226         No problem.  If the number of callbacks isn't what it is expected, wait until it is.
4227         When I reproduce this test failure, I need to spin the run loop at max once to have it succeed, but the bots may take a few more run loop spins.
4228         Spin until the number of callbacks is the expected value.
4229
4230         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
4231         (runTestWithWebsiteDataStore):
4232
4233 2020-05-15  Alex Christensen  <achristensen@webkit.org>
4234
4235         [iOS Simulator] TestWebKitAPI._WKDownload.Resume is a flaky crash
4236         https://bugs.webkit.org/show_bug.cgi?id=211786
4237
4238         Reviewed by Geoffrey Garen.
4239
4240         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
4241         (TEST):
4242         Add a short sleep (<1/10s) to make this test so it would've almost always failed without this fix.
4243         Checking the file immediately usually succeeded, but waiting a few run loop iterations revealed that CFNetwork
4244         was deleting resumed then finished downloads.
4245
4246 2020-05-15  Alex Christensen  <achristensen@webkit.org>
4247
4248         Regression (iOS 13.4, r249142): WKWebView.loading is never reset after a Back navigation in an iframe
4249         https://bugs.webkit.org/show_bug.cgi?id=211449
4250
4251         Reviewed by Geoffrey Garen.
4252
4253         * TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
4254         (-[LoadingObserver changesObserved]):
4255         (-[LoadingObserver observeValueForKeyPath:ofObject:change:context:]):
4256         (TEST):
4257
4258 2020-05-15  Chris Dumez  <cdumez@apple.com>
4259
4260         Make sure we use current data store in WKTR's TestController
4261         https://bugs.webkit.org/show_bug.cgi?id=211920
4262
4263         Reviewed by Alex Christensen.
4264
4265         Make sure we use current data store in WKTR's TestController. Currently, a lot of code
4266         uses defaultDataStore(), even though the test may be using another data store (e.g. an
4267         ephemeral one). I suspect this is contributing to test flakiness.
4268
4269         We now also make sure that TestController::websiteDataStore() returns the actual store
4270         that will be used by the test when resetPreferencesToConsistentValues() is called.
4271         Previously, it would not since it would get the store from the m_mainView and m_mainView
4272         would only get initialized after calling resetPreferencesToConsistentValues(). To support
4273         this, we now initialize a m_websiteDataStore member in platformInitializeDataStore(),
4274         which gets called right before resetPreferencesToConsistentValues(). When
4275         platformCreateWebView() gets called right after resetPreferencesToConsistentValues(),
4276         it now simply relies on m_websiteDataStore instead of creating the data store at this
4277         point.
4278