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