891f7f0794bfb377afb4c14161575e0cc6ed9102
[WebKit.git] / Tools / ChangeLog
1 2019-12-12  Patrick Griffis  <pgriffis@igalia.com>
2
3         [SOUP] Use new API for strict secure cookies
4         https://bugs.webkit.org/show_bug.cgi?id=169356
5
6         Reviewed by Michael Catanzaro.
7
8         Update libsoup to fix a secure cookie test
9
10         * gtk/jhbuild.modules:
11         * wpe/jhbuild.modules:
12
13 2019-12-11  Jonathan Bedard  <jbedard@apple.com>
14
15         Python 3: Support serial ServerProcess tests
16         https://bugs.webkit.org/show_bug.cgi?id=205146
17
18         Reviewed by Stephanie Lewis.
19
20         * Scripts/webkitpy/port/server_process.py:
21         (ServerProcess.write): Flush stdin after writing to it.
22         * Scripts/webkitpy/port/server_process_unittest.py:
23         (TestServerProcess): print to stderr in Python 2/3 compatible way.
24         (TestServerProcess.serial_test_basic): ServerProcess speaks in bytes.
25         (TestServerProcess.serial_test_read_after_process_exits): Ditto.
26         (TestServerProcess.serial_test_process_crashing): Ditto.
27         (TestServerProcess.serial_test_process_crashing_no_data): Ditto.
28
29 2019-12-11  Daniel Bates  <dabates@apple.com>
30
31         UIWKDocumentContext returns 0 character rects when caret is at beginning or end of text
32         https://bugs.webkit.org/show_bug.cgi?id=205135
33         <rdar://problem/56887914>
34
35         Reviewed by Wenson Hsieh.
36
37         Add tests that request rects when the insertion point is at the beginning or end of the text.
38
39         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
40         (TEST):
41
42 2019-12-11  Jiewen Tan  <jiewen_tan@apple.com>
43
44         [WebAuthn] Combine AuthenticatorResponse and PublicKeyCredentialData
45         https://bugs.webkit.org/show_bug.cgi?id=190783
46         <rdar://problem/57781183>
47
48         Reviewed by Brent Fulgham.
49
50         * TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
51         (TestWebKitAPI::TEST):
52         Updates tests accordingly.
53
54 2019-12-11  Truitt Savell  <tsavell@apple.com>
55
56         Unreviewed, rolling out r253376.
57
58         Broke internal builds
59
60         Reverted changeset:
61
62         "Move WKWebView code related to testing to new files, with
63         their own headers, and stop exposing test-only functions as
64         SPI."
65         https://bugs.webkit.org/show_bug.cgi?id=205021
66         https://trac.webkit.org/changeset/253376
67
68 2019-12-11  Jonathan Bedard  <jbedard@apple.com>
69
70         Python 3: Add support in webkitpy.performance_tests
71         https://bugs.webkit.org/show_bug.cgi?id=205122
72
73         Reviewed by Stephanie Lewis.
74
75         * Scripts/test-webkitpy-python3: Add webkitpy.performance_tests.
76         * Scripts/webkitpy/performance_tests/perftest.py:
77         (PerfTest.run): Use range over xrange.
78         (PerfTest.log_statistics): Python 3 may use more precision than Python 2.
79         (PerfTest._run_with_driver): Convert list to map.
80         * Scripts/webkitpy/performance_tests/perftest_unittest.py:
81         (TestPerfTest._assert_results_are_correct): Convert map to list.
82         * Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
83         (MainTest._test_run_with_json_output): Use range over xrange, convert keys to list.
84         (MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):
85         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
86         (MainTest.test_collect_tests_with_multile_files): Use assertEqual over assertItemsEqual.
87         (MainTest.test_collect_tests_with_skipped_list): Ditto.
88         (MainTest.test_collect_tests_with_skipped_list_and_files): Ditto.
89         (MainTest.test_collect_tests_with_ignored_skipped_list): Ditto.
90
91 2019-12-11  Jonathan Bedard  <jbedard@apple.com>
92
93         Python 3: Add support in webkitpy.w3c
94         https://bugs.webkit.org/show_bug.cgi?id=205118
95
96         Reviewed by Stephanie Lewis.
97
98         * Scripts/test-webkitpy-python3: Add webkitpy.w3c.
99         * Scripts/webkitpy/common/system/filesystem_mock.py:
100         (MockFileSystem.open_binary_file_for_reading): Missing file should cause Filesystem exception.
101         (MockFileSystem.read_binary_file): Ditto.
102         (MockFileSystem.open_text_file_for_reading): Ditto.
103         (MockFileSystem.remove): Ditto.
104         * Scripts/webkitpy/w3c/test_converter.py:
105         (convert_for_webkit): Convert binary file to text file.
106         (_W3CTestConverter.read_webkit_prefixed_css_property_list): Use items over iteritems.
107         * Scripts/webkitpy/w3c/test_converter_unittest.py:
108         (verify_test_harness_paths): Use Python 3 compatible type check.
109         * Scripts/webkitpy/w3c/test_downloader.py:
110         (TestDownloader._init_paths_from_expectations): Use items over iteritems.
111         * Scripts/webkitpy/w3c/test_importer.py:
112         (TestImporter.readEnvironmentsForTemplateTest): Convert filter to list.
113         * Scripts/webkitpy/w3c/wpt_github.py:
114         (WPTGitHub.auth_token): Encode base64 input and decode base64 output.
115         * Scripts/webkitpy/w3c/wpt_github_unittest.py:
116         (WPTGitHubTest.test_auth_token):
117
118 2019-12-10  Simon Fraser  <simon.fraser@apple.com>
119
120         Move WKWebView code related to testing to new files, with their own headers, and stop exposing test-only functions as SPI.
121         https://bugs.webkit.org/show_bug.cgi?id=205021
122
123         Reviewed by Tim Horton.
124
125         Stop exposing WKWebView (WKTesting) as SPI, because everyone added SPI here by mistake, and
126         internal clients kept using testing SPI.
127         
128         Instead, move testing-only functions to internal headers that are not present in the built framework,
129         and move to WKWebView (WKPrivate) properties and functions that webkit clients rely on.
130         
131         Add WKWebViewTesting/WKWebViewTestingMac/WKWebViewTestingIOS for test-only code.
132         
133         WKWebViewTesting* headers are copied to a "WebKitTestSupport" directory in the Products directory, and WTR/DRT and TestWebKitAPI
134         get header search paths to find the headers there.
135
136         * MiniBrowser/Configurations/Base.xcconfig:
137         * MiniBrowser/mac/WK2BrowserWindowController.m:
138         * TestWebKitAPI/Configurations/Base.xcconfig:
139         * TestWebKitAPI/EditingTestHarness.mm:
140         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerCrash.mm:
141         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
142         * TestWebKitAPI/Tests/WebKitCocoa/DoubleDefersLoading.mm:
143         * TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
144         * TestWebKitAPI/Tests/WebKitCocoa/MediaBufferingPolicy.mm:
145         * TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
146         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
147         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm:
148         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
149         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
150         * TestWebKitAPI/Tests/WebKitCocoa/SnapshotStore.mm:
151         * TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
152         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
153         * TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
154         * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
155         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
156         * TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
157         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCandidateTests.mm:
158         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
159         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFirstResponderTests.mm:
160         * TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
161         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
162         * TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
163         * TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:
164         * TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
165         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
166         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
167         * WebKitTestRunner/Configurations/Base.xcconfig:
168         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
169         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
170         * WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
171         * WebKitTestRunner/ios/TestControllerIOS.mm:
172         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
173         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
174
175 2019-12-11  Jonathan Bedard  <jbedard@apple.com>
176
177         Add test-lldb-webkit
178         https://bugs.webkit.org/show_bug.cgi?id=187916
179
180         Reviewed by Stephanie Lewis.
181
182         * Scripts/test-lldb-webkit: Added.
183         (NoAction): Argparse action which support --<variable> and --no-<variable>.
184         (LldbTester): Wrapper around webkitpy's Tester class.
185         (LldbTester.parse_args): Specialized argparse for lldb tests.
186         (LldbTester.run): Setup environment and build lldb test runner.
187         (main):
188         * Scripts/webkitpy/test/main.py:
189         (main): Remove lldb testing code.
190         (Tester._parse_args): Ditto.
191         (Tester.run): Ditto.
192         (Tester._run_tests): Ditto.
193         (Tester._test_names): Ditto.
194         (_supports_building_and_running_lldb_tests): Deleted.
195
196 2019-12-10  Per Arne Vollan  <pvollan@apple.com>
197
198         Fix API test failure after r253351
199         https://bugs.webkit.org/show_bug.cgi?id=205089
200
201         Reviewed by Brent Fulgham.
202
203         With the patch landed in r253351, the NetworkExtension framework will not be loaded in the WebContent process unless
204         [NEFilterSource filterRequired] returns YES. Swizzle this method to return YES in the UI process.
205
206         * TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
207         (filterRequired):
208         (TEST):
209
210 2019-12-10  Chris Dumez  <cdumez@apple.com>
211
212         Gyroscope (DeviceMotion related) permission cannot be requested in WKWebView unless the client app sets a WKUIDelegate
213         https://bugs.webkit.org/show_bug.cgi?id=203287
214
215         Reviewed by Alex Christensen.
216
217         Add layout test coverage.
218
219         * TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
220         (runDeviceOrientationTest):
221         (TEST):
222
223 2019-12-10  youenn fablet  <youenn@apple.com>
224
225         Mark some WPT test folders as DumpJSConsoleLogInStdErr
226         https://bugs.webkit.org/show_bug.cgi?id=204793
227
228         Reviewed by Eric Carlson.
229
230         Make DTR and WTR set the default DumpJSConsoleLogInStdErr to true for some WPT sub-folders.
231         This is easier done there instead of TestExpectations as TestExpectations can be overriden in more specific expectations. 
232
233         * DumpRenderTree/TestOptions.cpp:
234         (pathContains):
235         (shouldDumpJSConsoleLogInStdErr):
236         (TestOptions::TestOptions):
237         * WebKitTestRunner/TestController.cpp:
238         (WTR::updateTestOptionsFromTestHeader):
239         * WebKitTestRunner/TestOptions.cpp:
240         (WTR::shouldDumpJSConsoleLogInStdErr):
241         (WTR::TestOptions::TestOptions):
242
243 2019-12-10  youenn fablet  <youenn@apple.com>
244
245         Disable video capture in UIProcess for WebKitTestRunner
246         https://bugs.webkit.org/show_bug.cgi?id=205054
247
248         Reviewed by Eric Carlson.
249
250         * WebKitTestRunner/TestOptions.h:
251         Some tests are still flaky as noted in bug 205053 and this option is still experimental.
252
253 2019-12-09  Jonathan Bedard  <jbedard@apple.com>
254
255         test-webkitpy: Remove --<configuration> flags from CI
256         https://bugs.webkit.org/show_bug.cgi?id=205016
257
258         Reviewed by Stephanie Lewis.
259
260         * BuildSlaveSupport/build.webkit.org-config/steps.py:
261         (RunPythonTests): Remove --debug/--release flags to test-webkitpy.
262
263 2019-12-09  Alex Christensen  <achristensen@webkit.org>
264
265         Re-disable TLS1.0 and TLS1.1 by default
266         https://bugs.webkit.org/show_bug.cgi?id=204922
267         <rdar://problem/57677752>
268
269         Reviewed by Youenn Fablet.
270
271         * TestWebKitAPI/TCPServer.cpp:
272         (TestWebKitAPI::TCPServer::respondWithOK):
273         * TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:
274         (TestWebKitAPI::TEST):
275         (TestWebKitAPI::getWebSocketEventWebKitLegacy):
276
277 2019-12-09  youenn fablet  <youenn@apple.com>
278
279         Add an option to capture audio in GPU process
280         https://bugs.webkit.org/show_bug.cgi?id=205007
281
282         Reviewed by Eric Carlson.
283
284         * WebKitTestRunner/TestController.cpp:
285         (WTR::TestController::resetPreferencesToConsistentValues):
286         (WTR::updateTestOptionsFromTestHeader):
287         * WebKitTestRunner/TestOptions.h:
288         (WTR::TestOptions::hasSameInitializationOptions const):
289
290 2019-12-08  Tim Horton  <timothy_horton@apple.com>
291
292         REGRESSION: Crash under UIScriptControllerIOS::simulateAccessibilitySettingsChangeNotification
293         https://bugs.webkit.org/show_bug.cgi?id=205002
294
295         Reviewed by Wenson Hsieh.
296
297         Keep a strong reference to the UIScriptController while running async tasks.
298         UIScriptContext will be nulled out if the view was torn down, but this way
299         we keep the UIScriptController itself and can find the null UIScriptContext
300         reliably.
301
302         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
303         (WTR::UIScriptControllerIOS::doAsyncTask):
304         (WTR::UIScriptControllerIOS::zoomToScale):
305         * DumpRenderTree/mac/UIScriptControllerMac.mm:
306         (WTR::UIScriptControllerMac::doAsyncTask):
307         (WTR::UIScriptControllerMac::activateDataListSuggestion):
308         (WTR::UIScriptControllerMac::removeViewFromWindow):
309         (WTR::UIScriptControllerMac::addViewToWindow):
310         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
311         (WTR::UIScriptControllerIOS::doAfterPresentationUpdate):
312         (WTR::UIScriptControllerIOS::doAfterNextStablePresentationUpdate):
313         (WTR::UIScriptControllerIOS::ensurePositionInformationIsUpToDateAt):
314         (WTR::UIScriptControllerIOS::doAfterVisibleContentRectUpdate):
315         (WTR::UIScriptControllerIOS::zoomToScale):
316         (WTR::UIScriptControllerIOS::retrieveSpeakSelectionContent):
317         (WTR::UIScriptControllerIOS::simulateAccessibilitySettingsChangeNotification):
318         (WTR::UIScriptControllerIOS::touchDownAtPoint):
319         (WTR::UIScriptControllerIOS::liftUpAtPoint):
320         (WTR::UIScriptControllerIOS::twoFingerSingleTapAtPoint):
321         (WTR::UIScriptControllerIOS::doubleTapAtPoint):
322         (WTR::UIScriptControllerIOS::stylusDownAtPoint):
323         (WTR::UIScriptControllerIOS::stylusMoveToPoint):
324         (WTR::UIScriptControllerIOS::stylusUpAtPoint):
325         (WTR::UIScriptControllerIOS::stylusTapAtPointWithModifiers):
326         (WTR::UIScriptControllerIOS::dragFromPointToPoint):
327         (WTR::UIScriptControllerIOS::longPressAtPoint):
328         (WTR::UIScriptControllerIOS::typeCharacterUsingHardwareKeyboard):
329         (WTR::UIScriptControllerIOS::dismissFilePicker):
330         (WTR::UIScriptControllerIOS::applyAutocorrection):
331         (WTR::UIScriptControllerIOS::simulateRotation):
332         (WTR::UIScriptControllerIOS::simulateRotationLikeSafari):
333         (WTR::UIScriptControllerIOS::setDidStartFormControlInteractionCallback):
334         (WTR::UIScriptControllerIOS::setDidEndFormControlInteractionCallback):
335         (WTR::UIScriptControllerIOS::setDidShowContextMenuCallback):
336         (WTR::UIScriptControllerIOS::setDidDismissContextMenuCallback):
337         (WTR::UIScriptControllerIOS::setWillBeginZoomingCallback):
338         (WTR::UIScriptControllerIOS::setDidEndZoomingCallback):
339         (WTR::UIScriptControllerIOS::setDidShowKeyboardCallback):
340         (WTR::UIScriptControllerIOS::setDidHideKeyboardCallback):
341         (WTR::UIScriptControllerIOS::setWillPresentPopoverCallback):
342         (WTR::UIScriptControllerIOS::setDidDismissPopoverCallback):
343         (WTR::UIScriptControllerIOS::setDidEndScrollingCallback):
344         (WTR::UIScriptControllerIOS::activateDataListSuggestion):
345         (WTR::UIScriptControllerIOS::doAfterDoubleTapDelay):
346         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
347         (WTR::UIScriptControllerMac::zoomToScale):
348         (WTR::UIScriptControllerMac::simulateAccessibilitySettingsChangeNotification):
349         (WTR::UIScriptControllerMac::chooseMenuAction):
350         (WTR::UIScriptControllerMac::activateAtPoint):
351
352 2019-12-07  Said Abou-Hallawa  <sabouhallawa@apple.com>
353
354         Make ColorSpace an enum class
355         https://bugs.webkit.org/show_bug.cgi?id=204970
356
357         Reviewed by Sam Weinig.
358
359         * TestWebKitAPI/Tests/WebCore/ExtendedColor.cpp:
360         (TestWebKitAPI::TEST):
361         (TestWebKitAPI::makeColor):
362
363 2019-12-06  Jonathan Bedard  <jbedard@apple.com>
364
365         Python 3: Add support in webkitpy.tool (Follow-up, part 2)
366         https://bugs.webkit.org/show_bug.cgi?id=204838
367
368         Unreviewed follow-up fix.
369
370         * Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
371
372 2019-12-06  Jonathan Bedard  <jbedard@apple.com>
373
374         Python 3: Add support in webkitpy.tool (Follow-up, part 1)
375         https://bugs.webkit.org/show_bug.cgi?id=204838
376
377         Reviewed by Stephanie Lewis.
378
379         As I've been using webkit-patch with Python 3, I've encountered a handful of other
380         compatibility bugs.
381
382         * Scripts/webkit-patch:
383         (ForgivingUTF8Writer): Only apple the ForgivingUTF8Writer when our string type isn't unicode.
384         (ForgivingUTF8Writer.write): Use standardized decoding functions.
385         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
386         (Bugzilla.authenticate): Use byte regex.
387         * Scripts/webkitpy/tool/steps/editchangelog.py:
388         (EditChangeLog.run): Convert map to list.
389
390 2019-12-06  Jonathan Bedard  <jbedard@apple.com>
391
392         Python 3: Add support in webkitpy.test
393         https://bugs.webkit.org/show_bug.cgi?id=204952
394
395         Reviewed by Stephanie Lewis.
396
397         * Scripts/test-webkitpy-python3: Add webkitpy.tool.
398         * Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py: Use Python 2/3
399         compatible StringIO objects.
400         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: Ditto.
401         * Scripts/webkitpy/performance_tests/perftest_unittest.py: Ditto.
402         * Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py: Ditto.
403         * Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py: Ditto.
404         * Scripts/webkitpy/test/finder.py:
405         (Finder._exclude): Convert filter to list.
406         * Scripts/webkitpy/test/main.py:
407         (Tester._log_exception): Use Python 2/3 compatible StringIO object.
408         (_Loader.getTestCaseNames): Convert filter to list.
409         * Scripts/webkitpy/test/main_unittest.py:
410         (TesterTest.test_no_tests_found): Use Python 2/3 compatible StringIO.
411         (TesterTest.test_integration_tests_are_found): Sort serial tests before comparing.
412         * Scripts/webkitpy/test/printer.py: Use Python 2/3 compatible StringIO.
413         * Scripts/webkitpy/test/runner_unittest.py: Ditto.
414         * Scripts/webkitpy/test/skip.py:
415         (_skipped_method._skip): Fix class inspection on instance method.
416         * Scripts/webkitpy/test/skip_unittest.py: Use Python 2/3 compatible StringIO.
417         * Scripts/webkitpy/w3c/test_converter.py: Use Python 2/3 compatible HTMLParser.
418         * Scripts/webkitpy/w3c/wpt_runner.py:
419         (main): Fix Python 3 syntax errors.
420         * lldb/dump_class_layout_unittest.py:
421         (TestDumpClassLayout.setUpClass): Fix Python 3 syntax errors.
422
423 2019-12-05  Jonathan Bedard  <jbedard@apple.com>
424
425         Python 3: Add support to webkitpy.browserperfdash
426         https://bugs.webkit.org/show_bug.cgi?id=204887
427
428         Reviewed by Stephanie Lewis.
429
430         * Scripts/test-webkitpy-python3: Add webkitpy.browserperfdash.
431         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py: Remove urlparse dependency.
432         * Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py: Use explicit import.
433         * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:
434         (WebServerBenchmarkRunner._run_one_test): Use Python 2/3 compatible urljoin.
435
436 2019-12-05  Sihui Liu  <sihui_liu@apple.com>
437
438         Fix a Typo in IndexedDBInPageCache.html
439         https://bugs.webkit.org/show_bug.cgi?id=204897
440
441         Reviewed by Chris Dumez.
442
443         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBInPageCache.html:
444
445 2019-12-05  youenn fablet  <youenn@apple.com>
446
447         inspector/page/overrideSetting-MockCaptureDevicesEnabled.html is failing after removal of internals.setMockMediaCaptureDevicesEnabled API
448         https://bugs.webkit.org/show_bug.cgi?id=204849
449
450         Reviewed by Eric Carlson.
451
452         Add test runner API to check which center (mock or not) is used in UIProcess side.
453
454         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
455         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
456         (WTR::TestRunner::isMockRealtimeMediaSourceCenterEnabled):
457         * WebKitTestRunner/InjectedBundle/TestRunner.h:
458         * WebKitTestRunner/TestController.cpp:
459         (WTR::TestController::isMockRealtimeMediaSourceCenterEnabled const):
460         * WebKitTestRunner/TestController.h:
461         * WebKitTestRunner/TestInvocation.cpp:
462         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
463
464 2019-12-05  Zalan Bujtas  <zalan@apple.com>
465
466         [LFC][IFC] Move trailing trimming logic to LineBuilder::TrimmableContent
467         https://bugs.webkit.org/show_bug.cgi?id=204872
468         <rdar://problem/57652365>
469
470         Reviewed by Antti Koivisto.
471
472         * LayoutReloaded/misc/LFC-passing-tests.txt:
473
474 2019-12-04  Fujii Hironori  <Hironori.Fujii@sony.com>
475
476         run-javascriptcore-tests is failing to run testmasm of 64bit AppleWin on Buildbot
477         https://bugs.webkit.org/show_bug.cgi?id=204869
478
479         Reviewed by Per Arne Vollan.
480
481         testmasm is compiled only when DEVELOPER_MODE.
482         Enable DEVELOPER_MODE for all 64bit Windows builds.
483
484         * Scripts/webkitdirs.pm:
485         (generateBuildSystemFromCMakeProject): Replaced "isFTW() || isWinCairo()" with isWin64()
486         in the condition of enabling DEVELOPER_MODE.
487
488 2019-12-04  Jonathan Bedard  <jbedard@apple.com>
489
490         results.webkit.org: Decrease ttl for archives
491         https://bugs.webkit.org/show_bug.cgi?id=204806
492         <rdar://problem/57527644>
493
494         Unreviewed infrastructure fix.
495
496         * resultsdbpy/resultsdbpy/controller/archive_controller_unittest.py:
497         (ArchiveControllerUnittest.setup_webserver): Disable time-to-live.
498         * resultsdbpy/resultsdbpy/model/mock_model_factory.py:
499         (MockModelFactory.create): Ensure time-to-live is longer than the oldest commit.
500
501 2019-12-04  Jonathan Bedard  <jbedard@apple.com>
502
503         results.webkit.org: Handle duplicate archives
504         https://bugs.webkit.org/show_bug.cgi?id=204860
505
506         Reviewed by Stephanie Lewis.
507
508         * resultsdbpy/resultsdbpy/controller/archive_controller.py:
509         (ArchiveController): Pass test time to ArchiveContext, de-duplicate any
510         identical archives.
511         * resultsdbpy/resultsdbpy/model/archive_context.py:
512         (ArchiveContext): Only upack identical archives once, pass digest to caller.
513
514 2019-12-04  Jonathan Bedard  <jbedard@apple.com>
515
516         Python 3: Add support in webkitpy.benchmark_runner
517         https://bugs.webkit.org/show_bug.cgi?id=204784
518
519         Reviewed by Stephanie Lewis.
520
521         * Scripts/test-webkitpy-python3: Add webkitpy.benchmark_runner.
522         * Scripts/webkitpy/benchmark_runner/benchmark_results.py:
523         (BenchmarkResults): Arithmetic aggregator should use integer division.
524         (BenchmarkResults._format_values): Convert map to list.
525         (BenchmarkResults._aggregate_results): Ditto.
526         (BenchmarkResults._aggregate_results_for_test): Use Python 2/3 compatible iteritems.
527         (BenchmarkResults._subtest_values_by_config_iteration): Ditto.
528         (BenchmarkResults._lint_subtest_results): Ditto.
529         (BenchmarkResults._lint_configuration): Ditto.
530         * Scripts/webkitpy/benchmark_runner/benchmark_results_unittest.py: Use explicit imports.
531         * Scripts/webkitpy/benchmark_runner/benchmark_runner.py: Ditto.
532         * Scripts/webkitpy/benchmark_runner/browser_driver/__init__.py: Ditto.
533         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_browser_driver.py: Ditto.
534         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py: Ditto.
535         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_cog_driver.py: Ditto.
536         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_epiphany_driver.py: Ditto.
537         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py: Ditto.
538         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowsergtk_driver.py: Ditto.
539         * Scripts/webkitpy/benchmark_runner/browser_driver/linux_minibrowserwpe_driver.py: Ditto.
540         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py: Ditto.
541         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py: Ditto.
542         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py: Ditto.
543         * Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: Ditto.
544         * Scripts/webkitpy/benchmark_runner/http_server_driver/__init__.py: Ditto.
545         * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: Ditto.
546         * Scripts/webkitpy/benchmark_runner/run_benchmark.py: Ditto.
547         * Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py: Ditto.
548
549 2019-12-04  Jonathan Bedard  <jbedard@apple.com>
550
551         Python 3: Add support in webkitpy.tool
552         https://bugs.webkit.org/show_bug.cgi?id=204838
553
554         Reviewed by Stephanie Lewis.
555
556         * Scripts/test-webkitpy-python3: Add webkitpy.tool.
557         * Scripts/webkit-patch: Remove version check.
558         * Scripts/webkitpy/common/net/bugzilla/bug.py:
559         (Bug.reviewed_patches): Convert filter to list.
560         (Bug.commit_queued_patches): Ditto.
561         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
562         (MockBugzillaQueries.fetch_bug_ids_from_commit_queue): Convert map to list.
563         (MockBugzillaQueries.fetch_attachment_ids_from_review_queue): Ditto.
564         (MockBugzillaQueries.fetch_bug_ids_from_pending_commit_list): Ditto.
565         (MockBugzilla.post_comment_to_bug): Sort cc list before printing.
566         * Scripts/webkitpy/common/net/statusserver.py:
567         (StatusServer.set_api_key): Convert filter to list.
568         * Scripts/webkitpy/common/net/web.py:
569         (Web.get_binary): Use Python 2/3 compatible urlopen.
570         (Web.request): Use Python 2/3 compatible Request.
571         * Scripts/webkitpy/common/prettypatch.py:
572         (PrettyPatch.pretty_diff_file): Encode diff before printing.
573         * Scripts/webkitpy/common/system/executive_mock.py:
574         (MockExecutive.run_and_throw_if_fail): Sort environment before printing.
575         (MockExecutive.run_command): Convert input to string before printing.
576         * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:
577         (FailingTestCommitQueue.test_results): Convert map to list.
578         (MockSimpleTestPlanCommitQueue.test_results): Ditto.
579         * Scripts/webkitpy/tool/bot/feeders.py:
580         (CommitQueueFeeder.feed): Use Python 2/3 compatible sort.
581         (CommitQueueFeeder._patch_cmp): Deleted.
582         * Scripts/webkitpy/tool/bot/flakytestreporter.py:
583         (FlakyTestReporter._lookup_bug_for_flaky_test): Convert filter to list.
584         * Scripts/webkitpy/tool/bot/irc_command.py:
585         (Whois.execute): Convert map to list.
586         * Scripts/webkitpy/tool/bot/retrylogic_unittest.py:
587         (JSCEarlyWarningSystemTest._create_task): Convert map to list.
588         * Scripts/webkitpy/tool/bot/sheriff.py:
589         * Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py: Use sorted lists
590         Instead of sets.
591         * Scripts/webkitpy/tool/commands/download.py:
592         (AbstractPatchSequencingCommand.__init__): Use Python 2/3 compatible sort.
593         * Scripts/webkitpy/tool/commands/download_unittest.py: Sort environment.
594         * Scripts/webkitpy/tool/commands/earlywarningsystem.py:
595         (AbstractEarlyWarningSystem.load_ews_classes): str.translate differs between Python 2
596         and Python 3.
597         * Scripts/webkitpy/tool/commands/newcommitbot.py:
598         (NewCommitBot._summarize_commit_log): Convert filter to list.
599         * Scripts/webkitpy/tool/commands/queues.py:
600         (AbstractQueue.should_continue_work_queue): Handle case where iterations is a MagicMock.
601         (AbstractQueue._log_from_script_error_for_upload): Explicitly use BytesIO
602         * Scripts/webkitpy/tool/commands/queues_unittest.py: Use explicit import paths.
603         * Scripts/webkitpy/tool/commands/rebaseline_unittest.py: Sort lists before comparing them.
604         * Scripts/webkitpy/tool/commands/stepsequence.py:
605         (StepSequence.options): Use Python 2/3 compatible sort.
606         * Scripts/webkitpy/tool/commands/suggestnominations.py:
607         (AbstractCommitLogCommand.__init__): Use Python 2/3 compatible sort.
608         (SuggestNominations._print_nominations): Ditto.
609         (SuggestNominations._print_counts): Ditto.
610         (SuggestNominations._print_nominations.nomination_cmp): Deleted.
611         (SuggestNominations._print_counts.counter_cmp): Deleted.
612         * Scripts/webkitpy/tool/mocktool_unittest.py: Use explicit import paths.
613         * Scripts/webkitpy/tool/multicommandtool.py:
614         (HelpCommand._help_epilog): Convert filter to list, use Python 2/3 compatible sort.
615         (MultiCommandTool._find_all_commands): Use Python 2/3 compatible sort.
616         * Scripts/webkitpy/tool/servers/gardeningserver.py:
617         (GardeningHTTPServer): Use Python 2/3 compatible HTTPServers.
618         * Scripts/webkitpy/tool/servers/rebaselineserver.py:
619         (get_test_baselines.AllPlatformsPort.baseline_search_path): Use list instead of utterable keys.
620         (RebaselineHTTPServer): Use Python 2/3 compatible HTTPServers.
621         (RebaselineHTTPServer.__init__): Ditto.
622         * Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:
623         (GetActualResultFilesTest.test): Use assertEqual instead of assertItemsEqual.
624         * Scripts/webkitpy/tool/servers/reflectionhandler.py:
625         (ReflectionHandler): Use Python 2/3 compatible HTTPServers.
626         * Scripts/webkitpy/tool/steps/applywatchlist.py:
627         (ApplyWatchList.run): Sort cc_emails before printing.
628         * Scripts/webkitpy/tool/steps/applywatchlist_unittest.py: Print sorted list instead
629         of set.
630         * Scripts/webkitpy/tool/steps/confirmdiff.py:
631         (ConfirmDiff._show_pretty_diff): Use Python 2/3 compatible pathname2url.
632         * Scripts/webkitpy/tool/steps/haslanded.py:
633         (HasLanded.convert_to_svn): Use Python 2/3 compatible StringIO.
634         (HasLanded.strip_change_log): Ditto.
635         * Scripts/webkitpy/tool/steps/preparechangelog.py:
636         (PrepareChangeLog._resolve_existing_entry): Convert zip object to list.
637         * Scripts/webkitpy/tool/steps/promptforbugortitle.py: Use Python 2/3 compatible urlparse.
638         * Scripts/webkitpy/tool/steps/steps_unittest.py: Sort environment.
639         * Scripts/webkitpy/w3c/test_exporter.py: Use Python 2/3 compatible HTTPError.
640         * Scripts/webkitpy/w3c/wpt_github.py:
641         (WPTGitHub.remove_label): Use Python 2/3 compatible urllib.quote.
642         (WPTGitHub.is_pr_merged): Use Python 2/3 compatible HTTPError.
643         (WPTGitHub.merge_pr): Ditto.
644         (JSONResponse.__init__):
645
646 2019-12-04  Jonathan Bedard  <jbedard@apple.com>
647
648         Unreviewed, rolling out r253069.
649
650         requests not handling certificate chain correctly in Catalina
651
652         Reverted changeset:
653
654         "results.webkit.org: Sort out certificates on Catalina"
655         https://bugs.webkit.org/show_bug.cgi?id=202837
656         https://trac.webkit.org/changeset/253069
657
658 2019-12-04  Louie Livon-Bemel  <llivonbemel@apple.com>
659
660         Add exclusion rule for text manipulation SPI to exclude based on element class
661         https://bugs.webkit.org/show_bug.cgi?id=204754
662         <rdar://problem/57398802>
663
664         Reviewed by Ryosuke Niwa.
665
666         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
667         (TestWebKitAPI::TEST):
668             - When matching a class, it should work even with other class names on the element.
669             - All children elements should get the same exclusion rule, unless overridden by another rule.
670
671 2019-12-04  youenn fablet  <youenn@apple.com>
672
673         WebProcessPool::terminateServiceWorkerProcess should be renamed terminateServiceWorkers
674         https://bugs.webkit.org/show_bug.cgi?id=204792
675
676         Reviewed by Chris Dumez.
677
678         Renaming testRunner API from terminateServiceWorkerProcess to terminateServiceWorkers.
679
680         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
681         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
682         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
683         (WTR::TestRunner::terminateServiceWorkers):
684         * WebKitTestRunner/InjectedBundle/TestRunner.h:
685         * WebKitTestRunner/TestController.cpp:
686         (WTR::TestController::terminateServiceWorkers):
687         * WebKitTestRunner/TestController.h:
688         * WebKitTestRunner/TestInvocation.cpp:
689         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
690
691 2019-12-04  Patrick Griffis  <pgriffis@igalia.com>
692
693         [GTK][WPE] Add libuuid to install-dependencies
694         https://bugs.webkit.org/show_bug.cgi?id=204705
695
696         Reviewed by Adrian Perez de Castro.
697
698         * gtk/install-dependencies:
699         * wpe/install-dependencies:
700
701 2019-12-04  Tim Horton  <timothy_horton@apple.com>
702
703         Introduce a GPU process
704         https://bugs.webkit.org/show_bug.cgi?id=204343
705
706         Reviewed by Simon Fraser.
707
708         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
709
710 2019-12-03  Megan Gardner  <megan_gardner@apple.com>
711
712         Add disabled highlight API skeleton
713         https://bugs.webkit.org/show_bug.cgi?id=204809
714
715         Reviewed by Ryosuke Niwa.
716
717         * DumpRenderTree/mac/DumpRenderTree.mm:
718         (enableExperimentalFeatures):
719         * WebKitTestRunner/TestController.cpp:
720         (WTR::TestController::resetPreferencesToConsistentValues):
721
722 2019-12-03  Ryosuke Niwa  <rniwa@webkit.org>
723
724         Replace customJavaScriptUserAgentAsSiteSpecificQuirks with customUserAgentAsSiteSpecificQuirks
725         https://bugs.webkit.org/show_bug.cgi?id=204824
726
727         Reviewed by Brent Fulgham.
728
729         Replaced WebKit.WebsitePoliciesCustomJavaScriptUserAgent and WebKit.WebsitePoliciesCustomUserAgents
730         with WebKit.WebsitePoliciesCustomUserAgentAsSiteSpecificQuirksDisabled, which tests that the UA string
731         specified by customUserAgentAsSiteSpecificQuirks is not used when site specific quirks is disabled,
732         and WebKit.WebsitePoliciesCustomUserAgentAsSiteSpecificQuirks, which tests that new property sets
733         UA string for both network requests and JS API.
734
735         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
736         (-[CustomJavaScriptUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
737
738 2019-12-03  Andres Gonzalez  <andresg_22@apple.com>
739
740         Focus tracking support in the accessibility isolatedtree.
741         https://bugs.webkit.org/show_bug.cgi?id=204535
742
743         Reviewed by Chris Fleizach.
744
745         FocusElement can run on the secondary AXThread.
746
747         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
748         (WTR::AccessibilityController::focusedElement):
749
750 2019-12-03  John Wilander  <wilander@apple.com>
751
752         Resource Load Statistics (experimental): Delete non-cookie website data after 7 days of no user interaction
753         https://bugs.webkit.org/show_bug.cgi?id=204779
754         <rdar://problem/57578989>
755
756         Reviewed by Alex Christensen.
757
758         These changes are test infrastructure so that TestRunner can
759         control the new setting.
760
761         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
762         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
763         (WTR::InjectedBundle::didReceiveMessageToPage):
764         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
765         (WTR::TestRunner::setStatisticsFirstPartyWebsiteDataRemovalMode):
766         (WTR::TestRunner::statisticsCallDidSetFirstPartyWebsiteDataRemovalModeCallback):
767         * WebKitTestRunner/InjectedBundle/TestRunner.h:
768         * WebKitTestRunner/TestController.cpp:
769         (WTR::TestController::setStatisticsFirstPartyWebsiteDataRemovalMode):
770         * WebKitTestRunner/TestController.h:
771         * WebKitTestRunner/TestInvocation.cpp:
772         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
773         (WTR::TestInvocation::didSetFirstPartyWebsiteDataRemovalMode):
774         * WebKitTestRunner/TestInvocation.h:
775
776 2019-12-03  Jonathan Bedard  <jbedard@apple.com>
777
778         Python 3: Add support in webkitpy.bindings
779         https://bugs.webkit.org/show_bug.cgi?id=204783
780
781         Reviewed by Stephanie Lewis.
782
783         Allow Tools/Scripts/run-bindings-tests to support Python 3.
784
785         * Scripts/webkitpy/bindings/main.py:
786         (BindingsTests.generate_supplemental_dependency): Encode unicode strings before
787         writing to file as bytes.
788
789 2019-12-03  Jonathan Bedard  <jbedard@apple.com>
790
791         results.webkit.org: Sort out certificates on Catalina
792         https://bugs.webkit.org/show_bug.cgi?id=202837
793
794         Unreviewed infrastructure repair.
795
796         Reverting the active parts of r250997 now that the certificates are sorted out.
797
798         * Scripts/webkitpy/results/upload.py:
799         (Upload.upload):
800         (Upload.upload_archive):
801
802 2019-12-03  Jonathan Bedard  <jbedard@apple.com>
803
804         results.webkit.org: Decrease ttl for archives
805         https://bugs.webkit.org/show_bug.cgi?id=204806
806         <rdar://problem/57527644>
807
808         Reviewed by Aakash Jain.
809
810         Make the ttl on the archive tables shorter, drop the existing table and create new ones
811         with a shorter ttl.
812
813         * resultsdbpy/resultsdbpy/model/archive_context.py:
814         (ArchiveContext.ArchiveMetaDataByCommit): Define new ArchiveMetaDataByCommit table.
815         (ArchiveContext.ArchiveChunks): Ditto.
816         * resultsdbpy/resultsdbpy/model/model.py:
817         (Model.__init__): Add archive ttl, 8 weeks by default.
818
819 2019-12-03  Christopher Reid  <chris.reid@sony.com>
820
821         Regular expression hangs in Safari only
822         https://bugs.webkit.org/show_bug.cgi?id=202882
823         <rdar://problem/56236654>
824
825         Reviewed by Yusuke Suzuki.
826
827         * TestWebKitAPI/CMakeLists.txt:
828         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
829         * TestWebKitAPI/Tests/WTF/BumpPointerAllocator.cpp: Added.
830
831 2019-12-03  Jonathan Bedard  <jbedard@apple.com>
832
833         https://bugs.webkit.org/show_bug.cgi?id=204804
834         <rdar://problem/57595666>
835
836         Reviewed by Tim Horton.
837
838         * Scripts/webkitpy/port/mac.py:
839         (MacCatalystPort):
840         (MacCatalystPort._build_driver_flags): Add SDKVARIANT=iosmac to build flags.
841
842 2019-12-03  Antoine Quint  <graouts@apple.com>
843
844         [Web Animations] Add a runtime flag for Web Animations composite operations
845         https://bugs.webkit.org/show_bug.cgi?id=204718
846
847         Reviewed by Dean Jackson.
848
849         * DumpRenderTree/mac/DumpRenderTree.mm:
850         (enableExperimentalFeatures):
851         * DumpRenderTree/win/DumpRenderTree.cpp:
852         (enableExperimentalFeatures):
853
854 2019-12-03  Aakash Jain  <aakash_jain@apple.com>
855
856         Do not retry the EWS build due to flaky failures in layout-test
857         https://bugs.webkit.org/show_bug.cgi?id=204769
858
859         Reviewed by Jonathan Bedard.
860
861         * BuildSlaveSupport/ews-build/steps.py:
862         (AnalyzeLayoutTestsResults.start): Do not retry the build due to flaky tests failures.
863         * BuildSlaveSupport/ews-build/steps_unittest.py:
864         (test_flaky_and_inconsistent_failures_without_clean_tree_failures): expected outcome changed from RETRY to SUCCESS.
865         (test_flaky_and_inconsistent_failures_with_clean_tree_failures): Ditto.
866         (test_flaky_and_consistent_failures_with_clean_tree_failures): Ditto.
867         (test_mildly_flaky_patch_with_some_tree_redness_and_flakiness): Ditto.
868
869 2019-12-03  youenn fablet  <youenn@apple.com>
870
871         Add support for camera rotation when capturing in UIProcess
872         https://bugs.webkit.org/show_bug.cgi?id=204750
873
874         Reviewed by Eric Carlson.
875
876         Add test runner API to set the device rotation specifically for mock camera devices.
877
878         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
879         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
880         (WTR::TestRunner::setMockCameraOrientation):
881         * WebKitTestRunner/InjectedBundle/TestRunner.h:
882         * WebKitTestRunner/TestController.cpp:
883         (WTR::TestController::setMockCameraOrientation):
884         * WebKitTestRunner/TestController.h:
885         * WebKitTestRunner/TestInvocation.cpp:
886         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
887
888 2019-12-03  youenn fablet  <youenn@apple.com>
889
890         Expose WKWebView API to stop ongoing capture
891         https://bugs.webkit.org/show_bug.cgi?id=204787
892
893         Reviewed by Eric Carlson.
894
895         * TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
896         (TestWebKitAPI::TEST):
897         * TestWebKitAPI/Tests/WebKit/getUserMedia.html:
898
899 2019-12-03  youenn fablet  <youenn@apple.com>
900
901         [Cocoa] Run camera capture in UIProcess by default in layout tests
902         https://bugs.webkit.org/show_bug.cgi?id=204512
903
904         Reviewed by Eric Carlson.
905
906         By defaut, enable capture in UIProcess on Cocoa side.
907
908         * WebKitTestRunner/TestController.cpp:
909         (WTR::TestController::resetPreferencesToConsistentValues):
910         (WTR::updateTestOptionsFromTestHeader):
911         * WebKitTestRunner/TestOptions.h:
912         (WTR::TestOptions::hasSameInitializationOptions const):
913
914 2019-12-03  Carlos Garcia Campos  <cgarcia@igalia.com>
915
916         Unreviewed. Focus the location bar on CTRL+l in GTK MiniBrowser
917
918         * MiniBrowser/gtk/BrowserWindow.c:
919         (focusLocationBar):
920         (browser_window_init):
921
922 2019-12-02  Sihui Liu  <sihui_liu@apple.com>
923
924         Cross-thread version StorageQuotaManager
925         https://bugs.webkit.org/show_bug.cgi?id=203971
926         <rdar://problem/57290349>
927
928         Reviewed by Chris Dumez.
929
930         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
931         * TestWebKitAPI/Tests/WebCore/StorageQuotaManager.cpp: Removed as we have a different StorageQuotaManager 
932         implementation now.
933         * WebKitTestRunner/TestController.cpp: reset StorageQuotaManager's quota between tests.
934         (WTR::TestController::resetStateToConsistentValues):
935         (WTR::TestController::resetQuota):
936         * WebKitTestRunner/TestController.h:
937
938 2019-12-02  Saam Barati  <sbarati@apple.com>
939
940         run-jsc should exit with the same signal or exit status that the `jsc` shell does
941         https://bugs.webkit.org/show_bug.cgi?id=204778
942
943         Reviewed by Keith Miller.
944
945         * Scripts/run-jsc:
946
947 2019-12-02  Aakash Jain  <aakash_jain@apple.com>
948
949         Revert - [EWS] Do not retry layout-tests build if the flaky test failures are also present in clean tree run
950         https://bugs.webkit.org/show_bug.cgi?id=204704
951
952         Reverting this, a more generic fix for handling flakiness would be made in Bug 204769.
953
954 2019-12-02  Louie Livon-Bemel  <llivonbemel@apple.com>
955
956         Add helper methods for description and equality to text manipulation SPI
957         https://bugs.webkit.org/show_bug.cgi?id=204758
958         <rdar://problem/57438200>
959
960         Reviewed by Wenson Hsieh.
961
962         Add tests for the new methods. Most are equality tests for various situations, and are moved over from the
963         Safari unit tests I had for the category methods that had the same purpose.
964
965         * TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
966         (TestWebKitAPI::TEST):
967             - Add test to make sure the content isn't included in the regular -description, but the identifier is. And
968               That -debugDescription does include the contents.
969             - Add many tests equality for various situations, testing both with and without content equality.
970         (TestWebKitAPI::createTextManipulationToken):
971             Add a helper for creating a token in one line.
972
973 2019-12-02  Daniel Bates  <dabates@apple.com>
974
975         REGRESSION (r195080): prepare-ChangeLog does not emit function list for file paths that contain a space
976         https://bugs.webkit.org/show_bug.cgi?id=204236
977
978         Reviewed by Brian Burg.
979
980         Revert the filename escape logic added in <http://trac.webkit.org/changeset/195080> as it broke
981         function list generation in file paths that contain space characters. Function list generation
982         broke because the escaping was performed after line range dictionaries were built up keyed off
983         the unescaped file path. Subsequent code would try to query these dictionaries to build up the
984         changed function list using the escaped file path and never a match. The escaping logic was not
985         necessary to fix the originally reported bug. All that was needed was to use the three-argument
986         open() call that took a mode. So, remove the escape logic.
987
988         * Scripts/prepare-ChangeLog:
989         (actuallyGenerateFunctionLists):
990
991 2019-11-30  Ross Kirsling  <ross.kirsling@sony.com>
992
993         test262-runner should dump YAML with correct encoding
994         https://bugs.webkit.org/show_bug.cgi?id=204493
995
996         Reviewed by Saam Barati.
997
998         Even though we spit out correctly-encoded output to the terminal, Perl's YAML module insists upon *re*-encoding
999         to UTF-8 when dumping to file. This works out in the end because an analogous double-decode occurs when loading
1000         from file. Still, it's really annoying that expectations.yaml has garbled (i.e. double-encoded) text.
1001
1002         We shouldn't modify libraries directly, but we can copy-paste DumpFile/LoadFile into Runner.pm and tweak!
1003
1004         * Scripts/test262/Runner.pm:
1005         (DumpFile):
1006         (LoadFile):
1007         Add custom versions of DumpFile/LoadFile which do not execute `binmode $OUT, ':utf8';`.
1008
1009 2019-11-30  Zalan Bujtas  <zalan@apple.com>
1010
1011         [LFC] Expand tests coverage (2648 new tests -> 3980).
1012
1013         * LayoutReloaded/misc/LFC-passing-tests.txt:
1014
1015 2019-11-30  Zalan Bujtas  <zalan@apple.com>
1016
1017         [LFC][IFC] Add support for hyphenate-limit-lines
1018         https://bugs.webkit.org/show_bug.cgi?id=204712
1019         <rdar://problem/57536727>
1020
1021         Reviewed by Antti Koivisto.
1022
1023         * LayoutReloaded/misc/LFC-passing-tests.txt:
1024
1025 2019-11-30  Aakash Jain  <aakash_jain@apple.com>
1026
1027         [EWS] Do not retry layout-tests build if the flaky test failures are also present in clean tree run
1028         https://bugs.webkit.org/show_bug.cgi?id=204704
1029
1030         Reviewed by Alexey Proskuryakov.
1031
1032         * BuildSlaveSupport/ews-build/steps.py:
1033         (AnalyzeLayoutTestsResults.start):
1034         * BuildSlaveSupport/ews-build/steps_unittest.py:
1035         (TestAnalyzeLayoutTestsResults.test_flaky_and_inconsistent_failures_with_clean_tree_failures): Changed expected outcome to SUCCESS.
1036         (TestAnalyzeLayoutTestsResults.test_flaky_and_consistent_failures_with_clean_tree_failures): Ditto.
1037
1038 2019-11-29  Zalan Bujtas  <zalan@apple.com>
1039
1040         [LFC][IFC] Add support for hyphenate-limit-before and hyphenate-limit-after
1041         https://bugs.webkit.org/show_bug.cgi?id=204710
1042         <rdar://problem/57535210>
1043
1044         Reviewed by Antti Koivisto.
1045
1046         * LayoutReloaded/misc/LFC-passing-tests.txt:
1047
1048 2019-11-29  Antti Koivisto  <antti@apple.com>
1049
1050         Add mechanism for enabling internal and experimental features from run-webkit-test command line
1051         https://bugs.webkit.org/show_bug.cgi?id=204702
1052
1053         Reviewed by Antoine Quint.
1054
1055         Add --internal-feature and --experimental-feature flags to TestRunner and run-webkit-tests.
1056         This is useful for running existing tests with different feature enabled without modifying
1057         anything else. For example:
1058
1059         run-webkit-tests --internal-feature LayoutFormattingContextRenderTreeIntegrationEnabled
1060
1061         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1062         (parse_args):
1063         * Scripts/webkitpy/port/base.py:
1064         (Port.internal_feature):
1065         (Port):
1066         (Port.experimental_feature):
1067         * Scripts/webkitpy/port/driver.py:
1068         (Driver.cmd_line):
1069         * WebKitTestRunner/Options.cpp:
1070         (WTR::handleOptionExperimentalFeature):
1071         (WTR::handleOptionInternalFeature):
1072         (WTR::OptionsHandler::OptionsHandler):
1073         * WebKitTestRunner/Options.h:
1074         * WebKitTestRunner/TestController.cpp:
1075         (WTR::TestController::initialize):
1076         (WTR::TestController::testOptionsForTest const):
1077         * WebKitTestRunner/TestController.h:
1078
1079 2019-11-29  Aakash Jain  <aakash_jain@apple.com>
1080
1081         Add a unit-test to new EWS for scenario when there is flakiness with patch and also on clean tree
1082         https://bugs.webkit.org/show_bug.cgi?id=204707
1083         <rdar://problem/57533998>
1084
1085         Unreviewed unit-test.
1086
1087         * BuildSlaveSupport/ews-build/steps_unittest.py:
1088         (TestAnalyzeLayoutTestsResults.test_mildly_flaky_patch_with_some_tree_redness_and_flakiness):
1089
1090 2019-11-29  Aakash Jain  <aakash_jain@apple.com>
1091
1092         Add a unit-test to old EWS for scenario when there is flakiness with patch and also on clean tree
1093         https://bugs.webkit.org/show_bug.cgi?id=204707
1094
1095         Unreviewed unit-test.
1096
1097         * Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:
1098
1099 2019-11-29  Paulo Matos  <pmatos@igalia.com>
1100
1101         Move jsc-i386 from old to new EWS
1102         https://bugs.webkit.org/show_bug.cgi?id=204667
1103
1104         Reviewed by Aakash Jain.
1105
1106         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
1107         (StatusBubble):
1108         * QueueStatusServer/config/queues.py:
1109
1110 2019-11-28  Fujii Hironori  <Hironori.Fujii@sony.com>
1111
1112         Remove ENABLE_KEYBOARD_CODE_ATTRIBUTE and ENABLE_KEYBOARD_KEY_ATTRIBUTE macros
1113         https://bugs.webkit.org/show_bug.cgi?id=204666
1114
1115         Reviewed by Ross Kirsling and Don Olmstead.
1116
1117         * Scripts/webkitperl/FeatureList.pm:
1118         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1119
1120 2019-11-28  Aakash Jain  <aakash_jain@apple.com>
1121
1122         Rename 'submit to new EWS' to 'Submit for EWS analysis'
1123         https://bugs.webkit.org/show_bug.cgi?id=204692
1124
1125         Unreviewed minor fix.
1126
1127         * BuildSlaveSupport/ews-app/ews/templates/statusbubble.html:
1128
1129 2019-11-28  Aakash Jain  <aakash_jain@apple.com>
1130
1131         Old EWS is showing 'Submit to old EWS' button on every patch
1132         https://bugs.webkit.org/show_bug.cgi?id=204691
1133
1134         Unreviewed minor fix.
1135
1136         * QueueStatusServer/handlers/statusbubble.py:
1137         (StatusBubble.get): Disabled Submit to old EWS button since almost all the queues
1138         have been removed from old EWS.
1139
1140 2019-11-28  Diego Pino Garcia  <dpino@igalia.com>
1141
1142         test262-runner ends with SIGPIPE signal
1143         https://bugs.webkit.org/show_bug.cgi?id=194816
1144
1145         Reviewed by Carlos Alberto Lopez Perez.
1146
1147         * Scripts/test262/Runner.pm:
1148         (main):
1149
1150 2019-11-28  Aakash Jain  <aakash_jain@apple.com>
1151
1152         Removed ENABLED_QUEUES logic from ews-app
1153         https://bugs.webkit.org/show_bug.cgi?id=204683
1154
1155         Unreviewed minor fix.
1156
1157         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
1158         (StatusBubble): Removed ENABLED_QUEUES.
1159         (StatusBubble._build_bubbles_for_patch):
1160         (StatusBubble._should_show_bubble_for_queue): Deleted.
1161
1162 2019-11-28  Aakash Jain  <aakash_jain@apple.com>
1163
1164         [ews] Enable Windows queue on new EWS
1165         https://bugs.webkit.org/show_bug.cgi?id=204243
1166
1167         Reviewed by Jonathan Bedard.
1168
1169         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Enabled windows queue bubble on new EWS.
1170         * BuildSlaveSupport/ews-build/config.json: Enabled the scheduler for windows queue. Removed the disabled Try_Userpass scheduler.
1171         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
1172         (BubbleQueueServer): Removed windows ews queue from bot-watcher's dashboard.
1173         * QueueStatusServer/config/queues.py: Removed windows queue from old EWS.
1174
1175 2019-11-28  Philippe Normand  <pnormand@igalia.com>
1176
1177         [GStreamer] Move GL video sink to its own GstBin sub-class
1178         https://bugs.webkit.org/show_bug.cgi?id=204624
1179
1180         Reviewed by Xabier Rodriguez-Calvar.
1181
1182         * Scripts/webkitpy/style/checker.py: White-list the new GLVideoSinkGStreamer GObject implementation.
1183
1184 2019-11-27  Zalan Bujtas  <zalan@apple.com>
1185
1186         [LFC] Unreviewed test gardening.
1187
1188         * LayoutReloaded/misc/LFC-passing-tests.txt: These tests were passing accidentally.
1189
1190 2019-11-26  Fujii Hironori  <Hironori.Fujii@sony.com>
1191
1192         [AppleWin] run-webkit-tests is failing to find bin32/DumpRenderTree since r252834
1193         https://bugs.webkit.org/show_bug.cgi?id=204571
1194
1195         Reviewed by Ross Kirsling.
1196
1197         * BuildSlaveSupport/build.webkit.org-config/steps.py:
1198         (RunWebKitTests.start): Replaced 'bin32' with 'bin64'.
1199
1200 2019-11-25  Kent Tamura  <tkent@chromium.org>
1201
1202         Remove tkent@ from watchlist
1203         https://bugs.webkit.org/show_bug.cgi?id=204599
1204
1205         Reviewed by Chris Dumez.
1206
1207         * Scripts/webkitpy/common/config/watchlist: Remove tkent@
1208
1209 2019-11-25  Wenson Hsieh  <wenson_hsieh@apple.com>
1210
1211         [macOS] Dragged images are only available as .tiff when dropping onto macCatalyst apps
1212         https://bugs.webkit.org/show_bug.cgi?id=204598
1213         <rdar://problem/57093920>
1214
1215         Reviewed by Tim Horton.
1216
1217         Verify that WKWebView is able to provide data in non-TIFF formats when dragging several types of images using a
1218         new API test.
1219
1220         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
1221
1222 2019-11-25  Ross Kirsling  <ross.kirsling@sony.com>
1223
1224         [Win] Ensure MiniBrowser can be built with !ENABLE(WEBKIT_LEGACY)
1225         https://bugs.webkit.org/show_bug.cgi?id=204592
1226
1227         Reviewed by Don Olmstead.
1228
1229         * MiniBrowser/win/CMakeLists.txt:
1230         * MiniBrowser/win/Common.cpp:
1231         (parseCommandLine):
1232         * MiniBrowser/win/Common.h:
1233         * MiniBrowser/win/MainWindow.cpp:
1234         (MainWindow::init):
1235         (MainWindow::WndProc):
1236         * MiniBrowser/win/WinMain.cpp:
1237         (wWinMain):
1238         * PlatformWin.cmake:
1239
1240 2019-11-25  Fujii Hironori  <Hironori.Fujii@sony.com>
1241
1242         Add DefaultHash<OptionSet<T>> and HashTrait<OptionSet<T>> specializations
1243         https://bugs.webkit.org/show_bug.cgi?id=204562
1244
1245         Reviewed by Daniel Bates.
1246
1247         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
1248         Added a new test WTF_OptionSet.HashSet.
1249
1250 2019-11-25  Philippe Normand  <pnormand@igalia.com>
1251
1252         [JHBuild] xserver build fails
1253         https://bugs.webkit.org/show_bug.cgi?id=204577
1254
1255         Reviewed by Žan Doberšek.
1256
1257         * gtk/jhbuild.modules: Bump libdrm and add implicit dependency to
1258         it via mesa for the xserver recipe.
1259
1260 2019-11-25  Charlie Turner  <cturner@igalia.com>
1261
1262         [GStreamer] Flatten MediaPlayerPrivateGStreamer into MediaPlayerPrivateGStreamerBase
1263         https://bugs.webkit.org/show_bug.cgi?id=204352
1264
1265         Reviewed by Philippe Normand.
1266
1267         * Scripts/webkitpy/style/checker.py: The base class no longer
1268         exists, perform the check on the player private.
1269
1270 2019-11-25  Zan Dobersek  <zdobersek@igalia.com>
1271
1272         [GTK][WPE] libgpg-error fails to build with gawk 5
1273         https://bugs.webkit.org/show_bug.cgi?id=204568
1274
1275         Reviewed by Frédéric Wang.
1276
1277         Gawk 5 throws errors when compiling libgpg-error. To avoid those, we
1278         have to bump libgpg-error to the latest 1.36 version and have the
1279         upstream fix applied on top of that.
1280
1281         Autoreconf has to be invoked to regenerate automake files. Because
1282         autogen.sh script (which is present in the release tarballs) falters
1283         under jhbuild, we invoke autoreconf directly for libgpg-error builds.
1284
1285         * gtk/jhbuild.modules:
1286         * gtk/patches/libgpg-error-prepare-for-gawk-5-0.patch: Added.
1287         * wpe/jhbuild.modules:
1288         * wpe/patches/libgpg-error-prepare-for-gawk-5-0.patch: Added.
1289
1290 2019-11-23  John Wilander  <wilander@apple.com>
1291
1292         Resource Load Statistics: Allow multiple third-party cookie blocking settings
1293         https://bugs.webkit.org/show_bug.cgi?id=204389
1294         <rdar://problem/57344054>
1295
1296         Reviewed by Brent Fulgham.
1297
1298         This change allows the existing TestRunner function
1299         setStatisticsShouldBlockThirdPartyCookies() to set an optional boolean
1300         parameter onlyOnSitesWithoutUserInteraction to opt in to that behavior.
1301
1302         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1303         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1304         (WTR::TestRunner::setStatisticsShouldBlockThirdPartyCookies):
1305         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1306         * WebKitTestRunner/TestController.cpp:
1307         (WTR::TestController::setStatisticsShouldBlockThirdPartyCookies):
1308         * WebKitTestRunner/TestController.h:
1309         * WebKitTestRunner/TestInvocation.cpp:
1310         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1311
1312 2019-11-23  Commit Queue  <commit-queue@webkit.org>
1313
1314         Unreviewed, rolling out r252805.
1315         https://bugs.webkit.org/show_bug.cgi?id=204553
1316
1317         Caused test failures and ASan crashes (Requested by ap on
1318         #webkit).
1319
1320         Reverted changeset:
1321
1322         "Cross-thread version StorageQuotaManager"
1323         https://bugs.webkit.org/show_bug.cgi?id=203971
1324         https://trac.webkit.org/changeset/252805
1325
1326 2019-11-23  Per Arne Vollan  <pvollan@apple.com>
1327
1328         Archive step is failing after r252827
1329         https://bugs.webkit.org/show_bug.cgi?id=204548
1330
1331         Reviewed by Alexey Proskuryakov.
1332
1333         After https://trac.webkit.org/changeset/252827/webkit, the archive step is failing.
1334
1335         * BuildSlaveSupport/built-product-archive:
1336         (createZip):
1337
1338 2019-11-23  Andres Gonzalez  <andresg_22@apple.com>
1339
1340         Run LayoutTests/accessibility/mac/primary-screen-height.html on secondary accessibility thread.
1341         https://bugs.webkit.org/show_bug.cgi?id=204391
1342
1343         Reviewed by Chris Fleizach.
1344
1345         Added AccessibilityController::execute to execute any
1346         AccessibilityUIElement call into AccessibilityObjectWrapper on the
1347         secondary accessibility thread.
1348
1349         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
1350         (WTR::AccessibilityController::rootElement): leftover from previous review.
1351         (WTR::AccessibilityController::execute): added this to execute any AccessibilityUIElement method on the appropriate thread.
1352         * WebKitTestRunner/InjectedBundle/AccessibilityController.h:
1353         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
1354         (WTR::AccessibilityUIElement::getChildrenWithRange): Runs on secondary thread.
1355         (WTR::AccessibilityUIElement::numberAttributeValue): Runs on secondary thread.
1356
1357 2019-11-22  Per Arne Vollan  <pvollan@apple.com>
1358
1359         Set 64-bit as default architecture on Windows
1360         https://bugs.webkit.org/show_bug.cgi?id=204477
1361
1362         Reviewed by Ross Kirsling.
1363
1364         This will make 64-bit building and testing the default.
1365
1366         * Scripts/webkitdirs.pm:
1367         (determineIsWin64):
1368         * Scripts/webkitpy/port/win.py:
1369         (WinPort):
1370
1371 2019-11-22  Jonathan Bedard  <jbedard@apple.com>
1372
1373         run-javascriptcore-tests: Failure to determine configuration for reporting is fatal
1374         https://bugs.webkit.org/show_bug.cgi?id=204526
1375
1376         Reviewed by Aakash Jain.
1377
1378         * Scripts/run-javascriptcore-tests:
1379         (configurationForUpload): Use uname as the default upload configuration 
1380
1381 2019-11-22  Jonathan Bedard  <jbedard@apple.com>
1382
1383         results.webkit.org/api/failures should return an error when no test-run is found for specified criteria
1384         https://bugs.webkit.org/show_bug.cgi?id=204385
1385         <rdar://problem/57334389>
1386
1387         Rubber-stamped by Aakash Jain.
1388
1389         * resultsdbpy/resultsdbpy/controller/failure_controller.py:
1390         (FailureController.failures): Return a 404 error if no test runs are found.
1391         * resultsdbpy/resultsdbpy/controller/failure_controller_unittest.py:
1392         (FailureControllerTest):
1393         (FailureControllerTest.test_no_runs):
1394         * resultsdbpy/resultsdbpy/model/failure_context.py:
1395         (FailureContext._failures): Return 'None' if no test runs are found.
1396         * resultsdbpy/resultsdbpy/model/failure_context_unittest.py:
1397         (FailureContextTest):
1398         (FailureContextTest.test_no_test_runs):
1399
1400 2019-11-22  Chris Dumez  <cdumez@apple.com>
1401
1402         HTTPHeaderMap's operator== is not fully correct
1403         https://bugs.webkit.org/show_bug.cgi?id=204361
1404
1405         Reviewed by Alex Christensen.
1406
1407         Add API test coverage.
1408
1409         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1410         * TestWebKitAPI/Tests/WebCore/HTTPHeaderMap.cpp: Added.
1411         (TestWebKitAPI::TEST):
1412
1413 2019-11-22  Sihui Liu  <sihui_liu@apple.com>
1414
1415         Cross-thread version StorageQuotaManager
1416         https://bugs.webkit.org/show_bug.cgi?id=203971
1417         <rdar://problem/57290349>
1418
1419         Reviewed by Chris Dumez.
1420
1421         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1422         * TestWebKitAPI/Tests/WebCore/StorageQuotaManager.cpp: Removed as we have a different StorageQuotaManager 
1423         implementation now.
1424         * WebKitTestRunner/TestController.cpp: reset StorageQuotaManager's quota between tests.
1425         (WTR::TestController::resetStateToConsistentValues):
1426         (WTR::TestController::resetQuota):
1427         * WebKitTestRunner/TestController.h:
1428
1429 2019-11-22  Jonathan Bedard  <jbedard@apple.com>
1430
1431         Unreviewed, rolling out r252791.
1432
1433         Cannot use key on scalar in some perl versions
1434
1435         Reverted changeset:
1436
1437         "run-javascriptcore-tests: Failure to determine configuration
1438         for reporting is fatal"
1439         https://bugs.webkit.org/show_bug.cgi?id=204526
1440         https://trac.webkit.org/changeset/252791
1441
1442 2019-11-22  Jonathan Bedard  <jbedard@apple.com>
1443
1444         run-javascriptcore-tests: Failure to determine configuration for reporting is fatal
1445         https://bugs.webkit.org/show_bug.cgi?id=204526
1446
1447         Reviewed by Aakash Jain.
1448
1449         * Scripts/run-javascriptcore-tests:
1450         (configurationForUpload): Return empty hash if no configuration is available.
1451         (uploadResults): Soft-fail upload if configuration is empty.
1452
1453 2019-11-22  Aakash Jain  <aakash_jain@apple.com>
1454
1455         Setup EWS queue for JSConly i386
1456         https://bugs.webkit.org/show_bug.cgi?id=204523
1457
1458         Reviewed by Jonathan Bedard.
1459
1460         * BuildSlaveSupport/ews-build/config.json:
1461
1462 2019-11-22  Aakash Jain  <aakash_jain@apple.com>
1463
1464         [ews] Add KillOldProcesses step before running JSC tests
1465         https://bugs.webkit.org/show_bug.cgi?id=204525
1466
1467         Reviewed by Jonathan Bedard.
1468
1469         * BuildSlaveSupport/ews-build/factories.py:
1470
1471 2019-11-22  Jonathan Bedard  <jbedard@apple.com>
1472
1473         run-javascriptcore-tests: Hide the output of binaries behind --verbose
1474         https://bugs.webkit.org/show_bug.cgi?id=204386
1475
1476         Reviewed by Aakash Jain.
1477
1478         * Scripts/run-javascriptcore-tests:
1479         (runTest): Do not log binary output by default, always log test failures.
1480
1481 2019-11-22  Aakash Jain  <aakash_jain@apple.com>
1482
1483         [ews] Add basic commit-queue support in new EWS
1484         https://bugs.webkit.org/show_bug.cgi?id=204517
1485
1486         Reviewed by Jonathan Bedard.
1487
1488         * BuildSlaveSupport/ews-build/config.json:
1489         * BuildSlaveSupport/ews-build/factories.py:
1490         * BuildSlaveSupport/ews-build/loadConfig.py:
1491
1492 2019-11-22  Jonathan Bedard  <jbedard@apple.com>
1493
1494         run-webkit-tests: Failing to run spindump shouldn't be fatal
1495         https://bugs.webkit.org/show_bug.cgi?id=204518
1496         <rdar://problem/57397417>
1497
1498         Reviewed by Aakash Jain.
1499
1500         * Scripts/webkitpy/port/darwin.py:
1501         (DarwinPort.sample_process): Catch script error.
1502
1503 2019-11-22  Paulo Matos  <pmatos@igalia.com>
1504
1505         Remove JSC 32bit ARMv7 and MipsEl old EWS queues
1506         https://bugs.webkit.org/show_bug.cgi?id=204344
1507
1508         Reviewed by Aakash Jain.
1509
1510         Remove JSC armv7 and mips from old EWS queue and fix bubbles
1511         by removing them from old ews and adding them to new ews.
1512
1513         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
1514         (BubbleQueueServer):
1515         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
1516         (StatusBubble):
1517         * QueueStatusServer/config/queues.py:
1518
1519 2019-11-22  Paulo Matos  <pmatos@igalia.com>
1520
1521         Support JSCOnly platform in test reporting
1522         https://bugs.webkit.org/show_bug.cgi?id=204495
1523
1524         Reviewed by Carlos Garcia Campos.
1525
1526         Add JSCOnly to possible platforms.
1527
1528         * Scripts/run-javascriptcore-tests:
1529         (configurationForUpload):
1530
1531 2019-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1532
1533         [GTK][WPE] RemoteInspector: use sockets instead of DBus
1534         https://bugs.webkit.org/show_bug.cgi?id=204503
1535
1536         Reviewed by Žan Doberšek.
1537
1538         Update the unit tests to not use DBus.
1539
1540         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
1541
1542 2019-11-21  Wenson Hsieh  <wenson_hsieh@apple.com>
1543
1544         [iOS] Web process crashes when attempting to request document context in a textarea
1545         https://bugs.webkit.org/show_bug.cgi?id=204455
1546         <rdar://problem/57383975>
1547
1548         Reviewed by Tim Horton.
1549
1550         Add a test to verify that we don't crash (and are still able to retrieve character rects).
1551
1552         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
1553         (-[UIWKDocumentContext markedTextRects]):
1554         (-[UIWKDocumentContext textRects]):
1555         * TestWebKitAPI/ios/UIKitSPI.h:
1556
1557 2019-11-21  Matt Lewis  <jlewis3@apple.com>
1558
1559         Fix triggers for catalina debug and webgl testers.
1560         https://bugs.webkit.org/show_bug.cgi?id=204456
1561
1562         Reviewed by Jonathan Bedard.
1563
1564         * BuildSlaveSupport/build.webkit.org-config/config.json:
1565
1566 2019-11-21  Jonathan Bedard  <jbedard@apple.com>
1567
1568         build.webkit.org: Forward results database credentials to jsc test runs
1569         https://bugs.webkit.org/show_bug.cgi?id=204453
1570
1571         Reviewed by Aakash Jain.
1572
1573         * BuildSlaveSupport/build.webkit.org-config/steps.py:
1574         (RunJavaScriptCoreTests.__init__): Do not log environment with credentials in it.
1575         (RunJavaScriptCoreTests.start): Add results database API key to environment.
1576         (RunLLINTCLoopTests.__init__): Do not log environment with credentials in it.
1577         (RunLLINTCLoopTests.start): Add results database API key to environment.
1578         (Run32bitJSCTests.__init__): Do not log environment with credentials in it.
1579         (Run32bitJSCTests.start): Add results database API key to environment.
1580
1581 2019-11-21  Jonathan Bedard  <jbedard@apple.com>
1582
1583         run-webkit-tests: Clean-up simulator processes after tearing down simulators
1584         https://bugs.webkit.org/show_bug.cgi?id=204416
1585
1586         Reviewed by Simon Fraser.
1587
1588         * Scripts/webkitpy/common/system/executive_mock.py:
1589         (MockExecutive.running_pids): Make function Python 3 compatible.
1590         * Scripts/webkitpy/xcode/simulated_device.py:
1591         (SimulatedDeviceManager.tear_down): Kill any CoreSimulator processes.
1592
1593 2019-11-21  Pablo Saavedra  <psaavedra@igalia.com>
1594
1595         Fix Tools/Scripts/run-javascriptcore-tests after r252490
1596         https://bugs.webkit.org/show_bug.cgi?id=204452
1597
1598         Rubber-stamped by Philippe Normand
1599
1600         Regression introduced in:
1601
1602           results.webkit.org: Report JSC tests to the results database
1603           https://bugs.webkit.org/show_bug.cgi?id=204091
1604           <rdar://problem/49778900>
1605
1606         WebKitGTK and WPE build environment is defined by the dependencies
1607         policy document [1] as a Debian Stable. For Debian the `uname` binary
1608         is installed in the `/bin/` directory and this directory is included
1609         in the `$PATH` for any regular or system user. This fix removes the
1610         path for the `uname` command in the run-javascriptcore-tests script.
1611         
1612         [1] https://trac.webkit.org/wiki/WebKitGTK/DependenciesPolicy
1613
1614         * Scripts/run-javascriptcore-tests:
1615         (configurationForUpload):
1616
1617 2019-11-20  Jonathan Bedard  <jbedard@apple.com>
1618
1619         run-webkit-tests: Make usability test on booting simulators more robust
1620         https://bugs.webkit.org/show_bug.cgi?id=204423
1621         <rdar://problem/57364735>
1622
1623         Reviewed by Alexey Proskuryakov.
1624
1625         * Scripts/webkitpy/xcode/simulated_device.py:
1626         (SimulatedDevice.is_usable): Use regular expressions to find home-screen service.
1627
1628 2019-11-20  Jonathan Bedard  <jbedard@apple.com>
1629
1630         run-webkit-tests: Do not create global SystemHost objects
1631         https://bugs.webkit.org/show_bug.cgi?id=204426
1632
1633         Reviewed by Aakash Jain.
1634
1635         If created, SystemHost objects should be created on-demand, not globally
1636         shared between all instances of a function.
1637
1638         * Scripts/webkitpy/xcode/simulated_device.py:
1639         (SimulatedDeviceManager.populate_available_devices):
1640         (SimulatedDeviceManager.available_devices):
1641         (SimulatedDeviceManager.device_by_filter):
1642         (SimulatedDeviceManager._create_or_find_device_for_request):
1643         (SimulatedDeviceManager._boot_device):
1644         (SimulatedDeviceManager.device_count_for_type):
1645         (SimulatedDeviceManager.initialize_devices):
1646         (SimulatedDeviceManager.max_supported_simulators):
1647         (SimulatedDeviceManager.swap):
1648         (SimulatedDeviceManager.tear_down):
1649
1650 2019-11-20  Wenson Hsieh  <wenson_hsieh@apple.com>
1651
1652         Correct argument types in UIScriptController::activateDataListSuggestion after r252062
1653         https://bugs.webkit.org/show_bug.cgi?id=203116
1654
1655         Reviewed by Tim Horton.
1656
1657         Use `unsigned` to represent `unsigned long` arguments declared in the IDL.
1658
1659         * DumpRenderTree/mac/UIScriptControllerMac.h:
1660         * DumpRenderTree/mac/UIScriptControllerMac.mm:
1661         (WTR::UIScriptControllerMac::activateDataListSuggestion):
1662         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1663         (WTR::UIScriptController::activateDataListSuggestion):
1664         * WebKitTestRunner/ios/UIScriptControllerIOS.h:
1665         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1666         (WTR::UIScriptControllerIOS::activateDataListSuggestion):
1667         * WebKitTestRunner/mac/UIScriptControllerMac.h:
1668         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
1669         (WTR::UIScriptControllerMac::activateDataListSuggestion):
1670
1671 2019-11-20  Fujii Hironori  <Hironori.Fujii@sony.com>
1672
1673         run-api-tests reports AssertionError os.pathsep not in value in _append_value_colon_separated in Cygwin Python
1674         https://bugs.webkit.org/show_bug.cgi?id=204400
1675
1676         Reviewed by Jonathan Bedard.
1677
1678         r249500 changed Port.environment_for_api_tests to use
1679         Port._append_value_colon_separated to append a build path to some
1680         enviroment variables. _append_value_colon_separated has a
1681         assertion to ensure the given value doesn't iclude ':'. However,
1682         Port._build_path contains ':' on Cygwin Python.
1683
1684         Those enviroment variables are only for macOS and iOS. Move the code to darwin.py.
1685
1686         * Scripts/webkitpy/port/base.py:
1687         (Port.environment_for_api_tests):
1688         * Scripts/webkitpy/port/darwin.py:
1689         (DarwinPort.environment_for_api_tests):
1690
1691 2019-11-20  Jonathan Bedard  <jbedard@apple.com>
1692
1693         [WebGL] Add `--webgl-test-suite` flag for run-webkit-tests
1694         https://bugs.webkit.org/show_bug.cgi?id=204327
1695
1696         Rubber-stamped by Aakash Jain.
1697
1698         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1699         (parse_args): Add the --webgl macro command, which is the equivalent of:
1700         'Run-webkit-tests --additional-expectations=LayoutTests/webgl/TestExpectations webgl'
1701
1702 2019-11-20  ChangSeok Oh  <changseok@webkit.org>
1703
1704         Reactivate my committer status.
1705
1706         Unreviewed.
1707
1708         * Scripts/webkitpy/common/config/contributors.json:
1709
1710 2019-11-20  Matt Lewis  <jlewis3@apple.com>
1711
1712         Add trigger for WebGL bot to config.
1713
1714         RS config fix by Jonathan Bedard.
1715
1716         * BuildSlaveSupport/build.webkit.org-config/config.json:
1717
1718 2019-11-19  Matt Lewis  <jlewis3@apple.com>
1719
1720         Bring up WebGL Test Queue.
1721         https://bugs.webkit.org/show_bug.cgi?id=204374
1722
1723         Reviewed by Jonathan Bedard.
1724
1725         * BuildSlaveSupport/build.webkit.org-config/config.json:
1726         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
1727
1728 2019-11-20  Jonathan Bedard  <jbedard@apple.com>
1729
1730         [EWS] iOS layout-tests fails with 30+ failures on re-run and on clean-tree
1731         https://bugs.webkit.org/show_bug.cgi?id=204409
1732
1733         Reviewed by Aakash Jain.
1734
1735         * BuildSlaveSupport/ews-build/steps.py:
1736         (RunWebKitPerlTests.evaluateCommand): Add killOldProcesses before running test suite.
1737         (RunJavaScriptCoreTests.evaluateCommand): Ditto.
1738         (ReRunJavaScriptCoreTests.evaluateCommand): Ditto.
1739         (RunWebKitTests.evaluateCommand): Ditto.
1740         (ReRunWebKitTests.evaluateCommand): Ditto.
1741         (RunAPITests.evaluateCommand): Ditto.
1742         (ReRunAPITests.evaluateCommand): Ditto.
1743
1744 2019-11-20  Jonathan Bedard  <jbedard@apple.com>
1745
1746         kill-old-processes: Log currently running processes
1747         https://bugs.webkit.org/show_bug.cgi?id=204415
1748
1749         Unreviewed infrastructure management.
1750
1751         * BuildSlaveSupport/kill-old-processes:
1752         (main): Log 'ps aux' for Mac and Linux.
1753
1754 2019-11-19  Saam Barati  <sbarati@apple.com>
1755
1756         Remove runNullishAwareOperatorsEnabled
1757
1758         Rubber-stamped by Keith Miller.
1759
1760         * Scripts/run-jsc-stress-tests:
1761
1762 2019-11-19  Jonathan Bedard  <jbedard@apple.com>
1763
1764         results.webkit.org: Have build.webkit.org report JSC tests
1765         https://bugs.webkit.org/show_bug.cgi?id=204364
1766
1767         Reviewed by Aakash Jain.
1768
1769         * BuildSlaveSupport/build.webkit.org-config/steps.py:
1770         (RunJavaScriptCoreTests):
1771         (RunWebKitTests):
1772         (RunAPITests):
1773         (RunPythonTests):
1774         (RunLLINTCLoopTests):
1775         (Run32bitJSCTests):
1776
1777 2019-11-19  Aakash Jain  <aakash_jain@apple.com>
1778
1779         Disable reporting EWS test failures from clean-tree to results.webkit.org
1780         https://bugs.webkit.org/show_bug.cgi?id=204369
1781
1782         Reviewed by Jonathan Bedard.
1783
1784         * BuildSlaveSupport/ews-build/steps.py:
1785         (RunWebKitTestsWithoutPatch):
1786         (RunAPITestsWithoutPatch.evaluateCommand):
1787         (RunWebKitTestsWithoutPatch.start): Deleted.
1788         (RunAPITestsWithoutPatch.start): Deleted.
1789         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
1790         * BuildSlaveSupport/ews-build/loadConfig.py:
1791
1792 2019-11-19  Brian Burg  <bburg@apple.com>
1793
1794         [Cocoa] Add WKUIDelegate SPI to inform clients when a _WKInspector attaches to a WKWebView
1795         https://bugs.webkit.org/show_bug.cgi?id=204300
1796         <rdar://problem/57136993>
1797
1798         Reviewed by Devin Rousso.
1799
1800         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
1801         (-[InspectorDelegate _webView:didAttachInspector:]):
1802         (TEST): Add new test to ensure the delegate is called as expected.
1803
1804 2019-11-19  Sihui Liu  <sihui_liu@apple.com>
1805
1806         Update expectations for bufferedAmount-unchanged-by-sync-xhr.any.worker.html
1807         https://bugs.webkit.org/show_bug.cgi?id=204313
1808
1809         Reviewed by Alex Christensen.
1810
1811         * DumpRenderTree/mac/DumpRenderTree.mm:
1812         (resetWebViewToConsistentStateBeforeTesting):
1813
1814 2019-11-19  Paulo Matos  <pmatos@igalia.com>
1815
1816         Setup EWS queues for JSConly 32bits ARMv7 and MIPSel
1817         https://bugs.webkit.org/show_bug.cgi?id=203946
1818
1819         Reviewed by Aakash Jain.
1820
1821         Naming of queues follow old EWS: jsc-mips for MIPSel
1822         and jsc-armv7 for ARMv7.
1823
1824         * BuildSlaveSupport/ews-build/config.json:
1825         * BuildSlaveSupport/ews-build/steps.py:
1826         (RunJavaScriptCoreTests.start):
1827         (PrintConfiguration.run):
1828         * BuildSlaveSupport/ews-build/steps_unittest.py:
1829         (TestRunJavaScriptCoreTests.test_remote_success):
1830
1831 2019-11-18  John Wilander  <wilander@apple.com>
1832
1833         Check if ITP is on before applying third-party cookie blocking
1834         https://bugs.webkit.org/show_bug.cgi?id=204322
1835         <rdar://problem/57120772>
1836
1837         Reviewed by Chris Dumez and Alexey Proskuryakov.
1838
1839         This is test infrastructure to allow a layout test to
1840         disable ITP in the network process.
1841
1842         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1843         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1844         (WTR::TestRunner::setStatisticsEnabled):
1845         (WTR::TestRunner::setStatisticsDebugMode):
1846         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1847         * WebKitTestRunner/TestController.cpp:
1848         (WTR::TestController::setStatisticsEnabled):
1849         * WebKitTestRunner/TestController.h:
1850         * WebKitTestRunner/TestInvocation.cpp:
1851         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1852
1853 2019-11-18  Fujii Hironori  <Hironori.Fujii@sony.com>
1854
1855         [Win] kill-old-processes should kill WebKitWebProcess.exe and WebKitNetworkProcess.exe
1856         https://bugs.webkit.org/show_bug.cgi?id=204337
1857
1858         Reviewed by Ross Kirsling.
1859
1860         * BuildSlaveSupport/kill-old-processes:
1861         (main): Removed WebKit2WebProcess.exe, and added WebKitWebProcess.exe and WebKitNetworkProcess.exe to
1862         tasksToKillWin.
1863
1864 2019-11-18  Jonathan Bedard  <jbedard@apple.com>
1865
1866         Python 3: Support run-api-tests
1867         https://bugs.webkit.org/show_bug.cgi?id=204252
1868
1869         Rubber-stamped by Aakash Jain.
1870
1871         * Scripts/webkitpy/api_tests/manager.py:
1872         (Manager._collect_tests): Use items over iteritems.
1873         (Manager._print_tests_result_with_status): Use compatible iteritems.
1874         (Manager.run): Use range over xrange, use compatible iteritems.
1875         * Scripts/webkitpy/api_tests/runner.py:
1876         (Runner.run): Use compatible iteritems.
1877         (Runner.result_map_by_status): Ditto.
1878         (_Worker._run_single_test): Server process returns byte arrays, not strings.
1879         (_Worker.handle): Use items over iteritems, use range over xrange.
1880         * Scripts/webkitpy/common/message_pool.py:
1881         (_MessagePool.run): Use range over xrange.
1882         (_MessagePool._start_workers): Ditto.
1883         * Scripts/webkitpy/common/multiprocessing_bootstrap.py: Remove version check.
1884         * Scripts/webkitpy/port/base.py:
1885         (Port.check_api_test_build):Use items over iteritems.
1886         (Port.commits_for_upload): Ditto.
1887         * Scripts/webkitpy/port/server_process.py:
1888         (ServerProcess._reset): Use byte array over string.
1889         (ServerProcess._pop_stdout_line_if_ready): Check for bytes newline.
1890         (ServerProcess._pop_stderr_line_if_ready): Ditto.
1891
1892 2019-11-18  Andres Gonzalez  <andresg_22@apple.com>
1893
1894         Run AccessibilityController::rootElement on secondary thread to simulate HIServices during LayoutTests.
1895         https://bugs.webkit.org/show_bug.cgi?id=204226
1896
1897         Reviewed by Chris Fleizach.
1898
1899         HIServices _AXUIElementUseSecondaryAXThread and _AXUIElementRequestServicedBySecondaryAXThread
1900         do not work for WebKitTestRunner since this is calling directly into
1901         WebCore/accessibility via JavaScript without going through HIServices.
1902         Thus to simulate the behavior of HIServices, AccessibilityController is
1903         spawning a secondary thread to service the JavaScript requests.
1904         The very first request needs to be serviced in the main thread,
1905         and all subsequent requests in the secondary thread. this is what
1906         the behavior would be if using HIServices.
1907         Once the IsolatedTree would be enabled, the first request has to be
1908         served in the main thread in order to build the AXIsolatedTree.
1909
1910         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
1911         (WTR::AccessibilityController::rootElement):
1912         (WTR::AXThread::AXThread):
1913         (WTR::AXThread::isCurrentThread):
1914         (WTR::AXThread::dispatch):
1915         (WTR::AXThread::dispatchBarrier):
1916         (WTR::AXThread::singleton):
1917         (WTR::AXThread::createThreadIfNeeded):
1918         (WTR::AXThread::dispatchFunctionsFromAXThread):
1919         (WTR::AXThread::initializeRunLoop):
1920         (WTR::AXThread::wakeUpRunLoop):
1921         (WTR::AXThread::threadRunLoopSourceCallback):
1922         * WebKitTestRunner/InjectedBundle/AccessibilityController.h:
1923         * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
1924         (WTR::AXThread::initializeRunLoop):
1925         (WTR::AXThread::wakeUpRunLoop):
1926         (WTR::AXThread::threadRunLoopSourceCallback):
1927
1928 2019-11-18  Jonathan Bedard  <jbedard@apple.com>
1929
1930         results.webkit.org: Uncollapsed failures shouldn't include runs with no failures
1931         https://bugs.webkit.org/show_bug.cgi?id=204315
1932
1933         Rubber-stamped by Aakash Jain.
1934
1935         * resultsdbpy/resultsdbpy/model/failure_context.py:
1936         (FailureContext): Do not include test runs which have no failed tests.
1937         * resultsdbpy/resultsdbpy/model/failure_context_unittest.py:
1938         (FailureContextTest):
1939         (FailureContextTest.test_no_failures):
1940
1941 2019-11-18  Aakash Jain  <aakash_jain@apple.com>
1942
1943         Dedicate ews116 to macOS-High-Sierra-Debug-Build-EWS queue
1944         https://bugs.webkit.org/show_bug.cgi?id=204256
1945
1946         Reviewed by Jonathan Bedard.
1947
1948         * BuildSlaveSupport/ews-build/config.json:
1949
1950 2019-11-18  Chris Dumez  <cdumez@apple.com>
1951
1952         TestWebKitAPI.ProcessSwap.QuickBackForwardNavigationWithPSON is a flaky crash
1953         https://bugs.webkit.org/show_bug.cgi?id=199645
1954         <rdar://problem/52856112>
1955
1956         Reviewed by Alex Christensen.
1957
1958         Make sure the test waits for the history navigations to complete before checking the
1959         back/forward list.
1960
1961         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1962
1963 2019-11-18  Keith Rollin  <krollin@apple.com>
1964
1965         Move jsc from Resources to Helpers
1966         https://bugs.webkit.org/show_bug.cgi?id=203970
1967         <rdar://problem/55917748>
1968
1969         Reviewed by Keith Miller.
1970
1971         'jsc' is a supporting application or tool, not a resource. As such, it
1972         should go into Helpers, per
1973         <https://developer.apple.com/library/archive/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG201>
1974
1975         * Scripts/run-jsc-stress-tests:
1976         * Scripts/run-layout-jsc:
1977         * Scripts/sunspider-compare-results:
1978         (pathToSystemJSC):
1979         * Scripts/test262/Runner.pm:
1980         (getBuildPath):
1981         * Scripts/webkitdirs.pm:
1982         (jscPath):
1983
1984 2019-11-18  Jonathan Bedard  <jbedard@apple.com>
1985
1986         Python 3: Add support in webkitpy.layout_tests.views
1987         https://bugs.webkit.org/show_bug.cgi?id=204227
1988
1989         Reviewed by Aakash Jain.
1990
1991         * Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.views.
1992         * Scripts/webkitpy/layout_tests/views/buildbot_results.py:
1993         (BuildBotPrinter.print_unexpected_results): Use compatible iteritems.
1994         * Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:
1995         (BuildBotPrinterTests.get_printer): Use compatible StringIO object.
1996         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
1997         (MeteredStream.__init__): Use maxsize instead of maxint.
1998         * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
1999         (RegularTest.setUp): Use compatible StringIO, remove buflist.
2000         (RegularTest.test_logging_not_included): Ditto.
2001         (RegularTest._basic): Remove buflist.
2002         (RegularTest.test_basic): Compare against stream value instead of buflist.
2003         (RegularTest._log_after_update): Remove buflist.
2004         (RegularTest.test_log_after_update): Compare against stream value
2005         instead of buflist.
2006         (RegularTest.test_log_args): Ditto.
2007         (RegularTest.test_unicode): We can't join unicode strings and standard strings
2008         in Python 2.
2009         (RegularTest.test_stream_with_encoding): Use compatible StringIO, Python 3 uses
2010         unicode strings.
2011         (TtyTest.test_basic): Compare against stream value instead of buflist.
2012         (TtyTest.test_log_after_update): Ditto.
2013         (VerboseTest.test_basic): Ditto.
2014         (VerboseTest.test_log_after_update): Ditto.
2015         (VerboseTest.test_log_args): Ditto.
2016         (VerboseWithOutTimestamp.test_basic): Ditto.
2017         * Scripts/webkitpy/layout_tests/views/printing_unittest.py:
2018         (Testprinter.assertWritten): Use stream value instead of buflist.
2019         (Testprinter.reset): Use Python 3 compatible steam reset.
2020         (Testprinter.get_printer): Use compatible StringIO.
2021         (Testprinter.test_print_one_line_summary): Compare against stream value instead
2022         of buflist.
2023         (Testprinter.test_test_status_line): Ditto.
2024         (Testprinter.test_print_found): Ditto.
2025
2026 2019-11-18  Simon Fraser  <simon.fraser@apple.com>
2027
2028         Fix alpha value rounding to match the CSS Color spec
2029         https://bugs.webkit.org/show_bug.cgi?id=203597
2030         <rdar://problem/56728546>
2031
2032         Reviewed by Tim Horton.
2033
2034         Fix the test for rounding.
2035
2036         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
2037         (TestWebKitAPI::TEST):
2038
2039 2019-11-16  Wenson Hsieh  <wenson_hsieh@apple.com>
2040
2041         [iOS] [UIWKDocumentContext] Add the ability to request all marked text rects
2042         https://bugs.webkit.org/show_bug.cgi?id=204278
2043         <rdar://problem/56527803>
2044
2045         Reviewed by Tim Horton.
2046
2047         Add an API test to exercise the new request option.
2048
2049         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
2050         (-[UIWKDocumentContext markedTextRects]):
2051         * TestWebKitAPI/ios/UIKitSPI.h:
2052
2053 2019-11-15  Eric Carlson  <eric.carlson@apple.com>
2054
2055         [iOS] Audio capture fails when a track is unmuted
2056         https://bugs.webkit.org/show_bug.cgi?id=204202
2057         <rdar://problem/57005820>
2058
2059         Reviewed by Jer Noble.
2060         
2061         Make WebKit2.CaptureMute failures easier to diagnose.
2062
2063         * TestWebKitAPI/Tests/WebKit/GetUserMedia.mm:
2064         (TestWebKitAPI::wkMediaCaptureStateString):
2065         (TestWebKitAPI::waitUntilCaptureState):
2066         (TestWebKitAPI::TEST):
2067
2068 2019-11-15  Myles C. Maxfield  <mmaxfield@apple.com>
2069
2070         [Apple] Enable variation fonts on all Apple platforms
2071         https://bugs.webkit.org/show_bug.cgi?id=198100
2072
2073         Reviewed by Simon Fraser.
2074
2075         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2076
2077 2019-11-15  Aakash Jain  <aakash_jain@apple.com>
2078
2079         [EWS] Update windows bots in config.json
2080         https://bugs.webkit.org/show_bug.cgi?id=204245
2081
2082         Reviewed by Jonathan Bedard.
2083
2084         * BuildSlaveSupport/ews-build/config.json:
2085
2086 2019-11-15  Aakash Jain  <aakash_jain@apple.com>
2087
2088         Windows EWS should not upload archives
2089         https://bugs.webkit.org/show_bug.cgi?id=204229
2090
2091         Reviewed by Jonathan Bedard.
2092
2093         * BuildSlaveSupport/ews-build/factories.py:
2094
2095 2019-11-15  Jonathan Bedard  <jbedard@apple.com>
2096
2097         results.webkit.org: Report JSC tests to the results database
2098         https://bugs.webkit.org/show_bug.cgi?id=204091
2099         <rdar://problem/49778900>
2100
2101         Reviewed by Aakash Jain.
2102
2103         Upload results to the specified results database.
2104
2105         DEMONSTRATION OF FAILURE IN EWS BEHAVIOR, DO NOT LAND!
2106
2107         * Scripts/run-javascriptcore-tests:
2108         (runTest): Parse binary output to mark individual tests as passing
2109         or failing.
2110         (uploadConfiguration): Return a hash map representing the configuration
2111         For this specific test run.
2112         (uploadResults): If a report URL is defined, upload test results to that URL.
2113         * Scripts/webkitdirs.pm:
2114         (splitVersionString): splitVersionString is supposed to be a generally used
2115         function, so should not set a global variable.
2116         (determineOSXVersion): Remove newline from version number.
2117
2118 2019-11-15  Jonathan Bedard  <jbedard@apple.com>
2119
2120         run-webkit-tests loads committers.py 4 times, taking about 40ms
2121         https://bugs.webkit.org/show_bug.cgi?id=204211
2122
2123         Reviewed by Aakash Jain.
2124
2125         * Scripts/webkitpy/common/checkout/changelog.py:
2126         (ChangeLogEntry): Don't create CommitterList on import.
2127         * Scripts/webkitpy/common/checkout/commitinfo.py:
2128         (CommitInfo.__init__): Ditto.
2129
2130 2019-11-15  Aakash Jain  <aakash_jain@apple.com>
2131
2132         [ews] Perform validation of patch before retrying JSC tests
2133         https://bugs.webkit.org/show_bug.cgi?id=204222
2134
2135         Reviewed by Jonathan Bedard.
2136
2137         * BuildSlaveSupport/ews-build/steps.py:
2138         (RunJavaScriptCoreTests.evaluateCommand): Add a ValidatePatch step before retrying.
2139         (ReRunJavaScriptCoreTests.evaluateCommand): Ditto.
2140
2141 2019-11-14  Jonathan Bedard  <jbedard@apple.com>
2142
2143         Python 3: Add support in webkitpy.layout_tests.layout_package
2144         https://bugs.webkit.org/show_bug.cgi?id=204212
2145
2146         Reviewed by Stephanie Lewis.
2147
2148         * Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.layout_package.
2149         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
2150         (convert_trie_to_flat_paths): Use compatible iteritems.
2151         (JSONResultsGenerator._insert_failure_summaries): Use compatible iterkeys.
2152         (JSONResultsGenerator._convert_json_to_current_version): Use compatible iteritems.
2153         (JSONResultsGenerator._convert_tests_to_trie): Use compatible iterkeys.
2154         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
2155         (JSONGeneratorTest._verify_json_results): Use items instead of iteritems.
2156         (JSONGeneratorTest.test_test_timings_trie): Python 3's json decoder is sensitive to ordering.
2157
2158 2019-11-14  Alex Christensen  <achristensen@webkit.org>
2159
2160         Flaky API Test TestWebKitAPI.ServiceWorkers.ThrottleCrash
2161         https://bugs.webkit.org/show_bug.cgi?id=203734
2162
2163         Reviewed by Youenn Fablet.
2164
2165         Some API tests using TCPServer have multiple concurrent HTTP requests in flight at the same time.
2166         When this happens, sometimes NSURLSession will make multiple TCP connections to the same server.
2167         TCPServer is not the right tool for this because it handles all its connections manually.
2168         To make the test server agnostic to how many connections are initiated, I introduce HTTPServer,
2169         which uses the Network framework to handle as many responses and as many connections as happen.
2170
2171         * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
2172         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2173         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2174         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
2175         (TEST):
2176         * TestWebKitAPI/cocoa/HTTPServer.h: Added.
2177         (TestWebKitAPI::HTTPServer::HTTPResponse::HTTPResponse):
2178         * TestWebKitAPI/cocoa/HTTPServer.mm: Added.
2179         (TestWebKitAPI::HTTPServer::HTTPServer):
2180         (TestWebKitAPI::HTTPServer::respondToRequests):
2181         (TestWebKitAPI::HTTPServer::port const):
2182         (TestWebKitAPI::HTTPServer::request const):
2183         * TestWebKitAPI/config.h:
2184
2185 2019-11-14  Jonathan Bedard  <jbedard@apple.com>
2186
2187         Python 3: Add support in webkitpy.layout_tests.servers
2188         https://bugs.webkit.org/show_bug.cgi?id=204209
2189
2190         Reviewed by Stephanie Lewis.
2191
2192         * Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.servers.
2193         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
2194         (LayoutTestApacheHttpd.__init__): Use compatible iteritems.
2195         * Scripts/webkitpy/layout_tests/servers/http_server.py:
2196         (Lighttpd._prepare_config): Ditto.
2197
2198 2019-11-14  Megan Gardner  <megan_gardner@apple.com>
2199
2200         Fix another build error from r252449
2201         https://bugs.webkit.org/show_bug.cgi?id=204173
2202
2203         Unreviewed Build Fix for r252449
2204
2205         * TestWebKitAPI/ios/UIKitSPI.h:
2206
2207 2019-11-14  Jonathan Bedard  <jbedard@apple.com>
2208
2209         Python 3: Add support in webkitpy.style
2210         https://bugs.webkit.org/show_bug.cgi?id=203762
2211
2212         Reviewed by Stephanie Lewis.
2213
2214         * Scripts/check-webkit-style: Remove Python 2 version check.
2215         * Scripts/test-webkitpy-python3: Add webkitpy.style.
2216         * Scripts/webkitpy/style/checker.py: Use explicit imports.
2217         * Scripts/webkitpy/style/checker_unittest.py:
2218         (GlobalVariablesTest.test_max_reports_per_category): Use keys() over iterkeys.
2219         * Scripts/webkitpy/style/checkers/contributors.py: Use explicit imports.
2220         * Scripts/webkitpy/style/checkers/test_expectations.py:
2221         (TestExpectationsChecker._should_log_linter_warning): Use compatible iteritems.
2222         * Scripts/webkitpy/style/error_handlers_unittest.py: Use explicit imports.
2223         * Scripts/webkitpy/style/filter.py:
2224         (FilterConfiguration._get_path_specific_lower): Return list instead of iterator.
2225         (FilterConfiguration._filter_from_path): Avoid confusion with filter builtin.
2226         * Scripts/webkitpy/style/filter_unittest.py: Use explicit imports.
2227         * Scripts/webkitpy/style/main.py:
2228         (CheckWebKitStyle._engage_awesome_stderr_hacks): No reason to apply encoding to stderr
2229         in Python 3.
2230         * Scripts/webkitpy/style/main_unittest.py: Use explicit imports.
2231         * Scripts/webkitpy/style/patchreader.py:
2232         (PatchReader.check): Ensure that the provided patch is a string, use items over iteritems.
2233
2234 2019-11-14  Megan Gardner  <megan_gardner@apple.com>
2235
2236         Fix build error from r252449
2237         https://bugs.webkit.org/show_bug.cgi?id=204173
2238
2239         Reviewed by Wenson Hsieh.
2240
2241         Include needed header for all platforms, not just iPhone.
2242
2243         * TestWebKitAPI/ios/UIKitSPI.h:
2244
2245 2019-11-14  Brady Eidson  <beidson@apple.com>
2246
2247         Summary: WKWebView is missing an equivalent to WebKit 1's API to set the media style.
2248         <rdar://problem/49862107> and https://bugs.webkit.org/show_bug.cgi?id=203974
2249
2250         Reviewed by Alex Christensen.
2251
2252         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2253         * TestWebKitAPI/Tests/WebKitCocoa/MediaType.mm: Added.
2254         (TEST):
2255         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2256
2257 2019-11-14  Brady Eidson  <beidson@apple.com>
2258
2259         pageZoom/setPageZoom: should not be in a Mac-only part of WKWebView.mm
2260         https://bugs.webkit.org/show_bug.cgi?id=204128
2261
2262         Reviewed by Alex Christensen.
2263
2264         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2265         * TestWebKitAPI/Tests/WebKitCocoa/PageZoom.mm: Added.
2266         (TestWebKitAPI::getClientWidth):
2267         * TestWebKitAPI/cocoa/TestWKWebView.h:
2268         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2269         (-[WKWebView waitUntilClientWidthIs:]):
2270
2271 2019-11-14  Jonathan Bedard  <jbedard@apple.com>
2272
2273         webkitpy: Clarify webkitpy/style/optparser_unittest.py by removing parse variables
2274         https://bugs.webkit.org/show_bug.cgi?id=204183
2275
2276         Reviewed by Stephanie Lewis.
2277
2278         * Scripts/webkitpy/style/optparser_unittest.py:
2279         (ArgumentParserTest.test_parse_documentation): Remove parse variable.
2280         (ArgumentParserTest.test_parse_bad_values): Ditto.
2281         (ArgumentParserTest.test_parse_default_arguments): Ditto.
2282         (ArgumentParserTest.test_parse_explicit_arguments): Ditto.
2283         (ArgumentParserTest.test_parse_files): Ditto.
2284
2285 2019-11-14  Aakash Jain  <aakash_jain@apple.com>
2286
2287         Add support for remotes file for EWS builders (follow-up fix)
2288         https://bugs.webkit.org/show_bug.cgi?id=203899
2289
2290         Unreviewed follow-up fix.
2291
2292         * BuildSlaveSupport/ews-build/factories.py:
2293         (JSCTestsFactory.__init__): Passed remotes parameter to JSCTestsFactory as well.
2294         * BuildSlaveSupport/ews-build/loadConfig_unittest.py: Updated unit-test.
2295
2296 2019-11-14  Aakash Jain  <aakash_jain@apple.com>
2297
2298         [ews] Enable JSC queue on new EWS
2299         https://bugs.webkit.org/show_bug.cgi?id=204179
2300
2301         Reviewed by Jonathan Bedard.
2302
2303         * BuildSlaveSupport/ews-build/config.json: Enabled the scheduler for JSC queue.
2304         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: Enabled JSC queue bubble on new EWS.
2305         * QueueStatusServer/config/queues.py: Removed JSC queue from old EWS.
2306         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
2307         (BubbleQueueServer): Removed JSC queue from bot-watcher's dashboard.
2308
2309 2019-11-13  Wenson Hsieh  <wenson_hsieh@apple.com>
2310
2311         [Clipboard API] Add support for Clipboard.write()
2312         https://bugs.webkit.org/show_bug.cgi?id=204078
2313         <rdar://problem/57087756>
2314
2315         Reviewed by Ryosuke Niwa.
2316
2317         Make the LocalPasteboard in WebKitTestRunner compatible with calls to -writeObjects: with a list of pasteboard
2318         items. Currently, attempts to -writeObjects: result in a crash, since NSPasteboard code will attempt to
2319         communicate with pasted and fail. We fix this by implementing -writeObjects: and storing the array of
2320         NSPasteboardItems in LocalPasteboard, the same way we do in DumpRenderTree's LocalPasteboard implementation.
2321
2322         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
2323         (-[LocalPasteboard declareTypes:owner:]):
2324         (-[LocalPasteboard _clearContentsWithoutUpdatingChangeCount]):
2325
2326         Factor out logic to clear the pasteboard's content into a separate helper, and clear out the list of saved
2327         pasteboard items here as well.
2328
2329         (-[LocalPasteboard clearContents]):
2330
2331         Implement -clearContents in DumpRenderTree's LocalPasteboard, so that we can test Clipboard.write() in WebKit1.
2332
2333         (-[LocalPasteboard writeObjects:]):
2334
2335         Also make it so that we save any NSPasteboardItems we write to the local pasteboard, so that we can return them
2336         later in -pasteboardItems.
2337
2338         (-[LocalPasteboard pasteboardItems]):
2339         * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
2340         (-[LocalPasteboard initWithName:]):
2341
2342         Clean up this code a bit by replacing manual reference counting for `typesArray` and its neighboring data
2343         structures with `RetainPtr`. Additionally, underscore-prefix the instance variables on LocalPasteboard to match
2344         most of the other Objective-C objects in WebKit.
2345
2346         (-[LocalPasteboard name]):
2347         (-[LocalPasteboard _clearContentsWithoutUpdatingChangeCount]):
2348
2349         Clear out the NSPasteboardItem list here too.
2350
2351         (-[LocalPasteboard clearContents]):
2352         (-[LocalPasteboard declareTypes:owner:]):
2353         (-[LocalPasteboard addTypes:owner:]):
2354         (-[LocalPasteboard _addTypesWithoutUpdatingChangeCount:owner:]):
2355         (-[LocalPasteboard changeCount]):
2356         (-[LocalPasteboard types]):
2357         (-[LocalPasteboard availableTypeFromArray:]):
2358         (-[LocalPasteboard setData:forType:]):
2359         (-[LocalPasteboard dataForType:]):
2360         (-[LocalPasteboard pasteboardItems]):
2361         (-[LocalPasteboard writeObjects:]):
2362
2363         Implement this by porting over the implementation that currently exists in DumpRenderTree. Like in
2364         DumpRenderTree, we want to also save the NSPasteboardItem array we're given here, so that we can return it in
2365         -pasteboardItems.
2366
2367         (-[LocalPasteboard dealloc]): Deleted.
2368
2369 2019-11-13  Megan Gardner  <megan_gardner@apple.com>
2370
2371         Cleanup UIKitSPI for Testing
2372         https://bugs.webkit.org/show_bug.cgi?id=204173
2373
2374         Reviewed by Simon Fraser.
2375
2376         Remove old staging for UIKit APIs that should not be needed now.
2377
2378         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
2379         (TestWebKitAPI::TEST):
2380         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
2381         (TestWebKitAPI::TEST):
2382         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
2383         (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
2384         * TestWebKitAPI/ios/UIKitSPI.h:
2385
2386 2019-11-13  Aakash Jain  <aakash_jain@apple.com>
2387
2388         [ews] Add build step to Analyze JSC Tests Results
2389         https://bugs.webkit.org/show_bug.cgi?id=204174
2390
2391         Reviewed by Jonathan Bedard.
2392
2393         * BuildSlaveSupport/ews-build/steps.py:
2394         (ReRunJavaScriptCoreTests.evaluateCommand): invoke AnalyzeJSCTestsResults step.
2395         (AnalyzeJSCTestsResults): Build step to analyze layout-test results.
2396         * BuildSlaveSupport/ews-build/steps_unittest.py:
2397         (TestAnalyzeJSCTestsResults):
2398         (TestAnalyzeJSCTestsResults.test_single_new_stress_failure): Added unit-test.
2399         (TestAnalyzeJSCTestsResults.test_single_new_binary_failure): Ditto.
2400         (TestAnalyzeJSCTestsResults.test_multiple_new_stress_failure): Ditto.
2401         (TestAnalyzeJSCTestsResults.test_multiple_new_binary_failure): Ditto.
2402         (TestAnalyzeJSCTestsResults.test_new_stress_and_binary_failure): Ditto.
2403         (TestAnalyzeJSCTestsResults.test_stress_failure_on_clean_tree): Ditto.
2404         (TestAnalyzeJSCTestsResults.test_binary_failure_on_clean_tree): Ditto.
2405         (TestAnalyzeJSCTestsResults.test_stress_and_binary_failure_on_clean_tree): Ditto.
2406         (TestAnalyzeJSCTestsResults.test_flaky_stress_and_binary_failures): Ditto.
2407         (TestAnalyzeJSCTestsResults.test_flaky_and_consistent_stress_failures): Ditto.
2408         (TestAnalyzeJSCTestsResults.test_flaky_and_consistent_failures_with_clean_tree_failures): Ditto.
2409
2410 2019-11-13  Jonathan Bedard  <jbedard@apple.com>
2411
2412         Python 3: Add support in webkitpy.layout_tests.controllers
2413         https://bugs.webkit.org/show_bug.cgi?id=204180
2414
2415         Reviewed by Stephanie Lewis.
2416
2417         * Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.controllers.
2418         * Scripts/webkitpy/common/message_pool.py:
2419         (_MessagePool.__init__): Use Python 3 queue syntax.
2420         (_MessagePool._can_pickle): Use Python 3 pickle syntax.
2421         (_MessagePool._loop): Use Python 3 queue syntax.
2422         (_Worker.run): Use Python 3 queue syntax.
2423         (_Worker._raise): Python 2 and Python 3 have different semantics for raising an exception
2424         With a stack trace. However, 'raise' will raise the exception we are in the process of capturing,
2425         Which is exactly what we want in this case.
2426         * Scripts/webkitpy/common/read_checksum_from_png.py:
2427         (read_checksum): Standardize checksum as a string.
2428         * Scripts/webkitpy/common/system/filesystem.py:
2429         (FileSystem.write_binary_file): Binary files should be written with bytes, not strings.
2430         * Scripts/webkitpy/common/system/filesystem_mock.py:
2431         (MockFileSystem.write_binary_file): Binary files should be written with bytes, not strings.
2432         * Scripts/webkitpy/layout_tests/controllers/layout_test_finder_unittest.py: assertItemsEqual is not
2433         Defined in Python 3.
2434         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
2435         (Worker._do_post_tests_work): Use compatible iteritems.
2436         (Sharder._shard_by_directory): Ditto.
2437         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2438         (Manager.run): Use compatible itervalues.
2439         (Manager._look_for_new_crash_logs): Use Python 3 item iteration.
2440         (Manager._results_to_upload_json_trie): Use compatible itervalues.
2441         (Manager._stats_trie): Use compatible iteritems.
2442         * Scripts/webkitpy/port/base.py:
2443         (Port.expected_text): Be explicit about decoding text expectations.
2444         * Scripts/webkitpy/port/mock_drt.py:
2445         (MockDRT.write_test_output):
2446
2447 2019-11-13  Per Arne Vollan  <pvollan@apple.com>
2448
2449         REGRESSION: WKWebView navigation fails when navigating from about:blank
2450         https://bugs.webkit.org/show_bug.cgi?id=203852
2451
2452         Reviewed by Brent Fulgham.
2453
2454         * TestWebKitAPI/Tests/WebKitCocoa/LoadFileURL.mm:
2455         (TEST):
2456
2457 2019-11-13  Fujii Hironori  <Hironori.Fujii@sony.com>
2458
2459         [Win][DumpRenderTree][WebKitTestRunner] eventSender.keyDown should support function keys
2460         https://bugs.webkit.org/show_bug.cgi?id=204146
2461
2462         Reviewed by Ross Kirsling.
2463
2464         Changed eventSender.keyDown of DRT and WTR to support sending
2465         function keys.
2466
2467         In addition to that, this change set correct scan code to LPARAM
2468         for all key events. Unfortunately, there is no API to get a
2469         correct extended scan code from a virtual key because
2470         MapVirtualKey and MapVirtualKeyEx doesn't work as expected.
2471         makeKeyDataForScanCode turns on KF_EXTENDED flag for some keys
2472         explicitly for the workaround.
2473         <http://www.setnode.com/blog/mapvirtualkey-getkeynametext-and-a-story-of-how-to/>
2474
2475         * DumpRenderTree/win/EventSender.cpp:
2476         (makeKeyDataForScanCode):
2477         (keyDownCallback):
2478         * WebKitTestRunner/win/EventSenderProxyWin.cpp:
2479         (WTR::makeKeyDataForScanCode):
2480         (WTR::EventSenderProxy::keyDown):
2481
2482 2019-11-13  Jonathan Bedard  <jbedard@apple.com>
2483
2484         Python 3: Add support in webkitpy.style.checkers
2485         https://bugs.webkit.org/show_bug.cgi?id=203761
2486
2487         Rubber-stamped by Stephanie Lewis.
2488
2489         * Scripts/test-webkitpy-python3: Add webkitpy.style.checkers.
2490         * Scripts/webkitpy/port/builders.py:
2491         (all_port_names): Convert map to a list before concatenating.
2492         * Scripts/webkitpy/style/checkers/changelog.py: Use explicit imports.
2493         * Scripts/webkitpy/style/checkers/changelog_unittest.py: Ditto.
2494         * Scripts/webkitpy/style/checkers/cmake.py: Ditto.
2495         * Scripts/webkitpy/style/checkers/cmake_unittest.py: Ditto.
2496         * Scripts/webkitpy/style/checkers/common_unittest.py: Ditto.
2497         * Scripts/webkitpy/style/checkers/contributors.py: Ditto.
2498         * Scripts/webkitpy/style/checkers/cpp.py:
2499         (Position): Add rich comparison functions.
2500         (check_for_copyright): Use range instead of xrange.
2501         (detect_functions): Ditto.
2502         (check_language): Use r-string.
2503         (check_for_include_what_you_use): Use range instead of xrange.
2504         (_process_lines): Convert iterator to list, use range instead of xrange.
2505         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
2506         (CppStyleTest): Be explicit about bytes vs strings.
2507         * Scripts/webkitpy/style/checkers/js.py: Use explicit imports.
2508         * Scripts/webkitpy/style/checkers/js_unittest.py: Ditto.
2509         * Scripts/webkitpy/style/checkers/jsonchecker.py: Ditto.
2510         (JSONFeaturesChecker.check):
2511         * Scripts/webkitpy/style/checkers/jsonchecker_unittest.py: Ditto.
2512         (JSONCheckerTest.test_conflict_marker): Differentiate between Python 2 and 3
2513         json parsers.
2514         * Scripts/webkitpy/style/checkers/jstest_unittest.py: Use explicit imports.
2515         * Scripts/webkitpy/style/checkers/messagesin.py: Ditto.
2516         * Scripts/webkitpy/style/checkers/messagesin_unittest.py: Ditto.
2517         * Scripts/webkitpy/style/checkers/png_unittest.py: Ditto.
2518         * Scripts/webkitpy/style/checkers/python.py:
2519         (PythonChecker.check): Only run pylint in Python 2.
2520         (PythonChecker._check_pylint): Use r string.
2521         (Pylinter.run): Surpress logging from Pylint.
2522         * Scripts/webkitpy/style/checkers/python_unittest.py: Use explicit imports.
2523         (PythonCheckerTest.test_check): Add FIXME for running pylint in Python 3.
2524         * Scripts/webkitpy/style/checkers/python_unittest_falsepositives.py:
2525         * Scripts/webkitpy/style/checkers/python_unittest_input.py:
2526         * Scripts/webkitpy/style/checkers/test_expectations.py: Use explicit imports.
2527         * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: Ditto.
2528         * Scripts/webkitpy/style/checkers/text.py: Ditto.
2529         * Scripts/webkitpy/style/checkers/text_unittest.py: Ditto.
2530         * Scripts/webkitpy/style/checkers/watchlist_unittest.py: Ditto.
2531         * Scripts/webkitpy/style/checkers/xcodeproj_unittest.py: Ditto.
2532         * Scripts/webkitpy/style/checkers/xml_unittest.py: Ditto.
2533         * Scripts/webkitpy/thirdparty/__init__.py:
2534         (AutoinstallImportHook._install_pep8): Update pep8 version.
2535
2536 2019-11-13  Jer Noble  <jer.noble@apple.com>
2537
2538         Link mediaDataLoadsAutomatically setting to AutoplayPolicy
2539         https://bugs.webkit.org/show_bug.cgi?id=201738
2540         <rdar://problem/55315194>
2541
2542         Reviewed by Eric Carlson.
2543
2544         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2545         * TestWebKitAPI/Tests/WebKit/media-loading.html: Added.
2546         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2547         (TEST):
2548
2549 2019-11-13  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2550
2551         test262-runner: use NUMBER_OF_PROCESSORS and stop multiplying the number of cores.
2552         https://bugs.webkit.org/show_bug.cgi?id=204154
2553
2554         Reviewed by Ross Kirsling.
2555
2556         We have enabled running test262 on GTK and WPE test bots on r252362
2557         But it seems this test262 runner is not respecting the environment
2558         variable NUMBER_OF_PROCESSORS. We set that on the bot environments
2559         to tell each worker how much parallelism it should use.
2560
2561         Instead this runner was using all the system cores (which on some
2562         cases is 256) and that was causing issues on other containers/workloads
2563         running on the same system at the same time.
2564
2565         This environment variable is understood by all webkit-related test scripts.
2566         It should be accepted also by this test262 runner script.
2567
2568         On top of that, this patch removes the multiplication that is done
2569         when the number of parallel jobs is not specified and its calculated
2570         from the available cores of the system. On one hand there is no
2571         written motivation for this multiplication behaviour, and on the other
2572         hand there is evidence that it doesn't improve performance.
2573
2574         * Scripts/test262/Runner.pm:
2575         (getProcesses):
2576
2577 2019-11-13  Myles C. Maxfield  <mmaxfield@apple.com>
2578
2579         [Mac] Fix build
2580         https://bugs.webkit.org/show_bug.cgi?id=204136
2581
2582         Reviewed by Alex Christensen.
2583
2584         Remove deprecation warnings.
2585
2586         * MiniBrowser/mac/SettingsController.m:
2587         (-[SettingsController validateMenuItem:]):
2588         * MiniBrowser/mac/WK1BrowserWindowController.m:
2589         (-[WK1BrowserWindowController validateMenuItem:]):
2590         * MiniBrowser/mac/WK2BrowserWindowController.m:
2591         (-[WK2BrowserWindowController validateMenuItem:]):
2592         * TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm:
2593         (-[DragInfo ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
2594         (-[DragInfo draggedImage]): Deleted.
2595
2596 2019-11-13  Megan Gardner  <megan_gardner@apple.com>
2597
2598         check-webkit-style: fix false errors for obj-c method calls in range-based for statements using colon syntax
2599         https://bugs.webkit.org/show_bug.cgi?id=204142
2600
2601         Reviewed by Jonathan Bedard.
2602
2603         Allow for the existance of an obj-c method call in a range-based for statement that also uses colons.
2604         Do not allow colons between square brackets to trigger the error.
2605         Also add a test for this specific case.
2606
2607         * Scripts/webkitpy/style/checkers/cpp.py:
2608         (check_spacing):
2609         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
2610         (WebKitStyleTest.test_spacing):
2611
2612 2019-11-13  Aakash Jain  <aakash_jain@apple.com>
2613
2614         [EWS] Parse jsc_results.json for JSC tests
2615         https://bugs.webkit.org/show_bug.cgi?id=204090
2616
2617         Reviewed by Jonathan Bedard.
2618
2619         * BuildSlaveSupport/ews-build/steps.py:
2620         (RunJavaScriptCoreTests):
2621         (RunJavaScriptCoreTests.start): Initialize log_observer for json.
2622         (RunJavaScriptCoreTests.commandComplete): Parse jsc_results.json and set properties accordingly.
2623         (RunJavaScriptCoreTests.getResultSummary): Update the build-step summary string.
2624         (ReRunJavaScriptCoreTests):
2625         (RunJSCTestsWithoutPatch):
2626         * BuildSlaveSupport/ews-build/steps_unittest.py:
2627         (TestRunJavaScriptCoreTests.setUp): Added sample json files for testing.
2628         (TestRunJavaScriptCoreTests.configureStep):
2629         (TestRunJavaScriptCoreTests.test_single_stress_test_failure): Added unit-tests.
2630         (TestRunJavaScriptCoreTests.test_lot_of_stress_test_failure): Ditto.
2631         (TestRunJavaScriptCoreTests.test_masm_failure): Ditto.
2632         (TestRunJavaScriptCoreTests.test_b3_and_stress_test_failure): Ditto.
2633         (TestRunJavaScriptCoreTests.test_dfg_air_and_stress_test_failure): Ditto.
2634
2635 2019-11-13  Youenn Fablet  <youenn@apple.com>
2636
2637         Take service worker assertions based on client processes assertion states
2638         https://bugs.webkit.org/show_bug.cgi?id=204119
2639
2640         Reviewed by Chris Dumez.
2641
2642         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2643         Add tests checking service worker process assertion state.
2644
2645 2019-11-13  Aakash Jain  <aakash_jain@apple.com>
2646
2647         Make webkitperl EWS robust against flakiness in webkitperl tests
2648         https://bugs.webkit.org/show_bug.cgi?id=204155
2649
2650         Reviewed by Jonathan Bedard.
2651
2652         * BuildSlaveSupport/ews-build/steps.py:
2653         (RunWebKitPerlTests): Set haltOnFailure and flunkOnFailure to false.
2654         (RunWebKitPerlTests.evaluateCommand): Add re-run step in case of failure.
2655         (ReRunWebKitPerlTests):
2656         (ReRunWebKitPerlTests.evaluateCommand): Overrided this to avoid running this step again.
2657         * BuildSlaveSupport/ews-build/steps_unittest.py:
2658         (TestReRunJavaScriptCoreTests): Added unit-tests.
2659
2660 2019-11-13  Aakash Jain  <aakash_jain@apple.com>
2661
2662         Flaky API Test TestWebKitAPI.ServiceWorkers.ThrottleCrash
2663         https://bugs.webkit.org/show_bug.cgi?id=203734
2664         <rdar://problem/56814638>
2665
2666         Unreviewed test gardening.
2667
2668         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: Disabled the flaky test for now.
2669
2670 2019-11-13  Aakash Jain  <aakash_jain@apple.com>
2671
2672         Flaky API Test TestWebKitAPI.WebKit.ApplicationCacheDirectories
2673         https://bugs.webkit.org/show_bug.cgi?id=203732
2674         <rdar://problem/56814641>
2675
2676         Unreviewed test gardening.
2677
2678         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm: Disabled the flaky test for now.
2679
2680 2019-11-13  Rob Buis  <rbuis@igalia.com>
2681
2682         Support stale-while-revalidate cache strategy
2683         https://bugs.webkit.org/show_bug.cgi?id=201461
2684
2685         Reviewed by Youenn Fablet.
2686
2687         Enable stale-while-revalidate for the test runner.
2688
2689         * WebKitTestRunner/TestController.cpp:
2690         (WTR::TestController::websiteDataStore):
2691
2692 2019-11-12  Wenson Hsieh  <wenson_hsieh@apple.com>
2693
2694         [iOS] WKWebView does not respect system spellchecking preference
2695         https://bugs.webkit.org/show_bug.cgi?id=204100
2696         <rdar://problem/56653808>
2697
2698         Reviewed by Tim Horton.
2699
2700         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2701         * DumpRenderTree/cocoa/UIScriptControllerCocoa.h:
2702         * DumpRenderTree/cocoa/UIScriptControllerCocoa.mm:
2703         (WTR::UIScriptControllerCocoa::UIScriptControllerCocoa):
2704         (WTR::UIScriptControllerCocoa::setContinuousSpellCheckingEnabled):
2705
2706         Add a new UIScriptControllerCocoa subclass for DumpRenderTree. For now, this will just contain the cross-
2707         platform implementation of setContinuousSpellCheckingEnabled.
2708
2709         * DumpRenderTree/ios/UIScriptControllerIOS.h:
2710         (WTR::UIScriptControllerIOS::UIScriptControllerIOS):
2711         * DumpRenderTree/mac/UIScriptControllerMac.h:
2712         (WTR::UIScriptControllerMac::UIScriptControllerMac):
2713
2714         Make both -IOS and -Mac subclasses inherit from UIScriptControllerCocoa.
2715
2716         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
2717         * TestRunnerShared/UIScriptContext/UIScriptController.h:
2718         (WTR::UIScriptController::setContinuousSpellCheckingEnabled):
2719
2720         Add a new script controller method to change the platform spell checking preference during a layout test.
2721
2722         * WebKitTestRunner/TestController.cpp:
2723         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2724         (WTR::TestController::cocoaResetStateToConsistentValues):
2725
2726         Adjust this to explicitly turn continuous spellchecking on or off based on the `shouldShowSpellCheckingDots`
2727         test option flag, instead of toggling it on and then off when resetting state before and after the layout test.
2728
2729         * WebKitTestRunner/cocoa/UIScriptControllerCocoa.h:
2730         * WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
2731         (WTR::UIScriptControllerCocoa::setContinuousSpellCheckingEnabled):
2732
2733 2019-11-12  Aakash Jain  <aakash_jain@apple.com>
2734
2735         Update unit-tests for JSC EWS
2736         https://bugs.webkit.org/show_bug.cgi?id=204123
2737
2738         Reviewed by Jonathan Bedard.
2739
2740         * BuildSlaveSupport/ews-build/steps_unittest.py:
2741         (TestRunJavaScriptCoreTests.configureStep):
2742         (TestRunJavaScriptCoreTests.test_success): Updated platform to mac-highsierra.
2743         (TestRunJavaScriptCoreTests.test_failure): Ditto.
2744         (TestRunJavaScriptCoreTests.test_remote_success): Unit-test for jsc-only platform.
2745         (TestReRunJavaScriptCoreTests): Automatically run all unit-tests from TestRunJavaScriptCoreTests class.
2746
2747 2019-11-12  Diego Pino Garcia  <dpino@igalia.com>
2748
2749         [GTK] Add 'test262-test' step to GTK and WPE build bots
2750         https://bugs.webkit.org/show_bug.cgi?id=204063
2751
2752         Reviewed by Carlos Alberto Lopez Perez.
2753
2754         * BuildSlaveSupport/build.webkit.org-config/factories.py:
2755         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2756
2757 2019-11-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2758
2759         Unreviewed. Update W3C WebDriver imported tests.
2760
2761         * Scripts/webkitpy/thirdparty/__init__.py:
2762         (AutoinstallImportHook._install_mozlog): Update the mozlog version and add mozterm that is ow required by mozlog.
2763         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
2764         (WebDriverW3CExecutor.__init__): Add alternate domain for cross-origin checks.
2765
2766 2019-11-12  Fujii Hironori  <Hironori.Fujii@sony.com>
2767
2768         [Win] UIScriptController::zoomToScale not implemented
2769         https://bugs.webkit.org/show_bug.cgi?id=180424
2770
2771         Reviewed by Alex Christensen.
2772
2773         * DumpRenderTree/PlatformWin.cmake:
2774         * DumpRenderTree/win/UIScriptControllerWin.cpp: Added.
2775         (WTR::UIScriptController::create):
2776         (WTR::UIScriptControllerWin::doAsyncTask):
2777         (WTR::UIScriptControllerWin::zoomToScale):
2778         (WTR::UIScriptControllerWin::zoomScale const):
2779         * DumpRenderTree/win/UIScriptControllerWin.h: Added.
2780         (WTR::UIScriptControllerWin::UIScriptControllerWin):
2781         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2782         * WebKitTestRunner/PlatformWin.cmake:
2783         * WebKitTestRunner/win/UIScriptControllerWin.cpp: Added.
2784         (WTR::UIScriptController::create):
2785         (WTR::UIScriptControllerWin::doAsyncTask):
2786         (WTR::UIScriptControllerWin::zoomToScale):
2787         (WTR::UIScriptControllerWin::zoomScale const):
2788         * WebKitTestRunner/win/UIScriptControllerWin.h: Added.
2789         (WTR::UIScriptControllerWin::UIScriptControllerWin):
2790
2791 2019-11-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2792
2793         [GTK] WebDriver: implement new window command
2794         https://bugs.webkit.org/show_bug.cgi?id=203994
2795
2796         Reviewed by Carlos Alberto Lopez Perez.
2797
2798         Add support for new window command to MiniBrowser and a test case to check the new API to unit tests.
2799
2800         * MiniBrowser/gtk/BrowserWindow.c:
2801         (findActiveWindow):
2802         (browser_window_get_or_create_web_view_for_automation):
2803         (browser_window_create_web_view_in_new_tab_for_automation):
2804         * MiniBrowser/gtk/BrowserWindow.h:
2805         * MiniBrowser/gtk/main.c:
2806         (createWebViewForAutomationInWindowCallback):
2807         (createWebViewForAutomationInTabCallback):
2808         (automationStartedCallback):
2809         (createWebViewForAutomationCallback): Deleted.
2810         * TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
2811         (testAutomationSessionRequestSession):
2812
2813 2019-11-11  Alex Christensen  <achristensen@webkit.org>
2814
2815         Add SPI to access a WebsiteDataStore without instantiating it, and its configuration
2816         https://bugs.webkit.org/show_bug.cgi?id=204089
2817
2818         Reviewed by Tim Horton.
2819
2820         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
2821         (TEST):
2822
2823 2019-11-11  Ross Kirsling  <ross.kirsling@sony.com>
2824
2825         UTC offset for Samoa is miscalculated when !HAVE(TIMEGM)
2826         https://bugs.webkit.org/show_bug.cgi?id=204032
2827
2828         Reviewed by Yusuke Suzuki.
2829
2830         * Scripts/run-jsc-stress-tests:
2831         Allow environment variables to be passed to "complex" tests.
2832
2833 2019-11-11  Dean Jackson  <dino@apple.com>
2834
2835         Regression r252309: API Test TestWebKitAPI._WKActivatedElementInfo.InfoForLinkAroundImage is failing consistently
2836         https://bugs.webkit.org/show_bug.cgi?id=204058
2837         <rdar://problem/57056000>
2838
2839         Unreviewed.
2840
2841         Remove test that looks at screen dimensions, because it fails on iPad.
2842
2843         * TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
2844         (TestWebKitAPI::TEST):
2845
2846 2019-11-11  Aakash Jain  <aakash_jain@apple.com>
2847
2848         [EWS] Use named arguments in factories.py
2849         https://bugs.webkit.org/show_bug.cgi?id=204071
2850
2851         Reviewed by Jonathan Bedard.
2852
2853         * BuildSlaveSupport/ews-build/factories.py:
2854         (Factory.__init__):
2855         (StyleFactory.__init__):
2856         (WatchListFactory.__init__):
2857         (BindingsFactory.__init__):
2858         (WebKitPerlFactory.__init__):
2859         (WebKitPyFactory.__init__):
2860         (BuildFactory.__init__):
2861         (TestFactory.__init__):
2862         (JSCTestsFactory.__init__):
2863         (WindowsFactory.__init__):
2864         (WinCairoFactory.__init__):
2865         (GTKFactory.__init__):
2866         (WPEFactory.__init__):
2867         (ServicesFactory.__init__):
2868
2869 2019-11-11  Aakash Jain  <aakash_jain@apple.com>
2870
2871         EWS should retry build in case of kill-old-processes failure
2872         https://bugs.webkit.org/show_bug.cgi?id=203858
2873
2874         Reviewed by Jonathan Bedard.
2875
2876         * BuildSlaveSupport/ews-build/steps.py:
2877         (KillOldProcesses.evaluateCommand): Retry the build in case of failure.
2878         (KillOldProcesses.getResultSummary): Update the build-step summary string.
2879         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
2880
2881 2019-11-09  Dean Jackson  <dino@apple.com>
2882
2883         Clicky Orbing support.apple.com categories shows a PNG instead of the web page preview, tapping loads image asset only instead of web page
2884         https://bugs.webkit.org/show_bug.cgi?id=204037
2885         <rdar://55614939>
2886
2887         Reviewed by Simon Fraser.
2888
2889         New tests for a link wrapping an image, and the ordering of API and SPI.
2890
2891         Rename these tests so that they are much easier to filter on the command line.
2892
2893         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2894         * TestWebKitAPI/Tests/WebKitCocoa/ContextMenus.mm:
2895         (TEST):
2896         (-[TestContextMenuAPIBeforeSPIUIDelegate webView:contextMenuConfigurationForElement:completionHandler:]):
2897         (-[TestContextMenuAPIBeforeSPIUIDelegate _webView:contextMenuConfigurationForElement:completionHandler:]):
2898         (-[TestContextMenuAPIBeforeSPIUIDelegate webView:contextMenuWillPresentForElement:]):
2899         * TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
2900         (TestWebKitAPI::TEST):
2901         * TestWebKitAPI/Tests/WebKitCocoa/image.html: Added.
2902         * TestWebKitAPI/Tests/WebKitCocoa/link-with-image.html: Added.
2903
2904 2019-11-08  Brady Eidson  <beidson@apple.com>
2905
2906         WKWebView Find-in-page API.
2907         <rdar://problem/46971112> and https://bugs.webkit.org/show_bug.cgi?id=203872
2908
2909         Reviewed by Tim Horton.
2910
2911         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2912         * TestWebKitAPI/Tests/WebKitCocoa/FindInPageAPI.mm: Added.
2913         (TEST):
2914         * TestWebKitAPI/cocoa/TestWKWebView.h:
2915         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2916         (-[TestWKWebView selectionRangeHasStartOffset:endOffset:]):
2917
2918 2019-11-08  Jonathan Bedard  <jbedard@apple.com>
2919
2920         Simulators having trouble launching apps after booting
2921         <rdar://problem/57032042>
2922
2923         Unreviewed infrastructure fix.
2924
2925         * Scripts/webkitpy/port/simulator_process.py:
2926         (SimulatorProcess._start): Temporarily increase timeout to help out bots.
2927
2928 2019-11-08  Jonathan Bedard  <jbedard@apple.com>
2929
2930         results.webkit.org: List failing tests for criteria
2931         https://bugs.webkit.org/show_bug.cgi?id=203905
2932
2933         Rubber-stamped by Aakash Jain.
2934
2935         * resultsdbpy/resultsdbpy/controller/api_routes.py:
2936         (APIRoutes.__init__): Add FailureController and /failures endpoint.
2937         * resultsdbpy/resultsdbpy/controller/failure_controller.py: Added.
2938         (FailureController): Added FailureController object to drive /failure endpoint.
2939         (FailureController.__init__):
2940         (FailureController.failures): Return a json list of failures for a range.
2941         * resultsdbpy/resultsdbpy/controller/failure_controller_unittest.py: Added.
2942         (FailureControllerTest): Test the /failure API.
2943         (FailureControllerTest.setup_webserver):
2944         (FailureControllerTest.test_failures_collapsed):
2945         (FailureControllerTest.test_unexpected_failures_collapsed):
2946         (FailureControllerTest.test_failures):
2947         (FailureControllerTest.test_unexpected_failures):
2948         (FailureControllerTest.test_failure_by_time):
2949         * resultsdbpy/resultsdbpy/model/failure_context.py: Added.
2950         (FailureContext): Database access to tables recording test failures.
2951         (FailureContext.TestFailuresBase):
2952         (FailureContext.TestFailuresBase.unpack):
2953         (FailureContext.TestFailuresByCommit): Save test failures sorted by commit.
2954         (FailureContext.TestFailuresByStartTime): Save test failures sorted by start time.
2955         (FailureContext.UnexpectedTestFailuresByCommit): Save unexpected test failures
2956         sorted by commit.
2957         (FailureContext.UnexpectedTestFailuresByStartTime): Save unexpected test failures
2958         sorted by commit.
2959         (FailureContext.__init__):
2960         (FailureContext.register): Register test failures to each of the 4 tables for an upload.
2961         (FailureContext._failures): Return a list of test failures from a table.
2962         (FailureContext.failures_by_commit): Return a list of test failures from a table sorted
2963         by commit.
2964         (FailureContext.failures_by_start_time): Return a list of test failures from a table
2965         sorted by commit.
2966         * resultsdbpy/resultsdbpy/model/failure_context_unittest.py: Added.
2967         (FailureContextTest):
2968         (FailureContextTest.init_database):
2969         (FailureContextTest.test_failures_collapsed):
2970         (FailureContextTest.test_unexpected_failures_collapsed):
2971         (FailureContextTest.test_failures):
2972         (FailureContextTest.test_unexpected_failures):
2973         * resultsdbpy/resultsdbpy/model/model.py:
2974         (Model.__init__):
2975         * resultsdbpy/resultsdbpy/view/templates/documentation.html: Add documentation
2976         for the /failure endpoint.
2977
2978 2019-11-08  Alex Christensen  <achristensen@webkit.org>
2979
2980         Fix flaky tests in http/tests/cache/disk-cache
2981         https://bugs.webkit.org/show_bug.cgi?id=203822
2982
2983         Reviewed by Youenn Fablet.
2984
2985         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2986         (WTR::InjectedBundle::setCacheModel):
2987         * WebKitTestRunner/TestInvocation.cpp:
2988         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2989         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2990
2991 2019-11-08  Aakash Jain  <aakash_jain@apple.com>
2992
2993         Clicking on EWS status-bubble should open the results in new tab
2994         https://bugs.webkit.org/show_bug.cgi?id=204012
2995
2996         Reviewed by Alexey Proskuryakov.
2997
2998         * BuildSlaveSupport/ews-app/ews/templates/statusbubble.html:
2999
3000 2019-11-06  Jiewen Tan  <jiewen_tan@apple.com>
3001
3002         [WebAuthn] Return NotAllowedError immediately for UI cancellations
3003         https://bugs.webkit.org/show_bug.cgi?id=203937
3004         <rdar://problem/56962420>
3005
3006         Reviewed by Brent Fulgham.
3007
3008         * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
3009         (TestWebKitAPI::TEST):
3010
3011 2019-11-08  Aakash Jain  <aakash_jain@apple.com>
3012
3013         [ews] Prioritize builders over testers when a bot is shared over multiple queues
3014         https://bugs.webkit.org/show_bug.cgi?id=204007
3015
3016         Reviewed by Jonathan Bedard.
3017
3018         * BuildSlaveSupport/ews-build/loadConfig.py:
3019         (loadBuilderConfig):
3020         (prioritizeBuilders): Method to prioritize builder queues over tester queues.
3021
3022 2019-11-08  Alex Christensen  <achristensen@webkit.org>
3023
3024         Build fix for platforms without WebRTC's SSL after r252185
3025         https://bugs.webkit.org/show_bug.cgi?id=203934
3026
3027         * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
3028         The new test uses TLS with the HTTPS proxy.  Don't compile it if we can't compile it.
3029
3030 2019-11-08  Carlos Garcia Campos  <cgarcia@igalia.com>
3031
3032         [GTK] Add pointer lock permission request API
3033         https://bugs.webkit.org/show_bug.cgi?id=203896
3034
3035         Reviewed by Adrian Perez de Castro.
3036
3037         Handle pointer lock permission requests in MiniBrowser and add a new tests case to check the new API.
3038
3039         * MiniBrowser/gtk/BrowserTab.c:
3040         (pointerLockMessageTimeoutCallback):
3041         (decidePermissionRequest):
3042         (browserTabFinalize):
3043         (browserTabConstructed):
3044         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
3045         (testWebViewPointerLockPermissionRequest):
3046         (beforeAll):
3047
3048 2019-11-07  Chris Dumez  <cdumez@apple.com>
3049
3050         TestController may reuse a view that used window.open(), which prevents process-swapping and causes flakiness
3051         https://bugs.webkit.org/show_bug.cgi?id=203981
3052
3053         Reviewed by Ryosuke Niwa.
3054
3055         Stop reusing WebViews that have created other WebViews (via window.open()) since this prevents process-swapping
3056         and may therefore cause flakiness (see Bug 203965).
3057
3058         * WebKitTestRunner/TestController.cpp:
3059         (WTR::TestController::createOtherPage):
3060         (WTR::TestController::ensureViewSupportsOptionsForTest):
3061         * WebKitTestRunner/TestController.h:
3062
3063 2019-11-07  Aakash Jain  <aakash_jain@apple.com>
3064
3065         [ews] rename RunJavaScriptCoreTestsToT to RunJSCTestsWithoutPatch
3066         https://bugs.webkit.org/show_bug.cgi?id=203959
3067
3068         Reviewed by Alexey Proskuryakov.
3069
3070         * BuildSlaveSupport/ews-build/steps.py:
3071         (RunJSCTestsWithoutPatch): Renamed.
3072         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
3073
3074 2019-11-07  Alex Christensen  <achristensen@webkit.org>
3075
3076         Re-enable NSURLSession isolation after r252116
3077         https://bugs.webkit.org/show_bug.cgi?id=203934
3078         <rdar://problem/56921584>
3079
3080         Reviewed by Chris Dumez.
3081
3082         * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
3083         (-[DataTaskIdentifierCollisionDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3084         (-[DataTaskIdentifierCollisionDelegate waitForMessages:]):
3085         (-[DataTaskIdentifierCollisionDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
3086         (TEST):
3087
3088 2019-11-07  Paulo Matos  <pmatos@igalia.com>
3089
3090         Add support for remotes file for EWS builders
3091         https://bugs.webkit.org/show_bug.cgi?id=203899
3092
3093         Reviewed by Aakash Jain.
3094
3095         Require to support builders that cross-compile and run tests on native machines
3096         through the use of --remote-config-file.
3097
3098         * BuildSlaveSupport/ews-build/factories.py:
3099         (Factory.__init__):
3100         (StyleFactory.__init__):
3101         (WatchListFactory.__init__):
3102         * BuildSlaveSupport/ews-build/loadConfig.py:
3103         (loadBuilderConfig):
3104         * BuildSlaveSupport/ews-build/steps.py:
3105         (ConfigureBuild.__init__):
3106         (ConfigureBuild.start):
3107         (RunJavaScriptCoreTests.start):
3108         * BuildSlaveSupport/ews-build/steps_unittest.py:
3109         (TestRunJavaScriptCoreTests.test_remote_success):
3110
3111 2019-11-06  Antti Koivisto  <antti@apple.com>
3112
3113         REGRESSION: [ iOS ] ( r251015 ) Layout Test fast/text/whitespace/pre-wrap-overflow-selection.html is flaky
3114         https://bugs.webkit.org/show_bug.cgi?id=203366
3115         <rdar://problem/56580680>
3116
3117         Reviewed by Simon Fraser.
3118
3119         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3120         (WTR::InjectedBundlePage::dump):
3121
3122 2019-11-06  Fujii Hironori  <Hironori.Fujii@sony.com>
3123
3124         WEBCORE_TESTSUPPORT_EXPORT should be used only for WebCoreTestSupport, not for WebCore
3125         https://bugs.webkit.org/show_bug.cgi?id=203876
3126
3127         Reviewed by Ross Kirsling.
3128
3129         * TestWebKitAPI/win/TestWebKitAPIPrefix.h:
3130         * WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.h:
3131         * WebKitTestRunner/WebKitTestRunnerPrefix.h:
3132         Define WEBCORE_TESTSUPPORT_EXPORT emtpy.
3133
3134 2019-11-06  Fujii Hironori  <Hironori.Fujii@sony.com>
3135
3136         [Win] DumpRenderTree.exe and WebKitTestRunner.exe shouldn't link with WebCoreTestSupport
3137         https://bugs.webkit.org/show_bug.cgi?id=203879
3138
3139         Reviewed by Ross Kirsling.
3140
3141         After r252086, WinCairo DumpRenderTree.exe and
3142         WebKitTestRunner.exe can't start because they are linked with
3143         WinCairoRequirements DLLs unexpectedly.
3144
3145         DumpRenderTree.exe and WebKitTestRunner.exe are just wrapper
3146         programs. They shouldn't link with WinCairoRequirements libs.
3147
3148         * DumpRenderTree/PlatformWin.cmake: Set DumpRenderTree_LIBRARIES only shlwapi.
3149         * WebKitTestRunner/PlatformWin.cmake: Set WebKitTestRunner_LIBRARIES only shlwapi.
3150
3151 2019-11-06  Kate Cheney  <katherine_cheney@apple.com>
3152
3153         Update entry in contributors.json to fix commit privileges.
3154
3155         * Scripts/webkitpy/common/config/contributors.json:
3156
3157 2019-11-06  Keith Rollin  <krollin@apple.com>
3158
3159         Unreviewed build fix: fix TestWebKitAPI in macCatalyst, tvOS, and
3160         watchOS builds by conditionalizing some code on HAVE_UIWEBVIEW and
3161         HAVE_PDFKIT. Follow-up to r251976.
3162
3163         * TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
3164         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
3165         * TestWebKitAPI/Tests/WebKitLegacy/ios/JSLockTakesWebThreadLock.mm:
3166         * TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollToRevealSelection.mm:
3167         * TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:
3168         * TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:
3169         * TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm:
3170         * TestWebKitAPI/config.h:
3171
3172 2019-11-06  Aakash Jain  <aakash_jain@apple.com>
3173
3174         All EWS status-bubbles shows #1 on security patches when patch is uploaded with webkit-patch --no-review
3175         https://bugs.webkit.org/show_bug.cgi?id=203903
3176
3177         Reviewed by David Kilzer.
3178
3179         * BuildSlaveSupport/ews-app/ews/fetcher.py:
3180         (BugzillaPatchFetcher.fetch):
3181
3182 2019-11-06  Aakash Jain  <aakash_jain@apple.com>
3183
3184         [ews] Increase timeout for svn-apply
3185         https://bugs.webkit.org/show_bug.cgi?id=203909
3186
3187         Reviewed by Jonathan Bedard.
3188
3189         * BuildSlaveSupport/ews-build/steps.py:
3190
3191 2019-11-06  Aakash Jain  <aakash_jain@apple.com>
3192
3193         Add watchlist category for BuildSlaveSupport
3194         https://bugs.webkit.org/show_bug.cgi?id=203900
3195
3196         Reviewed by Jonathan Bedard.
3197
3198         * Scripts/webkitpy/common/config/watchlist:
3199
3200 2019-11-06  Philippe Normand  <philn@igalia.com>
3201
3202         [GTK][WPE] Add libfdk-aac-dev to the install-dependencies script
3203         https://bugs.webkit.org/show_bug.cgi?id=203812
3204
3205         Reviewed by Carlos Garcia Campos.
3206
3207         * gtk/install-dependencies:
3208         * wpe/install-dependencies:
3209
3210 2019-11-06  Carlos Garcia Campos  <cgarcia@igalia.com>
3211
3212         [GTK] Implement support for Pointer Lock API
3213         https://bugs.webkit.org/show_bug.cgi?id=202956
3214
3215         Reviewed by Carlos Alberto Lopez Perez.
3216
3217         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
3218         (WTR::getGDKKeySymForKeyRef): Handle escape key.
3219
3220 2019-11-05  Chris Dumez  <cdumez@apple.com>
3221
3222         [iOS] Scroll position does not get restored when doing a history navigation while the reader view is shown
3223         https://bugs.webkit.org/show_bug.cgi?id=203871
3224         <rdar://problem/56564603>
3225
3226         Reviewed by Tim Horton.
3227
3228         Add API test coverage.
3229
3230         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3231         * TestWebKitAPI/Tests/WebKit/simple-tall.html:
3232         * TestWebKitAPI/Tests/WebKitCocoa/RestoreScrollPosition.mm: Added.
3233         (TestWebKitAPI::TEST):
3234
3235 2019-11-05  Jonathan Bedard  <jbedard@apple.com>
3236
3237         REGRESSION(r252031): layout tests fail to run in non apple ports after r252031 (Follow-up fix)
3238         https://bugs.webkit.org/show_bug.cgi?id=203844
3239
3240         Rubber-stamped by Aakash Jain.
3241
3242         Remove infinite loop for Windows.
3243
3244         * Scripts/webkitpy/port/win.py:
3245         (WinPort._path_to_default_image_diff):
3246         (WinPort._path_to_image_diff): Deleted.
3247
3248 2019-11-05  Aakash Jain  <aakash_jain@apple.com>
3249
3250         EWS should report test failures from clean-tree to results.webkit.org
3251         https://bugs.webkit.org/show_bug.cgi?id=203829
3252
3253         Reviewed by Jonathan Bedard.
3254
3255         * BuildSlaveSupport/ews-build/loadConfig.py:
3256         (loadBuilderConfig):
3257         * BuildSlaveSupport/ews-build/steps.py:
3258         (RunWebKitTests.__init__):
3259         (RunWebKitTestsWithoutPatch.start):
3260         (RunAPITestsWithoutPatch.start):
3261         * BuildSlaveSupport/ews-build/steps_unittest.py: Added and updated unit-tests.
3262
3263 2019-11-05  Wenson Hsieh  <wenson_hsieh@apple.com>
3264
3265         Native text substitutions interfere with HTML <datalist> options resulting in crash
3266         https://bugs.webkit.org/show_bug.cgi?id=203116
3267         <rdar://problem/49875932>
3268
3269         Reviewed by Tim Horton.
3270
3271         Add a new testing hook to wait for datalist suggestions to show up and choose the suggestion at the given index.
3272
3273         * DumpRenderTree/mac/UIScriptControllerMac.h:
3274         * DumpRenderTree/mac/UIScriptControllerMac.mm:
3275         (WTR::UIScriptControllerMac::activateDataListSuggestion):
3276         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3277         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3278         (WTR::UIScriptController::activateDataListSuggestion):
3279         * WebKitTestRunner/ios/UIScriptControllerIOS.h:
3280         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3281         (WTR::UIScriptControllerIOS::activateDataListSuggestion):
3282         * WebKitTestRunner/mac/UIScriptControllerMac.h:
3283         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
3284         (WTR::UIScriptControllerMac::isShowingDataListSuggestions const):
3285         (WTR::UIScriptControllerMac::activateDataListSuggestion):
3286
3287         Dig through the view hierarchy of the NSWindow subclass used to show datalist suggestions for the table view
3288         containing the suggestions; then, select the given row, and invoke the action on the target.
3289
3290         (WTR::UIScriptControllerMac::dataListSuggestionsTableView const):
3291
3292 2019-11-05  Daniel Bates  <dabates@apple.com>
3293
3294         TestWebKitAPI.WebKit.DocumentEditingContext is failing on iPad
3295         https://bugs.webkit.org/show_bug.cgi?id=203828
3296         <rdar://problem/55854631>
3297
3298         Reviewed by Myles Maxfield.
3299
3300         Specify both a font size and line height when using Ahem as per [1]. Otherwise, text may be
3301         rendered inconsistently. Plus, disable text-autosizing and fix viewport to make test result
3302         consistent on both iPhone and iPad. 
3303
3304         [1] <https://web-platform-tests.org/writing-tests/ahem.html>
3305
3306         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
3307         (applyStyle): Remove unused style for <iframe>s and fix up parameter name to conform to style guide.
3308         (applyAhemStyle): Set -webkit-text-size-adjust to 100% to disable auto-sizing. Fix viewport width
3309         and initial scale to ensure the result is the same on both iPhone and iPad. Also remove unused style
3310         for <iframe>s and renamed parameter name to conform to style guide.
3311         (TEST):
3312
3313 2019-11-05  Sihui Liu  <sihui_liu@apple.com>
3314
3315         REGRESSION (r250754): web page using IDBIndex doesn't load occasionally
3316         https://bugs.webkit.org/show_bug.cgi?id=203431
3317
3318         Reviewed by Brady Eidson.
3319
3320         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3321         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBInPageCache.html: Added.
3322         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBInPageCache.mm: Added.
3323         (-[IndexedDBInPageCacheMessageHandler userContentController:didReceiveScriptMessage:]):
3324         (TEST):
3325         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBNotInPageCache.html: Added.
3326
3327 2019-11-05  Jonathan Bedard  <jbedard@apple.com>
3328
3329         webkitpy: Build ImageDiff if it is missing (Follow-fix)
3330         https://bugs.webkit.org/show_bug.cgi?id=183422
3331
3332         Unreviewed infrastructure fix.
3333
3334         * Scripts/webkitpy/port/base.py:
3335         (Port._path_to_image_diff): Use the host build directory.
3336         * Scripts/webkitpy/port/config.py:
3337         (Config.build_directory): Allow the caller to ignore the port argument, which will return the default
3338         build directory for the host running the script.
3339         * Scripts/webkitpy/port/port_testcase.py:
3340         (PortTestCase.make_port):
3341
3342 2019-11-05  Chris Lord  <clord@igalia.com>
3343
3344         [WPE] WebKit.NewFirstVisuallyNonEmptyLayout* unexpected pass
3345         https://bugs.webkit.org/show_bug.cgi?id=203846
3346
3347         Reviewed by Žan Doberšek.
3348
3349         * TestWebKitAPI/glib/TestExpectations.json:
3350
3351 2019-11-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3352
3353         REGRESSION(r252031): layout tests fail to run in non apple ports after r252031
3354         https://bugs.webkit.org/show_bug.cgi?id=203844
3355
3356         Reviewed by Žan Doberšek.
3357
3358         Since r252032 Port.check_image_diff() assumes that ImageDiff binary is built in the build path, which is not
3359         true for all ports. This patch adds Port._path_to_default_image_diff() to be used instead of the build_path()
3360         and overriden by ports not building the ImageDiff in the build path.
3361
3362         * Scripts/webkitpy/port/base.py:
3363         (Port.check_image_diff):
3364         (Port._path_to_default_image_diff):
3365         (Port._path_to_image_diff):
3366         * Scripts/webkitpy/port/gtk.py:
3367         (GtkPort._path_to_default_image_diff):
3368         * Scripts/webkitpy/port/win.py:
3369         (WinPort._path_to_default_image_diff):
3370         * Scripts/webkitpy/port/wpe.py:
3371         (WPEPort._path_to_default_image_diff):
3372
3373 2019-11-05  Chris Lord  <clord@igalia.com>
3374
3375         [WPE] Geolocation API tests are consistently passing
3376         https://bugs.webkit.org/show_bug.cgi?id=203845
3377
3378         Reviewed by Žan Doberšek.
3379
3380         * TestWebKitAPI/glib/TestExpectations.json:
3381
3382 2019-11-05  youenn fablet  <youenn@apple.com>
3383
3384         Enforce user gesture for getUserMedia in case a previous getUserMedia call was denied
3385         https://bugs.webkit.org/show_bug.cgi?id=203362
3386
3387         Reviewed by Eric Carlson.
3388
3389         * TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
3390         (TestWebKitAPI::TEST_F):
3391         Update test to take into account the ability to ask again for permission.
3392         * TestWebKitAPI/Tests/WebKit/getDisplayMedia.html:
3393         Update to make sure we notify test if internals is not available.
3394
3395 2019-11-04  Aakash Jain  <aakash_jain@apple.com>
3396
3397         [ews] Perform validation of patch before retrying API and layout tests
3398         https://bugs.webkit.org/show_bug.cgi?id=203756
3399
3400         Reviewed by Jonathan Bedard.
3401
3402         * BuildSlaveSupport/ews-build/steps.py:
3403         (ValidatePatch.__init__): Added parameters to optionally skip certain validations.
3404         (ValidatePatch.start): Skip certain validations based on the parameters.
3405         (RunWebKitTests.evaluateCommand): Add a ValidatePatch step before retrying.
3406         (ReRunWebKitTests.evaluateCommand): Ditto.
3407         (RunAPITests.evaluateCommand): Ditto.
3408         (ReRunAPITests.evaluateCommand): Ditto.
3409
3410 2019-11-04  Jiewen Tan  <jiewen_tan@apple.com>
3411
3412         [WebAuthn] Guard against unexpected -[_WKWebAuthenticationPanel cancel]
3413         https://bugs.webkit.org/show_bug.cgi?id=203830
3414         <rdar://problem/56797134>
3415
3416         Reviewed by Brent Fulgham .
3417
3418         * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
3419         (-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
3420         (-[TestWebAuthenticationPanelDelegate panel:dismissWebAuthenticationPanelWithResult:]):
3421         (TestWebKitAPI::TEST):
3422
3423 2019-11-04  Jonathan Bedard  <jbedard@apple.com>
3424
3425         webkitpy: Build ImageDiff if it is missing
3426         https://bugs.webkit.org/show_bug.cgi?id=183422
3427
3428         Reviewed by Alexey Proskuryakov.
3429
3430         ImageDiff is built with a different SDK than the rest of the WebKit
3431         stack, and this frequently causes infrastructure failures where ImageDiff
3432         is missing on testers. To address this, we should automatically build
3433         ImageDiff if it is missing.
3434
3435         * Scripts/webkitpy/port/base.py:
3436         (Port.check_build): Unconditionally build ImageDiff if it is missing.
3437         (Port.check_image_diff): Use _build_path since _path_to_image_diff will
3438         attempt to use a back-up location.
3439         (Port._path_to_image_diff): If the provided path to ImageDiff does not
3440         exist, use the path of the one we built.
3441
3442 2019-11-04  Daniel Bates  <dabates@apple.com>
3443
3444         Add Googletest assertion support for CGRect and NSRect
3445         https://bugs.webkit.org/show_bug.cgi?id=203817
3446
3447         Reviewed by Myles C. Maxfield.
3448
3449         Add operator== and operator<< overloads for CGRect and NSRect so that these types can be
3450         passed to EXPECT_EQ() and other Googletest assertions.
3451
3452         To make use of these overloads Cocoa tests should include #import "TestCocoa.h" instead of
3453         "Test.h". TestCocoa.h imports Test.h. With these overloads an assertion like this:
3454
3455             EXPECT_EQ(CGRectMake(0, 0, 23, 24), rects[0].CGRectValue);
3456
3457         will produce output like this when it fails:
3458
3459             Expected equality of these values:
3460               CGRectMake(138, 0, 23, 24)
3461                 Which is: (origin = (x = 138, y = 0), size = (width = 23, height = 24))
3462               rects.firstObject.CGRectValue
3463                 Which is: (origin = (x = 96, y = 0), size = (width = 16, height = 17))
3464
3465         * TestWebKitAPI/SourcesCocoa.txt:
3466         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3467         Add source files.
3468
3469         * TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
3470         * TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
3471         Write in terms of EXPECT_EQ() now that it just works when passed CGRects.
3472
3473         * TestWebKitAPI/cocoa/TestCocoa.h: Added.
3474         * TestWebKitAPI/cocoa/TestCocoa.mm: Added.
3475         (ostreamRectCommon):
3476         (operator<<):
3477         (operator==):
3478
3479 2019-11-04  Aakash Jain  <aakash_jain@apple.com>
3480
3481         [ews] Status bubble should be white for CANCELLED builds
3482         https://bugs.webkit.org/show_bug.cgi?id=201204
3483
3484         Reviewed by Jonathan Bedard.
3485
3486         * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
3487
3488 2019-11-04  John Wilander  <wilander@apple.com>
3489
3490         Resource Load Statistics: Flush the shared ResourceLoadObserver when the webpage is closed by JavaScript
3491         https://bugs.webkit.org/show_bug.cgi?id=203623
3492         <rdar://problem/56756427>
3493
3494         Reviewed by Alex Christensen.
3495
3496         * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
3497         (TEST):
3498
3499 2019-11-04  Wenson Hsieh  <wenson_hsieh@apple.com>
3500
3501         Consolidate forEachViewInHierarchy and findAllViewsInHierarchyOfType into common helper file
3502         https://bugs.webkit.org/show_bug.cgi?id=203777
3503
3504         Reviewed by Tim Horton.
3505
3506         * TestRunnerShared/cocoa/PlatformViewHelpers.h: Added.
3507         * TestRunnerShared/cocoa/PlatformViewHelpers.mm: Added.
3508
3509         Add a new Cocoa helper file, PlatformViewHelpers, to make it easier to traverse platform view hierarchies
3510         (NSView and UIView) for testing purposes. This is minor refactoring, before I try to create some new testing
3511         primitives to make webkit.org/b/203116 testable.
3512
3513         (forEachViewInHierarchy):
3514         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3515         * WebKitTestRunner/ios/UIScriptControllerIOS.h:
3516         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3517         (WTR::UIScriptControllerIOS::findEditableImageCanvas const):
3518         (WTR::forEachViewInHierarchy): Deleted.
3519         (WTR::findEditableImageCanvas): Deleted.
3520
3521 2019-11-04  Alex Christensen  <achristensen@webkit.org>
3522
3523         Flaky API Test TestWebKitAPI.WebKit.UploadDirectory
3524         https://bugs.webkit.org/show_bug.cgi?id=203652
3525
3526         Reviewed by Alexey Proskuryakov.
3527
3528         It is not important that the directory to upload does not exist before the test starts.
3529         Make the test more robust to state left behind by previous iterations of this test by removing the check.
3530         The important check in this test is the uploaded body size.
3531
3532         * TestWebKitAPI/Tests/WebKitCocoa/UploadDirectory.mm:
3533         (TEST):
3534
3535 2019-11-04  Kate Cheney  <katherine_cheney@apple.com>
3536
3537         updated email in contributors.json to match bugzilla.
3538
3539         * Scripts/webkitpy/common/config/contributors.json:
3540
3541 2019-11-04  Andy Estes  <aestes@apple.com>
3542
3543         REGRESSION (r251623): When downloading a QuickLook file, the web view navigates to a "The URL can't be shown" error page instead of staying on the current page
3544         https://bugs.webkit.org/show_bug.cgi?id=203790
3545         <rdar://problem/56795440>
3546
3547         Reviewed by Alex Christensen.
3548
3549         Tested that "download" and "cancel" policy decisions for QuickLook files result in a
3550         provisional navigation failure with error code WebKitErrorFrameLoadInterruptedByPolicyChange.
3551
3552         * TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
3553         (-[QuickLookDelegate navigationError]):
3554         (-[QuickLookDelegate _webView:didFailNavigation:withError:userInfo:]):
3555         (-[QuickLookDelegate webView:didFailProvisionalNavigation:withError:]):
3556         (TEST):
3557
3558 2019-11-04  Peng Liu  <peng.liu6@apple.com>
3559
3560         Cannot run WebKit layout tests on iOS devices
3561         https://bugs.webkit.org/show_bug.cgi?id=203796
3562
3563         Reviewed by Jonathan Bedard.
3564
3565         Fix the error to parse iOS version numbers like "xx.yy".
3566
3567         * Scripts/webkitpy/common/system/platforminfo.py:
3568         (PlatformInfo.__init__):
3569
3570 2019-11-03  Tim Horton  <timothy_horton@apple.com>
3571
3572         WKWebView can get stuck blank (Web Content process thinks the app is backgrounded)
3573         https://bugs.webkit.org/show_bug.cgi?id=203774
3574         <rdar://problem/53399054>
3575
3576         Reviewed by Chris Dumez.
3577
3578         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3579         * TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm: Added.
3580         (TEST):
3581         (isBackground):
3582         (createHostViewForExtensionIdentifier):
3583         * TestWebKitAPI/Tests/WebKitCocoa/WKPDFViewResizeCrash.mm: Removed.
3584         * TestWebKitAPI/Tests/WebKitCocoa/WKPDFViewStablePresentationUpdateCallback.mm: Removed.
3585         * TestWebKitAPI/cocoa/TestNavigationDelegate.h:
3586         * TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
3587         (-[WKWebView _test_waitForDidFinishNavigationWithoutPresentationUpdate]):
3588         Merge existing WKPDFView tests into one file, and add one for this bug.
3589
3590 2019-11-02  Devin Rousso  <drousso@apple.com>
3591
3592         Web Inspector: Add diagnostic logging for frontend feature usage
3593         https://bugs.webkit.org/show_bug.cgi?id=203579
3594         <rdar://problem/56717410>
3595
3596         Reviewed by Brian Burg.
3597
3598         Original patch by Matt Baker <mattbaker@apple.com>.
3599
3600         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3601         Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS.
3602
3603 2019-11-01  Jonathan Bedard  <jbedard@apple.com>
3604
3605         Python 3: Add support in webkitpy.layout_tests.model
3606         https://bugs.webkit.org/show_bug.cgi?id=203702
3607
3608         Reviewed by Stephanie Lewis.
3609
3610         * Scripts/test-webkitpy-python3: Add webkitpy.layout_tests.model.
3611         * Scripts/webkitpy/layout_tests/models/test_configuration.py:
3612         (SpecifierSorter.sort_specifiers): Convert iterator to list.
3613         (TestConfigurationConverter.to_config_set): Use reduce from functors.
3614         (TestConfigurationConverter.intersect_combination): Ditto.
3615         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
3616         (TestExpectationsModel.get_test_set_for_keyword): Use iterators in both Python 2
3617         and Python 3.
3618         (TestExpectationsModel._remove_from_sets): Ditto.
3619         (TestExpectations.parse_generic_expectations): Covert iterators to lists for indexing.
3620         (TestExpectations.parse_default_port_expectations): Ditto.
3621         (TestExpectations.parse_override_expectations): Ditto.
3622         (TestExpectations.remove_configuration_from_test): Use any instead of just checking the
3623         first element in the set.
3624         * Scripts/webkitpy/layout_tests/models/test_run_results.py:
3625         (summarize_results): Use items instead of iteritems.
3626
3627 2019-11-01  Devin Rousso  <drousso@apple.com>
3628
3629         Web Inspector: Timelines: add a timeline that shows information about any recorded CSS animation/transition
3630         https://bugs.webkit.org/show_bug.cgi?id=203651
3631         <rdar://problem/56128726>
3632
3633         Reviewed by Brian Burg.
3634
3635         * TestWebKitAPI/Tests/WTF/Markable.cpp:
3636         (TestWebKitAPI::TEST):
3637         Add tests for extra utility operators.
3638
3639 2019-11-01  Brady Eidson  <beidson@apple.com>
3640
3641         Promote "_getWebArchive" to API.
3642         <rdar://problem/17317547> and https://bugs.webkit.org/show_bug.cgi?id=203767
3643
3644         Reviewed by Andy Estes.
3645
3646         * MiniBrowser/mac/BrowserWindowController.h:
3647         * MiniBrowser/mac/BrowserWindowController.m:
3648         (-[BrowserWindowController saveAsPDF:]):
3649         (-[BrowserWindowController saveAsWebArchive:]):
3650         * MiniBrowser/mac/MainMenu.xib:
3651         * MiniBrowser/mac/WK1BrowserWindowController.m:
3652         (-[WK1BrowserWindowController validateMenuItem:]):
3653         * MiniBrowser/mac/WK2BrowserWindowController.m:
3654         (-[WK2BrowserWindowController validateMenuItem:]):
3655         (-[WK2BrowserWindowController saveAsWebArchive:]):
3656
3657 2019-11-01  Jonathan Bedard  <jbedard@apple.com>
3658
3659         Python 3: Add support in webkitpy.common
3660         https://bugs.webkit.org/show_bug.cgi?id=202462
3661
3662         Reviewed by Stephanie Lewis.
3663
3664         * Scripts/test-webkitpy-python3: Add webkitpy.common.
3665         * Scripts/webkitpy/common/find_files_unittest.py: Use full import path.
3666         * Scripts/webkitpy/common/lru_cache_unittest.py:
3667         (LRUCacheTest.test_size_one_pop): Convert iterator to list
3668         * Scripts/webkitpy/common/prettypatch_unittest.py: Check for byte array explicitly.
3669         * Scripts/webkitpy/common/read_checksum_from_png_unittest.py: Use unicode compatible
3670         StringIO.
3671         (ReadChecksumFromPngTest.test_read_checksum):
3672         * Scripts/webkitpy/common/timeout_context.py:
3673         (Timeout.__enter__): Use range instead of xrange.
3674
3675 2019-11-01  Tim Horton  <timothy_horton@apple.com>
3676
3677         macCatalyst: Get TestWebKitAPI building
3678         https://bugs.webkit.org/show_bug.cgi?id=203728
3679
3680         Reviewed by Alexey Proskuryakov.
3681
3682         * Makefile:
3683         Only build gtest and TestWebKitAPI for macCatalyst.
3684
3685         * TestWebKitAPI/Configurations/Base.xcconfig:
3686         * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:
3687         Make use of WK_COCOA_TOUCH instead of SDK conditionals.
3688
3689         * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm:
3690         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
3691         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
3692         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
3693         Fix some #ifdefs for macCatalyst.
3694
3695         * TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollToRevealSelection.mm:
3696         (-[LegacyLoadingDelegate webViewDidFinishLoad:]):
3697         * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
3698         (-[AsyncPolicyDelegateForInsetTest webView:didFinishNavigation:]):
3699         (TestWebKitAPI::TEST):
3700         Util::runUntil wants a bool, not a BOOL.
3701
3702         * TestWebKitAPI/config.h:
3703         Import WebKitLegacy.h after WebKit.h. Traditionally WebKit.h includes
3704         WebKitLegacy.h, except in macCatalyst. Many tests depend on being able
3705         to get WebKitLegacy.h this way.
3706
3707         * Scripts/webkitpy/style/checkers/sdkvariant.py:
3708
3709         * Scripts/webkitpy/port/factory.py:
3710         * Scripts/webkitpy/port/mac.py:
3711         Add a MacCatalyst port behind --maccatalyst, and do the bare minimum
3712         required to get it working and finding the right binaries.
3713         It inherits from Mac instead of iOS because for the purposes of
3714         finding and running binaries, dealing with I/O, etc., these are
3715         100% bona fide macOS products.
3716
3717 2019-11-01  Aakash Jain  <aakash_jain@apple.com>
3718
3719         [ews] Improve summary string when there are flaky failures in API tests
3720         https://bugs.webkit.org/show_bug.cgi?id=203747
3721
3722         Reviewed by Jonathan Bedard.
3723
3724         * BuildSlaveSupport/ews-build/steps.py:
3725         (AnalyzeAPITestsResults.analyzeResults): Display pre-existing failure string string only
3726         if there are pre-existing API test failures.
3727
3728 2019-11-01  Wenson Hsieh  <wenson_hsieh@apple.com>
3729
3730         TestWebKitAPI.EditorStateTests.TypingAttributesTextAlignmentStartEnd is flaky in iOS simulator
3731         https://bugs.webkit.org/show_bug.cgi?id=203733
3732         <rdar://problem/56814640>
3733
3734         Reviewed by Tim Horton.
3735
3736         Try to fix the flaky test by making EditingTestHarness more robust. Instead of checking for expected editor
3737         state entries after the next presentation update, wait for the latest editor state entry to contain the expected
3738         values.
3739
3740         * TestWebKitAPI/EditingTestHarness.mm:
3741         (-[EditingTestHarness _execCommand:argument:expectEntries:]):
3742
3743         Preserve the existing log statement by printing it out once after a few seconds, if the entry is still not found
3744         in the last known editor state.
3745
3746 2019-11-01  Aakash Jain  <aakash_jain@apple.com>
3747
3748         [ews] Pass clobber-old-results parameter to run-webkit-tests
3749         https://bugs.webkit.org/show_bug.cgi?id=203736
3750
3751         Reviewed by Jonathan Bedard.
3752
3753         * BuildSlaveSupport/ews-build/steps.py:
3754         (RunWebKitTests): Added --clobber-old-results paramter to run-webkit-tests. Also re-ordered
3755         --no-new-test-results and --no-show-results to match with build.webkit.org configuration.
3756         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
3757
3758 2019-11-01  Fujii Hironori  <Hironori.Fujii@sony.com>
3759
3760         [CMake] TestWebCore shouldn't link with WebCoreTestSupport
3761         https://bugs.webkit.org/show_bug.cgi?id=203672
3762
3763         Reviewed by Don Olmstead.
3764
3765         TestWebCore doesn't need to link with WebCoreTestSupport. And, it
3766         causes a problem for Windows because WebCoreTestSupport imports
3767         WebCore symbols by using dllimport, however, WebCore is not a DLL.
3768         (Bug 203663 Comment 4)
3769
3770         * TestWebKitAPI/CMakeLists.txt: Changed TestWebCore not to link
3771         with WebCoreTestSupport. Changed TestWebCore to link with
3772         WebCoreHeaderInterface instead.
3773
3774 2019-10-31  Jonathan Bedard  <jbedard@apple.com>
3775
3776         REGRESSION (r251808): run-webkit-test cannot show results.html
3777         https://bugs.webkit.org/show_bug.cgi?id=203709
3778         <rdar://problem/56798620>
3779
3780         Reviewed by Stephanie Lewis.
3781
3782         * Scripts/webkitpy/port/darwin.py:
3783         (DarwinPort.show_results_html_file): os.devnull is a string, not a file.
3784
3785 2019-10-31  Matt Baker  <mattbaker@apple.com>
3786
3787         Changed my emails list.
3788
3789         * Scripts/webkitpy/common/config/contributors.json:
3790
3791 2019-10-31  Tim Horton  <timothy_horton@apple.com>
3792
3793         Turn on IOSurface support in the iOS Simulator
3794         https://bugs.webkit.org/show_bug.cgi?id=203026
3795         <rdar://problem/56320993>
3796
3797         Reviewed by Simon Fraser.
3798
3799         * DumpRenderTree/ios/PixelDumpSupportIOS.mm:
3800         (createBitmapContextFromWebView):
3801         Don't use RGB10 if we don't have it.
3802
3803         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:
3804         (TEST):
3805         Don't allocate many megabytes on the stack.
3806         This isn't currently a problem, but if you accidentally run the tests on
3807         a 3x simulator it starts crashing.
3808
3809 2019-10-31  Tadeu Zagallo  <tzagallo@apple.com>
3810
3811         [WebAssembly] Create a Wasm interpreter
3812         https://bugs.webkit.org/show_bug.cgi?id=194257
3813         <rdar://problem/44186794>
3814
3815         Reviewed by Saam Barati.
3816
3817         Add a mode that runs WebAssembly tests without the LLInt (i.e. only Air)
3818         and update the no-air mode to also disable the LLInt tier.
3819
3820         * Scripts/run-jsc-stress-tests:
3821
3822 2019-10-31  Aakash Jain  <aakash_jain@apple.com>
3823
3824         [ews-build] Display pre-existing API test names in the build summary
3825         https://bugs.webkit.org/show_bug.cgi?id=199525
3826
3827         Reviewed by Jonathan Bedard.
3828
3829         * BuildSlaveSupport/ews-build/steps.py:
3830         (AnalyzeAPITestsResults.analyzeResults): Include the names of pre-existing test failures in summary string and 
3831         limit the number of failures to display to NUM_API_FAILURES_TO_DISPLAY.
3832
3833 2019-10-31  Alex Christensen  <achristensen@webkit.org>
3834
3835         Expose more WKPreferences SPI
3836         https://bugs.webkit.org/show_bug.cgi?id=203631
3837         <rdar://problem/56717160>
3838
3839         Reviewed by Brady Eidson.
3840
3841         * TestWebKitAPI/Tests/WebKitCocoa/Preferences.mm:
3842         (TEST):
3843
3844 2019-10-30  Wenson Hsieh  <wenson_hsieh@apple.com>
3845
3846         [iOS] imported/mozilla/svg/text/textpath-selection.svg is still flaky
3847         https://bugs.webkit.org/show_bug.cgi?id=203659
3848         <rdar://problem/52124292>
3849
3850         Reviewed by Tim Horton.
3851
3852         This test still fails in some internal test runner configurations, because the iOS text selection grabber dots
3853         sometimes show up in the actual result and not in the expectation. This still happens even after suppressing
3854         UITextSelectionView during ref test snapshotting in r251526, since the selection grabber dots are embedded as
3855         subviews of the text interaction container view, rather than UITextSelectionView itself, so hiding
3856         UITextSelectionView does not affect the visibility of these grabber views (UITextRangeView's -startGrabber and
3857         -endGrabber).
3858
3859         To address this, we augment the change made in r251526 to apply to the start and end grabber views as well.
3860
3861         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
3862         (WTR::PlatformWebView::windowSnapshotImage):
3863
3864 2019-10-31  Alex Christensen  <achristensen@webkit.org>
3865
3866         CMake build should make WebKit framework able to be used by Safari
3867         https://bugs.webkit.org/show_bug.cgi?id=203685
3868
3869         Rubber-stamped by Tim Horton.
3870
3871         * DumpRenderTree/PlatformMac.cmake:
3872
3873 2019-10-31  Aakash Jain  <aakash_jain@apple.com>
3874
3875         [EWS] Limit API tests failures to display in the status-bubble tooltip and buildbot summary
3876         https://bugs.webkit.org/show_bug.cgi?id=203678
3877
3878         Reviewed by Jonathan Bedard.
3879
3880         * BuildSlaveSupport/ews-build/steps.py:
3881         (AnalyzeAPITestsResults): Define NUM_API_FAILURES_TO_DISPLAY as 10.
3882         (AnalyzeAPITestsResults.analyzeResults): Truncate the failure string to contain 10 test failures.
3883
3884 2019-10-30  Peng Liu  <peng.liu6@apple.com>
3885
3886         [Picture-in-Picture Web API] Enable the support for iOS
3887         https://bugs.webkit.org/show_bug.cgi?id=202618
3888
3889         Reviewed by Jer Noble.
3890
3891         Enable the Picture-in-Picture API support for iOS (iPad only).
3892
3893         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3894
3895 2019-10-30  Alex Christensen  <achristensen@webkit.org>
3896
3897         Prevent Mac CMake build from bit rotting
3898         https://bugs.webkit.org/show_bug.cgi?id=203647
3899
3900         Rubber-stamped by Tim Horton.
3901
3902         * DumpRenderTree/PlatformMac.cmake:
3903         * WebKitTestRunner/PlatformMac.cmake:
3904
3905 2019-10-30  Alex Christensen  <achristensen@webkit.org>
3906
3907         WKContentRuleLists should block requests from service workers
3908         https://bugs.webkit.org/show_bug.cgi?id=201980
3909         <rdar://problem/55516735>
3910
3911         Reviewed by Chris Dumez.
3912
3913         NSString initWithContentsOfURL doesn't work with https URLs with certificates without a trusted root,
3914         so I use an ephemeral NSURLSession instead so I can tell it to accept any connection, even our WebKit httpd server.
3915         I also added an API test.
3916
3917         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
3918         * WebKitTestRunner/mac/TestControllerMac.mm:
3919         (-[WKTRSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
3920         (WTR::TestController::configureContentExtensionForTest):
3921
3922 2019-10-30  Daniel Bates  <dabates@apple.com>
3923
3924         Add pretty printer for CompactPointerTuple
3925         https://bugs.webkit.org/show_bug.cgi?id=203495
3926
3927         Reviewed by Jer Noble.
3928
3929         Make it easy to see the state of a CompactPointerTuple. Now we will print something like:
3930
3931                 (WTF::CompactPointerTuple<WTF::String *, unsigned char>) $0 = { type = 7 } {
3932                   [0] = 0x00007ffeefbff220 { length = 8, contents = 'résumé' }
3933                   [1] = 7
3934                 }
3935
3936         for aCompactPointerTuple defined like this:
3937
3938                 String aString { "résumé" };
3939                 CompactPointerTuple<String*, uint8_t> aCompactPointerTuple { &aString, 7 };
3940
3941         * lldb/lldbWebKitTester/main.cpp:
3942         (testSummaryProviders):
3943         * lldb/lldb_webkit.py:
3944         (__lldb_init_module):
3945         (__lldb_init_module.lldb_webkit):
3946         (WTFCompactPointerTuple_SummaryProvider):
3947         (WTFCompactPointerTupleProvider):
3948         (WTFCompactPointerTupleProvider.__init__):
3949
3950         (WTFCompactPointerTupleProvider.type_as_string):
3951         (WTFCompactPointerTupleProvider.is_human_readable_type):
3952         The majority of the time CompactPointerTuple will be used with non-character type data. So,
3953         I optimize for this use case and consider the integral value as more readable than than LLDB's
3954         default summary provider that emits the character or equivalent C escape sequence.
3955
3956         (WTFCompactPointerTupleProvider.has_children):
3957         (WTFCompactPointerTupleProvider.num_children):
3958         (WTFCompactPointerTupleProvider.get_child_index):
3959         (WTFCompactPointerTupleProvider.get_child_at_index):
3960         (WTFCompactPointerTupleProvider.update):
3961         * lldb/lldb_webkit_unittest.py:
3962         (TestSummaryProviders.serial_test_WTFOptionSetProvider_aliased_flag):
3963         (TestSummaryProviders):
3964         (TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_empty):
3965         (TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_simple):
3966         (TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_max_type_value):
3967         (TestSummaryProviders.serial_test_WTFCompactPointerTuple_SummaryProvider_bool):
3968         (TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_empty):
3969         (TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_simple):
3970         (TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_max_type_value):
3971         (TestSummaryProviders.serial_test_WTFCompactPointerTupleProvider_simple_bool):
3972
3973 2019-10-30  Jonathan Bedard  <jbedard@apple.com>
3974
3975         Python 3: Add support in webkitpy.port
3976         https://bugs.webkit.org/show_bug.cgi?id=203489
3977
3978         Reviewed by Dewei Zhu.
3979
3980         * Scripts/test-webkitpy-python3: Add webkitpy.port.
3981         * Scripts/webkitpy/common/newstringio.py: Removed.
3982         * Scripts/webkitpy/common/newstringio_unittest.py: Removed.
3983         * Scripts/webkitpy/common/system/executive_mock.py:
3984         (MockProcess.__init__): Ensure that stdout and stderr are byte arrays.
3985         * Scripts/webkitpy/common/version.py:
3986         (Version.__hash__): Add hash function for Version objects.
3987         * Scripts/webkitpy/port/base.py:
3988         (Port.default_baseline_search_path): Convert list to map.
3989         (Port.diff_text): Decode for the native string type.
3990         (Port.skipped_perf_tests): Convert filter to list.
3991         (Port._run_script): No need to decode strings in Python 3, even if decode_output is set.
3992         (Port.diff_text.to_raw_bytes): Deleted.
3993         * Scripts/webkitpy/port/base_unittest.py:
3994         (cmp): Add cmp function for Python 3 comparisons.
3995         (PortTest.test_diff_text): Do not escape spaces.
3996         (PortTest.test_parse_reftest_list): Write to test file explicitly.
3997         * Scripts/webkitpy/port/builders_unittest.py: Use full import path.
3998         * Scripts/webkitpy/port/config_standalone.py: script_dir was refering to Tools,
3999         not Tools/Scripts.
4000         * Scripts/webkitpy/port/config_unittest.py: Use full import path.
4001         * Scripts/webkitpy/port/darwin.py:
4002         (DarwinPort.show_results_html_file): Use os.devnull directly.
4003         * Scripts/webkitpy/port/driver_unittest.py:
4004         (DriverTest.test_read_base64_block): Explicitly compare against byte array.
4005         (DriverTest.test_setup_environ_base_vars): Convert iterators to lists.
4006         * Scripts/webkitpy/port/factory.py:
4007         (PortFactory.get.in): Imports need to use the full import path.
4008         * Scripts/webkitpy/port/gtk.py:
4009         (GtkPort.default_baseline_search_path): Convert map to list.
4010         * Scripts/webkitpy/port/leakdetector.py:
4011         (LeakDetector._parse_leaks_output): Search byte array with byte array.
4012         * Scripts/webkitpy/port/leakdetector_valgrind.py:
4013         (ValgrindError.__str__): Split byte array with byte array.
4014         (ValgrindError.error_hash): Correct regex.
4015         (LeakDetectorValgrind._parse_leaks_output): Convert bytes to string.
4016         (LeakDetectorValgrind.parse_and_print_leaks_detail): Standardize Python 2 and 3 sorting order.
4017         * Scripts/webkitpy/port/leakdetector_valgrind_unittest.py: Make unit tests Python 3 compatible.
4018         * Scripts/webkitpy/port/linux_get_crash_log.py:
4019         (GDBCrashLogGenerator._get_trace_from_systemd): Modernize exception handling.
4020         (GDBCrashLogGenerator.generate_crash_log): No need to decode strings in Python 3.
4021         * Scripts/webkitpy/port/mac.py:
4022         (MacPort.start_helper): is_ready will be a byte array.
4023         (MacPort.stop_helper): stdin will be a byte array.
4024         * Scripts/webkitpy/port/mock_drt_unittest.py:
4025         (MockDRTTest.assertTest): Use unicode compatible StringIO objects.
4026         (MockDRTTest.test_main): Ditto.
4027         * Scripts/webkitpy/port/port_testcase.py:
4028         (bind_mock_apple_additions.MockAppleAdditions.version_name_mapping): Use items instead of iteritems.
4029         (PortTestCase.test_expectations_ordering): Convert iterator to list.
4030         (PortTestCase.test_test_expectations): Ditto.
4031         * Scripts/webkitpy/port/win.py:
4032         (WinPort.__init__):
4033         (WinPort.default_baseline_search_path): Convert map to list.
4034         (WinPort.test_search_path): Ditto.
4035         (WinPort.setup_crash_log_saving): Use items instead of iteritems.
4036         (WinPort.restore_crash_log_saving): Ditto.
4037         (WinPort.prevent_error_dialogs): Ditto.
4038         (WinPort.allow_error_dialogs): Ditto.
4039         (WinCairoPort.default_baseline_search_path): Convert map to list.
4040         (WinCairoPort._port_specific_expectations_files): Ditto.
4041         (FTWPort.default_baseline_search_path): Ditto.
4042         (FTWPort._port_specific_expectations_files): Ditto.
4043         * Scripts/webkitpy/port/win_unittest.py: Ditto.
4044         (WinPortTest._assert_search_path): Ditto.
4045         * Scripts/webkitpy/port/wpe.py:
4046         (WPEPort.default_baseline_search_path): Convert map to list.
4047         (WPEPort._port_specific_expectations_files): Ditto.
4048
4049 2019-10-30  Jonathan Bedard  <jbedard@apple.com>
4050
4051         Simulator testers are filling up
4052         https://bugs.webkit.org/show_bug.cgi?id=203056
4053         <rdar://problem/56344905>
4054
4055         Reviewed by Aakash Jain.
4056
4057         * Scripts/webkitpy/xcode/simulated_device.py:
4058         (SimulatedDeviceManager.tear_down): Remove some CoreSimulator temporary directories
4059         after tearing down devices.
4060
4061 2019-10-30  Mark Lam  <mark.lam@apple.com>
4062
4063         Gardening: fixing broken build.
4064
4065         Not reviewed.
4066
4067         JSON appears to not like commas at the end of the last element in an array.
4068
4069         * Scripts/webkitpy/common/config/contributors.json:
4070
4071 2019-10-30  Chris Dumez  <cdumez@apple.com>
4072
4073         WKFrameIsDisplayingMarkupDocument() should return true after a window.open/document.write
4074         https://bugs.webkit.org/show_bug.cgi?id=203587
4075         <rdar://problem/56717726>
4076
4077         Reviewed by Alex Christensen.
4078
4079         Add API test coverage.
4080
4081         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4082         * TestWebKitAPI/Tests/WebKit/CloseFromWithinCreatePage.cpp:
4083         (TestWebKitAPI::createNewPageThenClose):
4084         (TestWebKitAPI::TEST):
4085         (TestWebKitAPI::createNewPage):
4086         * TestWebKitAPI/Tests/WebKit/window-open-then-document-open.html: Added.
4087
4088 2019-10-29  Andy Estes  <aestes@apple.com>
4089
4090         [Quick Look] Clean up LegacyPreviewLoaderClients
4091         https://bugs.webkit.org/show_bug.cgi?id=203472
4092
4093         Reviewed by Brady Eidson.
4094
4095         Updated API tests to compare data received in
4096         -_webView:didFinishLoadForQuickLookDocumentInMainFrame: with expected data.
4097
4098         * TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
4099         (readFile):
4100         (-[QuickLookDelegate initWithExpectedFileURL:responsePolicy:]):
4101         (-[QuickLookDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]):
4102         (-[QuickLookDelegate verifyDownload]):
4103         (TEST):
4104
4105 2019-10-29  Jonathan Bedard  <jbedard@apple.com>
4106
4107         results.webkit.org: Fix tooltip with drawer
4108         https://bugs.webkit.org/show_bug.cgi?id=203527
4109
4110         Rubber-stamped by Aakash Jain.
4111
4112         The interaction between tooltips and drawers needs improvement, tooltips
4113         are inconsistently under the drawer, do not treat the drawer as a boundary.
4114
4115         * resultsdbpy/resultsdbpy/view/static/css/tooltip.css:
4116         (.tooltip): Use topZIndex variable.
4117         * resultsdbpy/resultsdbpy/view/static/js/timeline.js:
4118         (xAxisFromScale): Pass viewport to ToolTip.
4119         (TimelineFromEndpoint): Ditto.
4120         (TimelineFromEndpoint.prototype.update): Ditto.
4121         (TimelineFromEndpoint.prototype.render): Ditto.
4122         (TimelineFromEndpoint.prototype.render.onDotEnterFactory): Ditto.
4123         * resultsdbpy/resultsdbpy/view/static/js/tooltip.js:
4124         (_ToolTip.prototype.toString): Use passed viewport instead of the document size.
4125         (_ToolTip.prototype.setByElement): Set the viewport based on the passed viewport.
4126         * resultsdbpy/resultsdbpy/view/templates/search.html: Define the viewport as the
4127         content element.
4128         * resultsdbpy/resultsdbpy/view/templates/suite_results.html: Ditto.
4129
4130 2019-10-29  Jiewen Tan  <jiewen_tan@apple.com>
4131
4132         [WebAuthn] Add more information to _WKWebAuthenticationPanel
4133         https://bugs.webkit.org/show_bug.cgi?id=202561
4134         <rdar://problem/55973910>
4135
4136         Reviewed by Youenn Fablet and Brent Fulgham.
4137
4138         Adds new API tests.
4139
4140         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4141         * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
4142         (-[TestWebAuthenticationPanelUIDelegate _webView:runWebAuthenticationPanel:initiatedByFrame:completionHandler:]):
4143         (-[TestWebAuthenticationPanelUIDelegate panel]):
4144         (TestWebKitAPI::TEST):
4145         * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-make-credential-hid.html: Added.
4146
4147 2019-10-07  Jer Noble  <jer.noble@apple.com>
4148
4149         Implement the Remote Playback API.
4150         https://bugs.webkit.org/show_bug.cgi?id=162971
4151
4152         Reviewed by Youenn Fablet.
4153
4154         Enable RemotePlayback for DumpRenderTree and WebKitTestRunner.
4155
4156         * DumpRenderTree/mac/DumpRenderTree.mm:
4157         (resetWebPreferencesToConsistentValues):
4158         * WebKitTestRunner/TestController.cpp:
4159         (WTR::TestController::resetPreferencesToConsistentValues):
4160
4161 2019-10-29  Yusuke Suzuki  <ysuzuki@apple.com>
4162
4163         [JSC] Add fast path for String#localeCompare
4164         https://bugs.webkit.org/show_bug.cgi?id=202676
4165
4166         Reviewed by Mark Lam.
4167
4168         * TestWebKitAPI/Tests/WTF/StringView.cpp:
4169         (TestWebKitAPI::TEST):
4170
4171 2019-10-27  Wenson Hsieh  <wenson_hsieh@apple.com>
4172
4173         Add enterkeyhint support
4174         https://bugs.webkit.org/show_bug.cgi?id=189546
4175         <rdar://problem/51021148>
4176
4177         Reviewed by Tim Horton.
4178
4179         Add new API tests to check the resulting UIReturnKeyType that gets set on text input traits in the UI process,
4180         given the different values for "enterkeyhint". Also verifies that the default behaviors of search fields and
4181         text input fields inside actionable form elements is to show "Search" or "Go" as the return key by default,
4182         unless a different value for "enterkeyhint" is specified.
4183
4184         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4185         * TestWebKitAPI/Tests/ios/EnterKeyHintTests.mm: Added.
4186         (-[TestWKWebView test:enterKeyHint:returnKeyType:]):
4187         (TestWebKitAPI::enterKeyHintTestCases):
4188         (TestWebKitAPI::createWebViewAndInputDelegateForTesting):
4189         (TestWebKitAPI::TEST):
4190
4191 2019-10-29  Truitt Savell  <tsavell@apple.com>
4192
4193         Unreviewed, rolling out r251639.
4194
4195         Caused flakey API failures for GetDisplayMediaTest.Constraints
4196
4197         Reverted changeset:
4198
4199         "Enforce user gesture for getUserMedia in case a previous
4200         getUserMedia call was denied"
4201         https://bugs.webkit.org/show_bug.cgi?id=203362
4202         https://trac.webkit.org/changeset/251639
4203
4204 2019-10-29  Chris Dumez  <cdumez@apple.com>
4205
4206         Notification permissions are not remembered for origins without port
4207         https://bugs.webkit.org/show_bug.cgi?id=203537
4208         <rdar://problem/55281080>
4209
4210         Reviewed by Brady Eidson.
4211
4212         Add API test coverage.
4213
4214         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4215         * TestWebKitAPI/Tests/WebKit/WKSecurityOrigin.cpp: Added.
4216         (TestWebKitAPI::TEST):
4217
4218 2019-10-29  Kate Cheney  <katherine_cheney@apple.com>
4219
4220        Removed duplicate email address.
4221
4222         * Scripts/webkitpy/common/config/contributors.json:
4223
4224 2019-10-29  Kate Cheney  <katherine_cheney@apple.com>
4225
4226         Edited email address for commiting.
4227
4228         * Scripts/webkitpy/common/config/contributors.json:
4229
4230 2019-10-28  Kate Cheney  <katherine_cheney@apple.com>
4231
4232         Added myself as a committer.
4233
4234         * Scripts/webkitpy/common/config/contributors.json:
4235
4236 2019-10-28  Alex Christensen  <achristensen@webkit.org>
4237
4238         Remove unused _WKProcessPoolConfiguration SPI
4239         https://bugs.webkit.org/show_bug.cgi?id=203066
4240
4241         Reviewed by Youenn Fablet.
4242
4243         * TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
4244         (TEST):
4245
4246 2019-10-28  Brady Eidson  <beidson@apple.com>
4247
4248         Expose _printOperationWithPrintInfo: SPI as API
4249         <rdar://problem/36557179> and https://bugs.webkit.org/show_bug.cgi?id=203496
4250
4251         Reviewed by Andy Estes.
4252
4253         * MiniBrowser/mac/WK2BrowserWindowController.m:
4254         (-[WK2BrowserWindowController printWebView:]):
4255
4256 2019-10-28  Jonathan Bedard  <jbedard@apple.com>
4257
4258         results.webkit.org: Show results which are missing expectations
4259         https://bugs.webkit.org/show_bug.cgi?id=203494
4260         <rdar://problem/56436643>
4261
4262         Reviewed by Aakash Jain.
4263
4264         * resultsdbpy/resultsdbpy/view/static/css/timeline.css:
4265         (.dot.warning): Add warning dot with dark-orange color.
4266         * resultsdbpy/resultsdbpy/view/static/js/expectations.js:
4267         (Expectations.colorMap): Add warning.
4268         (Expectations.failureTypes): Ditto.
4269         (Expectations.failureTypeMap): Ditto.
4270         (Expectations.symbolMap): Ditto.
4271         * resultsdbpy/resultsdbpy/view/static/js/timeline.js:
4272         (Legend): Add warning bubble.
4273
4274 2019-10-28  John Wilander  <wilander@apple.com>
4275
4276         Storage Access API: Make the API work with the experimental 3rd-party cookie blocking
4277         https://bugs.webkit.org/show_bug.cgi?id=203428
4278         <rdar://problem/56626949>
4279
4280         Reviewed by Alex Christensen.
4281
4282         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
4283         (WTR::TestRunner::statisticsCallDidSetShouldDowngradeReferrerCallback):
4284         (WTR::TestRunner::statisticsCallDidSetShouldBlockThirdPartyCookiesCallback):
4285             Both of these were missing resets of their m_hasSet*Callback booleans.
4286
4287 2019-10-28  Jonathan Bedard  <jbedard@apple.com>
4288
4289         results.webkit.org: Report more descriptive configurations for non-Apple ports
4290         https://bugs.webkit.org/show_bug.cgi?id=203490
4291         <rdar://problem/56658244>
4292
4293         Reviewed by Carlos Alberto Lopez Perez.
4294
4295         * Scripts/webkitpy/port/gtk.py:
4296         (GtkPort):
4297         (GtkPort.configuration_for_upload): Return use GTK as the platform.
4298         * Scripts/webkitpy/port/gtk_unittest.py:
4299         (GtkPortTest):
4300         (GtkPortTest.test_default_upload_configuration):
4301         * Scripts/webkitpy/port/win.py:
4302         (WinCairoPort.configuration_for_upload): Use wincairo as the platform.
4303         * Scripts/webkitpy/port/wpe.py:
4304         (WPEPort):
4305         (WPEPort.configuration_for_upload): Use WPE as the platform.
4306         * Scripts/webkitpy/port/wpe_unittest.py:
4307         (WPEPortTest):
4308         (WPEPortTest.test_default_upload_configuration):
4309
4310 2019-10-28  Aakash Jain  <aakash_jain@apple.com>
4311
4312         [ews] Improve summary for CompileWebKit and CompileJSC build step
4313         https://bugs.webkit.org/show_bug.cgi?id=203487
4314
4315         Reviewed by Jonathan Bedard.
4316
4317         * BuildSlaveSupport/ews-build/steps.py:
4318         (CompileWebKit.getResultSummary): Method to generate custom status message.
4319         (CompileJSC.getResultSummary): Ditto.
4320         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
4321
4322 2019-10-21  Jiewen Tan  <jiewen_tan@apple.com>
4323
4324         [WebAuthn] Warn users when multiple NFC tags present
4325         https://bugs.webkit.org/show_bug.cgi?id=200932
4326         <rdar://problem/54890736>
4327
4328         Reviewed by Brent Fulgham.
4329
4330         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4331         * TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
4332         (-[TestWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:]):
4333         (TestWebKitAPI::TEST):
4334         Adds a new test for -[_WKWebAuthenticationPanelDelegate panel:updateWebAuthenticationPanel:].
4335         * TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-nfc-multiple-tags.html: Added.
4336
4337 2019-10-27  Claudio Saavedra  <csaavedra@igalia.com>
4338
4339         [GTK][WPE] Test PublicSuffix.TopPrivatelyControlledDomain is failing since r250589
4340         https://bugs.webkit.org/show_bug.cgi?id=203193
4341
4342         Reviewed by Carlos Garcia Campos.
4343
4344         * TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
4345         (TestWebKitAPI::TEST_F): Add a test for a domain consisting only of dots.
4346
4347 2019-10-26  youenn fablet  <youenn@apple.com>
4348
4349         Enforce user gesture for getUserMedia in case a previous getUserMedia call was denied
4350         https://bugs.webkit.org/show_bug.cgi?id=203362
4351
4352         Reviewed by Eric Carlson.
4353
4354         Update test to take into account the ability to reask permission.
4355         * TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
4356         (TestWebKitAPI::TEST_F):
4357
4358 2019-10-26  Chris Lord  <clord@igalia.com>
4359
4360         Put OffscreenCanvas behind a build flag
4361         https://bugs.webkit.org/show_bug.cgi?id=203146
4362
4363         Reviewed by Ryosuke Niwa.
4364
4365         Put OffscreenCanvas behind a build flag and enable the runtime setting
4366         when running tests on platforms where it's built (GTK and WPE).
4367
4368         * Scripts/webkitperl/FeatureList.pm:
4369         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4370         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
4371         (WTR::InjectedBundle::beginTesting):
4372         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
4373         (WTR::TestRunner::setOffscreenCanvasEnabled):
4374         * WebKitTestRunner/InjectedBundle/TestRunner.h:
4375
4376 2019-10-25  Jonathan Bedard  <jbedard@apple.com>
4377
4378         Python 3: Add support in webkitpy.common.checkout
4379         https://bugs.webkit.org/show_bug.cgi?id=201956
4380
4381         Reviewed by Dewei Zhu.
4382
4383         * Scripts/test-webkitpy-python3: Add webkitpy.common.checkout.
4384         * Scripts/webkitpy/common/checkout/changelog.py: Import Python 3 compatible unicdoe.
4385         * Scripts/webkitpy/common/checkout/changelog_unittest.py: Import Python 3 compatible StringIO.
4386         * Scripts/webkitpy/common/checkout/checkout.py: Use Python 3 compatible reduce.
4387         (Checkout._modified_files_matching_predicate): Convert iterators into lists before returning.
4388         (Checkout.suggested_reviewers): Ditto.
4389         * Scripts/webkitpy/common/checkout/checkout_mock.py: Use full import paths.
4390         * Scripts/webkitpy/common/checkout/checkout_unittest.py: Use full import paths, convert
4391         iterators into lists.
4392         * Scripts/webkitpy/common/checkout/diff_parser_unittest.py: Use full import paths, use Python 3
4393         compatible StringIO.
4394         * Scripts/webkitpy/common/config/committers.py:
4395         (Contributor.__hash__): Committers need to be hashable to be inserted into a set.
4396
4397 2019-10-25  Jonathan Bedard  <jbedard@apple.com>
4398
4399         Python 3: Add support in webkitpy.xcode
4400         https://bugs.webkit.org/show_bug.cgi?id=203417
4401
4402         Reviewed by Dewei Zhu.
4403
4404         * Scripts/test-webkitpy-python3: Add webkitpy.xcode.