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