0349fccc63cc2ab24f72df588d17e04d0e0a28fd
[WebKit-https.git] / Tools / ChangeLog
1 2020-01-07  Kate Cheney  <katherine_cheney@apple.com>
2
3         Create a mechanism for 'safe by default' web views
4         https://bugs.webkit.org/show_bug.cgi?id=205407
5         <rdar://problem/58053071>
6
7         Reviewed by Alex Christensen.
8
9         Test the default WebView category is correct and that the setter works
10         properly.
11
12         * TestWebKitAPI/Tests/WebKitCocoa/Configuration.mm:
13         (TEST):
14
15 2020-01-07  Truitt Savell  <tsavell@apple.com>
16
17         Unreviewed, rolling out r254165.
18
19         Caused 500+ missing results on Mac
20
21         Reverted changeset:
22
23         "run-webkit-tests: clobber-old-results should remove the
24         entire results folder"
25         https://bugs.webkit.org/show_bug.cgi?id=205875
26         https://trac.webkit.org/changeset/254165
27
28 2020-01-07  Jonathan Bedard  <jbedard@apple.com>
29
30         run-webkit-tests: clobber-old-results should remove the entire results folder
31         https://bugs.webkit.org/show_bug.cgi?id=205875
32         <rdar://problem/58236117>
33
34         Reviewed by Alexey Proskuryakov.
35
36         * Scripts/webkitpy/layout_tests/controllers/manager.py:
37         (Manager._clobber_old_results): Remove entire results folder.
38         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
39         (RunTest.test_retrying_and_flaky_tests): clobber-old-results now removes the
40         entire results directory.
41
42 2020-01-07  Aakash Jain  <aakash_jain@apple.com>
43
44         [EWS] Limit pre-existing JSC tests failures to display in buildbot summary
45         https://bugs.webkit.org/show_bug.cgi?id=205878
46
47         Reviewed by Jonathan Bedard.
48
49         * BuildSlaveSupport/ews-build/steps.py:
50         (AnalyzeJSCTestsResults.start): Limit the number of failures to display.
51
52 2020-01-07  Daniel Bates  <dabates@apple.com>
53
54         First character in each word-wrapped line has incorrect character rect when requested range spans multiple lines
55         https://bugs.webkit.org/show_bug.cgi?id=205842
56         <rdar://problem/56884325>
57
58         Reviewed by Zalan Bujtas.
59
60         Add a new test.
61
62         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
63         (TEST):
64
65 2020-01-07  Ryan Haddad  <ryanhaddad@apple.com>
66
67         Unreviewed, rolling out r254144.
68
69         Broke the iOS build.
70
71         Reverted changeset:
72
73         "First character in each word-wrapped line has incorrect
74         character rect when requested range spans multiple lines"
75         https://bugs.webkit.org/show_bug.cgi?id=205842
76         https://trac.webkit.org/changeset/254144
77
78 2020-01-07  Jonathan Bedard  <jbedard@apple.com>
79
80         results.webkit.org: Handle case where processing data is undefined
81         https://bugs.webkit.org/show_bug.cgi?id=205870
82
83         Rubber-stamped by Aakash Jain.
84
85         * resultsdbpy/resultsdbpy/model/upload_context.py:
86         (UploadContext._do_job_for_key): If the job content is undefined, mark the job as
87         finished.
88
89 2020-01-07  Daniel Bates  <dabates@apple.com>
90
91         First character in each word-wrapped line has incorrect character rect when requested range spans multiple lines
92         https://bugs.webkit.org/show_bug.cgi?id=205842
93         <rdar://problem/56884325>
94
95         Reviewed by Zalan Bujtas.
96
97         Add a new test.
98
99         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
100         (TEST):
101
102 2020-01-07  Basuke Suzuki  <basuke.suzuki@sony.com>
103
104         check-webkit-style: bmalloc doesn't use config.h
105         https://bugs.webkit.org/show_bug.cgi?id=205840
106
107         Reviewed by Jonathan Bedard.
108
109         * Scripts/webkitpy/style/checkers/cpp.py:
110         (_IncludeState.check_next_include_order):
111         (check_include_line):
112         (check_has_config_header):
113
114 2020-01-07  youenn fablet  <youenn@apple.com>
115
116         Add an option to make video capture in GPUProcess
117         https://bugs.webkit.org/show_bug.cgi?id=205853
118
119         Reviewed by Eric Carlson.
120
121         * WebKitTestRunner/TestController.cpp:
122         (WTR::TestController::resetPreferencesToConsistentValues):
123         (WTR::updateTestOptionsFromTestHeader):
124         * WebKitTestRunner/TestOptions.h:
125         (WTR::TestOptions::hasSameInitializationOptions const):
126
127 2020-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
128
129         [GTK][WPE] Add API to retrieve and delete surrounding text for input methods
130         https://bugs.webkit.org/show_bug.cgi?id=205716
131
132         Reviewed by Žan Doberšek.
133
134         Add new test case for the new API.
135
136         * TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:
137         (webkitInputMethodContextMockFinalize):
138         (webkitInputMethodContextMockNotifySurrounding):
139         (webkitInputMethodContextMockReset):
140         (webkit_input_method_context_mock_class_init):
141         (testWebKitInputMethodContextSurrounding):
142         (beforeAll):
143
144 2020-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>
145
146         [GTK][WPE] Add API to set purpose and hints of active editable element to input methods
147         https://bugs.webkit.org/show_bug.cgi?id=205605
148
149         Reviewed by Žan Doberšek.
150
151         Add new test case to check the purpose and hints API.
152
153         * TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:
154         (testWebKitInputMethodContextContentType):
155         (beforeAll):
156
157 2020-01-06  Jonathan Bedard  <jbedard@apple.com>
158
159         results.webkit.org: Tweak processing constants
160         https://bugs.webkit.org/show_bug.cgi?id=205828
161         <rdar://problem/58146698>
162
163         Rubber-stamped by Aakash Jain.
164
165         * resultsdbpy/resultsdbpy/model/upload_context.py:
166         (UploadContext):
167         Increase process timeout to 1 week.
168         Allow 5 retries instead of 3.
169         Retry stuck tasks after 10 minutes instead of 5.
170         Include more tasks so that a scan is always greater than the number of workers.
171
172 2020-01-06  Jonathan Bedard  <jbedard@apple.com>
173
174         test-lldb-webkit: Use logging module
175         https://bugs.webkit.org/show_bug.cgi?id=205832
176
177         Reviewed by Stephanie Lewis.
178
179         * Scripts/test-lldb-webkit:
180         (LldbTester.run): Configure logger.
181
182 2020-01-06  Daniel Bates  <dabates@apple.com>
183
184         Precision of getClientRects(), getBoundingClientRect() differs depending whether simple line layout or line box layout is used
185         https://bugs.webkit.org/show_bug.cgi?id=205563
186         <rdar://problem/58165528>
187
188         Reviewed by Zalan Bujtas.
189
190         Update test results.
191
192         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
193         (TEST):
194         * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
195         (TestWebKitAPI::TEST):
196         * TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
197         (TEST):
198
199 2020-01-06  youenn fablet  <youenn@apple.com>
200
201         XMLHTTPRequest POSTs blob data to a custom WKURLSchemeHandler protocol crash
202         https://bugs.webkit.org/show_bug.cgi?id=205685
203
204         Reviewed by Alex Christensen.
205
206         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
207
208 2020-01-06  Alex Christensen  <achristensen@webkit.org>
209
210         Remove WebsiteDataStore::setServiceWorkerRegistrationDirectory
211         https://bugs.webkit.org/show_bug.cgi?id=205754
212
213         Reviewed by Youenn Fablet.
214
215         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
216         * WebKitTestRunner/TestController.cpp:
217         (WTR::TestController::websiteDataStore):
218         (WTR::TestController::platformAdjustContext):
219         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
220         (WTR::initializeWebViewConfiguration):
221
222 2020-01-06  Alex Christensen  <achristensen@webkit.org>
223
224         Allow wildcard scheme in UserContentURLPattern
225         https://bugs.webkit.org/show_bug.cgi?id=205695
226
227         Reviewed by Darin Adler.
228
229         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
230
231 2020-01-06  Antoine Quint  <graouts@apple.com>
232
233         REGRESSION: [ iOS ] imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html is failing
234         https://bugs.webkit.org/show_bug.cgi?id=205458
235         <rdar://problem/58081704>
236
237         Reviewed by Wenson Hsieh.
238
239         The last sub-test in imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html checks on the
240         ability to activate various form controls after disabling and re-enabling them. Two of those form controls, <select>
241         and <textarea>, would trigger animations of the web view's UIScrollView causing touches to be consumed by UIKit and
242         never seen by the WKContentView, and as such the expected "click" events would not be received. It would have been
243         possible to modify the test to wait on any potential page scroll to complete before dispatching taps, but since this
244         is a WPT test, we cannot modify it. Instead, we make a change to the function called by uiScriptController.singleTapAtPoint()
245         to interrupt any pending UIScrollView animation when a tap is being triggered on the web view. Credit to Wenson Hsieh
246         for suggesting this simple and effective approach.
247
248         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
249         (WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):
250
251 2020-01-06  Mark Lam  <mark.lam@apple.com>
252
253         Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
254         https://bugs.webkit.org/show_bug.cgi?id=205776
255
256         Reviewed by Saam Barati.
257
258         * DumpRenderTree/mac/ObjCController.m:
259         (-[ObjCController accessStoredWebScriptObject]):
260
261 2020-01-06  Mark Lam  <mark.lam@apple.com>
262
263         Add --force-optimization-level option to Tools/Scripts/set-webkit-configuration.
264         https://bugs.webkit.org/show_bug.cgi?id=205787
265
266         Reviewed by Saam Barati.
267
268         Usage:
269             --force-optimization-level=<opt> Force optimization: O3, O2, O1, O0, Os, Ofast, Og, or none
270
271         This can be used to force debug builds to be built with a higher level optimization
272         so that tests can run to completion faster.
273
274         It can also be useful as a simple way to force release builds to be built with
275         different optimization levels for performance comparison.
276
277         Setting --force-optimization-level=none restores the default optimization levels.
278         Of course, the build targets need to be rebuilt for this to take effect.
279
280         * Scripts/set-webkit-configuration:
281         * Scripts/webkitdirs.pm:
282         (determineForceOptimizationLevel):
283         (forceOptimizationLevel):
284         (XcodeOptions):
285
286 2020-01-05  Dean Jackson  <dino@apple.com>
287
288         Rename GraphicsContext3D to GraphicsContextGL
289         https://bugs.webkit.org/show_bug.cgi?id=205778
290         <rdar://problem/58327597>
291
292         Reviewed by Sam Weinig.
293
294         Rename all the GraphicsContext3D things to GraphicsContextGL
295         (includes Extensions3D and GRAPHICS_CONTEXT_3D).
296
297         GraphicsContext3DBase now becomes GraphicsContextGL.
298         GraphicsContext3D is now GraphicsContextGLOpenGL (since it represents
299         the OpenGL implementation of the API).
300
301         * Scripts/webkitpy/common/config/watchlist:
302
303 2020-01-06  Paulo Matos  <pmatos@igalia.com>
304
305         Remove unused variable jsDriverArgs from script
306         https://bugs.webkit.org/show_bug.cgi?id=205797
307
308         Reviewed by Žan Doberšek.
309
310         * Scripts/run-javascriptcore-tests:
311
312 2020-01-06  Paulo Matos  <pmatos@igalia.com>
313
314         Add support for passing test arguments in envvar TEST_JSC_ARGS
315         https://bugs.webkit.org/show_bug.cgi?id=205800
316
317         Reviewed by Žan Doberšek.
318
319         Similarly to what is done in build-jsc, we add support to pass
320         extra command line arguments in environment variable TEST_JSC_ARGS.
321
322         * Scripts/run-javascriptcore-tests:
323
324 2020-01-06  Per Arne Vollan  <pvollan@apple.com>
325
326         [iOS] Issue mach lookup extension to launch services daemon for Mail
327         https://bugs.webkit.org/show_bug.cgi?id=205316
328
329         Reviewed by Brent Fulgham.
330
331         Add test option to set bundle identifier. Using this, WebKitTestRunner can pretend to be any client, e.g. Mail.
332
333         Test: fast/sandbox/ios/sandbox-mach-lookup-mail.html
334
335         * WebKitTestRunner/TestController.cpp:
336         (WTR::TestController::createWebViewWithOptions):
337         (WTR::updateTestOptionsFromTestHeader):
338         * WebKitTestRunner/TestController.h:
339         * WebKitTestRunner/TestOptions.h:
340         (WTR::TestOptions::hasSameInitializationOptions const):
341         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
342         (WTR::TestController::setApplicationBundleIdentifier):
343
344 2020-01-06  Philippe Normand  <pnormand@igalia.com>
345
346         [WPE][Qt] TestRunJavaScript failure
347         https://bugs.webkit.org/show_bug.cgi?id=205766
348
349         Reviewed by Carlos Garcia Campos.
350
351         * TestWebKitAPI/Tests/WPEQt/TestRunJavaScript.cpp:
352         (TestRunJavaScript::main): Surround JS function with parentheses
353         to comply with the ECMAScript specification.
354
355 2020-01-05  Sam Weinig  <weinig@apple.com>
356
357         Further simplify StringBuilder usage by standardizing hex formating to a single hex() function
358         https://bugs.webkit.org/show_bug.cgi?id=205759
359
360         Reviewed by Dean Jackson.
361
362         * TestWebKitAPI/CMakeLists.txt:
363         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
364         * TestWebKitAPI/Tests/WTF/HexNumber.cpp: Added.
365         Add testing for hex formatting of integers.
366
367 2020-01-05  Simon Fraser  <simon.fraser@apple.com>
368
369         DumpRenderTree doesn't always call updateRendering() when a test completes
370         https://bugs.webkit.org/show_bug.cgi?id=205761
371
372         Reviewed by Darin Adler.
373         
374         Some animation tests (and possibly many others) are flakey or broken in WK1 because
375         there was no code to guarantee that Page::updateRendering() was called at notifyDone()
376         time.
377
378         WK2 calls DrawingArea::forceRepaint(), which does updateRendering(), flushes layers,
379         and flushes a CATransaction.
380
381         In WK1, we historically relied in AppKit to call -viewWillDraw on WebView and/or WebHTMLView,
382         and just called [webView display] to make this happen. However, with layer backing, AppKit behavior
383         changes, and WebCore changes that make more things happen with HTML event loop timing, this
384         approach no longer works. The fix is to add WebView SPI, _forceRepaintForTesting, which emulates what
385         WK2 is doing.
386
387         * DumpRenderTree/mac/DumpRenderTree.mm:
388         (updateDisplay):
389         * DumpRenderTree/mac/PixelDumpSupportMac.mm:
390
391 2020-01-03  Tim Horton  <timothy_horton@apple.com>
392
393         REGRESSION: 150+ flaky failures on some bots (color mismatches)
394         https://bugs.webkit.org/show_bug.cgi?id=205755
395         <rdar://problem/58248136>
396
397         Reviewed by Simon Fraser.
398
399         * DumpRenderTree/mac/LayoutTestHelper.m:
400         (colorProfileURLForDisplay):
401         (displayUUIDStrings):
402         Use CGGetOnlineDisplayList instead of CGGetActiveDisplayList; we want
403         all attached displays, even if they are sleeping.
404
405 2020-01-03  Keith Miller  <keith_miller@apple.com>
406
407         Update test262 tests to commit 157b18d
408         https://bugs.webkit.org/show_bug.cgi?id=205741
409
410         Reviewed by Yusuke Suzuki.
411
412         Using --save and --latest-import should update expectations rather than overwrite.
413
414         * Scripts/test262/Runner.pm:
415         (main):
416
417 2020-01-03  Simon Fraser  <simon.fraser@apple.com>
418
419         Add some shared schemes to the WebKit.xcworkspace
420         https://bugs.webkit.org/show_bug.cgi?id=205698
421
422         Reviewed by Tim Horton.
423         
424         Make WebKit.xcworkspace show the following schemes by default:
425             All Source
426             All Tools
427             WTF
428             JavaScriptCore
429             WebCore
430             WebKit
431             WebKitLegacy
432             DumpRenderTree
433             WebKitTestRunner
434             TestWebKitAPI
435             MiniBrowser
436             MobileMiniBrowser.
437             
438         Also remove the MobileMiniBrowserUITests scheme.
439
440         * DumpRenderTree/DumpRenderTree.xcodeproj/xcshareddata/xcschemes/DumpRenderTree.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
441         * MiniBrowser/MiniBrowser.xcodeproj/xcshareddata/xcschemes/MiniBrowser.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
442         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowser.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
443         * TestWebKitAPI/TestWebKitAPI.xcodeproj/xcshareddata/xcschemes/TestWebKitAPI.xcscheme: Copied from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
444         * WebKitTestRunner/WebKitTestRunner.xcodeproj/xcshareddata/xcschemes/WebKitTestRunner.xcscheme: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowserUITests.xcscheme.
445
446 2020-01-03  youenn fablet  <youenn@apple.com>
447
448         Provide pid to crashing service worker process and GPU process
449         https://bugs.webkit.org/show_bug.cgi?id=205564
450
451         Reviewed by Alex Christensen.
452
453         Exposing the pid allows WebKitTestRunner to provide better information.
454
455         * WebKitTestRunner/TestController.cpp:
456         (WTR::TestController::serviceWorkerProcessDidCrash):
457         (WTR::TestController::gpuProcessDidCrash):
458         * WebKitTestRunner/TestController.h:
459
460 2020-01-03  Alex Christensen  <achristensen@webkit.org>
461
462         Deprecate _WKWebsitePolicies
463         https://bugs.webkit.org/show_bug.cgi?id=205539
464
465         Reviewed by Wenson Hsieh.
466
467         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
468         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
469         (-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
470         (-[SWCustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.
471         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
472         (-[ContentBlockingWebsitePoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
473         (TEST):
474         (-[AutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
475         (-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
476         (-[WebsitePoliciesNavigationDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
477         (-[CustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
478         (-[CustomJavaScriptUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
479         (-[CustomNavigatorPlatformDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
480         (-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:preferences:userInfo:decisionHandler:]):
481         (-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
482         (-[WebsitePoliciesWebsiteDataStoreDelegate webView:decidePolicyForNavigationAction:preferences:decisionHandler:]):
483         (-[ContentBlockingWebsitePoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
484         (-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
485         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
486         (-[WebsitePoliciesNavigationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.
487         (-[WebsitePoliciesDeviceOrientationDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]): Deleted.
488         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]): Deleted.
489
490 2020-01-03  Alicia Boya García  <aboya@igalia.com>
491
492         [GStreamer][MSE] Player stalling too soon
493         https://bugs.webkit.org/show_bug.cgi?id=205117
494
495         Reviewed by Xabier Rodriguez-Calvar.
496
497         Backported patch to jhbuild.
498
499         Small modifications were necessary to make it apply on 1.16.1.
500
501         * gstreamer/jhbuild.modules:
502         * gstreamer/patches/libav-0001-gstavviddec-Limit-default-number-of-decoder-threads.patch: Added.
503
504 2020-01-02  Alex Christensen  <achristensen@webkit.org>
505
506         Add SPI to disable CORS on requests to URLs matching a pattern
507         https://bugs.webkit.org/show_bug.cgi?id=205534
508         <rdar://problem/58011337>
509
510         Reviewed by Chris Dumez.
511
512         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
513
514 2020-01-02  Sam Weinig  <weinig@apple.com>
515
516         Simplify StringBuilder API/align with makeString by removing appendFixed* functions and using FormatNumber struct instead
517         https://bugs.webkit.org/show_bug.cgi?id=205671
518
519         Reviewed by Alex Christensen.
520
521         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
522         Replace all uses of builder.appendFixedPrecisionNumber(...) with builder.append(FormattedNumber::fixedPrecision(...)).
523
524 2019-12-31  Carlos Alberto Lopez Perez  <clopez@igalia.com>
525
526         [WPE] OpenJPEG missing in install dependencies script.
527         https://bugs.webkit.org/show_bug.cgi?id=205647
528
529         Unreviewed follow-up fix.
530
531         Add also the OpenJPEG-2 package to the WPE install list.
532
533         * wpe/install-dependencies:
534
535 2019-12-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
536
537         [GTK][WPE] OpenJPEG missing in install dependencies script
538         https://bugs.webkit.org/show_bug.cgi?id=205647
539
540         Reviewed by Adrian Perez de Castro.
541
542         * gtk/install-dependencies: Add OpenJPEG-2 package to the list.
543
544 2019-12-30  Brady Eidson  <beidson@apple.com>
545
546         Add WKWebView SPI to evaluate a function with arguments
547         https://bugs.webkit.org/show_bug.cgi?id=205239
548
549         Reviewed by Alex Christensen.
550
551         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
552         * TestWebKitAPI/Tests/WebKitCocoa/AsyncFunction.mm: Added.
553         (TestWebKitAPI::TEST):
554         * TestWebKitAPI/cocoa/TestWKWebView.h:
555         * TestWebKitAPI/cocoa/TestWKWebView.mm:
556         (-[WKWebView objectByCallingAsyncFunction:withArguments:error:]):
557
558 2019-12-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
559
560         [GTK][WPE] Report number of total tests run and failed in API test runner like run-api-tests does
561         https://bugs.webkit.org/show_bug.cgi?id=205608
562
563         Reviewed by Carlos Garcia Campos.
564
565         Calculate the total number of tests (including subtests) executed
566         and report it at the end of the step in the same format than run-api-tests does.
567
568         * glib/api_test_runner.py:
569         (TestRunner._run_test_glib): Pass the list of skipped tests instead of calculating it here to avoid calculating it twice.
570         (TestRunner._get_tests_from_google_test_suite): Ditto.
571         (TestRunner._run_google_test_suite): Ditto.
572         (TestRunner._run_test): Ditto.
573         (TestRunner.run_tests):
574         (TestRunner.run_tests.number_of_tests):
575         (TestRunner.run_tests.report):
576
577 2019-12-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
578
579         [GTK][WPE] support output of results in json format in API test runner.
580         https://bugs.webkit.org/show_bug.cgi?id=205579
581
582         Reviewed by Carlos Garcia Campos.
583
584         Write the results of the tests in json format when the option --json-output
585         is passed to run-gtk-tests or run-wpe-tests. Use the same format than mac's
586         run-api-tests.
587
588         * glib/api_test_runner.py:
589         (TestRunner.run_tests):
590         (TestRunner.run_tests.generate_test_list_for_json_output):
591         (TestRunner):
592         (add_options):
593
594 2019-12-28  Commit Queue  <commit-queue@webkit.org>
595
596         Unreviewed, rolling out r253804.
597         https://bugs.webkit.org/show_bug.cgi?id=205622
598
599         Seeing strange test results after this change (Requested by ap
600         on #webkit).
601
602         Reverted changeset:
603
604         "Python 3: Add support to run-webkit-tests"
605         https://bugs.webkit.org/show_bug.cgi?id=205291
606         https://trac.webkit.org/changeset/253804
607
608 2019-12-28  Wenson Hsieh  <wenson_hsieh@apple.com>
609
610         [iOS] Layout tests sometimes throw an exception under checkForOutstandingCallbacks
611         https://bugs.webkit.org/show_bug.cgi?id=205612
612         <rdar://problem/57789693>
613
614         Reviewed by Tim Horton.
615
616         On iOS, layout tests that synthesize HID events but end before WebKitTestRunnerApp finishes dequeueing and
617         handling those events occasionally cause the next test to crash with an Objective-C exception under
618         UIScriptControllerIOS::checkForOutstandingCallbacks. This happens when UIScriptContext is destroyed after a HID
619         marker event is dispatched, but before that HID marker event has been handled. (For clarity, the HID marker
620         event is a special vendor-defined event used by HIDEventGenerator to signify the end of a series of synthesized
621         HID events that were previously dispatched to the application).
622
623         This is typically fixed by ensuring that all iOS layout tests always wait for synthesized HID events to finish
624         before ending the test (i.e. by calling `testRunner.notifyDone()`). However, some tests that fall into this
625         category are imported: e.g. dom/events/document-level-touchmove-event-listener-passive-by-default.html in
626         web-platform-tests/, which does not wait for the swipe gesture to finish before completing. This current causes
627         us to dispatch the end of the gesture while the following test (dom/events/event-disabled-dynamic.html) begins.
628
629         While I wasn't able to trivially reproduce the exception locally, it was consistently reproducible by forcing a
630         50 ms `sleep` in -[HIDEventGenerator sendMarkerHIDEventWithCompletionBlock:], right before queueing the marker
631         event. This suggests that the crash is timing-dependent, and just seems to occasionally reproduce more
632         frequently in internal automation.
633
634         This test seems to be passing reliably in other engines (e.g. Chrome and Edge), so instead of trying to fix the
635         test to always wait for events to finish dispatching, we can address the issue by teaching WebKitTestRunner to
636         simply wait for outgoing marker events to finish dispatching before proceeding with the next test, rather than
637         crashing. This should not only fix the crash, but also address sporadic flakiness that may result from tests
638         that handle synthetic HID events that were dispatched by the previous test.
639
640         * TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
641         (UIScriptContext::~UIScriptContext):
642         * TestRunnerShared/UIScriptContext/UIScriptController.h:
643         (WTR::UIScriptController::waitForOutstandingCallbacks):
644         (WTR::UIScriptController::checkForOutstandingCallbacks): Deleted.
645
646         Rename checkForOutstandingCallbacks to waitForOutstandingCallbacks, and make it wait up to a second for the
647         application to finish handling any outgoing marker HID event. In the event that the timeout is hit, we still
648         throw an Objective-C exception to avoid beginning the next test in an unpredictable state.
649
650         * WebKitTestRunner/ios/HIDEventGenerator.h:
651         * WebKitTestRunner/ios/HIDEventGenerator.mm:
652         (-[HIDEventGenerator init]):
653
654         Perform some minor cleanup here, by removing excess private category properties in HIDEventGenerator (including
655         -debugTouchViews, which was unused); also, change _eventCallbacks into a `RetainPtr`, so that we don't need to
656         worry about manually releasing it.
657
658         (-[HIDEventGenerator dealloc]): Deleted.
659         (-[HIDEventGenerator hasOutstandingCallbacks]):
660         (-[HIDEventGenerator checkForOutstandingCallbacks]): Deleted.
661
662         Rename -checkForOutstandingCallbacks to -hasOutstandingCallbacks, and flip the return result.
663
664         * WebKitTestRunner/ios/UIScriptControllerIOS.h:
665         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
666         (WTR::UIScriptControllerIOS::waitForOutstandingCallbacks):
667         (WTR::UIScriptControllerIOS::checkForOutstandingCallbacks): Deleted.
668
669 2019-12-28  Antti Koivisto  <antti@apple.com>
670
671         Allow disabling internal and experimental features in run-webkit-tests
672         https://bugs.webkit.org/show_bug.cgi?id=205614
673
674         Reviewed by Tim Horton.
675
676         Add an optional true/false parameter to --internal-feature/--experimental-feature options.
677         This can be useful for isolating problems in features that are enabled by default. Example:
678
679         --internal-feature LayoutFormattingContextIntegrationEnabled=false
680
681         The [=true|false] syntax is the same as used in test headers.
682
683         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
684         (parse_args):
685         * WebKitTestRunner/Options.cpp:
686         (WTR::parseFeature):
687         (WTR::handleOptionExperimentalFeature):
688         (WTR::handleOptionInternalFeature):
689         * WebKitTestRunner/Options.h:
690         * WebKitTestRunner/TestController.cpp:
691         (WTR::TestController::testOptionsForTest const):
692         * WebKitTestRunner/TestController.h:
693
694 2019-12-25  Dean Jackson  <dino@apple.com>
695
696         WKTR/DRT always trigger the Discrete GPU on dual GPU systems
697         https://bugs.webkit.org/show_bug.cgi?id=205546
698         <rdar://problem/58139610>
699
700         Reviewed by Alexey Proskuryakov.
701
702         Add an option "--prefer-integrated-gpu" to run-webkit-test
703         that causes the LayoutTestHelper to NOT lock the
704         machine to a discrete GPU on a dual-GPU system.
705         The default is false.
706
707         * DumpRenderTree/mac/LayoutTestHelper.m:
708         (main):
709         * Scripts/webkitpy/layout_tests/controllers/manager.py:
710         (Manager._set_up_run):
711         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
712         (parse_args):
713         * Scripts/webkitpy/port/base.py:
714         (Port.start_helper):
715         * Scripts/webkitpy/port/mac.py:
716         (MacPort.start_helper):
717         * Scripts/webkitpy/port/mock_drt.py:
718         (MockDRTPort.start_helper):
719
720 2019-12-25  Wenson Hsieh  <wenson_hsieh@apple.com>
721
722         REGRESSION (r253282): Tests that use applyAutocorrection assert in UIScriptContext::requestUIScriptCompletion
723         https://bugs.webkit.org/show_bug.cgi?id=205588
724         <rdar://problem/58109942>
725
726         Reviewed by Tim Horton.
727
728         The change made in r253282 intended to defer completing the async task prepared in
729         UIScriptController::applyAutocorrection until after the current runloop; however, it ended up keeping the
730         synchronous call to asyncTaskComplete. Fix this by removing this code, so that we instead wait for the
731         dispatch_async block to invoke asyncTaskComplete.
732
733         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
734         (WTR::UIScriptControllerIOS::applyAutocorrection):
735
736 2019-12-24  Youenn Fablet  <youenn@apple.com>
737
738         Deny Notification API access for non secure contexts
739         https://bugs.webkit.org/show_bug.cgi?id=205496
740         <rdar://problem/58074660>
741
742         Reviewed by Chris Dumez.
743
744         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
745         (TEST):
746
747 2019-12-24  youenn fablet  <youenn@apple.com>
748
749         Service Worker doesn't terminate after a period of time when thread blocking
750         https://bugs.webkit.org/show_bug.cgi?id=202992
751         <rdar://problem/56298596>
752
753         Reviewed by Chris Dumez.
754
755         * WebKitTestRunner/TestController.cpp:
756         (WTR::TestController::resetPreferencesToConsistentValues):
757         Enable small timeout values.
758
759 2019-12-23  Keith Miller  <keith_miller@apple.com>
760
761         DFG/FTL should be able to exit to the middle of a bytecode
762         https://bugs.webkit.org/show_bug.cgi?id=205232
763
764         Reviewed by Saam Barati.
765
766         * Scripts/run-jsc-stress-tests:
767
768 2019-12-23  Carlos Garcia Campos  <cgarcia@igalia.com>
769
770         [GTK] InputMethod API unit tests don't work under X11
771         https://bugs.webkit.org/show_bug.cgi?id=205497
772
773         Reviewed by Žan Doberšek.
774
775         Use a toplevel window instead of a popup for the input method tests, since that's required in X11 to get the web
776         view focused.
777
778         * TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:
779         (testWebKitInputMethodContextSimple):
780         (testWebKitInputMethodContextSequence):
781         (testWebKitInputMethodContextInvalidSequence):
782         (testWebKitInputMethodContextCancelSequence):
783         (testWebKitInputMethodContextReset):
784
785 2019-12-23  Carlos Garcia Campos  <cgarcia@igalia.com>
786
787         [GTK][WPE] Special combination characters doesn't respect the keystroke order when high CPU load
788         https://bugs.webkit.org/show_bug.cgi?id=185248
789
790         Reviewed by Žan Doberšek.
791
792         Remove the waits() that were added to work around this bug.
793
794         * TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp:
795         (testWebKitInputMethodContextSequence):
796         (testWebKitInputMethodContextInvalidSequence):
797         (testWebKitInputMethodContextCancelSequence):
798         (testWebKitInputMethodContextReset):
799
800 2019-12-21  Yusuke Suzuki  <ysuzuki@apple.com>
801
802         [JSC] Improve our bound function implementation
803         https://bugs.webkit.org/show_bug.cgi?id=205327
804
805         Reviewed by Keith Miller.
806
807         Support running slow-microbenchmarks.
808
809         * Scripts/run-jsc-benchmarks:
810
811 2019-12-21  Kate Cheney  <katherine_cheney@apple.com>
812
813         Add timeStamp to ITP database
814         https://bugs.webkit.org/show_bug.cgi?id=205121
815         <rdar://problem/57633021>
816
817         Reviewed by John Wilander.
818
819         Added checks to test that the timestamp is properly exposed via API
820         in the ITP database backend. This also adds an API test case using the
821         ITP database store. It was previously only testing the ITP memory store.
822
823         * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
824         (TEST):
825
826 2019-12-20  Ryosuke Niwa  <rniwa@webkit.org>
827
828         TextManipulationController should respect new token orders
829         https://bugs.webkit.org/show_bug.cgi?id=205378
830
831         Reviewed by Wenson Hsieh.
832
833         Added a bunch of tests for WKTextManipulation.
834
835         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
836         (TextManipulation.CompleteTextManipulationReplaceSimpleSingleParagraph):
837         (TextManipulation.CompleteTextManipulationDisgardsTokens):
838         (TextManipulation.CompleteTextManipulationReordersContent):
839         (TextManipulation.CompleteTextManipulationCanSplitContent):
840         (TextManipulation.CompleteTextManipulationCanMergeContent):
841         (TextManipulation.CompleteTextManipulationFailWhenContentIsRemoved):
842         (TextManipulation.CompleteTextManipulationFailWhenExcludedContentAppearsMoreThanOnce):
843         (TextManipulation.CompleteTextManipulationPreservesExcludedContent):
844
845 2019-12-20  Megan Gardner  <megan_gardner@apple.com>
846
847         Paint highlights specified in CSS Highlight API
848         https://bugs.webkit.org/show_bug.cgi?id=205318
849
850         Reviewed by Ryosuke Niwa.
851
852         Expand MarkedText to take a style name.
853
854         * TestWebKitAPI/Tests/WebCore/MarkedText.cpp:
855         (WebCore::operator<<):
856
857 2019-12-20  Jonathan Bedard  <jbedard@apple.com>
858
859         lldbwebkittester: Strip CLANG_DEBUG_INFORMATION_LEVEL option while building
860         https://bugs.webkit.org/show_bug.cgi?id=205513
861
862         Reviewed by Alexey Proskuryakov.
863
864         * Scripts/webkitdirs.pm:
865         (buildXCodeProject): Strip CLANG_DEBUG_INFORMATION_LEVEL from lldbWebKitTester.
866
867 2019-12-20  Simon Fraser  <simon.fraser@apple.com>
868
869         Add a Custom User Agent menu to MiniBrowser, and related cleanup
870         https://bugs.webkit.org/show_bug.cgi?id=205507
871
872         Reviewed by Wenson Hsieh.
873         
874         Add a User Agent" submenu to the Settings menu, and construct it with some built-in
875         UA strings. When changed, it sets the customUserAgent on the WKWebView/WebView and
876         triggers a reload.
877         
878         I also rearranged the menus so that "Settings" and "Debug" are no longer to the right
879         of the "Help" menu, which means getting the Settings menu from the xib. It was then
880         easier if SettingsController was no longer a singleton, but owned by AppDelegate.
881         Added a category on NSApplication to make it easier to get to BrowserAppDelegate
882         and thence to the SettingsController.
883
884         * MiniBrowser/mac/AppDelegate.h:
885         * MiniBrowser/mac/AppDelegate.m:
886         (-[NSApplication browserAppDelegate]):
887         (-[BrowserAppDelegate awakeFromNib]):
888         (-[BrowserAppDelegate defaultConfiguration]):
889         (-[BrowserAppDelegate defaultPreferences]):
890         (-[BrowserAppDelegate createBrowserWindowController:]):
891         (-[BrowserAppDelegate newWindow:]):
892         (-[BrowserAppDelegate newPrivateWindow:]):
893         (-[BrowserAppDelegate applicationDidFinishLaunching:]):
894         (-[BrowserAppDelegate _updateNewWindowKeyEquivalents]):
895         (-[BrowserAppDelegate userContentContoller]):
896         (defaultConfiguration): Deleted.
897         (defaultPreferences): Deleted.
898         * MiniBrowser/mac/ExtensionManagerWindowController.m:
899         (-[ExtensionManagerWindowController init]):
900         (-[ExtensionManagerWindowController add:]):
901         (-[ExtensionManagerWindowController remove:]):
902         * MiniBrowser/mac/MainMenu.xib:
903         * MiniBrowser/mac/SettingsController.h:
904         * MiniBrowser/mac/SettingsController.m:
905         (-[SettingsController initWithMenu:]):
906         (-[SettingsController dealloc]):
907         (-[SettingsController _populateMenu]):
908         (+[SettingsController userAgentData]):
909         (-[SettingsController buildUserAgentsMenu:]):
910         (-[SettingsController validateMenuItem:]):
911         (-[SettingsController _toggleBooleanDefault:]):
912         (-[SettingsController toggleExperimentalFeature:]):
913         (-[SettingsController toggleInternalDebugFeature:]):
914         (-[SettingsController customUserAgent]):
915         (-[SettingsController changeCutomUserAgent:]):
916         (+[SettingsController shared]): Deleted.
917         (-[SettingsController init]): Deleted.
918         (-[SettingsController menu]): Deleted.
919         * MiniBrowser/mac/WK1BrowserWindowController.m:
920         (-[WK1BrowserWindowController awakeFromNib]):
921         (-[WK1BrowserWindowController userAgentDidChange:]):
922         (-[WK1BrowserWindowController windowWillClose:]):
923         (-[WK1BrowserWindowController didChangeSettings]):
924         * MiniBrowser/mac/WK2BrowserWindowController.m:
925         (-[WK2BrowserWindowController awakeFromNib]):
926         (-[WK2BrowserWindowController initWithConfiguration:]):
927         (-[WK2BrowserWindowController userAgentDidChange:]):
928         (-[WK2BrowserWindowController windowWillClose:]):
929         (-[WK2BrowserWindowController didChangeSettings]):
930
931 2019-12-20  Jiewen Tan  <jiewen_tan@apple.com>
932
933         [WebAuthn] Implement coders for CTAP ClientPIN requests and responses
934         https://bugs.webkit.org/show_bug.cgi?id=205376
935         <rdar://problem/58034395>
936
937         Reviewed by Brent Fulgham.
938
939         Adds API tests.
940
941         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
942         * TestWebKitAPI/Tests/WebCore/CtapPinTest.cpp: Added.
943         (TestWebKitAPI::TEST):
944         * TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp:
945         (TestWebKitAPI::TEST):
946         * TestWebKitAPI/Tests/WebCore/FidoTestData.h:
947
948 2019-12-19  Jonathan Bedard  <jbedard@apple.com>
949
950         Python 3: Add support to run-webkit-tests
951         https://bugs.webkit.org/show_bug.cgi?id=205291
952
953         Reviewed by Stephanie Lewis.
954
955         * Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.
956         * Scripts/webkitpy/common/message_pool.py:
957         (_MessagePool._loop): Move exception inside of loop.
958         (_Message.__repr__): Use .format strings.
959         (_Worker.__init__): Ditto.
960         * Scripts/webkitpy/common/wavediff.py:
961         (WaveDiff.__init__): Use Python 3 compatible BytesIO and StringIO.
962         * Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
963         (LayoutTestFinder._read_test_names_from_file): Use .format string.
964         (LayoutTestFinder.split_into_chunks): Explicitly use integer division.
965         * Scripts/webkitpy/layout_tests/controllers/manager.py:
966         (Manager._get_test_inputs): Use range over xrange.
967         * Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
968         (SingleTestRunner._handle_error): Use .format strings.
969         * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
970         (JSONLayoutResultsGenerator._insert_failure_summaries): Use Python 3 compatible itervalues.
971         * Scripts/webkitpy/layout_tests/models/test_results.py:
972         (TestResult.__init__): Sort type list.
973         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
974         (RunTest.setUp): Multiple processes are buggy in test-webkitpy.
975         (RunTest.test_basic): replace buflist with getvalue().
976         (RunTest.test_child_processes_2): Ditto.
977         (RunTest.test_child_processes_min): Ditto.
978         (RunTest.test_keyboard_interrupt): Ditto.
979         (RunTest.test_missing_and_unexpected_results): Compare dictionaries instead of json strings.
980         (RunTest.test_crash_with_stderr): Ditto.
981         (RunTest.test_reftest_should_not_use_naming_convention_if_not_listed_in_reftestlist): Ditto.
982         (EndToEndTest.test_reftest_with_two_notrefs): Ditto.
983         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
984         (MeteredStream.write): Flush stream after writing.
985         (MeteredStream._erase_last_partial_line): Ditto.
986         * Scripts/webkitpy/layout_tests/views/printing.py:
987         (Printer._print_directory_timings): Can't compare string to integer.
988         (Printer._print_statistics_for_test_timings): Use integer division.
989         * Scripts/webkitpy/port/darwin.py:
990         (DarwinPort._merge_crash_logs): Use items over iteritems.
991         * Scripts/webkitpy/port/device.py:
992         (Device.__hash__): Allow hashing of devices.
993         * Scripts/webkitpy/port/device_port.py:
994         (DevicePort._install): Use range over xrange.
995         (DevicePort.setup_test_run): Ditto.
996         (DevicePort.clean_up_test_run): Ditto.
997         * Scripts/webkitpy/port/driver.py:
998         (DriverOutput.__init__): Text should be decoded, audio encoded.
999         (Driver.__init__):
1000         (Driver.run_test):
1001         (Driver._parse_child_processes_output): Output is byte array.
1002         (Driver._check_for_driver_timeout): Ditto.
1003         (Driver._check_for_address_sanitizer_violation): Error lines are byte arrays.
1004         (Driver._check_for_driver_crash_or_unresponsiveness): Ditto.
1005         (Driver._read_optional_image_block): If a block is base64 encoded, we want the decoded
1006         content, otherwise, we want the encoded content.
1007         (Driver._read_header): Lines are byte arrays, decode them before processing.
1008         (Driver._process_stdout_line): Blocks are byte arrays.
1009         (Driver._strip_eof): Lines should be byte arrays, not strings.
1010         (Driver._read_block): Standardize encoding in blocks.
1011         (ContentBlock.__init__): Content should be a byte array.
1012         (ContentBlock.decode_content): Attempt to decode content.
1013         * Scripts/webkitpy/port/driver_unittest.py:
1014         (DriverTest.test_read_binary_block): Content should be encoded.
1015         (DriverTest.test_read_base64_block): Ditto.
1016         (DriverTest.test_check_for_driver_crash): ServerProcess output should be a byte array.
1017         * Scripts/webkitpy/port/image_diff.py:
1018         (ImageDiffer.diff_image): ImageDiff output is in byte arrays.
1019         (ImageDiffer._read): Ditto.
1020         * Scripts/webkitpy/port/server_process.py:
1021         (ServerProcess.write): Encode data before writing it.
1022         * Scripts/webkitpy/port/server_process_mock.py:
1023         (MockServerProcess.__init__): Convert string mock output to bytes.
1024         (MockServerProcess.read_stdout_line): Stdout lines are byte arrays.
1025         (MockServerProcess.read_stdout): Ditto.
1026         * Scripts/webkitpy/port/simulator_process.py:
1027         (SimulatorProcess.NonBlockingFileFromSocket.close): Don't double close socket in Python 3.
1028         (SimulatorProcess._start): Stdin should be a binary stream.
1029         * Scripts/webkitpy/port/test.py:
1030         (unit_test_list): Convert audio streams to byte arrays.
1031         * Scripts/webkitpy/xcode/simulated_device.py:
1032         (SimulatedDevice.is_usable): Decode xcrun output.
1033         (SimulatedDevice.install_app): Use xrange over range.
1034
1035 2019-12-19  Matt Lewis  <jlewis3@apple.com>
1036
1037         Fixing Host name of gpu process bot
1038         https://bugs.webkit.org/show_bug.cgi?id=205469
1039         
1040         Reviewed by Jonathan Bedard.
1041
1042         * BuildSlaveSupport/build.webkit.org-config/config.json:
1043
1044 2019-12-19  Antti Koivisto  <antti@apple.com>
1045
1046         Allow Vectors as hash keys
1047         https://bugs.webkit.org/show_bug.cgi?id=205449
1048
1049         Reviewed by Geoff Garen.
1050
1051         * TestWebKitAPI/Tests/WTF/Vector.cpp:
1052         (TestWebKitAPI::TEST):
1053
1054 2019-12-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1055
1056         [GTK][WPE] Add initial API for input method
1057         https://bugs.webkit.org/show_bug.cgi?id=204679
1058
1059         Reviewed by Žan Doberšek.
1060
1061         Remove the old unit tests for InputMethodFilter and add new tests using the new API.
1062
1063         * TestWebKitAPI/PlatformGTK.cmake:
1064         * TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp: Removed.
1065         * TestWebKitAPI/Tests/WebKitGLib/TestInputMethodContext.cpp: Added.
1066         (webkitInputMethodContextMockFinalize):
1067         (webkitInputMethodContextMockGetPreedit):
1068         (webkitInputMethodContextMockFilterKeyEvent):
1069         (webkitInputMethodContextMockNotifyFocusIn):
1070         (webkitInputMethodContextMockNotifyFocusOut):
1071         (webkitInputMethodContextMockReset):
1072         (webkit_input_method_context_mock_class_init):
1073         (webkit_input_method_context_mock_init):
1074         (testWebKitInputMethodContextSimple):
1075         (testWebKitInputMethodContextSequence):
1076         (testWebKitInputMethodContextInvalidSequence):
1077         (testWebKitInputMethodContextCancelSequence):
1078         (testWebKitInputMethodContextReset):
1079         (beforeAll):
1080         (afterAll):
1081         * TestWebKitAPI/glib/CMakeLists.txt:
1082         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
1083         * TestWebKitAPI/glib/WebKitGLib/wpe/WebViewTestWPE.cpp:
1084         (WebViewTest::clickMouseButton):
1085         (WebViewTest::keyStroke):
1086
1087 2019-12-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1088
1089         [WPE] Missing UIScriptController implementation
1090         https://bugs.webkit.org/show_bug.cgi?id=200295
1091
1092         Reviewed by Žan Doberšek.
1093
1094         Add initial implementation of UIScriptController for WPE.
1095
1096         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1097         * WebKitTestRunner/PlatformWPE.cmake:
1098         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
1099         (WTR::PlatformWebView::addToWindow):
1100         (WTR::PlatformWebView::removeFromWindow):
1101         * WebKitTestRunner/wpe/UIScriptControllerWPE.cpp: Added.
1102         (WTR::UIScriptController::create):
1103         (WTR::UIScriptControllerWPE::doAsyncTask):
1104         (WTR::UIScriptControllerWPE::setContinuousSpellCheckingEnabled):
1105         (WTR::UIScriptControllerWPE::copyText):
1106         (WTR::UIScriptControllerWPE::dismissMenu):
1107         (WTR::UIScriptControllerWPE::isShowingMenu const):
1108         (WTR::UIScriptControllerWPE::activateAtPoint):
1109         (WTR::UIScriptControllerWPE::simulateAccessibilitySettingsChangeNotification):
1110         (WTR::UIScriptControllerWPE::removeViewFromWindow):
1111         (WTR::UIScriptControllerWPE::addViewToWindow):
1112         * WebKitTestRunner/wpe/UIScriptControllerWPE.h: Added.
1113         * wpe/backends/ViewBackend.h:
1114
1115 2019-12-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1116
1117         Unreviewed GTK gardening. Mark /webkit/WebKitWebsiteData/configuration as flaky
1118
1119         * TestWebKitAPI/glib/TestExpectations.json:
1120
1121 2019-12-18  Commit Queue  <commit-queue@webkit.org>
1122
1123         Unreviewed, rolling out r253646.
1124         https://bugs.webkit.org/show_bug.cgi?id=205433
1125
1126         "We think this may have caused a membuster regression, so
1127         rolling it out." (Requested by nham on #webkit).
1128
1129         Reverted changeset:
1130
1131         "Navigation from empty page doesn't use cached web process"
1132         https://bugs.webkit.org/show_bug.cgi?id=205015
1133         https://trac.webkit.org/changeset/253646
1134
1135 2019-12-18  Alex Christensen  <achristensen@webkit.org>
1136
1137         Add SPI WKWebView._updateWebpagePreferences to replace _updateWebsitePolicies
1138         https://bugs.webkit.org/show_bug.cgi?id=205427
1139
1140         Reviewed by Wenson Hsieh.
1141
1142         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1143         (TEST):
1144
1145 2019-12-18  Jonathan Bedard  <jbedard@apple.com>
1146
1147         test-lldb-webkit: Run in CI (Follow-up fix)
1148         https://bugs.webkit.org/show_bug.cgi?id=205315
1149
1150         Unreviewed follow-up fix.
1151
1152         * BuildSlaveSupport/build.webkit.org-config/steps.py:
1153         (RunWebKitPyTests.start): Call method of parent class to avoid infinite recursion.
1154
1155 2019-12-18  Alex Christensen  <achristensen@webkit.org>
1156
1157         Add ObjC version of WKBundleFrameIsMainFrame
1158         https://bugs.webkit.org/show_bug.cgi?id=205415
1159
1160         Reviewed by Brian Weinstein.
1161
1162         * TestWebKitAPI/Tests/WebKitCocoa/UserContentWorld.mm:
1163         (-[UserContentWorldRemoteObject didObserveMainFrame]):
1164         (-[UserContentWorldRemoteObject didObserveSubframe]):
1165         (TEST):
1166         * TestWebKitAPI/Tests/WebKitCocoa/UserContentWorldPlugIn.mm:
1167         (-[UserContentWorldPlugIn webProcessPlugInBrowserContextController:globalObjectIsAvailableForFrame:inScriptWorld:]):
1168         * TestWebKitAPI/Tests/WebKitCocoa/UserContentWorldProtocol.h:
1169
1170 2019-12-18  Jonathan Bedard  <jbedard@apple.com>
1171
1172         results.webkit.org: Serve files in uploaded archive
1173         https://bugs.webkit.org/show_bug.cgi?id=201654
1174
1175         Reviewed by Stephanie Lewis.
1176
1177         * resultsdbpy/resultsdbpy/controller/configuration.py:
1178         (Configuration.to_query): Conver a configuration object to a query string.
1179         * resultsdbpy/resultsdbpy/controller/configuration_unittest.py:
1180         (ConfigurationUnittest):
1181         (ConfigurationUnittest.test_to_query):
1182         * resultsdbpy/resultsdbpy/flask_support/util.py:
1183         (query_as_string): Convert the current query to a string.
1184         * resultsdbpy/resultsdbpy/model/archive_context.py:
1185         (ArchiveContext._files_for_archive): Python's shutil creates archives which
1186         don't have have a root directory.
1187         (ArchiveContext.file): We need to add query parameters to relative links
1188         In the returned file.
1189         * resultsdbpy/resultsdbpy/view/archive_view.py: Added.
1190         (ArchiveView):
1191         (ArchiveView.__init__):
1192         (ArchiveView.list): Return html which lists and links to the provided paths.
1193         (ArchiveView.extract): Endpoint which extracts a file from an archive matching
1194         the provided arguments.
1195         * resultsdbpy/resultsdbpy/view/archive_view_unittest.py: Added.
1196         (ArchiveViewUnittest):
1197         (ArchiveViewUnittest.register_archive):
1198         (ArchiveViewUnittest.test_directory):
1199         (ArchiveViewUnittest.test_file):
1200         * resultsdbpy/resultsdbpy/view/templates/archive_list.html: Added.
1201         * resultsdbpy/resultsdbpy/view/view_routes.py:
1202         (ViewRoutes.__init__): Add archive endpoints.
1203
1204 2019-12-18  Matt Lewis  <jlewis3@apple.com>
1205
1206         Update WebGL bot hostname
1207         https://bugs.webkit.org/show_bug.cgi?id=205349
1208
1209         Reviewed by Jonathan Bedard.
1210
1211         * BuildSlaveSupport/build.webkit.org-config/config.json: Changed hostname 
1212         to bring it in line with non standard testers.
1213
1214 2019-12-18  Jonathan Bedard  <jbedard@apple.com>
1215
1216         GPU-Process: Bring up automated tester 
1217         https://bugs.webkit.org/show_bug.cgi?id=205229
1218
1219         Reviewed by Stephanie Lewis.
1220
1221         * BuildSlaveSupport/build.webkit.org-config/config.json: Add GPU Process tester,
1222         derived from debug testing queue.
1223
1224 2019-12-18  Kate Cheney  <katherine_cheney@apple.com>
1225
1226         Only report prevalent domains in the ResourceLoadStatistics data summary API
1227         https://bugs.webkit.org/show_bug.cgi?id=205281
1228         <rdar://problem/57975017>
1229
1230         Reviewed by Brent Fulgham.
1231
1232         Update the GetResourceLoadStatisticsDataSummary to set third parties
1233         as prevalent to maintain test functionality.
1234
1235         * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
1236         (TEST):
1237
1238 2019-12-18  Carlos Garcia Campos  <cgarcia@igalia.com>
1239
1240         Unreviewed GTK gardening. Update expectations of unit tests
1241
1242         Add two flaky failures and mark /jsc/vm as slow alos in release builds.
1243
1244         * TestWebKitAPI/glib/TestExpectations.json:
1245
1246 2019-12-17  Jonathan Bedard  <jbedard@apple.com>
1247
1248         run-javascriptcore-tests: Fix upload details
1249         https://bugs.webkit.org/show_bug.cgi?id=205347
1250
1251         Rubber-stamped by Alexey Proskuryakov.
1252
1253         * Scripts/run-javascriptcore-tests:
1254         (uploadResults): Make upload details compliant with results database.
1255
1256 2019-12-17  Ben Nham  <nham@apple.com>
1257
1258         Navigation from empty page doesn't use cached web process
1259         https://bugs.webkit.org/show_bug.cgi?id=205015
1260         <rdar://problem/57703742>
1261
1262         Reviewed by Chris Dumez.
1263
1264         When navigating from an empty page to another domain foo.com, we always use the source
1265         WebProcess (which is basically uninitialized) rather than using an already-initialized
1266         cached WebProcess that has navigated to foo.com. The cached WebProcess should probably be
1267         preferred since it has more relevant cached resources available to it (e.g. memory cache, JS
1268         bytecode cache, prewarmed fonts, ...).
1269
1270         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1271         Verify that a load from an empty document uses the process cache. To actually force the
1272         WebProcess to launch with an empty document loaded, we use the private API
1273         _ensureRunningProcessForTesting.
1274
1275 2019-12-17  Megan Gardner  <megan_gardner@apple.com>
1276
1277         Update Check webkit style to allow for auto with pairs in c++
1278         https://bugs.webkit.org/show_bug.cgi?id=205320
1279
1280         Reviewed by Jonathan Bedard.
1281
1282         Allow for spaces between auto and brakets when using auto with pairs.
1283
1284         * Scripts/webkitpy/style/checkers/cpp.py:
1285         (check_spacing):
1286         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1287         (CppStyleTest):
1288
1289 2019-12-17  youenn fablet  <youenn@apple.com>
1290
1291         WebKitTestRunner should report GPU process crashes
1292         https://bugs.webkit.org/show_bug.cgi?id=205338
1293
1294         Reviewed by Tim Horton.
1295
1296         Report GPU process crashes.
1297
1298         * WebKitTestRunner/TestController.cpp:
1299         (WTR::TestController::generatePageConfiguration):
1300         (WTR::TestController::gpuProcessDidCrash):
1301         * WebKitTestRunner/TestController.h:
1302
1303 2019-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1304
1305         Unreviewed GTK gardening. Mark WebKit.FocusedFrameAfterCrash as timeout
1306
1307         * TestWebKitAPI/glib/TestExpectations.json:
1308
1309 2019-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1310
1311         Unreviewed GTK gardening. Mark several tests that usually time out in the bots as slow
1312
1313         It seems it depends on the load of the bots. Some of them still time out sometimes even after being marked as
1314         slow, so also mark them all as flaky.
1315
1316         * TestWebKitAPI/glib/TestExpectations.json:
1317
1318 2019-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1319
1320         Unreviewed GTK gardening. Mark /webkit/WebKitWebExtension/form-submission-steps as timeout
1321
1322         * TestWebKitAPI/glib/TestExpectations.json:
1323
1324 2019-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1325
1326         Unreviewed GTK gardening. Fix test /webkit/WebKitPrintOperation/close-after-print
1327
1328         Use webkit_web_view_new_with_related_view() instead of webkit_web_view_new_with_context() since it's expected
1329         that web views created in WebKitWebView::create signal callback are related. Also use g_object_unref() instead
1330         of gtk_widget_destroy() to release the created web view since it's never added to a window.
1331
1332         * TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp:
1333
1334 2019-12-17  youenn fablet  <youenn@apple.com>
1335
1336         WebKitTestRunner should report service worker process crashes
1337         https://bugs.webkit.org/show_bug.cgi?id=205267
1338
1339         Reviewed by Chris Dumez.
1340
1341         * WebKitTestRunner/TestController.cpp:
1342         (WTR::TestController::generatePageConfiguration):
1343         (WTR::TestController::serviceWorkerProcessDidCrash):
1344         * WebKitTestRunner/TestController.h:
1345
1346 2019-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1347
1348         Unreviewed. WebDriver: set doc_root in WebDriverW3CExecutor server config
1349
1350         It's expected by test imported/w3c/webdriver/tests/navigate_to/navigate.py::test_file_protocol
1351
1352         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
1353         (WebDriverW3CExecutor.__init__):
1354
1355 2019-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1356
1357         check-webkit-style: allow underscores for public symbols in JSC GLIB API
1358         https://bugs.webkit.org/show_bug.cgi?id=205265
1359
1360         Reviewed by Jonathan Bedard.
1361
1362         Add an exception for symbols starting with jsc_ in glib directories.
1363
1364         * Scripts/webkitpy/style/checkers/cpp.py:
1365         (check_identifier_name_in_declaration):
1366         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
1367         (WebKitStyleTest.test_names):
1368
1369 2019-12-16  Jonathan Bedard  <jbedard@apple.com>
1370
1371         test-lldb-webkit: Run in CI
1372         https://bugs.webkit.org/show_bug.cgi?id=205315
1373
1374         Reviewed by Alexey Proskuryakov.
1375
1376         * BuildSlaveSupport/build.webkit.org-config/factories.py:
1377         (TestFactory.__init__): Add RunLLDBWebKitTests to Mac test runs.
1378         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
1379         * BuildSlaveSupport/build.webkit.org-config/steps.py:
1380         (RunPythonTests): Generalized step for all Python tests.
1381         (RunPythonTests.start):
1382         (RunWebKitPyTests): Step for running test-webkitpy.
1383         (RunWebKitPyTests.__init__):
1384         (RunWebKitPyTests.start):
1385         (RunLLDBWebKitTests): Step for running test-lldb-webkit.
1386         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
1387
1388 2019-12-16  Wenson Hsieh  <wenson_hsieh@apple.com>
1389
1390         -[UIWKDocumentContext markedTextRange] is wrong when the caret is not at the start of marked text
1391         https://bugs.webkit.org/show_bug.cgi?id=205302
1392
1393         Reviewed by Tim Horton.
1394
1395         Add an API test to exercise the case where the options `UIWKDocumentRequestMarkedTextRects` and
1396         `UIWKDocumentRequestText` are used to grab marked text rects.
1397
1398         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
1399         (-[UIWKDocumentContext contextBeforeLength]):
1400         (-[UIWKDocumentContext markedTextLength]):
1401         (-[UIWKDocumentContext markedTextRange]):
1402
1403         Work around a bug that should be fixed by <rdar://problem/57338528>, so that the new API test can pass on
1404         shipping builds of iOS.
1405
1406 2019-12-16  Keith Rollin  <krollin@apple.com>
1407
1408         Unreviewed follow-up fix.
1409         <rdar://problem/57989146> jsc-ta-payload fails consistently on YukonE Device Builds
1410
1411         Bug caused by <rdar://problem/57453545> [safari-root] CrashTracer: [USER] jsc at jsc: jscmain
1412
1413         run-jsc-stress-tests still looked for jsc in
1414         JavaScriptCore.framework/Resources. Change this to also look in
1415         JavaScriptCore.framework/Helpers.
1416
1417         * Scripts/run-jsc-stress-tests:
1418
1419 2019-12-16  Jonathan Bedard  <jbedard@apple.com>
1420
1421         results.webkit.org: Make default limit 1000
1422         https://bugs.webkit.org/show_bug.cgi?id=205305
1423
1424         Reviewed by Stephanie Lewis.
1425
1426         We have ~200 commits a week in WebKit, since we don't quite report
1427         results for every commit, a limit of 1000 translates to about a 1.5 months
1428         of data. Any more than this and the network request for results becomes
1429         noticeably slow.
1430
1431         * resultsdbpy/resultsdbpy/controller/failure_controller.py:
1432         (FailureController): Change default limit from 5000 to 1000.
1433         * resultsdbpy/resultsdbpy/controller/suite_controller.py:
1434         (SuiteController): Change default limit from 5000 to 1000.
1435         * resultsdbpy/resultsdbpy/controller/test_controller.py:
1436         (TestController): Change default limit from 5000 to 1000.
1437
1438 2019-12-16  Jonathan Bedard  <jbedard@apple.com>
1439
1440         python3: wpt exporter should parse a patch as bytes
1441         https://bugs.webkit.org/show_bug.cgi?id=205243
1442
1443         Reviewed by Stephanie Lewis.
1444
1445         * Scripts/webkitpy/common/checkout/scm/scm_mock.py:
1446         (MockSCM.create_patch): Patches are byte arrays.
1447         * Scripts/webkitpy/w3c/test_exporter.py:
1448         (WebPlatformTestExporter._wpt_patch): Diff should be byte array.
1449         (WebPlatformTestExporter._find_filename): Ditto.
1450         (WebPlatformTestExporter._is_ignored_file): Filenames will be encoded bytes.
1451         (WebPlatformTestExporter._strip_ignored_files_from_diff): Diff should be byte array.
1452         (WebPlatformTestExporter.write_git_patch_file): Ditto.
1453         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
1454         (TestExporterTest.MockGit): Diff should be byte array.
1455         (TestExporterTest.test_ignore_changes_to_expected_file): Ditto.
1456
1457 2019-12-16  Ryosuke Niwa  <rniwa@webkit.org>
1458
1459         TextManipulationController should observe newly inserted or displayed contents
1460         https://bugs.webkit.org/show_bug.cgi?id=205203
1461         <rdar://problem/56567020>
1462
1463         Reviewed by Wenson Hsieh.
1464
1465         Added tests for detecting newly inserted or displayed contents in WKTextManipulation SPI.
1466
1467         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
1468         (-[TextManipulationDelegate initWithItemCallback]):
1469         (-[TextManipulationDelegate _webView:didFindTextManipulationItem:]):
1470         (TestWebKitAPI::TEST):
1471
1472 2019-12-16  Daniel Bates  <dabates@apple.com>
1473
1474         Organize DocumentEditingContext.mm under a more descriptive suite
1475         https://bugs.webkit.org/show_bug.cgi?id=205284
1476
1477         Reviewed by Tim Horton.
1478
1479         Register with the runtime all of the DocumentEditingContext.mm tests under the suite
1480         DocumentEditingContext as opposed to the suite WebKit (as they are now). This makes
1481         it easy to run all of these tests using:
1482
1483                 run-api-tests DocumentEditingContext
1484
1485         This is more useful than letting them stay categorized under the WebKit suite. If it
1486         turns out this change interferes with the workflow of others then we can revert this
1487         change and look to expose Google Test's regex filtering in run-api-tests to achieve
1488         a similiar result given that these tests have the same prefix.
1489
1490         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
1491         (TEST):
1492
1493 2019-12-16  Daniel Bates  <dabates@apple.com>
1494
1495         Use Ahem font to ensure consistent test results
1496         https://bugs.webkit.org/show_bug.cgi?id=205283
1497
1498         Reviewed by Wenson Hsieh.
1499
1500         To avoid test failures due to future font metrics changes make use of the Ahem font
1501         for the tests in DocumentEditingContext.m. Ahem is a font with well-defined properties
1502         that when used correclty ensures consistent font rendering results.
1503
1504         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
1505         (TEST):
1506
1507 2019-12-16  Daniel Bates  <dabates@apple.com>
1508
1509         Reproducible case of backwards nextParagraph returning a position ahead of the input position
1510         https://bugs.webkit.org/show_bug.cgi?id=196127
1511         <rdar://problem/49135890>
1512
1513         Reviewed by Wenson Hsieh.
1514
1515         Add a test to ensure that requesting two paragraphs around the insertion point that is
1516         not in a paragraph still works.
1517
1518         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
1519         (TEST):
1520
1521 2019-12-16  Jonathan Bedard  <jbedard@apple.com>
1522
1523         lldbwebkittester: Conform with testing binary format
1524         https://bugs.webkit.org/show_bug.cgi?id=205271
1525
1526         Reviewed by Alexey Proskuryakov.
1527
1528         lldbwebkittester should be built the same way ImageDiff, TestWebKitAPI and WebKitTestRunner are.
1529         This also paves the way for adding lldb tests against WebCore and WebKit, since lldbwebkittestrunner
1530         is now packaged with the rest of WebKit's testing binaries.
1531
1532         * Scripts/build-lldbwebkittester:
1533         * Scripts/build-webkit:
1534
1535 2019-12-16  Yusuke Suzuki  <ysuzuki@apple.com>
1536
1537         [JSC] Remove ArrayBufferNeuteringWatchpointSet
1538         https://bugs.webkit.org/show_bug.cgi?id=205194
1539
1540         Reviewed by Saam Barati.
1541
1542         Add tests for PackedRef and PackedRefPtr.
1543
1544         * TestWebKitAPI/CMakeLists.txt:
1545         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1546         * TestWebKitAPI/Tests/WTF/PackedRef.cpp: Added.
1547         (TestWebKitAPI::TEST):
1548         (TestWebKitAPI::passWithRef):
1549         (TestWebKitAPI::PackedRefCheckingRefLogger::PackedRefCheckingRefLogger):
1550         (TestWebKitAPI::PackedRefCheckingRefLogger::ref):
1551         (TestWebKitAPI::PackedRefCheckingRefLogger::deref):
1552         (TestWebKitAPI::DerivedPackedRefCheckingRefLogger::DerivedPackedRefCheckingRefLogger):
1553         * TestWebKitAPI/Tests/WTF/PackedRefPtr.cpp: Copied from Tools/TestWebKitAPI/Tests/WTF/RefPtr.cpp.
1554         (TestWebKitAPI::TEST):
1555         (TestWebKitAPI::f1):
1556         (TestWebKitAPI::ConstRefCounted::create):
1557         (TestWebKitAPI::returnConstRefCountedRef):
1558         (TestWebKitAPI::returnRefCountedRef):
1559         (TestWebKitAPI::PackedRefPtrCheckingRefLogger::PackedRefPtrCheckingRefLogger):
1560         (TestWebKitAPI::loggerName):
1561         (TestWebKitAPI::PackedRefPtrCheckingRefLogger::ref):
1562         (TestWebKitAPI::PackedRefPtrCheckingRefLogger::deref):
1563         * TestWebKitAPI/Tests/WTF/RefPtr.cpp:
1564         (TestWebKitAPI::f1):
1565         (TestWebKitAPI::returnConstRefCountedRef):
1566         (TestWebKitAPI::returnRefCountedRef):
1567
1568 2019-12-16  Keith Miller  <keith_miller@apple.com>
1569
1570         Fix btjs on current lldb
1571         https://bugs.webkit.org/show_bug.cgi?id=205293
1572
1573         Reviewed by Mark Lam.
1574
1575         * lldb/lldb_webkit.py:
1576         (btjs):
1577
1578 2019-12-16  Andres Gonzalez  <andresg_22@apple.com>
1579
1580         Isolated object implementation of parameterized attribute SelectTextWithCriteria.
1581         https://bugs.webkit.org/show_bug.cgi?id=205210
1582
1583         Reviewed by Chris Fleizach.
1584
1585         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
1586         (WTR::AccessibilityController::rootElement): Always run in my thread.
1587         (WTR::AccessibilityController::execute): Dispatches to the secondary thread. Spins the main loop to allow parameterized attributes methods to execute in main thread.
1588         * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
1589         (WTR::findAccessibleObjectById):
1590         (WTR::AccessibilityController::accessibleElementById):
1591         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
1592         (WTR::AccessibilityUIElement::selectTextWithCriteria):
1593
1594 2019-12-16  Per Arne Vollan  <pvollan@apple.com>
1595
1596         Unreviewed build fix for tvOS after r253440.
1597
1598         * TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
1599
1600 2019-12-16  youenn fablet  <youenn@apple.com>
1601
1602         Consider top-level context whose origin is unique as insecure
1603         https://bugs.webkit.org/show_bug.cgi?id=205111
1604         <rdar://problem/57834967>
1605
1606         Reviewed by Brent Fulgham.
1607
1608         * TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
1609         (TEST):
1610         Disable secure context checks so that loading directly about:blank from the API test
1611         can call DeviceOrientationEvent.requestPermission() successfully.
1612
1613 2019-12-16  Daniel Bates  <dabates@apple.com>
1614
1615         -requestDocumentContext always returns 1 text unit more granularity than requested
1616         https://bugs.webkit.org/show_bug.cgi?id=205142
1617         <rdar://problem/57858236>
1618
1619         Reviewed by Darin Adler and Wenson Hsieh.
1620
1621         Add tests for requesting text by character, sentence, paragraph, and line granularities.
1622         Also organized tests, demarcating sections of related tests, and renaming the existing
1623         word granularity tests for consistency.
1624
1625         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
1626         (TEST):
1627
1628 2019-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1629
1630         Unreviewed GTK gardening. Mark /webkit/WebKitWebView/pointer-lock-permission-request as timeout
1631
1632         * TestWebKitAPI/glib/TestExpectations.json:
1633
1634 2019-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1635
1636         Unreviewed. Fix GLib test /webkit/WebKitWebView/geolocation-permission-requests after r249207
1637
1638         PERMISSION_DENIED is returned for non-secure contexts instead of POSITION_UNAVAILABLE since r249207.
1639
1640         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
1641         (testWebViewGeolocationPermissionRequests):
1642
1643 2019-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1644
1645         Unreviewed. Fix GLib test /jsc/options after r253244.
1646
1647         The default value of smallHeapRAMFraction option changed in r253244. The test just wants to check a float jsc
1648         option, so use criticalGCMemoryThreshold instead that has a fixed default value.
1649
1650         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
1651         (testsJSCOptions):
1652
1653 2019-12-16  youenn fablet  <youenn@apple.com>
1654
1655         Reset cached getUserMedia queries when calling stopMediaCapture
1656         https://bugs.webkit.org/show_bug.cgi?id=205064
1657
1658         Reviewed by Eric Carlson.
1659
1660         * TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
1661         (-[GetUserMediaCaptureUIDelegate _webView:requestMediaCaptureAuthorization:decisionHandler:]):
1662         (TestWebKitAPI::TEST):
1663
1664 2019-12-15  Wenson Hsieh  <wenson_hsieh@apple.com>
1665
1666         -[WKWebView _detectDataWithTypes:completionHandler:] crashes when there is no running process
1667         https://bugs.webkit.org/show_bug.cgi?id=205254
1668
1669         Reviewed by Tim Horton.
1670
1671         Add a test to verify that we don't crash when calling data detection API's immediately after crashing the web
1672         content process.
1673
1674         * TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
1675
1676 2019-12-15  Emilio Cobos Álvarez  <emilio@crisal.io>
1677
1678         [GTK] jhbuild fails to configure if gettext 0.20 is installed
1679         https://bugs.webkit.org/show_bug.cgi?id=205249
1680
1681         Reviewed by Michael Catanzaro.
1682
1683         Update jhbuild.
1684
1685         * jhbuild/jhbuild-wrapper:
1686
1687 2019-12-13  Wenson Hsieh  <wenson_hsieh@apple.com>
1688
1689         Unreviewed, fix the macCatalyst build after r253486
1690
1691         Replace the #elif with an #else, so that the codepath is compiled on non-iOS (but iOS-family) platforms such as
1692         watchOS and macCatalyst.
1693
1694         * TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm:
1695         (readMarkupFromPasteboard):
1696
1697 2019-12-13  Peng Liu  <peng.liu6@apple.com>
1698
1699         Add an option to run_webkit_tests.py to enable all GPU process related features and choose the additional expectations
1700         https://bugs.webkit.org/show_bug.cgi?id=205214
1701
1702         The option also specifies the result-report-flavor.
1703
1704         Reviewed by Tim Horton.
1705
1706         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1707         (parse_args):
1708
1709 2019-12-13  Alexey Shvayka  <shvaikalesh@gmail.com>
1710
1711         Unreviewed. Add myself as a committer.
1712
1713         * Scripts/webkitpy/common/config/contributors.json:
1714
1715 2019-12-13  Alex Christensen  <achristensen@webkit.org>
1716
1717         Allow cross-origin requests to WKURLSchemeHandlers
1718         https://bugs.webkit.org/show_bug.cgi?id=205198
1719         <rdar://problem/57897836>
1720
1721         Reviewed by Brady Eidson.
1722
1723         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
1724         Verify that a cross origin request is received by the WKURLSchemeHandler.  It was not before.
1725         Verify that loading will fail unless there are CORS headers in the response.
1726
1727 2019-12-13  Devin Rousso  <drousso@apple.com>
1728
1729         Teach prepare-ChangeLog about JavaScript async functions
1730         https://bugs.webkit.org/show_bug.cgi?id=205195
1731
1732         Reviewed by Jonathan Bedard.
1733
1734         * Scripts/prepare-ChangeLog:
1735         (get_function_line_ranges_for_javascript):
1736
1737         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/javascript_unittests.js:
1738         (AsyncFuncClass): Added.
1739         (AsyncFuncClass.async staticAsync): Added.
1740         (AsyncFuncClass.prototype.async methodAsync): Added.
1741         (AsyncFuncClass.prototype.async get getAsync): Added.
1742         (AsyncFuncClass.prototype.async set setAsync): Added.
1743         (async asyncFunc1): Added.
1744         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/javascript_unittests-expected.txt:
1745
1746 2019-12-13  John Wilander  <wilander@apple.com>
1747
1748         IsLoggedIn: Abstract data type for IsLoggedIn state
1749         https://bugs.webkit.org/show_bug.cgi?id=205041
1750         <rdar://problem/56723904>
1751
1752         Reviewed by Chris Dumez.
1753
1754         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1755         * TestWebKitAPI/Tests/WebCore/LoggedInStatus.cpp: Added.
1756         (TestWebKitAPI::TEST):
1757
1758 2019-12-13  Wenson Hsieh  <wenson_hsieh@apple.com>
1759
1760         [Clipboard API] Sanitize HTML and image data written using clipboard.write
1761         https://bugs.webkit.org/show_bug.cgi?id=205188
1762         <rdar://problem/57612968>
1763
1764         Reviewed by Darin Adler.
1765
1766         Adds an API test to verify that the markup written to the platform pasteboard on macOS and iOS is sanitized, and
1767         does not contain hidden content, such as script elements.
1768
1769         * TestWebKitAPI/Tests/WebKitCocoa/ClipboardTests.mm:
1770         (-[TestWKWebView writeString:toClipboardWithType:]):
1771         (readMarkupFromPasteboard):
1772         * TestWebKitAPI/Tests/WebKitCocoa/clipboard.html:
1773
1774 2019-12-13  Kate Cheney  <katherine_cheney@apple.com>
1775
1776         Create WebKit API calls for ITP Data
1777         https://bugs.webkit.org/show_bug.cgi?id=204932
1778         <rdar://problem/57632753>
1779
1780         Reviewed by Alex Christensen. 
1781
1782         Added a test to check that the ITP data summary was being properly
1783         aggregated and sent to the UIProcess, and to make sure the API works
1784         as expected. Added interface declarations to the file to allow for
1785         use of the _WKResourceLoadStatisticsFirstParty and
1786         _WKResourceLoadStatisticsThirdParty classes without having
1787         to import the header files.
1788
1789         * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
1790         (TEST):
1791
1792 2019-12-13  Devin Rousso  <drousso@apple.com>
1793
1794         Prefix CSS selectors with all applicable CSS groupings when generating a ChangeLog
1795         https://bugs.webkit.org/show_bug.cgi?id=205196
1796
1797         Reviewed by Jonathan Bedard.
1798
1799         * Scripts/prepare-ChangeLog:
1800         (get_selector_line_ranges_for_css):
1801         * Scripts/webkitperl/prepare-ChangeLog_unittest/resources/css_unittests-expected.txt:
1802
1803 2019-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1804
1805         [GTK] Several tests crashing after r247898 "Reorganize UIScriptController into platform-specific subclasses"
1806         https://bugs.webkit.org/show_bug.cgi?id=200534
1807
1808         Reviewed by Alejandro G. Castro.
1809
1810         Add implementation of several UIScriptController virtual methods to avoid crashes.
1811
1812         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
1813         (WTR::PlatformWebView::~PlatformWebView):
1814         (WTR::PlatformWebView::addToWindow):
1815         (WTR::PlatformWebView::removeFromWindow):
1816         * WebKitTestRunner/gtk/UIScriptControllerGtk.cpp:
1817         (WTR::UIScriptControllerGtk::doAsyncTask):
1818         (WTR::UIScriptControllerGtk::setContinuousSpellCheckingEnabled):
1819         (WTR::UIScriptControllerGtk::copyText):
1820         (WTR::UIScriptControllerGtk::dismissMenu):
1821         (WTR::UIScriptControllerGtk::isShowingMenu const):
1822         (WTR::UIScriptControllerGtk::activateAtPoint):
1823         (WTR::UIScriptControllerGtk::activateDataListSuggestion):
1824         (WTR::UIScriptControllerGtk::simulateAccessibilitySettingsChangeNotification):
1825         (WTR::UIScriptControllerGtk::removeViewFromWindow):
1826         (WTR::UIScriptControllerGtk::addViewToWindow):
1827         * WebKitTestRunner/gtk/UIScriptControllerGtk.h:
1828
1829 2019-12-12  Simon Fraser  <simon.fraser@apple.com>
1830
1831         Move WKWebView code related to testing to new files, with new private "for testing" headers.
1832         https://bugs.webkit.org/show_bug.cgi?id=205021
1833
1834         Reviewed by Tim Horton.
1835         
1836         Move testing-only SPI to new private headers to discourage first parties from using
1837         them by mistake. Move test-only code to new files to reduce the size of WKWebView.mm.
1838
1839         * MiniBrowser/mac/WK2BrowserWindowController.m:
1840         * TestWebKitAPI/EditingTestHarness.mm:
1841         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerCrash.mm:
1842         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
1843         * TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
1844         * TestWebKitAPI/Tests/WebKitCocoa/DoubleDefersLoading.mm:
1845         * TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
1846         * TestWebKitAPI/Tests/WebKitCocoa/MediaBufferingPolicy.mm:
1847         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
1848         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
1849         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm:
1850         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1851         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1852         * TestWebKitAPI/Tests/WebKitCocoa/SnapshotStore.mm:
1853         * TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
1854         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
1855         * TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
1856         * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
1857         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1858         * TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
1859         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCandidateTests.mm:
1860         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
1861         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFirstResponderTests.mm:
1862         * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
1863         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
1864         * TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
1865         * TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:
1866         * TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
1867         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
1868         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
1869         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1870         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
1871         * WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
1872         * WebKitTestRunner/ios/TestControllerIOS.mm:
1873         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1874         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
1875
1876 2019-12-12  Jonathan Bedard  <jbedard@apple.com>
1877
1878         Python 3: Support serial webkitpy.common tests
1879         https://bugs.webkit.org/show_bug.cgi?id=205162
1880
1881         Reviewed by Stephanie Lewis.
1882
1883         * Scripts/webkitpy/common/system/executive.py:
1884         (Executive.running_pids): Processess are encoded as bytes.
1885         * Scripts/webkitpy/common/system/executive_unittest.py:
1886         (ExecutiveTest.serial_test_run_in_parallel): Use Python 3 compatible print statements.
1887
1888 2019-12-12  Fujii Hironori  <Hironori.Fujii@sony.com>
1889
1890         webkit-patch print-expectations fails to format TestExpectationLine with DumpJSConsoleLogInStdErr
1891         https://bugs.webkit.org/show_bug.cgi?id=194283
1892
1893         Reviewed by Youenn Fablet.
1894
1895         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
1896         (TestExpectationParser): Add DumpJSConsoleLogInStdErr to TestExpectationParser._expectation_tokens.
1897         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
1898         Added a tokenize test and round tip test for DumpJSConsoleLogInStdErr.
1899
1900 2019-12-12  Alex Christensen  <achristensen@webkit.org>
1901
1902         Don't assert in HTTPServer::respondToRequests when connections fail
1903         https://bugs.webkit.org/show_bug.cgi?id=205072
1904         <rdar://problem/57718266>
1905
1906         Reviewed by Alexey Proskuryakov.
1907
1908         We have records that this assertion is being hit, but it's probably when things are being torn down after the test passes.
1909         If someone actually has a connection failure that breaks a test, we'll notice elsewhere.
1910
1911         * TestWebKitAPI/cocoa/HTTPServer.mm:
1912         (TestWebKitAPI::HTTPServer::respondToRequests):
1913
1914 2019-12-12  Per Arne Vollan  <pvollan@apple.com>
1915
1916         [iOS] Deny mach lookup access to content filter service in the WebContent sandbox
1917         https://bugs.webkit.org/show_bug.cgi?id=205077
1918
1919         Reviewed by Brent Fulgham.
1920
1921         With this patch, the WebContentAnalysis framework will not be loaded in the WebContent process unless
1922         [WebFilterEvaluator isManagedSession] returns YES. Swizzle this method to return YES in the UI process.
1923
1924         * TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
1925         (isManagedSession):
1926         (TEST):
1927
1928 2019-12-12  Patrick Griffis  <pgriffis@igalia.com>
1929
1930         [SOUP] Use new API for strict secure cookies
1931         https://bugs.webkit.org/show_bug.cgi?id=169356
1932
1933         Reviewed by Michael Catanzaro.
1934
1935         Update libsoup to fix a secure cookie test
1936
1937         * gtk/jhbuild.modules:
1938         * wpe/jhbuild.modules:
1939
1940 2019-12-11  Jonathan Bedard  <jbedard@apple.com>
1941
1942         Python 3: Support serial ServerProcess tests
1943         https://bugs.webkit.org/show_bug.cgi?id=205146
1944
1945         Reviewed by Stephanie Lewis.
1946
1947         * Scripts/webkitpy/port/server_process.py:
1948         (ServerProcess.write): Flush stdin after writing to it.
1949         * Scripts/webkitpy/port/server_process_unittest.py:
1950         (TestServerProcess): print to stderr in Python 2/3 compatible way.
1951         (TestServerProcess.serial_test_basic): ServerProcess speaks in bytes.
1952         (TestServerProcess.serial_test_read_after_process_exits): Ditto.
1953         (TestServerProcess.serial_test_process_crashing): Ditto.
1954         (TestServerProcess.serial_test_process_crashing_no_data): Ditto.
1955
1956 2019-12-11  Daniel Bates  <dabates@apple.com>
1957
1958         UIWKDocumentContext returns 0 character rects when caret is at beginning or end of text
1959         https://bugs.webkit.org/show_bug.cgi?id=205135
1960         <rdar://problem/56887914>
1961
1962         Reviewed by Wenson Hsieh.
1963
1964         Add tests that request rects when the insertion point is at the beginning or end of the text.
1965
1966         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
1967         (TEST):
1968
1969 2019-12-11  Jiewen Tan  <jiewen_tan@apple.com>
1970
1971         [WebAuthn] Combine AuthenticatorResponse and PublicKeyCredentialData
1972         https://bugs.webkit.org/show_bug.cgi?id=190783
1973         <rdar://problem/57781183>
1974
1975         Reviewed by Brent Fulgham.
1976
1977         * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
1978         (TestWebKitAPI::TEST):
1979         Updates tests accordingly.
1980
1981 2019-12-11  Truitt Savell  <tsavell@apple.com>
1982
1983         Unreviewed, rolling out r253376.
1984
1985         Broke internal builds
1986
1987         Reverted changeset:
1988
1989         "Move WKWebView code related to testing to new files, with
1990         their own headers, and stop exposing test-only functions as
1991         SPI."
1992         https://bugs.webkit.org/show_bug.cgi?id=205021
1993         https://trac.webkit.org/changeset/253376
1994
1995 2019-12-11  Jonathan Bedard  <jbedard@apple.com>
1996
1997         Python 3: Add support in webkitpy.performance_tests
1998         https://bugs.webkit.org/show_bug.cgi?id=205122
1999
2000         Reviewed by Stephanie Lewis.
2001
2002         * Scripts/test-webkitpy-python3: Add webkitpy.performance_tests.
2003         * Scripts/webkitpy/performance_tests/perftest.py:
2004         (PerfTest.run): Use range over xrange.
2005         (PerfTest.log_statistics): Python 3 may use more precision than Python 2.
2006         (PerfTest._run_with_driver): Convert list to map.
2007         * Scripts/webkitpy/performance_tests/perftest_unittest.py:
2008         (TestPerfTest._assert_results_are_correct): Convert map to list.
2009         * Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
2010         (MainTest._test_run_with_json_output): Use range over xrange, convert keys to list.
2011         (MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):
2012         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
2013         (MainTest.test_collect_tests_with_multile_files): Use assertEqual over assertItemsEqual.
2014         (MainTest.test_collect_tests_with_skipped_list): Ditto.
2015         (MainTest.test_collect_tests_with_skipped_list_and_files): Ditto.
2016         (MainTest.test_collect_tests_with_ignored_skipped_list): Ditto.
2017
2018 2019-12-11  Jonathan Bedard  <jbedard@apple.com>
2019
2020         Python 3: Add support in webkitpy.w3c
2021         https://bugs.webkit.org/show_bug.cgi?id=205118
2022
2023         Reviewed by Stephanie Lewis.
2024
2025         * Scripts/test-webkitpy-python3: Add webkitpy.w3c.
2026         * Scripts/webkitpy/common/system/filesystem_mock.py:
2027         (MockFileSystem.open_binary_file_for_reading): Missing file should cause Filesystem exception.
2028         (MockFileSystem.read_binary_file): Ditto.
2029         (MockFileSystem.open_text_file_for_reading): Ditto.
2030         (MockFileSystem.remove): Ditto.
2031         * Scripts/webkitpy/w3c/test_converter.py:
2032         (convert_for_webkit): Convert binary file to text file.
2033         (_W3CTestConverter.read_webkit_prefixed_css_property_list): Use items over iteritems.
2034         * Scripts/webkitpy/w3c/test_converter_unittest.py:
2035         (verify_test_harness_paths): Use Python 3 compatible type check.
2036         * Scripts/webkitpy/w3c/test_downloader.py:
2037         (TestDownloader._init_paths_from_expectations): Use items over iteritems.
2038         * Scripts/webkitpy/w3c/test_importer.py:
2039         (TestImporter.readEnvironmentsForTemplateTest): Convert filter to list.
2040         * Scripts/webkitpy/w3c/wpt_github.py:
2041         (WPTGitHub.auth_token): Encode base64 input and decode base64 output.
2042         * Scripts/webkitpy/w3c/wpt_github_unittest.py:
2043         (WPTGitHubTest.test_auth_token):
2044
2045 2019-12-10  Simon Fraser  <simon.fraser@apple.com>
2046
2047         Move WKWebView code related to testing to new files, with their own headers, and stop exposing test-only functions as SPI.
2048         https://bugs.webkit.org/show_bug.cgi?id=205021
2049
2050         Reviewed by Tim Horton.
2051
2052         Stop exposing WKWebView (WKTesting) as SPI, because everyone added SPI here by mistake, and
2053         internal clients kept using testing SPI.
2054         
2055         Instead, move testing-only functions to internal headers that are not present in the built framework,
2056         and move to WKWebView (WKPrivate) properties and functions that webkit clients rely on.
2057         
2058         Add WKWebViewTesting/WKWebViewTestingMac/WKWebViewTestingIOS for test-only code.
2059         
2060         WKWebViewTesting* headers are copied to a "WebKitTestSupport" directory in the Products directory, and WTR/DRT and TestWebKitAPI
2061         get header search paths to find the headers there.
2062
2063         * MiniBrowser/Configurations/Base.xcconfig:
2064         * MiniBrowser/mac/WK2BrowserWindowController.m:
2065         * TestWebKitAPI/Configurations/Base.xcconfig:
2066         * TestWebKitAPI/EditingTestHarness.mm:
2067         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerCrash.mm:
2068         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
2069         * TestWebKitAPI/Tests/WebKitCocoa/DoubleDefersLoading.mm:
2070         * TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
2071         * TestWebKitAPI/Tests/WebKitCocoa/MediaBufferingPolicy.mm:
2072         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
2073         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
2074         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm:
2075         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2076         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2077         * TestWebKitAPI/Tests/WebKitCocoa/SnapshotStore.mm:
2078         * TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
2079         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2080         * TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
2081         * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
2082         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2083         * TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
2084         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCandidateTests.mm:
2085         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
2086         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFirstResponderTests.mm:
2087         * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
2088         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
2089         * TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
2090         * TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:
2091         * TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
2092         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
2093         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2094         * WebKitTestRunner/Configurations/Base.xcconfig:
2095         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2096         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
2097         * WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
2098         * WebKitTestRunner/ios/TestControllerIOS.mm:
2099         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2100         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
2101
2102 2019-12-11  Jonathan Bedard  <jbedard@apple.com>
2103
2104         Add test-lldb-webkit
2105         https://bugs.webkit.org/show_bug.cgi?id=187916
2106
2107         Reviewed by Stephanie Lewis.
2108
2109         * Scripts/test-lldb-webkit: Added.
2110         (NoAction): Argparse action which support --<variable> and --no-<variable>.
2111         (LldbTester): Wrapper around webkitpy's Tester class.
2112         (LldbTester.parse_args): Specialized argparse for lldb tests.
2113         (LldbTester.run): Setup environment and build lldb test runner.
2114         (main):
2115         * Scripts/webkitpy/test/main.py:
2116         (main): Remove lldb testing code.
2117         (Tester._parse_args): Ditto.
2118         (Tester.run): Ditto.
2119         (Tester._run_tests): Ditto.
2120         (Tester._test_names): Ditto.
2121         (_supports_building_and_running_lldb_tests): Deleted.
2122
2123 2019-12-10  Per Arne Vollan  <pvollan@apple.com>
2124
2125         Fix API test failure after r253351
2126         https://bugs.webkit.org/show_bug.cgi?id=205089
2127
2128         Reviewed by Brent Fulgham.
2129
2130         With the patch landed in r253351, the NetworkExtension framework will not be loaded in the WebContent process unless
2131         [NEFilterSource filterRequired] returns YES. Swizzle this method to return YES in the UI process.
2132
2133         * TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
2134         (filterRequired):
2135         (TEST):
2136
2137 2019-12-10  Chris Dumez  <cdumez@apple.com>
2138
2139         Gyroscope (DeviceMotion related) permission cannot be requested in WKWebView unless the client app sets a WKUIDelegate
2140         https://bugs.webkit.org/show_bug.cgi?id=203287
2141
2142         Reviewed by Alex Christensen.
2143
2144         Add layout test coverage.
2145
2146         * TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
2147         (runDeviceOrientationTest):
2148         (TEST):
2149
2150 2019-12-10  youenn fablet  <youenn@apple.com>
2151
2152         Mark some WPT test folders as DumpJSConsoleLogInStdErr
2153         https://bugs.webkit.org/show_bug.cgi?id=204793
2154
2155         Reviewed by Eric Carlson.
2156
2157         Make DTR and WTR set the default DumpJSConsoleLogInStdErr to true for some WPT sub-folders.
2158         This is easier done there instead of TestExpectations as TestExpectations can be overriden in more specific expectations. 
2159
2160         * DumpRenderTree/TestOptions.cpp:
2161         (pathContains):
2162         (shouldDumpJSConsoleLogInStdErr):
2163         (TestOptions::TestOptions):
2164         * WebKitTestRunner/TestController.cpp:
2165         (WTR::updateTestOptionsFromTestHeader):
2166         * WebKitTestRunner/TestOptions.cpp:
2167         (WTR::shouldDumpJSConsoleLogInStdErr):
2168         (WTR::TestOptions::TestOptions):
2169
2170 2019-12-10  youenn fablet  <youenn@apple.com>
2171
2172         Disable video capture in UIProcess for WebKitTestRunner
2173         https://bugs.webkit.org/show_bug.cgi?id=205054
2174
2175         Reviewed by Eric Carlson.
2176
2177         * WebKitTestRunner/TestOptions.h:
2178         Some tests are still flaky as noted in bug 205053 and this option is still experimental.
2179
2180 2019-12-09  Jonathan Bedard  <jbedard@apple.com>
2181
2182         test-webkitpy: Remove --<configuration> flags from CI
2183         https://bugs.webkit.org/show_bug.cgi?id=205016
2184
2185         Reviewed by Stephanie Lewis.
2186
2187         * BuildSlaveSupport/build.webkit.org-config/steps.py:
2188         (RunPythonTests): Remove --debug/--release flags to test-webkitpy.
2189
2190 2019-12-09  Alex Christensen  <achristensen@webkit.org>
2191
2192         Re-disable TLS1.0 and TLS1.1 by default
2193         https://bugs.webkit.org/show_bug.cgi?id=204922
2194         <rdar://problem/57677752>
2195
2196         Reviewed by Youenn Fablet.
2197
2198         * TestWebKitAPI/TCPServer.cpp:
2199         (TestWebKitAPI::TCPServer::respondWithOK):
2200         * TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
2201         (TestWebKitAPI::TEST):
2202         (TestWebKitAPI::getWebSocketEventWebKitLegacy):
2203
2204 2019-12-09  youenn fablet  <youenn@apple.com>
2205
2206         Add an option to capture audio in GPU process
2207         https://bugs.webkit.org/show_bug.cgi?id=205007
2208
2209         Reviewed by Eric Carlson.
2210
2211         * WebKitTestRunner/TestController.cpp:
2212         (WTR::TestController::resetPreferencesToConsistentValues):
2213         (WTR::updateTestOptionsFromTestHeader):
2214         * WebKitTestRunner/TestOptions.h:
2215         (WTR::TestOptions::hasSameInitializationOptions const):
2216
2217 2019-12-08  Tim Horton  <timothy_horton@apple.com>
2218
2219         REGRESSION: Crash under UIScriptControllerIOS::simulateAccessibilitySettingsChangeNotification
2220         https://bugs.webkit.org/show_bug.cgi?id=205002
2221
2222         Reviewed by Wenson Hsieh.
2223
2224         Keep a strong reference to the UIScriptController while running async tasks.
2225         UIScriptContext will be nulled out if the view was torn down, but this way
2226         we keep the UIScriptController itself and can find the null UIScriptContext
2227         reliably.
2228
2229         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
2230         (WTR::UIScriptControllerIOS::doAsyncTask):
2231         (WTR::UIScriptControllerIOS::zoomToScale):
2232         * DumpRenderTree/mac/UIScriptControllerMac.mm:
2233         (WTR::UIScriptControllerMac::doAsyncTask):
2234         (WTR::UIScriptControllerMac::activateDataListSuggestion):
2235         (WTR::UIScriptControllerMac::removeViewFromWindow):
2236         (WTR::UIScriptControllerMac::addViewToWindow):
2237         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2238         (WTR::UIScriptControllerIOS::doAfterPresentationUpdate):
2239         (WTR::UIScriptControllerIOS::doAfterNextStablePresentationUpdate):
2240         (WTR::UIScriptControllerIOS::ensurePositionInformationIsUpToDateAt):
2241         (WTR::UIScriptControllerIOS::doAfterVisibleContentRectUpdate):
2242         (WTR::UIScriptControllerIOS::zoomToScale):
2243         (WTR::UIScriptControllerIOS::retrieveSpeakSelectionContent):
2244         (WTR::UIScriptControllerIOS::simulateAccessibilitySettingsChangeNotification):
2245         (WTR::UIScriptControllerIOS::touchDownAtPoint):
2246         (WTR::UIScriptControllerIOS::liftUpAtPoint):
2247         (WTR::UIScriptControllerIOS::twoFingerSingleTapAtPoint):
2248         (WTR::UIScriptControllerIOS::doubleTapAtPoint):
2249         (WTR::UIScriptControllerIOS::stylusDownAtPoint):
2250         (WTR::UIScriptControllerIOS::stylusMoveToPoint):
2251         (WTR::UIScriptControllerIOS::stylusUpAtPoint):
2252         (WTR::UIScriptControllerIOS::stylusTapAtPointWithModifiers):
2253         (WTR::UIScriptControllerIOS::dragFromPointToPoint):
2254         (WTR::UIScriptControllerIOS::longPressAtPoint):
2255         (WTR::UIScriptControllerIOS::typeCharacterUsingHardwareKeyboard):
2256         (WTR::UIScriptControllerIOS::dismissFilePicker):
2257         (WTR::UIScriptControllerIOS::applyAutocorrection):
2258         (WTR::UIScriptControllerIOS::simulateRotation):
2259         (WTR::UIScriptControllerIOS::simulateRotationLikeSafari):
2260         (WTR::UIScriptControllerIOS::setDidStartFormControlInteractionCallback):
2261         (WTR::UIScriptControllerIOS::setDidEndFormControlInteractionCallback):
2262         (WTR::UIScriptControllerIOS::setDidShowContextMenuCallback):
2263         (WTR::UIScriptControllerIOS::setDidDismissContextMenuCallback):
2264         (WTR::UIScriptControllerIOS::setWillBeginZoomingCallback):
2265         (WTR::UIScriptControllerIOS::setDidEndZoomingCallback):
2266         (WTR::UIScriptControllerIOS::setDidShowKeyboardCallback):
2267         (WTR::UIScriptControllerIOS::setDidHideKeyboardCallback):
2268         (WTR::UIScriptControllerIOS::setWillPresentPopoverCallback):
2269         (WTR::UIScriptControllerIOS::setDidDismissPopoverCallback):
2270         (WTR::UIScriptControllerIOS::setDidEndScrollingCallback):
2271         (WTR::UIScriptControllerIOS::activateDataListSuggestion):
2272         (WTR::UIScriptControllerIOS::doAfterDoubleTapDelay):
2273         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
2274         (WTR::UIScriptControllerMac::zoomToScale):
2275         (WTR::UIScriptControllerMac::simulateAccessibilitySettingsChangeNotification):
2276         (WTR::UIScriptControllerMac::chooseMenuAction):
2277         (WTR::UIScriptControllerMac::activateAtPoint):
2278
2279 2019-12-07  Said Abou-Hallawa  <sabouhallawa@apple.com>
2280
2281         Make ColorSpace an enum class
2282         https://bugs.webkit.org/show_bug.cgi?id=204970
2283
2284         Reviewed by Sam Weinig.
2285
2286         * TestWebKitAPI/Tests/WebCore/ExtendedColor.cpp:
2287         (TestWebKitAPI::TEST):
2288         (TestWebKitAPI::makeColor):
2289
2290 2019-12-06  Jonathan Bedard  <jbedard@apple.com>
2291
2292         Python 3: Add support in webkitpy.tool (Follow-up, part 2)
2293         https://bugs.webkit.org/show_bug.cgi?id=204838
2294
2295         Unreviewed follow-up fix.
2296
2297         * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
2298
2299 2019-12-06  Jonathan Bedard  <jbedard@apple.com>
2300
2301         Python 3: Add support in webkitpy.tool (Follow-up, part 1)
2302         https://bugs.webkit.org/show_bug.cgi?id=204838
2303
2304         Reviewed by Stephanie Lewis.
2305
2306         As I've been using webkit-patch with Python 3, I've encountered a handful of other
2307         compatibility bugs.
2308
2309         * Scripts/webkit-patch:
2310         (ForgivingUTF8Writer): Only apple the ForgivingUTF8Writer when our string type isn't unicode.
2311         (ForgivingUTF8Writer.write): Use standardized decoding functions.
2312         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
2313         (Bugzilla.authenticate): Use byte regex.
2314         * Scripts/webkitpy/tool/steps/editchangelog.py:
2315         (EditChangeLog.run): Convert map to list.
2316
2317 2019-12-06  Jonathan Bedard  <jbedard@apple.com>
2318
2319         Python 3: Add support in webkitpy.test
2320         https://bugs.webkit.org/show_bug.cgi?id=204952
2321
2322         Reviewed by Stephanie Lewis.
2323
2324         * Scripts/test-webkitpy-python3: Add webkitpy.tool.
2325         * Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py: Use Python 2/3
2326         compatible StringIO objects.
2327         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Ditto.
2328         * Scripts/webkitpy/performance_tests/perftest_unittest.py: Ditto.
2329         * Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py: Ditto.
2330         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: Ditto.
2331         * Scripts/webkitpy/test/finder.py:
2332         (Finder._exclude): Convert filter to list.
2333         * Scripts/webkitpy/test/main.py:
2334         (Tester._log_exception): Use Python 2/3 compatible StringIO object.
2335         (_Loader.getTestCaseNames): Convert filter to list.
2336         * Scripts/webkitpy/test/main_unittest.py:
2337         (TesterTest.test_no_tests_found): Use Python 2/3 compatible StringIO.
2338         (TesterTest.test_integration_tests_are_found): Sort serial tests before comparing.
2339         * Scripts/webkitpy/test/printer.py: Use Python 2/3 compatible StringIO.
2340         * Scripts/webkitpy/test/runner_unittest.py: Ditto.
2341         * Scripts/webkitpy/test/skip.py:
2342         (_skipped_method._skip): Fix class inspection on instance method.
2343         * Scripts/webkitpy/test/skip_unittest.py: Use Python 2/3 compatible StringIO.
2344         * Scripts/webkitpy/w3c/test_converter.py: Use Python 2/3 compatible HTMLParser.
2345         * Scripts/webkitpy/w3c/wpt_runner.py:
2346         (main): Fix Python 3 syntax errors.
2347         * lldb/dump_class_layout_unittest.py:
2348         (TestDumpClassLayout.setUpClass): Fix Python 3 syntax errors.
2349
2350 2019-12-05  Jonathan Bedard  <jbedard@apple.com>
2351
2352         Python 3: Add support to webkitpy.browserperfdash
2353         https://bugs.webkit.org/show_bug.cgi?id=204887
2354
2355         Reviewed by Stephanie Lewis.
2356
2357         * Scripts/test-webkitpy-python3: Add webkitpy.browserperfdash.
2358         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py: Remove urlparse dependency.
2359         * Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py: Use explicit import.
2360         * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
2361         (WebServerBenchmarkRunner._run_one_test): Use Python 2/3 compatible urljoin.
2362
2363 2019-12-05  Sihui Liu  <sihui_liu@apple.com>
2364
2365         Fix a Typo in IndexedDBInPageCache.html
2366         https://bugs.webkit.org/show_bug.cgi?id=204897
2367
2368         Reviewed by Chris Dumez.
2369
2370         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBInPageCache.html:
2371
2372 2019-12-05  youenn fablet  <youenn@apple.com>
2373
2374         inspector/page/overrideSetting-MockCaptureDevicesEnabled.html is failing after removal of internals.setMockMediaCaptureDevicesEnabled API
2375         https://bugs.webkit.org/show_bug.cgi?id=204849
2376
2377         Reviewed by Eric Carlson.
2378
2379         Add test runner API to check which center (mock or not) is used in UIProcess side.
2380
2381         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2382         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2383         (WTR::TestRunner::isMockRealtimeMediaSourceCenterEnabled):
2384         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2385         * WebKitTestRunner/TestController.cpp:
2386         (WTR::TestController::isMockRealtimeMediaSourceCenterEnabled const):
2387         * WebKitTestRunner/TestController.h:
2388         * WebKitTestRunner/TestInvocation.cpp:
2389         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2390
2391 2019-12-05  Zalan Bujtas  <zalan@apple.com>
2392
2393         [LFC][IFC] Move trailing trimming logic to LineBuilder::TrimmableContent
2394         https://bugs.webkit.org/show_bug.cgi?id=204872
2395         <rdar://problem/57652365>
2396
2397         Reviewed by Antti Koivisto.
2398
2399         * LayoutReloaded/misc/LFC-passing-tests.txt:
2400
2401 2019-12-04  Fujii Hironori  <Hironori.Fujii@sony.com>
2402
2403         run-javascriptcore-tests is failing to run testmasm of 64bit AppleWin on Buildbot
2404         https://bugs.webkit.org/show_bug.cgi?id=204869
2405
2406         Reviewed by Per Arne Vollan.
2407
2408         testmasm is compiled only when DEVELOPER_MODE.
2409         Enable DEVELOPER_MODE for all 64bit Windows builds.
2410
2411         * Scripts/webkitdirs.pm:
2412         (generateBuildSystemFromCMakeProject): Replaced "isFTW() || isWinCairo()" with isWin64()
2413         in the condition of enabling DEVELOPER_MODE.
2414
2415 2019-12-04  Jonathan Bedard  <jbedard@apple.com>
2416
2417         results.webkit.org: Decrease ttl for archives
2418         https://bugs.webkit.org/show_bug.cgi?id=204806
2419         <rdar://problem/57527644>
2420
2421         Unreviewed infrastructure fix.
2422
2423         * resultsdbpy/resultsdbpy/controller/archive_controller_unittest.py:
2424         (ArchiveControllerUnittest.setup_webserver): Disable time-to-live.
2425         * resultsdbpy/resultsdbpy/model/mock_model_factory.py:
2426         (MockModelFactory.create): Ensure time-to-live is longer than the oldest commit.
2427
2428 2019-12-04  Jonathan Bedard  <jbedard@apple.com>
2429
2430         results.webkit.org: Handle duplicate archives
2431         https://bugs.webkit.org/show_bug.cgi?id=204860
2432
2433         Reviewed by Stephanie Lewis.
2434
2435         * resultsdbpy/resultsdbpy/controller/archive_controller.py:
2436         (ArchiveController): Pass test time to ArchiveContext, de-duplicate any
2437         identical archives.
2438         * resultsdbpy/resultsdbpy/model/archive_context.py:
2439         (ArchiveContext): Only upack identical archives once, pass digest to caller.
2440
2441 2019-12-04  Jonathan Bedard  <jbedard@apple.com>
2442
2443         Python 3: Add support in webkitpy.benchmark_runner
2444         https://bugs.webkit.org/show_bug.cgi?id=204784
2445
2446         Reviewed by Stephanie Lewis.
2447
2448         * Scripts/test-webkitpy-python3: Add webkitpy.benchmark_runner.
2449         * Scripts/webkitpy/benchmark_runner/benchmark_results.py:
2450         (BenchmarkResults): Arithmetic aggregator should use integer division.
2451         (BenchmarkResults._format_values): Convert map to list.
2452         (BenchmarkResults._aggregate_results): Ditto.
2453         (BenchmarkResults._aggregate_results_for_test): Use Python 2/3 compatible iteritems.
2454         (BenchmarkResults._subtest_values_by_config_iteration): Ditto.
2455         (BenchmarkResults._lint_subtest_results): Ditto.
2456         (BenchmarkResults._lint_configuration): Ditto.
2457         * Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py: Use explicit imports.
2458         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py: Ditto.
2459         * Scripts/webkitpy/benchmark_runner/browser_driver/__init__.py: Ditto.
2460         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py: Ditto.
2461         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py: Ditto.
2462         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_cog_driver.py: Ditto.
2463         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_epiphany_driver.py: Ditto.
2464         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py: Ditto.
2465         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowsergtk_driver.py: Ditto.
2466         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowserwpe_driver.py: Ditto.
2467         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py: Ditto.
2468         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: Ditto.
2469         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py: Ditto.
2470         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: Ditto.
2471         * Scripts/webkitpy/benchmark_runner/http_server_driver/__init__.py: Ditto.
2472         * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: Ditto.
2473         * Scripts/webkitpy/benchmark_runner/run_benchmark.py: Ditto.
2474         * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py: Ditto.
2475
2476 2019-12-04  Jonathan Bedard  <jbedard@apple.com>
2477
2478         Python 3: Add support in webkitpy.tool
2479         https://bugs.webkit.org/show_bug.cgi?id=204838
2480
2481         Reviewed by Stephanie Lewis.
2482
2483         * Scripts/test-webkitpy-python3: Add webkitpy.tool.
2484         * Scripts/webkit-patch: Remove version check.
2485         * Scripts/webkitpy/common/net/bugzilla/bug.py:
2486         (Bug.reviewed_patches): Convert filter to list.
2487         (Bug.commit_queued_patches): Ditto.
2488         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
2489         (MockBugzillaQueries.fetch_bug_ids_from_commit_queue): Convert map to list.
2490         (MockBugzillaQueries.fetch_attachment_ids_from_review_queue): Ditto.
2491         (MockBugzillaQueries.fetch_bug_ids_from_pending_commit_list): Ditto.
2492         (MockBugzilla.post_comment_to_bug): Sort cc list before printing.
2493         * Scripts/webkitpy/common/net/statusserver.py:
2494         (StatusServer.set_api_key): Convert filter to list.
2495         * Scripts/webkitpy/common/net/web.py:
2496         (Web.get_binary): Use Python 2/3 compatible urlopen.
2497         (Web.request): Use Python 2/3 compatible Request.
2498         * Scripts/webkitpy/common/prettypatch.py:
2499         (PrettyPatch.pretty_diff_file): Encode diff before printing.
2500         * Scripts/webkitpy/common/system/executive_mock.py:
2501         (MockExecutive.run_and_throw_if_fail): Sort environment before printing.
2502         (MockExecutive.run_command): Convert input to string before printing.
2503         * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:
2504         (FailingTestCommitQueue.test_results): Convert map to list.
2505         (MockSimpleTestPlanCommitQueue.test_results): Ditto.
2506         * Scripts/webkitpy/tool/bot/feeders.py:
2507         (CommitQueueFeeder.feed): Use Python 2/3 compatible sort.
2508         (CommitQueueFeeder._patch_cmp): Deleted.
2509         * Scripts/webkitpy/tool/bot/flakytestreporter.py:
2510         (FlakyTestReporter._lookup_bug_for_flaky_test): Convert filter to list.
2511         * Scripts/webkitpy/tool/bot/irc_command.py:
2512         (Whois.execute): Convert map to list.
2513         * Scripts/webkitpy/tool/bot/retrylogic_unittest.py:
2514         (JSCEarlyWarningSystemTest._create_task): Convert map to list.
2515         * Scripts/webkitpy/tool/bot/sheriff.py:
2516         * Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py: Use sorted lists
2517         Instead of sets.
2518         * Scripts/webkitpy/tool/commands/download.py:
2519         (AbstractPatchSequencingCommand.__init__): Use Python 2/3 compatible sort.
2520         * Scripts/webkitpy/tool/commands/download_unittest.py: Sort environment.
2521         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
2522         (AbstractEarlyWarningSystem.load_ews_classes): str.translate differs between Python 2
2523         and Python 3.
2524         * Scripts/webkitpy/tool/commands/newcommitbot.py:
2525         (NewCommitBot._summarize_commit_log): Convert filter to list.
2526         * Scripts/webkitpy/tool/commands/queues.py:
2527         (AbstractQueue.should_continue_work_queue): Handle case where iterations is a MagicMock.
2528         (AbstractQueue._log_from_script_error_for_upload): Explicitly use BytesIO
2529         * Scripts/webkitpy/tool/commands/queues_unittest.py: Use explicit import paths.
2530         * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: Sort lists before comparing them.
2531         * Scripts/webkitpy/tool/commands/stepsequence.py:
2532         (StepSequence.options): Use Python 2/3 compatible sort.
2533         * Scripts/webkitpy/tool/commands/suggestnominations.py:
2534         (AbstractCommitLogCommand.__init__): Use Python 2/3 compatible sort.
2535         (SuggestNominations._print_nominations): Ditto.
2536         (SuggestNominations._print_counts): Ditto.
2537         (SuggestNominations._print_nominations.nomination_cmp): Deleted.
2538         (SuggestNominations._print_counts.counter_cmp): Deleted.
2539         * Scripts/webkitpy/tool/mocktool_unittest.py: Use explicit import paths.
2540         * Scripts/webkitpy/tool/multicommandtool.py:
2541         (HelpCommand._help_epilog): Convert filter to list, use Python 2/3 compatible sort.
2542         (MultiCommandTool._find_all_commands): Use Python 2/3 compatible sort.
2543         * Scripts/webkitpy/tool/servers/gardeningserver.py:
2544         (GardeningHTTPServer): Use Python 2/3 compatible HTTPServers.
2545         * Scripts/webkitpy/tool/servers/rebaselineserver.py:
2546         (get_test_baselines.AllPlatformsPort.baseline_search_path): Use list instead of utterable keys.
2547         (RebaselineHTTPServer): Use Python 2/3 compatible HTTPServers.
2548         (RebaselineHTTPServer.__init__): Ditto.
2549         * Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:
2550         (GetActualResultFilesTest.test): Use assertEqual instead of assertItemsEqual.
2551         * Scripts/webkitpy/tool/servers/reflectionhandler.py:
2552         (ReflectionHandler): Use Python 2/3 compatible HTTPServers.
2553         * Scripts/webkitpy/tool/steps/applywatchlist.py:
2554         (ApplyWatchList.run): Sort cc_emails before printing.
2555         * Scripts/webkitpy/tool/steps/applywatchlist_unittest.py: Print sorted list instead
2556         of set.
2557         * Scripts/webkitpy/tool/steps/confirmdiff.py:
2558         (ConfirmDiff._show_pretty_diff): Use Python 2/3 compatible pathname2url.
2559         * Scripts/webkitpy/tool/steps/haslanded.py:
2560         (HasLanded.convert_to_svn): Use Python 2/3 compatible StringIO.
2561         (HasLanded.strip_change_log): Ditto.
2562         * Scripts/webkitpy/tool/steps/preparechangelog.py:
2563         (PrepareChangeLog._resolve_existing_entry): Convert zip object to list.
2564         * Scripts/webkitpy/tool/steps/promptforbugortitle.py: Use Python 2/3 compatible urlparse.
2565         * Scripts/webkitpy/tool/steps/steps_unittest.py: Sort environment.
2566         * Scripts/webkitpy/w3c/test_exporter.py: Use Python 2/3 compatible HTTPError.
2567         * Scripts/webkitpy/w3c/wpt_github.py:
2568         (WPTGitHub.remove_label): Use Python 2/3 compatible urllib.quote.
2569         (WPTGitHub.is_pr_merged): Use Python 2/3 compatible HTTPError.
2570         (WPTGitHub.merge_pr): Ditto.
2571         (JSONResponse.__init__):
2572
2573 2019-12-04  Jonathan Bedard  <jbedard@apple.com>
2574
2575         Unreviewed, rolling out r253069.
2576
2577         requests not handling certificate chain correctly in Catalina
2578
2579         Reverted changeset:
2580
2581         "results.webkit.org: Sort out certificates on Catalina"
2582         https://bugs.webkit.org/show_bug.cgi?id=202837
2583         https://trac.webkit.org/changeset/253069
2584
2585 2019-12-04  Louie Livon-Bemel  <llivonbemel@apple.com>
2586
2587         Add exclusion rule for text manipulation SPI to exclude based on element class
2588         https://bugs.webkit.org/show_bug.cgi?id=204754
2589         <rdar://problem/57398802>
2590
2591         Reviewed by Ryosuke Niwa.
2592
2593         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2594         (TestWebKitAPI::TEST):
2595             - When matching a class, it should work even with other class names on the element.
2596             - All children elements should get the same exclusion rule, unless overridden by another rule.
2597
2598 2019-12-04  youenn fablet  <youenn@apple.com>
2599
2600         WebProcessPool::terminateServiceWorkerProcess should be renamed terminateServiceWorkers
2601         https://bugs.webkit.org/show_bug.cgi?id=204792
2602
2603         Reviewed by Chris Dumez.
2604
2605         Renaming testRunner API from terminateServiceWorkerProcess to terminateServiceWorkers.
2606
2607         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2608         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2609         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2610         (WTR::TestRunner::terminateServiceWorkers):
2611         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2612         * WebKitTestRunner/TestController.cpp:
2613         (WTR::TestController::terminateServiceWorkers):
2614         * WebKitTestRunner/TestController.h:
2615         * WebKitTestRunner/TestInvocation.cpp:
2616         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2617
2618 2019-12-04  Patrick Griffis  <pgriffis@igalia.com>
2619
2620         [GTK][WPE] Add libuuid to install-dependencies
2621         https://bugs.webkit.org/show_bug.cgi?id=204705
2622
2623         Reviewed by Adrian Perez de Castro.
2624
2625         * gtk/install-dependencies:
2626         * wpe/install-dependencies:
2627
2628 2019-12-04  Tim Horton  <timothy_horton@apple.com>
2629
2630         Introduce a GPU process
2631         https://bugs.webkit.org/show_bug.cgi?id=204343
2632
2633         Reviewed by Simon Fraser.
2634
2635         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2636
2637 2019-12-03  Megan Gardner  <megan_gardner@apple.com>
2638
2639         Add disabled highlight API skeleton
2640         https://bugs.webkit.org/show_bug.cgi?id=204809
2641
2642         Reviewed by Ryosuke Niwa.
2643
2644         * DumpRenderTree/mac/DumpRenderTree.mm:
2645         (enableExperimentalFeatures):
2646         * WebKitTestRunner/TestController.cpp:
2647         (WTR::TestController::resetPreferencesToConsistentValues):
2648
2649 2019-12-03  Ryosuke Niwa  <rniwa@webkit.org>
2650
2651         Replace customJavaScriptUserAgentAsSiteSpecificQuirks with customUserAgentAsSiteSpecificQuirks
2652         https://bugs.webkit.org/show_bug.cgi?id=204824
2653
2654         Reviewed by Brent Fulgham.
2655
2656         Replaced WebKit.WebsitePoliciesCustomJavaScriptUserAgent and WebKit.WebsitePoliciesCustomUserAgents
2657         with WebKit.WebsitePoliciesCustomUserAgentAsSiteSpecificQuirksDisabled, which tests that the UA string
2658         specified by customUserAgentAsSiteSpecificQuirks is not used when site specific quirks is disabled,
2659         and WebKit.WebsitePoliciesCustomUserAgentAsSiteSpecificQuirks, which tests that new property sets
2660         UA string for both network requests and JS API.
2661
2662         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2663         (-[CustomJavaScriptUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
2664
2665 2019-12-03  Andres Gonzalez  <andresg_22@apple.com>
2666
2667         Focus tracking support in the accessibility isolatedtree.
2668         https://bugs.webkit.org/show_bug.cgi?id=204535
2669
2670         Reviewed by Chris Fleizach.
2671
2672         FocusElement can run on the secondary AXThread.
2673
2674         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
2675         (WTR::AccessibilityController::focusedElement):
2676
2677 2019-12-03  John Wilander  <wilander@apple.com>
2678
2679         Resource Load Statistics (experimental): Delete non-cookie website data after 7 days of no user interaction
2680         https://bugs.webkit.org/show_bug.cgi?id=204779
2681         <rdar://problem/57578989>
2682
2683         Reviewed by Alex Christensen.
2684
2685         These changes are test infrastructure so that TestRunner can
2686         control the new setting.
2687
2688         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2689         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2690         (WTR::InjectedBundle::didReceiveMessageToPage):
2691         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2692         (WTR::TestRunner::setStatisticsFirstPartyWebsiteDataRemovalMode):
2693         (WTR::TestRunner::statisticsCallDidSetFirstPartyWebsiteDataRemovalModeCallback):
2694         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2695         * WebKitTestRunner/TestController.cpp:
2696         (WTR::TestController::setStatisticsFirstPartyWebsiteDataRemovalMode):
2697         * WebKitTestRunner/TestController.h:
2698         * WebKitTestRunner/TestInvocation.cpp:
2699         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2700         (WTR::TestInvocation::didSetFirstPartyWebsiteDataRemovalMode):
2701         * WebKitTestRunner/TestInvocation.h:
2702
2703 2019-12-03  Jonathan Bedard  <jbedard@apple.com>
2704
2705         Python 3: Add support in webkitpy.bindings
2706         https://bugs.webkit.org/show_bug.cgi?id=204783
2707
2708         Reviewed by Stephanie Lewis.
2709
2710         Allow Tools/Scripts/run-bindings-tests to support Python 3.
2711
2712         * Scripts/webkitpy/bindings/main.py:
2713         (BindingsTests.generate_supplemental_dependency): Encode unicode strings before
2714         writing to file as bytes.
2715
2716 2019-12-03  Jonathan Bedard  <jbedard@apple.com>
2717
2718         results.webkit.org: Sort out certificates on Catalina
2719         https://bugs.webkit.org/show_bug.cgi?id=202837
2720
2721         Unreviewed infrastructure repair.
2722
2723         Reverting the active parts of r250997 now that the certificates are sorted out.
2724
2725         * Scripts/webkitpy/results/upload.py:
2726         (Upload.upload):
2727         (Upload.upload_archive):
2728
2729 2019-12-03  Jonathan Bedard  <jbedard@apple.com>
2730
2731         results.webkit.org: Decrease ttl for archives
2732         https://bugs.webkit.org/show_bug.cgi?id=204806
2733         <rdar://problem/57527644>
2734
2735         Reviewed by Aakash Jain.
2736
2737         Make the ttl on the archive tables shorter, drop the existing table and create new ones
2738         with a shorter ttl.
2739
2740         * resultsdbpy/resultsdbpy/model/archive_context.py:
2741         (ArchiveContext.ArchiveMetaDataByCommit): Define new ArchiveMetaDataByCommit table.
2742         (ArchiveContext.ArchiveChunks): Ditto.
2743         * resultsdbpy/resultsdbpy/model/model.py:
2744         (Model.__init__): Add archive ttl, 8 weeks by default.
2745
2746 2019-12-03  Christopher Reid  <chris.reid@sony.com>
2747
2748         Regular expression hangs in Safari only
2749         https://bugs.webkit.org/show_bug.cgi?id=202882
2750         <rdar://problem/56236654>
2751
2752         Reviewed by Yusuke Suzuki.
2753
2754         * TestWebKitAPI/CMakeLists.txt:
2755         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2756         * TestWebKitAPI/Tests/WTF/BumpPointerAllocator.cpp: Added.
2757
2758 2019-12-03  Jonathan Bedard  <jbedard@apple.com>
2759
2760         https://bugs.webkit.org/show_bug.cgi?id=204804
2761         <rdar://problem/57595666>
2762
2763         Reviewed by Tim Horton.
2764
2765         * Scripts/webkitpy/port/mac.py:
2766         (MacCatalystPort):
2767         (MacCatalystPort._build_driver_flags): Add SDKVARIANT=iosmac to build flags.
2768
2769 2019-12-03  Antoine Quint  <graouts@apple.com>
2770
2771         [Web Animations] Add a runtime flag for Web Animations composite operations
2772         https://bugs.webkit.org/show_bug.cgi?id=204718
2773
2774         Reviewed by Dean Jackson.
2775
2776         * DumpRenderTree/mac/DumpRenderTree.mm:
2777         (enableExperimentalFeatures):
2778         * DumpRenderTree/win/DumpRenderTree.cpp:
2779         (enableExperimentalFeatures):
2780
2781 2019-12-03  Aakash Jain  <aakash_jain@apple.com>
2782
2783         Do not retry the EWS build due to flaky failures in layout-test
2784         https://bugs.webkit.org/show_bug.cgi?id=204769
2785
2786         Reviewed by Jonathan Bedard.
2787
2788         * BuildSlaveSupport/ews-build/steps.py:
2789         (AnalyzeLayoutTestsResults.start): Do not retry the build due to flaky tests failures.
2790         * BuildSlaveSupport/ews-build/steps_unittest.py:
2791         (test_flaky_and_inconsistent_failures_without_clean_tree_failures): expected outcome changed from RETRY to SUCCESS.
2792         (test_flaky_and_inconsistent_failures_with_clean_tree_failures): Ditto.
2793         (test_flaky_and_consistent_failures_with_clean_tree_failures): Ditto.
2794         (test_mildly_flaky_patch_with_some_tree_redness_and_flakiness): Ditto.
2795
2796 2019-12-03  youenn fablet  <youenn@apple.com>
2797
2798         Add support for camera rotation when capturing in UIProcess
2799         https://bugs.webkit.org/show_bug.cgi?id=204750
2800
2801         Reviewed by Eric Carlson.
2802
2803         Add test runner API to set the device rotation specifically for mock camera devices.
2804
2805         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2806         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2807         (WTR::TestRunner::setMockCameraOrientation):
2808         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2809         * WebKitTestRunner/TestController.cpp:
2810         (WTR::TestController::setMockCameraOrientation):
2811         * WebKitTestRunner/TestController.h:
2812         * WebKitTestRunner/TestInvocation.cpp:
2813         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2814
2815 2019-12-03  youenn fablet  <youenn@apple.com>
2816
2817         Expose WKWebView API to stop ongoing capture
2818         https://bugs.webkit.org/show_bug.cgi?id=204787
2819
2820         Reviewed by Eric Carlson.
2821
2822         * TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
2823         (TestWebKitAPI::TEST):
2824         * TestWebKitAPI/Tests/WebKit/getUserMedia.html:
2825
2826 2019-12-03  youenn fablet  <youenn@apple.com>
2827
2828         [Cocoa] Run camera capture in UIProcess by default in layout tests
2829         https://bugs.webkit.org/show_bug.cgi?id=204512
2830
2831         Reviewed by Eric Carlson.
2832
2833         By defaut, enable capture in UIProcess on Cocoa side.
2834
2835         * WebKitTestRunner/TestController.cpp:
2836         (WTR::TestController::resetPreferencesToConsistentValues):
2837         (WTR::updateTestOptionsFromTestHeader):
2838         * WebKitTestRunner/TestOptions.h:
2839         (WTR::TestOptions::hasSameInitializationOptions const):
2840
2841 2019-12-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2842
2843         Unreviewed. Focus the location bar on CTRL+l in GTK MiniBrowser
2844
2845         * MiniBrowser/gtk/BrowserWindow.c:
2846         (focusLocationBar):
2847         (browser_window_init):
2848
2849 2019-12-02  Sihui Liu  <sihui_liu@apple.com>
2850
2851         Cross-thread version StorageQuotaManager
2852         https://bugs.webkit.org/show_bug.cgi?id=203971
2853         <rdar://problem/57290349>
2854
2855         Reviewed by Chris Dumez.
2856
2857         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2858         * TestWebKitAPI/Tests/WebCore/StorageQuotaManager.cpp: Removed as we have a different StorageQuotaManager 
2859         implementation now.
2860         * WebKitTestRunner/TestController.cpp: reset StorageQuotaManager's quota between tests.
2861         (WTR::TestController::resetStateToConsistentValues):
2862         (WTR::TestController::resetQuota):
2863         * WebKitTestRunner/TestController.h:
2864
2865 2019-12-02  Saam Barati  <sbarati@apple.com>
2866
2867         run-jsc should exit with the same signal or exit status that the `jsc` shell does
2868         https://bugs.webkit.org/show_bug.cgi?id=204778
2869
2870         Reviewed by Keith Miller.
2871
2872         * Scripts/run-jsc:
2873
2874 2019-12-02  Aakash Jain  <aakash_jain@apple.com>
2875
2876         Revert - [EWS] Do not retry layout-tests build if the flaky test failures are also present in clean tree run
2877         https://bugs.webkit.org/show_bug.cgi?id=204704
2878
2879         Reverting this, a more generic fix for handling flakiness would be made in Bug 204769.
2880
2881 2019-12-02  Louie Livon-Bemel  <llivonbemel@apple.com>
2882
2883         Add helper methods for description and equality to text manipulation SPI
2884         https://bugs.webkit.org/show_bug.cgi?id=204758
2885         <rdar://problem/57438200>
2886
2887         Reviewed by Wenson Hsieh.
2888
2889         Add tests for the new methods. Most are equality tests for various situations, and are moved over from the
2890         Safari unit tests I had for the category methods that had the same purpose.
2891
2892         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
2893         (TestWebKitAPI::TEST):
2894             - Add test to make sure the content isn't included in the regular -description, but the identifier is. And
2895               That -debugDescription does include the contents.
2896             - Add many tests equality for various situations, testing both with and without content equality.
2897         (TestWebKitAPI::createTextManipulationToken):
2898             Add a helper for creating a token in one line.
2899
2900 2019-12-02  Daniel Bates  <dabates@apple.com>
2901
2902         REGRESSION (r195080): prepare-ChangeLog does not emit function list for file paths that contain a space
2903         https://bugs.webkit.org/show_bug.cgi?id=204236
2904
2905         Reviewed by Brian Burg.
2906
2907         Revert the filename escape logic added in <http://trac.webkit.org/changeset/195080> as it broke
2908         function list generation in file paths that contain space characters. Function list generation
2909         broke because the escaping was performed after line range dictionaries were built up keyed off
2910         the unescaped file path. Subsequent code would try to query these dictionaries to build up the
2911         changed function list using the escaped file path and never a match. The escaping logic was not
2912         necessary to fix the originally reported bug. All that was needed was to use the three-argument
2913         open() call that took a mode. So, remove the escape logic.
2914
2915         * Scripts/prepare-ChangeLog:
2916         (actuallyGenerateFunctionLists):
2917
2918 2019-11-30  Ross Kirsling  <ross.kirsling@sony.com>
2919
2920         test262-runner should dump YAML with correct encoding
2921         https://bugs.webkit.org/show_bug.cgi?id=204493
2922
2923         Reviewed by Saam Barati.
2924
2925         Even though we spit out correctly-encoded output to the terminal, Perl's YAML module insists upon *re*-encoding
2926         to UTF-8 when dumping to file. This works out in the end because an analogous double-decode occurs when loading
2927         from file. Still, it's really annoying that expectations.yaml has garbled (i.e. double-encoded) text.
2928
2929         We shouldn't modify libraries directly, but we can copy-paste DumpFile/LoadFile into Runner.pm and tweak!
2930
2931         * Scripts/test262/Runner.pm:
2932         (DumpFile):
2933         (LoadFile):
2934         Add custom versions of DumpFile/LoadFile which do not execute `binmode $OUT, ':utf8';`.
2935
2936 2019-11-30  Zalan Bujtas  <zalan@apple.com>
2937
2938         [LFC] Expand tests coverage (2648 new tests -> 3980).
2939
2940         * LayoutReloaded/misc/LFC-passing-tests.txt:
2941
2942 2019-11-30  Zalan Bujtas  <zalan@apple.com>
2943
2944         [LFC][IFC] Add support for hyphenate-limit-lines
2945         https://bugs.webkit.org/show_bug.cgi?id=204712
2946         <rdar://problem/57536727>
2947
2948         Reviewed by Antti Koivisto.
2949
2950         * LayoutReloaded/misc/LFC-passing-tests.txt:
2951
2952 2019-11-30  Aakash Jain  <aakash_jain@apple.com>
2953
2954         [EWS] Do not retry layout-tests build if the flaky test failures are also present in clean tree run
2955         https://bugs.webkit.org/show_bug.cgi?id=204704
2956
2957         Reviewed by Alexey Proskuryakov.
2958
2959         * BuildSlaveSupport/ews-build/steps.py:
2960         (AnalyzeLayoutTestsResults.start):
2961         * BuildSlaveSupport/ews-build/steps_unittest.py:
2962         (TestAnalyzeLayoutTestsResults.test_flaky_and_inconsistent_failures_with_clean_tree_failures): Changed expected outcome to SUCCESS.
2963         (TestAnalyzeLayoutTestsResults.test_flaky_and_consistent_failures_with_clean_tree_failures): Ditto.
2964
2965 2019-11-29  Zalan Bujtas  <zalan@apple.com>
2966
2967         [LFC][IFC] Add support for hyphenate-limit-before and hyphenate-limit-after
2968         https://bugs.webkit.org/show_bug.cgi?id=204710
2969         <rdar://problem/57535210>
2970
2971         Reviewed by Antti Koivisto.
2972
2973         * LayoutReloaded/misc/LFC-passing-tests.txt:
2974
2975 2019-11-29  Antti Koivisto  <antti@apple.com>
2976
2977         Add mechanism for enabling internal and experimental features from run-webkit-test command line
2978         https://bugs.webkit.org/show_bug.cgi?id=204702
2979
2980         Reviewed by Antoine Quint.
2981
2982         Add --internal-feature and --experimental-feature flags to TestRunner and run-webkit-tests.
2983         This is useful for running existing tests with different feature enabled without modifying
2984         anything else. For example:
2985
2986         run-webkit-tests --internal-feature LayoutFormattingContextRenderTreeIntegrationEnabled
2987
2988         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2989         (parse_args):
2990         * Scripts/webkitpy/port/base.py:
2991         (Port.internal_feature):
2992         (Port):
2993         (Port.experimental_feature):
2994         * Scripts/webkitpy/port/driver.py:
2995         (Driver.cmd_line):
2996         * WebKitTestRunner/Options.cpp:
2997         (WTR::handleOptionExperimentalFeature):
2998         (WTR::handleOptionInternalFeature):
2999         (WTR::OptionsHandler::OptionsHandler):
3000         * WebKitTestRunner/Options.h:
3001         * WebKitTestRunner/TestController.cpp:
3002         (WTR::TestController::initialize):
3003         (WTR::TestController::testOptionsForTest const):
3004         * WebKitTestRunner/TestController.h:
3005
3006 2019-11-29  Aakash Jain  <aakash_jain@apple.com>
3007
3008         Add a unit-test to new EWS for scenario when there is flakiness with patch and also on clean tree
3009         https://bugs.webkit.org/show_bug.cgi?id=204707
3010         <rdar://problem/57533998>
3011
3012         Unreviewed unit-test.
3013
3014         * BuildSlaveSupport/ews-build/steps_unittest.py:
3015         (TestAnalyzeLayoutTestsResults.test_mildly_flaky_patch_with_some_tree_redness_and_flakiness):
3016
3017 2019-11-29  Aakash Jain  <aakash_jain@apple.com>
3018
3019         Add a unit-test to old EWS for scenario when there is flakiness with patch and also on clean tree
3020         https://bugs.webkit.org/show_bug.cgi?id=204707
3021
3022         Unreviewed unit-test.
3023
3024         * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:
3025
3026 2019-11-29  Paulo Matos  <pmatos@igalia.com>
3027
3028         Move jsc-i386 from old to new EWS
3029         https://bugs.webkit.org/show_bug.cgi?id=204667
3030
3031         Reviewed by Aakash Jain.
3032
3033         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
3034         (StatusBubble):
3035         * QueueStatusServer/config/queues.py:
3036
3037 2019-11-28  Fujii Hironori  <Hironori.Fujii@sony.com>
3038
3039         Remove ENABLE_KEYBOARD_CODE_ATTRIBUTE and ENABLE_KEYBOARD_KEY_ATTRIBUTE macros
3040         https://bugs.webkit.org/show_bug.cgi?id=204666
3041
3042         Reviewed by Ross Kirsling and Don Olmstead.
3043
3044         * Scripts/webkitperl/FeatureList.pm:
3045         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3046
3047 2019-11-28  Aakash Jain  <aakash_jain@apple.com>
3048
3049         Rename 'submit to new EWS' to 'Submit for EWS analysis'
3050         https://bugs.webkit.org/show_bug.cgi?id=204692
3051
3052         Unreviewed minor fix.
3053
3054         * BuildSlaveSupport/ews-app/ews/templates/statusbubble.html:
3055
3056 2019-11-28  Aakash Jain  <aakash_jain@apple.com>
3057
3058         Old EWS is showing 'Submit to old EWS' button on every patch
3059         https://bugs.webkit.org/show_bug.cgi?id=204691
3060
3061         Unreviewed minor fix.
3062
3063         * QueueStatusServer/handlers/statusbubble.py:
3064         (StatusBubble.get): Disabled Submit to old EWS button since almost all the queues
3065         have been removed from old EWS.
3066
3067 2019-11-28  Diego Pino Garcia  <dpino@igalia.com>
3068
3069         test262-runner ends with SIGPIPE signal
3070         https://bugs.webkit.org/show_bug.cgi?id=194816
3071
3072         Reviewed by Carlos Alberto Lopez Perez.
3073
3074         * Scripts/test262/Runner.pm:
3075         (main):
3076
3077 2019-11-28  Aakash Jain  <aakash_jain@apple.com>
3078
3079         Removed ENABLED_QUEUES logic from ews-app
3080         https://bugs.webkit.org/show_bug.cgi?id=204683
3081
3082         Unreviewed minor fix.
3083
3084         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
3085         (StatusBubble): Removed ENABLED_QUEUES.
3086         (StatusBubble._build_bubbles_for_patch):
3087         (StatusBubble._should_show_bubble_for_queue): Deleted.
3088
3089 2019-11-28  Aakash Jain  <aakash_jain@apple.com>
3090
3091         [ews] Enable Windows queue on new EWS
3092         https://bugs.webkit.org/show_bug.cgi?id=204243
3093
3094         Reviewed by Jonathan Bedard.
3095
3096         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Enabled windows queue bubble on new EWS.
3097         * BuildSlaveSupport/ews-build/config.json: Enabled the scheduler for windows queue. Removed the disabled Try_Userpass scheduler.
3098         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
3099         (BubbleQueueServer): Removed windows ews queue from bot-watcher's dashboard.
3100         * QueueStatusServer/config/queues.py: Removed windows queue from old EWS.
3101
3102 2019-11-28  Philippe Normand  <pnormand@igalia.com>
3103
3104         [GStreamer] Move GL video sink to its own GstBin sub-class
3105         https://bugs.webkit.org/show_bug.cgi?id=204624
3106
3107         Reviewed by Xabier Rodriguez-Calvar.
3108
3109         * Scripts/webkitpy/style/checker.py: White-list the new GLVideoSinkGStreamer GObject implementation.
3110
3111 2019-11-27  Zalan Bujtas  <zalan@apple.com>
3112
3113         [LFC] Unreviewed test gardening.
3114
3115         * LayoutReloaded/misc/LFC-passing-tests.txt: These tests were passing accidentally.
3116
3117 2019-11-26  Fujii Hironori  <Hironori.Fujii@sony.com>
3118
3119         [AppleWin] run-webkit-tests is failing to find bin32/DumpRenderTree since r252834
3120         https://bugs.webkit.org/show_bug.cgi?id=204571
3121
3122         Reviewed by Ross Kirsling.
3123
3124         * BuildSlaveSupport/build.webkit.org-config/steps.py:
3125         (RunWebKitTests.start): Replaced 'bin32' with 'bin64'.
3126
3127 2019-11-25  Kent Tamura  <tkent@chromium.org>
3128
3129         Remove tkent@ from watchlist
3130         https://bugs.webkit.org/show_bug.cgi?id=204599
3131
3132         Reviewed by Chris Dumez.
3133
3134         * Scripts/webkitpy/common/config/watchlist: Remove tkent@
3135
3136 2019-11-25  Wenson Hsieh  <wenson_hsieh@apple.com>
3137
3138         [macOS] Dragged images are only available as .tiff when dropping onto macCatalyst apps
3139         https://bugs.webkit.org/show_bug.cgi?id=204598
3140         <rdar://problem/57093920>
3141
3142         Reviewed by Tim Horton.
3143
3144         Verify that WKWebView is able to provide data in non-TIFF formats when dragging several types of images using a
3145         new API test.
3146
3147         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
3148
3149 2019-11-25  Ross Kirsling  <ross.kirsling@sony.com>
3150
3151         [Win] Ensure MiniBrowser can be built with !ENABLE(WEBKIT_LEGACY)
3152         https://bugs.webkit.org/show_bug.cgi?id=204592
3153
3154         Reviewed by Don Olmstead.
3155
3156         * MiniBrowser/win/CMakeLists.txt:
3157         * MiniBrowser/win/Common.cpp:
3158         (parseCommandLine):
3159         * MiniBrowser/win/Common.h:
3160         * MiniBrowser/win/MainWindow.cpp:
3161         (MainWindow::init):
3162         (MainWindow::WndProc):
3163         * MiniBrowser/win/WinMain.cpp:
3164         (wWinMain):
3165         * PlatformWin.cmake:
3166
3167 2019-11-25  Fujii Hironori  <Hironori.Fujii@sony.com>
3168
3169         Add DefaultHash<OptionSet<T>> and HashTrait<OptionSet<T>> specializations
3170         https://bugs.webkit.org/show_bug.cgi?id=204562
3171
3172         Reviewed by Daniel Bates.
3173
3174         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
3175         Added a new test WTF_OptionSet.HashSet.
3176
3177 2019-11-25  Philippe Normand  <pnormand@igalia.com>
3178
3179         [JHBuild] xserver build fails
3180         https://bugs.webkit.org/show_bug.cgi?id=204577
3181
3182         Reviewed by Žan Doberšek.
3183
3184         * gtk/jhbuild.modules: Bump libdrm and add implicit dependency to
3185         it via mesa for the xserver recipe.
3186
3187 2019-11-25  Charlie Turner  <cturner@igalia.com>
3188
3189         [GStreamer] Flatten MediaPlayerPrivateGStreamer into MediaPlayerPrivateGStreamerBase
3190         https://bugs.webkit.org/show_bug.cgi?id=204352
3191
3192         Reviewed by Philippe Normand.
3193
3194         * Scripts/webkitpy/style/checker.py: The base class no longer
3195         exists, perform the check on the player private.
3196
3197 2019-11-25  Zan Dobersek  <zdobersek@igalia.com>
3198
3199         [GTK][WPE] libgpg-error fails to build with gawk 5
3200         https://bugs.webkit.org/show_bug.cgi?id=204568
3201
3202         Reviewed by Frédéric Wang.
3203
3204         Gawk 5 throws errors when compiling libgpg-error. To avoid those, we
3205         have to bump libgpg-error to the latest 1.36 version and have the
3206         upstream fix applied on top of that.
3207
3208         Autoreconf has to be invoked to regenerate automake files. Because
3209         autogen.sh script (which is present in the release tarballs) falters
3210         under jhbuild, we invoke autoreconf directly for libgpg-error builds.
3211
3212         * gtk/jhbuild.modules:
3213         * gtk/patches/libgpg-error-prepare-for-gawk-5-0.patch: Added.
3214         * wpe/jhbuild.modules:
3215         * wpe/patches/libgpg-error-prepare-for-gawk-5-0.patch: Added.
3216
3217 2019-11-23  John Wilander  <wilander@apple.com>
3218
3219         Resource Load Statistics: Allow multiple third-party cookie blocking settings
3220         https://bugs.webkit.org/show_bug.cgi?id=204389
3221         <rdar://problem/57344054>
3222
3223         Reviewed by Brent Fulgham.
3224
3225         This change allows the existing TestRunner function
3226         setStatisticsShouldBlockThirdPartyCookies() to set an optional boolean
3227         parameter onlyOnSitesWithoutUserInteraction to opt in to that behavior.
3228
3229         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3230         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3231         (WTR::TestRunner::setStatisticsShouldBlockThirdPartyCookies):
3232         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3233         * WebKitTestRunner/TestController.cpp:
3234         (WTR::TestController::setStatisticsShouldBlockThirdPartyCookies):
3235         * WebKitTestRunner/TestController.h:
3236         * WebKitTestRunner/TestInvocation.cpp:
3237         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3238
3239 2019-11-23  Commit Queue  <commit-queue@webkit.org>
3240
3241         Unreviewed, rolling out r252805.
3242         https://bugs.webkit.org/show_bug.cgi?id=204553
3243
3244         Caused test failures and ASan crashes (Requested by ap on
3245         #webkit).
3246
3247         Reverted changeset:
3248
3249         "Cross-thread version StorageQuotaManager"
3250         https://bugs.webkit.org/show_bug.cgi?id=203971
3251         https://trac.webkit.org/changeset/252805
3252
3253 2019-11-23  Per Arne Vollan  <pvollan@apple.com>
3254
3255         Archive step is failing after r252827
3256         https://bugs.webkit.org/show_bug.cgi?id=204548
3257
3258         Reviewed by Alexey Proskuryakov.
3259
3260         After https://trac.webkit.org/changeset/252827/webkit, the archive step is failing.
3261
3262         * BuildSlaveSupport/built-product-archive:
3263         (createZip):
3264
3265 2019-11-23  Andres Gonzalez  <andresg_22@apple.com>
3266
3267         Run LayoutTests/accessibility/mac/primary-screen-height.html on secondary accessibility thread.
3268         https://bugs.webkit.org/show_bug.cgi?id=204391
3269
3270         Reviewed by Chris Fleizach.
3271
3272         Added AccessibilityController::execute to execute any
3273         AccessibilityUIElement call into AccessibilityObjectWrapper on the
3274         secondary accessibility thread.
3275
3276         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
3277         (WTR::AccessibilityController::rootElement): leftover from previous review.
3278         (WTR::AccessibilityController::execute): added this to execute any AccessibilityUIElement method on the appropriate thread.
3279         * WebKitTestRunner/InjectedBundle/AccessibilityController.h:
3280         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
3281         (WTR::AccessibilityUIElement::getChildrenWithRange): Runs on secondary thread.
3282         (WTR::AccessibilityUIElement::numberAttributeValue): Runs on secondary thread.
3283
3284 2019-11-22  Per Arne Vollan  <pvollan@apple.com>
3285
3286         Set 64-bit as default architecture on Windows
3287         https://bugs.webkit.org/show_bug.cgi?id=204477
3288
3289         Reviewed by Ross Kirsling.
3290
3291         This will make 64-bit building and testing the default.
3292
3293         * Scripts/webkitdirs.pm:
3294         (determineIsWin64):
3295         * Scripts/webkitpy/port/win.py:
3296         (WinPort):
3297
3298 2019-11-22  Jonathan Bedard  <jbedard@apple.com>
3299
3300         run-javascriptcore-tests: Failure to determine configuration for reporting is fatal
3301         https://bugs.webkit.org/show_bug.cgi?id=204526
3302
3303         Reviewed by Aakash Jain.
3304
3305         * Scripts/run-javascriptcore-tests:
3306         (configurationForUpload): Use uname as the default upload configuration 
3307
3308 2019-11-22  Jonathan Bedard  <jbedard@apple.com>
3309
3310         results.webkit.org/api/failures should return an error when no test-run is found for specified criteria
3311         https://bugs.webkit.org/show_bug.cgi?id=204385
3312         <rdar://problem/57334389>
3313
3314         Rubber-stamped by Aakash Jain.
3315
3316         * resultsdbpy/resultsdbpy/controller/failure_controller.py:
3317         (FailureController.failures): Return a 404 error if no test runs are found.
3318         * resultsdbpy/resultsdbpy/controller/failure_controller_unittest.py:
3319         (FailureControllerTest):
3320         (FailureControllerTest.test_no_runs):
3321         * resultsdbpy/resultsdbpy/model/failure_context.py:
3322         (FailureContext._failures): Return 'None' if no test runs are found.
3323         * resultsdbpy/resultsdbpy/model/failure_context_unittest.py:
3324         (FailureContextTest):
3325         (FailureContextTest.test_no_test_runs):
3326
3327 2019-11-22  Chris Dumez  <cdumez@apple.com>
3328
3329         HTTPHeaderMap's operator== is not fully correct
3330         https://bugs.webkit.org/show_bug.cgi?id=204361
3331
3332         Reviewed by Alex Christensen.
3333
3334         Add API test coverage.
3335
3336         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3337         * TestWebKitAPI/Tests/WebCore/HTTPHeaderMap.cpp: Added.
3338         (TestWebKitAPI::TEST):
3339
3340 2019-11-22  Sihui Liu  <sihui_liu@apple.com>
3341
3342         Cross-thread version StorageQuotaManager
3343         https://bugs.webkit.org/show_bug.cgi?id=203971
3344         <rdar://problem/57290349>
3345
3346         Reviewed by Chris Dumez.
3347
3348         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3349         * TestWebKitAPI/Tests/WebCore/StorageQuotaManager.cpp: Removed as we have a different StorageQuotaManager 
3350         implementation now.
3351         * WebKitTestRunner/TestController.cpp: reset StorageQuotaManager's quota between tests.
3352         (WTR::TestController::resetStateToConsistentValues):
3353         (WTR::TestController::resetQuota):
3354         * WebKitTestRunner/TestController.h:
3355
3356 2019-11-22  Jonathan Bedard  <jbedard@apple.com>
3357
3358         Unreviewed, rolling out r252791.
3359
3360         Cannot use key on scalar in some perl versions
3361
3362         Reverted changeset:
3363
3364         "run-javascriptcore-tests: Failure to determine configuration
3365         for reporting is fatal"
3366         https://bugs.webkit.org/show_bug.cgi?id=204526
3367         https://trac.webkit.org/changeset/252791
3368
3369 2019-11-22  Jonathan Bedard  <jbedard@apple.com>
3370
3371         run-javascriptcore-tests: Failure to determine configuration for reporting is fatal
3372         https://bugs.webkit.org/show_bug.cgi?id=204526
3373
3374         Reviewed by Aakash Jain.
3375
3376         * Scripts/run-javascriptcore-tests:
3377         (configurationForUpload): Return empty hash if no configuration is available.
3378         (uploadResults): Soft-fail upload if configuration is empty.
3379
3380 2019-11-22  Aakash Jain  <aakash_jain@apple.com>
3381
3382         Setup EWS queue for JSConly i386
3383         https://bugs.webkit.org/show_bug.cgi?id=204523
3384
3385         Reviewed by Jonathan Bedard.
3386
3387         * BuildSlaveSupport/ews-build/config.json:
3388
3389 2019-11-22  Aakash Jain  <aakash_jain@apple.com>
3390
3391         [ews] Add KillOldProcesses step before running JSC tests
3392         https://bugs.webkit.org/show_bug.cgi?id=204525
3393
3394         Reviewed by Jonathan Bedard.
3395
3396         * BuildSlaveSupport/ews-build/factories.py:
3397
3398 2019-11-22  Jonathan Bedard  <jbedard@apple.com>
3399
3400         run-javascriptcore-tests: Hide the output of binaries behind --verbose
3401         https://bugs.webkit.org/show_bug.cgi?id=204386
3402
3403         Reviewed by Aakash Jain.
3404
3405         * Scripts/run-javascriptcore-tests:
3406         (runTest): Do not log binary output by default, always log test failures.
3407
3408 2019-11-22  Aakash Jain  <aakash_jain@apple.com>
3409
3410         [ews] Add basic commit-queue support in new EWS
3411         https://bugs.webkit.org/show_bug.cgi?id=204517
3412
3413         Reviewed by Jonathan Bedard.
3414
3415         * BuildSlaveSupport/ews-build/config.json:
3416         * BuildSlaveSupport/ews-build/factories.py:
3417         * BuildSlaveSupport/ews-build/loadConfig.py:
3418
3419 2019-11-22  Jonathan Bedard  <jbedard@apple.com>
3420
3421         run-webkit-tests: Failing to run spindump shouldn't be fatal
3422         https://bugs.webkit.org/show_bug.cgi?id=204518
3423         <rdar://problem/57397417>
3424
3425         Reviewed by Aakash Jain.
3426
3427         * Scripts/webkitpy/port/darwin.py:
3428         (DarwinPort.sample_process): Catch script error.
3429
3430 2019-11-22  Paulo Matos  <pmatos@igalia.com>
3431
3432         Remove JSC 32bit ARMv7 and MipsEl old EWS queues
3433         https://bugs.webkit.org/show_bug.cgi?id=204344
3434
3435         Reviewed by Aakash Jain.
3436
3437         Remove JSC armv7 and mips from old EWS queue and fix bubbles
3438         by removing them from old ews and adding them to new ews.
3439
3440         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
3441         (BubbleQueueServer):
3442         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
3443         (StatusBubble):
3444         * QueueStatusServer/config/queues.py:
3445
3446 2019-11-22  Paulo Matos  <pmatos@igalia.com>
3447
3448         Support JSCOnly platform in test reporting
3449         https://bugs.webkit.org/show_bug.cgi?id=204495
3450
3451         Reviewed by Carlos Garcia Campos.
3452
3453         Add JSCOnly to possible platforms.
3454
3455         * Scripts/run-javascriptcore-tests:
3456         (configurationForUpload):
3457
3458 2019-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>
3459
3460         [GTK][WPE] RemoteInspector: use sockets instead of DBus
3461         https://bugs.webkit.org/show_bug.cgi?id=204503
3462
3463         Reviewed by Žan Doberšek.
3464
3465         Update the unit tests to not use DBus.
3466
3467         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
3468
3469 2019-11-21  Wenson Hsieh  <wenson_hsieh@apple.com>
3470
3471         [iOS] Web process crashes when attempting to request document context in a textarea
3472         https://bugs.webkit.org/show_bug.cgi?id=204455
3473         <rdar://problem/57383975>
3474
3475         Reviewed by Tim Horton.
3476
3477         Add a test to verify that we don't crash (and are still able to retrieve character rects).
3478
3479         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
3480         (-[UIWKDocumentContext markedTextRects]):
3481         (-[UIWKDocumentContext textRects]):
3482         * TestWebKitAPI/ios/UIKitSPI.h:
3483
3484 2019-11-21  Matt Lewis  <jlewis3@apple.com>
3485
3486         Fix triggers for catalina debug and webgl testers.
3487         https://bugs.webkit.org/show_bug.cgi?id=204456
3488
3489         Reviewed by Jonathan Bedard.
3490
3491         * BuildSlaveSupport/build.webkit.org-config/config.json:
3492
3493 2019-11-21  Jonathan Bedard  <jbedard@apple.com>
3494
3495         build.webkit.org: Forward results database credentials to jsc test runs
3496         https://bugs.webkit.org/show_bug.cgi?id=204453
3497
3498         Reviewed by Aakash Jain.
3499
3500         * BuildSlaveSupport/build.webkit.org-config/steps.py:
3501         (RunJavaScriptCoreTests.__init__): Do not log environment with credentials in it.
3502         (RunJavaScriptCoreTests.start): Add results database API key to environment.
3503         (RunLLINTCLoopTests.__init__): Do not log environment with credentials in it.
3504         (RunLLINTCLoopTests.start): Add results database API key to environment.
3505         (Run32bitJSCTests.__init__): Do not log environment with credentials in it.
3506         (Run32bitJSCTests.start): Add results database API key to environment.
3507
3508 2019-11-21  Jonathan Bedard  <jbedard@apple.com>
3509
3510         run-webkit-tests: Clean-up simulator processes after tearing down simulators
3511         https://bugs.webkit.org/show_bug.cgi?id=204416
3512
3513         Reviewed by Simon Fraser.
3514
3515         * Scripts/webkitpy/common/system/executive_mock.py:
3516         (MockExecutive.running_pids): Make function Python 3 compatible.
3517         * Scripts/webkitpy/xcode/simulated_device.py:
3518         (SimulatedDeviceManager.tear_down): Kill any CoreSimulator processes.
3519
3520 2019-11-21  Pablo Saavedra  <psaavedra@igalia.com>
3521
3522         Fix Tools/Scripts/run-javascriptcore-tests after r252490
3523         https://bugs.webkit.org/show_bug.cgi?id=204452
3524
3525         Rubber-stamped by Philippe Normand
3526
3527         Regression introduced in:
3528
3529           results.webkit.org: Report JSC tests to the results database
3530           https://bugs.webkit.org/show_bug.cgi?id=204091
3531           <rdar://problem/49778900>
3532
3533         WebKitGTK and WPE build environment is defined by the dependencies
3534         policy document [1] as a Debian Stable. For Debian the `uname` binary
3535         is installed in the `/bin/` directory and this directory is included
3536         in the `$PATH` for any regular or system user. This fix removes the
3537         path for the `uname` command in the run-javascriptcore-tests script.
3538         
3539         [1] https://trac.webkit.org/wiki/WebKitGTK/DependenciesPolicy
3540
3541         * Scripts/run-javascriptcore-tests:
3542         (configurationForUpload):
3543
3544 2019-11-20  Jonathan Bedard  <jbedard@apple.com>
3545
3546         run-webkit-tests: Make usability test on booting simulators more robust
3547         https://bugs.webkit.org/show_bug.cgi?id=204423
3548         <rdar://problem/57364735>
3549
3550         Reviewed by Alexey Proskuryakov.
3551
3552         * Scripts/webkitpy/xcode/simulated_device.py:
3553         (SimulatedDevice.is_usable): Use regular expressions to find home-screen service.
3554
3555 2019-11-20  Jonathan Bedard  <jbedard@apple.com>
3556
3557         run-webkit-tests: Do not create global SystemHost objects
3558         https://bugs.webkit.org/show_bug.cgi?id=204426
3559
3560         Reviewed by Aakash Jain.
3561
3562         If created, SystemHost objects should be created on-demand, not globally
3563         shared between all instances of a function.
3564
3565         * Scripts/webkitpy/xcode/simulated_device.py:
3566         (SimulatedDeviceManager.populate_available_devices):
3567         (SimulatedDeviceManager.available_devices):
3568         (SimulatedDeviceManager.device_by_filter):
3569         (SimulatedDeviceManager._create_or_find_device_for_request):
3570         (SimulatedDeviceManager._boot_device):
3571         (SimulatedDeviceManager.device_count_for_type):
3572         (SimulatedDeviceManager.initialize_devices):
3573         (SimulatedDeviceManager.max_supported_simulators):
3574         (SimulatedDeviceManager.swap):
3575         (SimulatedDeviceManager.tear_down):
3576
3577 2019-11-20  Wenson Hsieh  <wenson_hsieh@apple.com>
3578
3579         Correct argument types in UIScriptController::activateDataListSuggestion after r252062
3580         https://bugs.webkit.org/show_bug.cgi?id=203116
3581
3582         Reviewed by Tim Horton.
3583
3584         Use `unsigned` to represent `unsigned long` arguments declared in the IDL.
3585
3586         * DumpRenderTree/mac/UIScriptControllerMac.h:
3587         * DumpRenderTree/mac/UIScriptControllerMac.mm:
3588         (WTR::UIScriptControllerMac::activateDataListSuggestion):
3589         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3590         (WTR::UIScriptController::activateDataListSuggestion):
3591         * WebKitTestRunner/ios/UIScriptControllerIOS.h:
3592         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3593         (WTR::UIScriptControllerIOS::activateDataListSuggestion):
3594         * WebKitTestRunner/mac/UIScriptControllerMac.h:
3595         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
3596         (WTR::UIScriptControllerMac::activateDataListSuggestion):
3597
3598 2019-11-20  Fujii Hironori  <Hironori.Fujii@sony.com>
3599
3600         run-api-tests reports AssertionError os.pathsep not in value in _append_value_colon_separated in Cygwin Python
3601         https://bugs.webkit.org/show_bug.cgi?id=204400
3602
3603         Reviewed by Jonathan Bedard.
3604
3605         r249500 changed Port.environment_for_api_tests to use
3606         Port._append_value_colon_separated to append a build path to some
3607         enviroment variables. _append_value_colon_separated has a
3608         assertion to ensure the given value doesn't iclude ':'. However,
3609         Port._build_path contains ':' on Cygwin Python.
3610
3611         Those enviroment variables are only for macOS and iOS. Move the code to darwin.py.
3612
3613         * Scripts/webkitpy/port/base.py:
3614         (Port.environment_for_api_tests):
3615         * Scripts/webkitpy/port/darwin.py:
3616         (DarwinPort.environment_for_api_tests):
3617
3618 2019-11-20  Jonathan Bedard  <jbedard@apple.com>
3619
3620         [WebGL] Add `--webgl-test-suite` flag for run-webkit-tests
3621         https://bugs.webkit.org/show_bug.cgi?id=204327
3622
3623         Rubber-stamped by Aakash Jain.
3624
3625         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3626         (parse_args): Add the --webgl macro command, which is the equivalent of:
3627         'Run-webkit-tests --additional-expectations=LayoutTests/webgl/TestExpectations webgl'
3628
3629 2019-11-20  ChangSeok Oh  <changseok@webkit.org>
3630
3631         Reactivate my committer status.
3632
3633         Unreviewed.
3634
3635         * Scripts/webkitpy/common/config/contributors.json:
3636
3637 2019-11-20  Matt Lewis  <jlewis3@apple.com>
3638
3639         Add trigger for WebGL bot to config.
3640
3641         RS config fix by Jonathan Bedard.
3642
3643         * BuildSlaveSupport/build.webkit.org-config/config.json:
3644
3645 2019-11-19  Matt Lewis  <jlewis3@apple.com>
3646
3647         Bring up WebGL Test Queue.
3648         https://bugs.webkit.org/show_bug.cgi?id=204374
3649
3650         Reviewed by Jonathan Bedard.
3651
3652         * BuildSlaveSupport/build.webkit.org-config/config.json:
3653         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
3654
3655 2019-11-20  Jonathan Bedard  <jbedard@apple.com>
3656
3657         [EWS] iOS layout-tests fails with 30+ failures on re-run and on clean-tree
3658         https://bugs.webkit.org/show_bug.cgi?id=204409
3659
3660         Reviewed by Aakash Jain.
3661
3662         * BuildSlaveSupport/ews-build/steps.py:
3663         (RunWebKitPerlTests.evaluateCommand): Add killOldProcesses before running test suite.
3664         (RunJavaScriptCoreTests.evaluateCommand): Ditto.
3665         (ReRunJavaScriptCoreTests.evaluateCommand): Ditto.
3666         (RunWebKitTests.evaluateCommand): Ditto.
3667         (ReRunWebKitTests.evaluateCommand): Ditto.
3668         (RunAPITests.evaluateCommand): Ditto.
3669         (ReRunAPITests.evaluateCommand): Ditto.
3670
3671 2019-11-20  Jonathan Bedard  <jbedard@apple.com>
3672
3673         kill-old-processes: Log currently running processes
3674         https://bugs.webkit.org/show_bug.cgi?id=204415
3675
3676         Unreviewed infrastructure management.
3677
3678         * BuildSlaveSupport/kill-old-processes:
3679         (main): Log 'ps aux' for Mac and Linux.
3680
3681 2019-11-19  Saam Barati  <sbarati@apple.com>
3682
3683         Remove runNullishAwareOperatorsEnabled
3684
3685         Rubber-stamped by Keith Miller.
3686
3687         * Scripts/run-jsc-stress-tests:
3688
3689 2019-11-19  Jonathan Bedard  <jbedard@apple.com>
3690
3691         results.webkit.org: Have build.webkit.org report JSC tests
3692         https://bugs.webkit.org/show_bug.cgi?id=204364
3693
3694         Reviewed by Aakash Jain.
3695
3696         * BuildSlaveSupport/build.webkit.org-config/steps.py:
3697         (RunJavaScriptCoreTests):
3698         (RunWebKitTests):
3699         (RunAPITests):
3700         (RunPythonTests):
3701         (RunLLINTCLoopTests):
3702         (Run32bitJSCTests):
3703
3704 2019-11-19  Aakash Jain  <aakash_jain@apple.com>
3705
3706         Disable reporting EWS test failures from clean-tree to results.webkit.org
3707         https://bugs.webkit.org/show_bug.cgi?id=204369
3708
3709         Reviewed by Jonathan Bedard.
3710
3711         * BuildSlaveSupport/ews-build/steps.py:
3712         (RunWebKitTestsWithoutPatch):
3713         (RunAPITestsWithoutPatch.evaluateCommand):
3714         (RunWebKitTestsWithoutPatch.start): Deleted.
3715         (RunAPITestsWithoutPatch.start): Deleted.
3716         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
3717         * BuildSlaveSupport/ews-build/loadConfig.py:
3718
3719 2019-11-19  Brian Burg  <bburg@apple.com>
3720
3721         [Cocoa] Add WKUIDelegate SPI to inform clients when a _WKInspector attaches to a WKWebView
3722         https://bugs.webkit.org/show_bug.cgi?id=204300
3723         <rdar://problem/57136993>
3724
3725         Reviewed by Devin Rousso.
3726
3727         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
3728         (-[InspectorDelegate _webView:didAttachInspector:]):
3729         (TEST): Add new test to ensure the delegate is called as expected.
3730
3731 2019-11-19  Sihui Liu  <sihui_liu@apple.com>
3732
3733         Update expectations for bufferedAmount-unchanged-by-sync-xhr.any.worker.html
3734         https://bugs.webkit.org/show_bug.cgi?id=204313
3735
3736         Reviewed by Alex Christensen.
3737
3738         * DumpRenderTree/mac/DumpRenderTree.mm:
3739         (resetWebViewToConsistentStateBeforeTesting):
3740
3741 2019-11-19  Paulo Matos  <pmatos@igalia.com>
3742
3743         Setup EWS queues for JSConly 32bits ARMv7 and MIPSel
3744         https://bugs.webkit.org/show_bug.cgi?id=203946
3745
3746         Reviewed by Aakash Jain.
3747
3748         Naming of queues follow old EWS: jsc-mips for MIPSel
3749         and jsc-armv7 for ARMv7.
3750
3751         * BuildSlaveSupport/ews-build/config.json:
3752         * BuildSlaveSupport/ews-build/steps.py:
3753         (RunJavaScriptCoreTests.start):
3754         (PrintConfiguration.run):
3755         * BuildSlaveSupport/ews-build/steps_unittest.py:
3756         (TestRunJavaScriptCoreTests.test_remote_success):
3757
3758 2019-11-18  John Wilander  <wilander@apple.com>
3759
3760         Check if ITP is on before applying third-party cookie blocking
3761         https://bugs.webkit.org/show_bug.cgi?id=204322
3762         <rdar://problem/57120772>
3763
3764         Reviewed by Chris Dumez and Alexey Proskuryakov.
3765
3766         This is test infrastructure to allow a layout test to
3767         disable ITP in the network process.
3768
3769         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3770         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3771         (WTR::TestRunner::setStatisticsEnabled):
3772         (WTR::TestRunner::setStatisticsDebugMode):
3773         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3774         * WebKitTestRunner/TestController.cpp:
3775         (WTR::TestController::setStatisticsEnabled):
3776         * WebKitTestRunner/TestController.h:
3777         * WebKitTestRunner/TestInvocation.cpp:
3778         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3779
3780 2019-11-18  Fujii Hironori  <Hironori.Fujii@sony.com>
3781
3782         [Win] kill-old-processes should kill WebKitWebProcess.exe and WebKitNetworkProcess.exe
3783         https://bugs.webkit.org/show_bug.cgi?id=204337
3784
3785         Reviewed by Ross Kirsling.
3786
3787         * BuildSlaveSupport/kill-old-processes:
3788         (main): Removed WebKit2WebProcess.exe, and added WebKitWebProcess.exe and WebKitNetworkProcess.exe to
3789         tasksToKillWin.
3790
3791 2019-11-18  Jonathan Bedard  <jbedard@apple.com>
3792
3793         Python 3: Support run-api-tests
3794         https://bugs.webkit.org/show_bug.cgi?id=204252
3795
3796         Rubber-stamped by Aakash Jain.
3797
3798         * Scripts/webkitpy/api_tests/manager.py:
3799         (Manager._collect_tests): Use items over iteritems.
3800         (Manager._print_tests_result_with_status): Use compatible iteritems.
3801         (Manager.run): Use range over xrange, use compatible iteritems.
3802         * Scripts/webkitpy/api_tests/runner.py:
3803         (Runner.run): Use compatible iteritems.
3804         (Runner.result_map_by_status): Ditto.
3805         (_Worker._run_single_test): Server process returns byte arrays, not strings.
3806         (_Worker.handle): Use items over iteritems, use range over xrange.
3807         * Scripts/webkitpy/common/message_pool.py:
3808         (_MessagePool.run): Use range over xrange.
3809         (_MessagePool._start_workers): Ditto.
3810         * Scripts/webkitpy/common/multiprocessing_bootstrap.py: Remove version check.
3811         * Scripts/webkitpy/port/base.py:
3812         (Port.check_api_test_build):Use items over iteritems.
3813         (Port.commits_for_upload): Ditto.
3814         * Scripts/webkitpy/port/server_process.py:
3815         (ServerProcess._reset): Use byte array over string.
3816         (ServerProcess._pop_stdout_line_if_ready): Check for bytes newline.
3817         (ServerProcess._pop_stderr_line_if_ready): Ditto.
3818
3819 2019-11-18  Andres Gonzalez  <andresg_22@apple.com>
3820
3821         Run AccessibilityController::rootElement on secondary thread to simulate HIServices during LayoutTests.
3822         https://bugs.webkit.org/show_bug.cgi?id=204226
3823
3824         Reviewed by Chris Fleizach.
3825
3826         HIServices _AXUIElementUseSecondaryAXThread and _AXUIElementRequestServicedBySecondaryAXThread
3827         do not work for WebKitTestRunner since this is calling directly into
3828         WebCore/accessibility via JavaScript without going through HIServices.
3829         Thus to simulate the behavior of HIServices, AccessibilityController is
3830         spawning a secondary thread to service the JavaScript requests.
3831         The very first request needs to be serviced in the main thread,
3832         and all subsequent requests in the secondary thread. this is what
3833         the behavior would be if using HIServices.
3834         Once the IsolatedTree would be enabled, the first request has to be
3835         served in the main thread in order to build the AXIsolatedTree.
3836
3837         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
3838         (WTR::AccessibilityController::rootElement):
3839         (WTR::AXThread::AXThread):
3840         (WTR::AXThread::isCurrentThread):
3841         (WTR::AXThread::dispatch):
3842         (WTR::AXThread::dispatchBarrier):
3843         (WTR::AXThread::singleton):
3844         (WTR::AXThread::createThreadIfNeeded):
3845         (WTR::AXThread::dispatchFunctionsFromAXThread):
3846         (WTR::AXThread::initializeRunLoop):
3847         (WTR::AXThread::wakeUpRunLoop):
3848         (WTR::AXThread::threadRunLoopSourceCallback):
3849         * WebKitTestRunner/InjectedBundle/AccessibilityController.h:
3850         * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
3851         (WTR::AXThread::initializeRunLoop):
3852         (WTR::AXThread::wakeUpRunLoop):
3853         (WTR::AXThread::threadRunLoopSourceCallback):
3854
3855 2019-11-18  Jonathan Bedard  <jbedard@apple.com>
3856
3857         results.webkit.org: Uncollapsed failures shouldn't include runs with no failures
3858         https://bugs.webkit.org/show_bug.cgi?id=204315
3859
3860         Rubber-stamped by Aakash Jain.
3861
3862         * resultsdbpy/resultsdbpy/model/failure_context.py:
3863         (FailureContext): Do not include test runs which have no failed tests.
3864         * resultsdbpy/resultsdbpy/model/failure_context_unittest.py:
3865         (FailureContextTest):
3866         (FailureContextTest.test_no_failures):
3867
3868 2019-11-18  Aakash Jain  <aakash_jain@apple.com>
3869
3870         Dedicate ews116 to macOS-High-Sierra-Debug-Build-EWS queue
3871         https://bugs.webkit.org/show_bug.cgi?id=204256
3872
3873         Reviewed by Jonathan Bedard.
3874
3875         * BuildSlaveSupport/ews-build/config.json:
3876
3877 2019-11-18  Chris Dumez  <cdumez@apple.com>
3878
3879         TestWebKitAPI.ProcessSwap.QuickBackForwardNavigationWithPSON is a flaky crash
3880         https://bugs.webkit.org/show_bug.cgi?id=199645
3881         <rdar://problem/52856112>
3882
3883         Reviewed by Alex Christensen.
3884
3885         Make sure the test waits for the history navigations to complete before checking the
3886         back/forward list.
3887
3888         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3889
3890 2019-11-18  Keith Rollin  <krollin@apple.com>
3891
3892         Move jsc from Resources to Helpers
3893         https://bugs.webkit.org/show_bug.cgi?id=203970
3894         <rdar://problem/55917748>
3895
3896         Reviewed by Keith Miller.
3897
3898         'jsc' is a supporting application or tool, not a resource. As such, it
3899         should go into Helpers, per
3900         <https://developer.apple.com/library/archive/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG201>
3901
3902         * Scripts/run-jsc-stress-tests:
3903         * Scripts/run-layout-jsc:
3904         * Scripts/sunspider-compare-results:
3905         (pathToSystemJSC):
3906         * Scripts/test262/Runner.pm:
3907         (getBuildPath):
3908         * Scripts/webkitdirs.pm:
3909         (jscPath):
3910
3911 2019-11-18  Jonathan Bedard  <jbedard@apple.com>
3912
3913         Python 3: Add support in webkitpy.layout_tests.views
3914         https://bugs.webkit.org/show_bug.cgi?id=204227
3915
3916         Reviewed by Aakash Jain.
3917
3918         * Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.views.
3919         * Scripts/webkitpy/layout_tests/views/buildbot_results.py:
3920         (BuildBotPrinter.print_unexpected_results): Use compatible iteritems.
3921         * Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:
3922         (BuildBotPrinterTests.get_printer): Use compatible StringIO object.
3923         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
3924         (MeteredStream.__init__): Use maxsize instead of maxint.
3925         * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
3926         (RegularTest.setUp): Use compatible StringIO, remove buflist.
3927         (RegularTest.test_logging_not_included): Ditto.
3928         (RegularTest._basic): Remove buflist.
3929         (RegularTest.test_basic): Compare against stream value instead of buflist.
3930         (RegularTest._log_after_update): Remove buflist.
3931         (RegularTest.test_log_after_update): Compare against stream value
3932         instead of buflist.
3933         (RegularTest.test_log_args): Ditto.
3934         (RegularTest.test_unicode): We can't join unicode strings and standard strings
3935         in Python 2.
3936         (RegularTest.test_stream_with_encoding): Use compatible StringIO, Python 3 uses
3937         unicode strings.
3938         (TtyTest.test_basic): Compare against stream value instead of buflist.
3939         (TtyTest.test_log_after_update): Ditto.
3940         (VerboseTest.test_basic): Ditto.
3941         (VerboseTest.test_log_after_update): Ditto.
3942         (VerboseTest.test_log_args): Ditto.
3943         (VerboseWithOutTimestamp.test_basic): Ditto.
3944         * Scripts/webkitpy/layout_tests/views/printing_unittest.py:
3945         (Testprinter.assertWritten): Use stream value instead of buflist.
3946         (Testprinter.reset): Use Python 3 compatible steam reset.
3947         (Testprinter.get_printer): Use compatible StringIO.
3948         (Testprinter.test_print_one_line_summary): Compare against stream value instead
3949         of buflist.
3950         (Testprinter.test_test_status_line): Ditto.
3951         (Testprinter.test_print_found): Ditto.
3952
3953 2019-11-18  Simon Fraser  <simon.fraser@apple.com>
3954
3955         Fix alpha value rounding to match the CSS Color spec
3956         https://bugs.webkit.org/show_bug.cgi?id=203597
3957         <rdar://problem/56728546>
3958
3959         Reviewed by Tim Horton.
3960
3961         Fix the test for rounding.
3962
3963         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
3964         (TestWebKitAPI::TEST):
3965
3966 2019-11-16  Wenson Hsieh  <wenson_hsieh@apple.com>
3967
3968         [iOS] [UIWKDocumentContext] Add the ability to request all marked text rects
3969         https://bugs.webkit.org/show_bug.cgi?id=204278
3970         <rdar://problem/56527803>
3971
3972         Reviewed by Tim Horton.
3973
3974         Add an API test to exercise the new request option.
3975
3976         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
3977         (-[UIWKDocumentContext markedTextRects]):
3978         * TestWebKitAPI/ios/UIKitSPI.h:
3979
3980 2019-11-15  Eric Carlson  <eric.carlson@apple.com>
3981
3982         [iOS] Audio capture fails when a track is unmuted
3983         https://bugs.webkit.org/show_bug.cgi?id=204202
3984         <rdar://problem/57005820>
3985
3986         Reviewed by Jer Noble.
3987         
3988         Make WebKit2.CaptureMute failures easier to diagnose.
3989
3990         * TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
3991         (TestWebKitAPI::wkMediaCaptureStateString):
3992         (TestWebKitAPI::waitUntilCaptureState):
3993         (TestWebKitAPI::TEST):
3994
3995 2019-11-15  Myles C. Maxfield  <mmaxfield@apple.com>
3996
3997         [Apple] Enable variation fonts on all Apple platforms
3998         https://bugs.webkit.org/show_bug.cgi?id=198100
3999
4000         Reviewed by Simon Fraser.
4001
4002         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4003
4004 2019-11-15  Aakash Jain  <aakash_jain@apple.com>
4005
4006         [EWS] Update windows bots in config.json
4007         https://bugs.webkit.org/show_bug.cgi?id=204245
4008
4009         Reviewed by Jonathan Bedard.
4010
4011         * BuildSlaveSupport/ews-build/config.json:
4012
4013 2019-11-15  Aakash Jain  <aakash_jain@apple.com>
4014
4015         Windows EWS should not upload archives
4016         https://bugs.webkit.org/show_bug.cgi?id=204229
4017
4018         Reviewed by Jonathan Bedard.
4019
4020         * BuildSlaveSupport/ews-build/factories.py:
4021
4022 2019-11-15  Jonathan Bedard  <jbedard@apple.com>
4023
4024         results.webkit.org: Report JSC tests to the results database
4025         https://bugs.webkit.org/show_bug.cgi?id=204091
4026         <rdar://problem/49778900>
4027
4028         Reviewed by Aakash Jain.
4029
4030         Upload results to the specified results database.
4031
4032         DEMONSTRATION OF FAILURE IN EWS BEHAVIOR, DO NOT LAND!
4033
4034         * Scripts/run-javascriptcore-tests:
4035         (runTest): Parse binary output to mark individual tests as passing
4036         or failing.
4037         (uploadConfiguration): Return a hash map representing the configuration
4038         For this specific test run.
4039         (uploadResults): If a report URL is defined, upload test results to that URL.
4040         * Scripts/webkitdirs.pm:
4041         (splitVersionString): splitVersionString is supposed to be a generally used
4042         function, so should not set a global variable.
4043         (determineOSXVersion): Remove newline from version number.
4044
4045 2019-11-15  Jonathan Bedard  <jbedard@apple.com>
4046
4047         run-webkit-tests loads committers.py 4 times, taking about 40ms
4048         https://bugs.webkit.org/show_bug.cgi?id=204211
4049
4050         Reviewed by Aakash Jain.
4051
4052         * Scripts/webkitpy/common/checkout/changelog.py:
4053         (ChangeLogEntry): Don't create CommitterList on import.
4054         * Scripts/webkitpy/common/checkout/commitinfo.py:
4055         (CommitInfo.__init__): Ditto.
4056
4057 2019-11-15  Aakash Jain  <aakash_jain@apple.com>
4058
4059         [ews] Perform validation of patch before retrying JSC tests
4060         https://bugs.webkit.org/show_bug.cgi?id=204222
4061
4062         Reviewed by Jonathan Bedard.
4063
4064         * BuildSlaveSupport/ews-build/steps.py:
4065         (RunJavaScriptCoreTests.evaluateCommand): Add a ValidatePatch step before retrying.
4066         (ReRunJavaScriptCoreTests.evaluateCommand): Ditto.
4067
4068 2019-11-14  Jonathan Bedard  <jbedard@apple.com>
4069
4070         Python 3: Add support in webkitpy.layout_tests.layout_package
4071         https://bugs.webkit.org/show_bug.cgi?id=204212
4072
4073         Reviewed by Stephanie Lewis.
4074
4075         * Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.layout_package.
4076         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
4077         (convert_trie_to_flat_paths): Use compatible iteritems.
4078         (JSONResultsGenerator._insert_failure_summaries): Use compatible iterkeys.
4079         (JSONResultsGenerator._convert_json_to_current_version): Use compatible iteritems.
4080         (JSONResultsGenerator._convert_tests_to_trie): Use compatible iterkeys.
4081         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
4082         (JSONGeneratorTest._verify_json_results): Use items instead of iteritems.
4083         (JSONGeneratorTest.test_test_timings_trie): Python 3's json decoder is sensitive to ordering.
4084
4085 2019-11-14  Alex Christensen  <achristensen@webkit.org>
4086
4087         Flaky API Test TestWebKitAPI.ServiceWorkers.ThrottleCrash
4088         https://bugs.webkit.org/show_bug.cgi?id=203734
4089
4090         Reviewed by Youenn Fablet.
4091
4092         Some API tests using TCPServer have multiple concurrent HTTP requests in flight at the same time.
4093         When this happens, sometimes NSURLSession will make multiple TCP connections to the same server.
4094         TCPServer is not the right tool for this because it handles all its connections manually.
4095         To make the test server agnostic to how many connections are initiated, I introduce HTTPServer,
4096         which uses the Network framework to handle as many responses and as many connections as happen.
4097
4098         * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
4099         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4100         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
4101         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
4102         (TEST):
4103         * TestWebKitAPI/cocoa/HTTPServer.h: Added.
4104         (TestWebKitAPI::HTTPServer::HTTPResponse::HTTPResponse):
4105         * TestWebKitAPI/cocoa/HTTPServer.mm: Added.
4106         (TestWebKitAPI::HTTPServer::HTTPServer):
4107         (TestWebKitAPI::HTTPServer::respondToRequests):
4108         (TestWebKitAPI::HTTPServer::port const):
4109         (TestWebKitAPI::HTTPServer::request const):
4110         * TestWebKitAPI/config.h:
4111
4112 2019-11-14  Jonathan Bedard  <jbedard@apple.com>
4113
4114         Python 3: Add support in webkitpy.layout_tests.servers
4115         https://bugs.webkit.org/show_bug.cgi?id=204209
4116
4117         Reviewed by Stephanie Lewis.
4118
4119         * Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.servers.
4120         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
4121         (LayoutTestApacheHttpd.__init__): Use compatible iteritems.
4122         * Scripts/webkitpy/layout_tests/servers/http_server.py:
4123         (Lighttpd._prepare_config): Ditto.
4124
4125 2019-11-14  Megan Gardner  <megan_gardner@apple.com>
4126
4127         Fix another build error from r252449
4128         https://bugs.webkit.org/show_bug.cgi?id=204173
4129
4130         Unreviewed Build Fix for r252449
4131
4132         * TestWebKitAPI/ios/UIKitSPI.h:
4133
4134 2019-11-14  Jonathan Bedard  <jbedard@apple.com>
4135
4136         Python 3: Add support in webkitpy.style
4137         https://bugs.webkit.org/show_bug.cgi?id=203762
4138
4139         Reviewed by Stephanie Lewis.
4140
4141         * Scripts/check-webkit-style: Remove Python 2 version check.
4142         * Scripts/test-webkitpy-python3: Add webkitpy.style.
4143         * Scripts/webkitpy/style/checker.py: Use explicit imports.
4144         * Scripts/webkitpy/style/checker_unittest.py:
4145         (GlobalVariablesTest.test_max_reports_per_category): Use keys() over iterkeys.
4146         * Scripts/webkitpy/style/checkers/contributors.py: Use explicit imports.
4147         * Scripts/webkitpy/style/checkers/test_expectations.py:
4148         (TestExpectationsChecker._should_log_linter_warning): Use compatible iteritems.
4149         * Scripts/webkitpy/style/error_handlers_unittest.py: Use explicit imports.
4150         * Scripts/webkitpy/style/filter.py:
4151         (FilterConfiguration._get_path_specific_lower): Return list instead of iterator.
4152         (FilterConfiguration._filter_from_path): Avoid confusion with filter builtin.
4153         * Scripts/webkitpy/style/filter_unittest.py: Use explicit imports.
4154         * Scripts/webkitpy/style/main.py:
4155         (CheckWebKitStyle._engage_awesome_stderr_hacks): No reason to apply encoding to stderr
4156         in Python 3.
4157         * Scripts/webkitpy/style/main_unittest.py: Use explicit imports.
4158         * Scripts/webkitpy/style/patchreader.py:
4159         (PatchReader.check): Ensure that the provided patch is a string, use items over iteritems.
4160
4161 2019-11-14  Megan Gardner  <megan_gardner@apple.com>
4162
4163         Fix build error from r252449
4164         https://bugs.webkit.org/show_bug.cgi?id=204173
4165
4166         Reviewed by Wenson Hsieh.
4167
4168         Include needed header for all platforms, not just iPhone.
4169
4170         * TestWebKitAPI/ios/UIKitSPI.h:
4171
4172 2019-11-14  Brady Eidson  <beidson@apple.com>
4173
4174         Summary: WKWebView is missing an equivalent to WebKit 1's API to set the media style.
4175         <rdar://problem/49862107> and https://bugs.webkit.org/show_bug.cgi?id=203974
4176
4177         Reviewed by Alex Christensen.
4178
4179         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4180         * TestWebKitAPI/Tests/WebKitCocoa/MediaType.mm: Added.
4181         (TEST):
4182         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
4183
4184 2019-11-14  Brady Eidson  <beidson@apple.com>
4185
4186         pageZoom/setPageZoom: should not be in a Mac-only part of WKWebView.mm
4187         https://bugs.webkit.org/show_bug.cgi?id=204128
4188
4189         Reviewed by Alex Christensen.
4190
4191         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4192         * TestWebKitAPI/Tests/WebKitCocoa/PageZoom.mm: Added.
4193         (TestWebKitAPI::getClientWidth):
4194         * TestWebKitAPI/cocoa/TestWKWebView.h:
4195         * TestWebKitAPI/cocoa/TestWKWebView.mm:
4196         (-[WKWebView waitUntilClientWidthIs:]):
4197
4198 2019-11-14  Jonathan Bedard  <jbedard@apple.com>
4199
4200         webkitpy: Clarify webkitpy/style/optparser_unittest.py by removing parse variables
4201         https://bugs.webkit.org/show_bug.cgi?id=204183
4202
4203         Reviewed by Stephanie Lewis.
4204
4205         * Scripts/webkitpy/style/optparser_unittest.py:
4206         (ArgumentParserTest.test_parse_documentation): Remove parse variable.
4207         (ArgumentParserTest.test_parse_bad_values): Ditto.
4208         (ArgumentParserTest.test_parse_default_arguments): Ditto.
4209         (ArgumentParserTest.test_parse_explicit_arguments): Ditto.
4210         (ArgumentParserTest.test_parse_files): Ditto.
4211
4212 2019-11-14  Aakash Jain  <aakash_jain@apple.com>
4213
4214         Add support for remotes file for EWS builders (follow-up fix)
4215         https://bugs.webkit.org/show_bug.cgi?id=203899
4216
4217         Unreviewed follow-up fix.
4218
4219         * BuildSlaveSupport/ews-build/factories.py:
4220         (JSCTestsFactory.__init__): Passed remotes parameter to JSCTestsFactory as well.
4221         * BuildSlaveSupport/ews-build/loadConfig_unittest.py: Updated unit-test.
4222
4223 2019-11-14  Aakash Jain  <aakash_jain@apple.com>
4224
4225         [ews] Enable JSC queue on new EWS
4226         https://bugs.webkit.org/show_bug.cgi?id=204179
4227
4228         Reviewed by Jonathan Bedard.
4229
4230         * BuildSlaveSupport/ews-build/config.json: Enabled the scheduler for JSC queue.
4231         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Enabled JSC queue bubble on new EWS.
4232         * QueueStatusServer/config/queues.py: Removed JSC queue from old EWS.
4233         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
4234         (BubbleQueueServer): Removed JSC queue from bot-watcher's dashboard.
4235
4236 2019-11-13  Wenson Hsieh  <wenson_hsieh@apple.com>
4237
4238         [Clipboard API] Add support for Clipboard.write()
4239         https://bugs.webkit.org/show_bug.cgi?id=204078
4240         <rdar://problem/57087756>
4241
4242         Reviewed by Ryosuke Niwa.
4243
4244         Make the LocalPasteboard in WebKitTestRunner compatible with calls to -writeObjects: with a list of pasteboard
4245         items. Currently, attempts to -writeObjects: result in a crash, since NSPasteboard code will attempt to
4246         communicate with pasted and fail. We fix this by implementing -writeObjects: and storing the array of
4247         NSPasteboardItems in LocalPasteboard, the same way we do in DumpRenderTree's LocalPasteboard implementation.
4248
4249         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
4250         (-[LocalPasteboard declareTypes:owner:]):
4251         (-[LocalPasteboard _clearContentsWithoutUpdatingChangeCount]):
4252
4253         Factor out logic to clear the pasteboard's content into a separate helper, and clear out the list of saved
4254         pasteboard items here as well.
4255
4256         (-[LocalPasteboard clearContents]):
4257
4258         Implement -clearContents in DumpRenderTree's LocalPasteboard, so that we can test Clipboard.write() in WebKit1.
4259
4260         (-[LocalPasteboard writeObjects:]):
4261
4262         Also make it so that we save any NSPasteboardItems we write to the local pasteboard, so that we can return them
4263         later in -pasteboardItems.
4264
4265         (-[LocalPasteboard pasteboardItems]):
4266         * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
4267         (-[LocalPasteboard initWithName:]):
4268
4269         Clean up this code a bit by replacing manual reference counting for `typesArray` and its neighboring data
4270         structures with `RetainPtr`. Additionally, underscore-prefix the instance variables on LocalPasteboard to match
4271         most of the other Objective-C objects in WebKit.
4272
4273         (-[LocalPasteboard name]):
4274         (-[LocalPasteboard _clearContentsWithoutUpdatingChangeCount]):
4275
4276         Clear out the NSPasteboardItem list here too.
4277
4278         (-[LocalPasteboard clearContents]):
4279         (-[LocalPasteboard declareTypes:owner:]):
4280         (-[LocalPasteboard addTypes:owner:]):
4281         (-[LocalPasteboard _addTypesWithoutUpdatingChangeCount:owner:]):
4282         (-[LocalPasteboard changeCount]):
4283         (-[LocalPasteboard types]):
4284         (-[LocalPasteboard availableTypeFromArray:]):
4285         (-[LocalPasteboard setData:forType:]):
4286         (-[LocalPasteboard dataForType:]):
4287         (-[LocalPasteboard pasteboardItems]):
4288         (-[LocalPasteboard writeObjects:]):
4289
4290         Implement this by porting over the implementation that currently exists in DumpRenderTree. Like in
4291         DumpRenderTree, we want to also save the NSPasteboardItem array we're given here, so that we can return it in
4292         -pasteboardItems.
4293
4294         (-[LocalPasteboard dealloc]): Deleted.
4295
4296 2019-11-13  Megan Gardner  <megan_gardner@apple.com>
4297
4298         Cleanup UIKitSPI for Testing
4299         https://bugs.webkit.org/show_bug.cgi?id=204173
4300
4301      &n