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