webkitpy: Ref tests don't respect platform specific expectations
[WebKit-https.git] / Tools / ChangeLog
1 2018-12-10  Jonathan Bedard  <jbedard@apple.com>
2
3         webkitpy: Ref tests don't respect platform specific expectations
4         https://bugs.webkit.org/show_bug.cgi?id=192515
5         <rdar://problem/46564839>
6
7         Reviewed by Lucas Forschler.
8
9         * Scripts/webkitpy/port/base.py:
10         (Port._expected_baselines_for_suffixes): Accept multiple suffixes so ref tests can use this function.
11         (Port.expected_baselines): Move implementation to _expected_baselines_for_suffixes.
12         (Port.expected_filename): Remove irrelevant FIXME, code clean-up.
13         (Port.reference_files): Instead of just searching a single directory, use _expected_baselines_for_suffixes to
14         search all platform expectations as well.
15         * Scripts/webkitpy/port/base_unittest.py:
16         (test_ref_tests_platform_directory):
17
18 2018-12-10  Chris Dumez  <cdumez@apple.com>
19
20         Add SPI to allow the client to set the user-agent at main frame level, from the UIProcess
21         https://bugs.webkit.org/show_bug.cgi?id=192509
22         <rdar://problem/46500832>
23
24         Reviewed by Alex Christensen.
25
26         Add API test coverage.
27
28         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
29         (-[DataMappingSchemeHandler addMappingFromURLString:toData:]):
30         (-[DataMappingSchemeHandler webView:startURLSchemeTask:]):
31         (-[DataMappingSchemeHandler webView:stopURLSchemeTask:]):
32         (-[CustomUserAgentDelegate _webView:decidePolicyForNavigationAction:userInfo:decisionHandler:]):
33         (-[CustomUserAgentDelegate webView:didFinishNavigation:]):
34
35 2018-12-10  Wenson Hsieh  <wenson_hsieh@apple.com>
36
37         [iOS] Caret is obscured by finger when dragging over an editable element
38         https://bugs.webkit.org/show_bug.cgi?id=192499
39         <rdar://problem/46570101>
40
41         Reviewed by Tim Horton.
42
43         Augment some existing API tests to check that the `precise` flag is either on or off on `UIDropProposal`.
44
45         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
46         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
47         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
48         (-[DragAndDropSimulator _resetSimulatedState]):
49         (-[DragAndDropSimulator lastKnownDropProposal]):
50
51         Rename `currentDropProposal` to `lastKnownDropProposal`, and expose it as a readonly property.
52
53         (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
54         (-[DragAndDropSimulator _advanceProgress]):
55         (-[DragAndDropSimulator setShowCustomActionSheetBlock:]):
56         (-[DragAndDropSimulator showCustomActionSheetBlock]):
57         (-[DragAndDropSimulator setConvertItemProvidersBlock:]):
58         (-[DragAndDropSimulator convertItemProvidersBlock]):
59         (-[DragAndDropSimulator setOverridePerformDropBlock:]):
60         (-[DragAndDropSimulator overridePerformDropBlock]):
61         (-[DragAndDropSimulator setOverrideDragUpdateBlock:]):
62         (-[DragAndDropSimulator overrideDragUpdateBlock]):
63         (-[DragAndDropSimulator setDropCompletionBlock:]):
64         (-[DragAndDropSimulator dropCompletionBlock]):
65
66         Refactor these properties to return and take normal Objective-C blocks, rather than `BlockPtr`s. However, use
67         `BlockPtr` instance variables to manage the lifetimes of these blocks.
68
69         (-[DragAndDropSimulator _webView:willUpdateDropProposalToProposal:forSession:]):
70         (-[DragAndDropSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]): Deleted.
71
72         Update this to use the new WebKit delegate hook for overriding the drop proposal.
73
74 2018-12-10  Michael Catanzaro  <mcatanzaro@igalia.com>
75
76         [WPE][GTK] run-minibrowser improperly creates webkit-flatpak environment
77         https://bugs.webkit.org/show_bug.cgi?id=190241
78
79         Reviewed by Carlos Garcia Campos.
80
81         run-minibrowser calls into webkit-flatpak to check if a flatpak environment is available.
82         Currently this actually creates the directories needed for the flatpak environment. Fix it.
83
84         * flatpak/flatpakutils.py:
85         (WebkitFlatpak.clean_args):
86         (WebkitFlatpak.run):
87
88 2018-12-10  Michael Catanzaro  <mcatanzaro@igalia.com>
89
90         [GTK] Don't use the slice allocator
91         https://bugs.webkit.org/show_bug.cgi?id=192360
92
93         Reviewed by Carlos Garcia Campos.
94
95         * MiniBrowser/gtk/main.c:
96         (aboutDataRequestFree):
97         (aboutDataRequestNew):
98
99 2018-12-10  Tim Horton  <timothy_horton@apple.com>
100
101         WKWebView should support custom tintColor
102         https://bugs.webkit.org/show_bug.cgi?id=192518
103         <rdar://problem/37243261>
104
105         Reviewed by Wenson Hsieh.
106
107         * TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm:
108         (TestWebKitAPI::TEST):
109         Add a test that tintColor affects UITextInputTraits' interaction colors.
110
111 2018-12-09  Wenson Hsieh  <wenson_hsieh@apple.com>
112
113         [iOS] DragAndDropTests.RespectsExternalSourceFidelityRankings is flaky
114         https://bugs.webkit.org/show_bug.cgi?id=192524
115
116         Reviewed by Ryosuke Niwa.
117
118         This test started failing on certain builds of iOS where UIKit now attempts to reveal the selection by scrolling
119         (see <rdar://problem/28300343>). This API test simulates two drops from external sources, both from the point
120         (300, 400) to (100, 300) in window coordinates. On these aforementioned builds of iOS, what happens is that the
121         first drop inserts text that overflows the editable region by an enormous amount, which creates an extremely
122         wide selection rect and increases the width of the document; revealing this selection causes the web view to
123         scroll horizontally, such that the second attempt to simulate a drag from (300, 400) to (100, 300) fails, since
124         these window coordinates no longer correspond to the drop destination element in the document.
125
126         To fix this test, we simply mark the drop destination as `overflow: hidden` to ensure that we don't try and
127         scroll horizontally after the first drop.
128
129         * TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html:
130
131 2018-12-08  Daniel Bates  <dabates@apple.com>
132
133         Fix lldb_webkit.py following r238771
134         (https://bugs.webkit.org/show_bug.cgi?id=190234)
135
136         Substitute WTFURLProvider for WebCoreURLProvider in one call site that was inadvertently
137         missed in r238771.
138
139         * lldb/lldb_webkit.py:
140         (WebCoreDocumentProvider.url):
141
142 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
143
144         [ews-build] check-patch-relevance failure should not mark the overall build as failure
145         https://bugs.webkit.org/show_bug.cgi?id=192510
146
147         Reviewed by Lucas Forschler.
148
149         * BuildSlaveSupport/ews-build/steps.py:
150         (CheckPatchRelevance.start):
151
152 2018-12-07  Chris Dumez  <cdumez@apple.com>
153
154         ProcessSwap.UseSessionCookiesAfterProcessSwapInPrivateBrowsing API test is failing
155         https://bugs.webkit.org/show_bug.cgi?id=192362
156         <rdar://problem/46460360>
157
158         Reviewed by Ryosuke Niwa.
159
160         Move the call to _setCookieAcceptPolicy *after* we've constructed a WKWebView and thus
161         *after* we know for sure we have a network process to communicate the policy to.
162         This should address the failures on iOS.
163
164         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
165
166 2018-12-07  Jiewen Tan  <jiewen_tan@apple.com>
167
168         Add keychain access entitlement to WebKitTestRunnerApp
169         https://bugs.webkit.org/show_bug.cgi?id=192489
170         <rdar://problem/45057952>
171
172         Reviewed by Alexey Proskuryakov.
173
174         * WebKitTestRunner/Configurations/WebKitTestRunnerApp-iOS.entitlements:
175
176 2018-12-07  Saam Barati  <sbarati@apple.com>
177
178         WKWebProcessPlugInLoadDelegate should have API for saying which rendering events it wants to listen for
179         https://bugs.webkit.org/show_bug.cgi?id=192473
180
181         Reviewed by Andy Estes.
182
183         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
184         * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgress.mm: Added.
185         (-[DidFirstMeaningfulPaintRemoteObject didFirstMeaningfulPaint]):
186         (TEST):
187         * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressPlugIn.mm: Added.
188         (-[RenderingProgressPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
189         (-[RenderingProgressPlugIn webProcessPlugInBrowserContextControllerRenderingProgressEvents:]):
190         (-[RenderingProgressPlugIn webProcessPlugInBrowserContextController:renderingProgressDidChange:]):
191         * TestWebKitAPI/Tests/WebKitCocoa/RenderingProgressProtocol.h: Added.
192
193 2018-12-07  Jonathan Bedard  <jbedard@apple.com>
194
195         REGRESSION: run-webkit-tests may fail when using booted simulators (Follow-up fix)
196         https://bugs.webkit.org/show_bug.cgi?id=192470
197         <rdar://problem/46532001>
198
199         Unreviewed infrastructure fix.
200
201         * Scripts/webkitpy/port/device_port.py:
202         (DevicePort.setup_test_run): Check that the number of initialized devices matches the
203         number of child processes.
204
205 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
206
207         [ews-app] Send bug id as a build property
208         https://bugs.webkit.org/show_bug.cgi?id=192494
209
210         Reviewed by Lucas Forschler.
211
212         * BuildSlaveSupport/ews-app/ews/fetcher.py:
213         (BugzillaPatchFetcher.fetch):
214
215 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
216
217         [ews-build] Builds should have a link to patch and bug
218         https://bugs.webkit.org/show_bug.cgi?id=192492
219
220         Reviewed by Lucas Forschler.
221
222         * BuildSlaveSupport/ews-build/steps.py:
223         (ConfigureBuild.add_patch_id_url): Method to add Patch URL.
224         (ConfigureBuild.add_bug_id_url): Method to add Bug URL.
225         (ConfigureBuild.getPatchURL): Method to get Patch URL.
226         (ConfigureBuild.getBugURL): Method to get Bug URL.
227
228 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
229
230         [ews-app] Configure logfile for ews-app logs
231         https://bugs.webkit.org/show_bug.cgi?id=192493
232
233         Reviewed by Lucas Forschler.
234
235         * BuildSlaveSupport/ews-app/ews/__init__.py:
236
237 2018-12-07  Aakash Jain  <aakash_jain@apple.com>
238
239         Style queue exception on some security bugs
240         https://bugs.webkit.org/show_bug.cgi?id=190793
241
242         Reviewed by Lucas Forschler.
243
244         * Scripts/webkitpy/tool/steps/applywatchlist.py:
245         (ApplyWatchList.run):
246
247 2018-12-07  Wenson Hsieh  <wenson_hsieh@apple.com>
248
249         [Attachment Support] Cloned attachment elements lose their unique identifiers
250         https://bugs.webkit.org/show_bug.cgi?id=192483
251
252         Reviewed by Tim Horton.
253
254         Introduce a new API test.
255
256         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
257         (TestWebKitAPI::TEST):
258
259 2018-12-06  Jonathan Bedard  <jbedard@apple.com>
260
261         Consecutive DumpRenderTree crashes are happening again on WinCairo BuildBots since r238903
262         https://bugs.webkit.org/show_bug.cgi?id=192486
263
264         Unreviewed infrastructure fix.
265
266         WinCairo bots define WEBKIT_TEST_CHILD_PROCESSES to run less processes due to RAM restrictions.
267
268         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
269         (_set_up_derived_options):
270
271 2018-12-06  David Kilzer  <ddkilzer@apple.com>
272
273         Injected bundle for WebKitTestRunner leaks WKTypeRef objects
274         <https://webkit.org/b/192481>
275         <rdar://problem/46539059>
276
277         Reviewed by Simon Fraser.
278
279         This patch:
280         - Fixes leaks in various injected bundle methods that return +1
281           retained WKTypeRef objects via pointer.
282         - Asserts the returned object is the expected WKTypeRef.
283         - Replaces 0 with nullptr in many places.
284
285         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
286         (WTR::InjectedBundle::didCreatePage):
287         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
288         (WTR::TestRunner::shouldDumpPixels const):
289         (WTR::TestRunner::whatToDump const):
290         (WTR::TestRunner::shouldWaitUntilDone const):
291         (WTR::TestRunner::shouldDumpFrameLoadCallbacks):
292         (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
293         (WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
294         (WTR::TestRunner::secureEventInputIsEnabled const):
295         (WTR::TestRunner::isStatisticsPrevalentResource):
296         (WTR::TestRunner::isStatisticsVeryPrevalentResource):
297         (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
298         (WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
299         (WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):
300         (WTR::TestRunner::isStatisticsHasHadUserInteraction):
301         (WTR::TestRunner::isStatisticsGrandfathered):
302         (WTR::TestRunner::statisticsProcessStatisticsAndDataRecords):
303         (WTR::TestRunner::statisticsUpdateCookieBlocking):
304         (WTR::TestRunner::statisticsSubmitTelemetry):
305         (WTR::TestRunner::statisticsClearInMemoryAndPersistentStore):
306         (WTR::TestRunner::statisticsClearThroughWebsiteDataRemoval):
307         (WTR::TestRunner::statisticsResetToConsistentState):
308         (WTR::TestRunner::getAllStorageAccessEntries):
309         (WTR::TestRunner::hasDOMCache):
310         (WTR::TestRunner::domCacheSize):
311         (WTR::TestRunner::injectUserScript):
312         (WTR::TestRunner::keyExistsInKeychain):
313
314 2018-12-06  Jonathan Bedard  <jbedard@apple.com>
315
316         REGRESSION: run-webkit-tests may fail when using booted simulators
317         https://bugs.webkit.org/show_bug.cgi?id=192470
318         <rdar://problem/46532001>
319
320         Reviewed by Lucas Forschler.
321
322         * Scripts/webkitpy/layout_tests/controllers/manager.py:
323         (Manager.run): Logging uses the number of child processes to print out information about how efficiently tests
324         were sharded after the fact. This number is the most meaningful if it is the maximum number of child processes used.
325         * Scripts/webkitpy/port/base.py:
326         (Port.max_child_processes): By default, Ports do not support running on any specific kind of device.
327         * Scripts/webkitpy/port/device_port.py:
328         (DevicePort.default_child_processes): Rather than using the currently initialized devices as a proxy for how many
329         child processes are being used, check the device manager every time. Regardless of which devices are attached or
330         available, iOS cannot boot watchOS devices and vice-versa. dedicated_simulators is not a known argument to
331         device_count_for_type, use use_booted_simulator instead.
332         (DevicePort.max_child_processes): Simulators can boot more devices than what is specified by device_count_for_type,
333         but, if no devices are available, then max_child_processes should return 0 even for simulators.
334         * Scripts/webkitpy/port/ios_device_unittest.py:
335         (IOSDeviceTest):
336         (IOSDeviceTest.test_max_child_processes):
337         * Scripts/webkitpy/port/ios_simulator_unittest.py:
338         (IOSSimulatorTest):
339         (IOSSimulatorTest.test_max_child_processes):
340         * Scripts/webkitpy/port/port_testcase.py:
341         (PortTestCase):
342         (PortTestCase.test_max_child_processes):
343         * Scripts/webkitpy/port/watch_simulator_unittest.py:
344         (WatchSimulatorTest):
345         (WatchSimulatorTest.test_max_child_processes):
346
347 2018-12-06  Jonathan Bedard  <jbedard@apple.com>
348
349         webkitpy: Ignore case when comparing device types (Follow-up fix)
350         https://bugs.webkit.org/show_bug.cgi?id=192409
351         <rdar://problem/46491558>
352
353         Unreviewed typo fix.
354
355         * Scripts/webkitpy/xcode/device_type_unittest.py:
356         (DeviceTypeTest.test_comparison_lower_case):
357         (DeviceTypeTest.test_comparsion_lower_case): Deleted.
358
359 2018-12-06  Jonathan Bedard  <jbedard@apple.com>
360
361         webkitpy: Create device given lower-case DeviceType
362         <https://bugs.webkit.org/show_bug.cgi?id=192472>
363         <rdar://problem/46532650>
364
365         Reviewed by Lucas Forschler.
366
367         * Scripts/webkitpy/xcode/simulated_device.py:
368         (SimulatedDeviceManager._get_device_identifier_for_type): Comparing simctl device identifiers with DeviceTypes
369         should be letter-case agnostic.
370         * Scripts/webkitpy/xcode/simulated_device_unittest.py:
371         (test_lower_case_device_type):
372
373 2018-12-06  Wenson Hsieh  <wenson_hsieh@apple.com>
374
375         [iOS] WKWebView should match UITextView behavior when editing text with an RTL keyboard
376         https://bugs.webkit.org/show_bug.cgi?id=187554
377         <rdar://problem/42075638>
378
379         Reviewed by Tim Horton.
380
381         Add support for simulating the keyboard input mode in layout tests using UIScriptController, as well as a new
382         `TestOption` to make the web view editable.
383
384         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
385         (WTR::UIScriptController::setKeyboardInputModeIdentifier):
386         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
387         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
388         (WTR::UIScriptController::setKeyboardInputModeIdentifier):
389         * TestRunnerShared/UIScriptContext/UIScriptController.h:
390         * WebKitTestRunner/PlatformWebView.h:
391         * WebKitTestRunner/TestController.cpp:
392         (WTR::updateTestOptionsFromTestHeader):
393         * WebKitTestRunner/TestController.h:
394         (WTR::TestController::overriddenKeyboardInputMode const):
395         * WebKitTestRunner/TestOptions.h:
396         (WTR::TestOptions::hasSameInitializationOptions const):
397         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
398         (WTR::TestController::platformCreateWebView):
399         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
400         (WTR::PlatformWebView::setEditable):
401         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
402         (WTR::PlatformWebView::setEditable):
403         * WebKitTestRunner/ios/TestControllerIOS.mm:
404         (WTR::TestController::platformResetStateToConsistentValues):
405         (WTR::swizzleCurrentInputMode):
406         (WTR::TestController::setKeyboardInputModeIdentifier):
407
408         Swizzle out several `UIKeyboardInputModeController` methods in order to convince UIKit that the user has
409         selected a `UIKeyboardInputMode` corresponding to the given identifier. The call to
410         `-prepareKeyboardInputModeFromPreferences:` is also necessary on iOS 12 in order to update cached writing
411         direction state in UIKit.
412
413         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
414         (WTR::UIScriptController::setKeyboardInputModeIdentifier):
415         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
416         (WTR::PlatformWebView::setEditable):
417         * WebKitTestRunner/win/PlatformWebViewWin.cpp:
418         (WTR::PlatformWebView::setEditable):
419         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
420         (WTR::PlatformWebView::setEditable):
421
422 2018-12-05  Wenson Hsieh  <wenson_hsieh@apple.com>
423
424         [Cocoa] Share ClassMethodSwizzler and InstanceMethodSwizzler between TestWebKitAPI and WebKitTestRunner
425         https://bugs.webkit.org/show_bug.cgi?id=192437
426
427         Reviewed by Tim Horton.
428
429         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
430         * TestRunnerShared/cocoa/ClassMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.h.
431         * TestRunnerShared/cocoa/ClassMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/ClassMethodSwizzler.mm.
432         (ClassMethodSwizzler::ClassMethodSwizzler):
433         (ClassMethodSwizzler::~ClassMethodSwizzler):
434         * TestRunnerShared/cocoa/InstanceMethodSwizzler.h: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.h.
435         * TestRunnerShared/cocoa/InstanceMethodSwizzler.mm: Renamed from Tools/TestWebKitAPI/cocoa/InstanceMethodSwizzler.mm.
436         (InstanceMethodSwizzler::InstanceMethodSwizzler):
437         (InstanceMethodSwizzler::~InstanceMethodSwizzler):
438
439         Move these swizzling helper classes into TestRunnerShared.
440
441         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
442         * TestWebKitAPI/Tests/WebKitCocoa/LocalStorageClear.mm:
443         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
444         (safeBrowsingView):
445         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewDefaultNavigationDelegate.mm:
446         * TestWebKitAPI/cocoa/TestWKWebView.mm:
447         (-[TestWKWebView initWithFrame:configuration:addToWindow:]):
448
449         Remove namespacing around ClassMethodSwizzler and InstanceMethodSwizzler in a few API tests.
450
451         * TestWebKitAPI/mac/TestFontOptions.mm:
452         * WebKitTestRunner/TestController.h:
453         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
454         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
455         (WTR::ClassMethodSwizzler::ClassMethodSwizzler): Deleted.
456         (WTR::ClassMethodSwizzler::~ClassMethodSwizzler): Deleted.
457
458         Remove this duplicate implementation of ClassMethodSwizzler in WebKitTestRunner.
459
460 2018-12-05  Jonathan Bedard  <jbedard@apple.com>
461
462         webkitpy: Clean-up apple_additions
463         https://bugs.webkit.org/show_bug.cgi?id=192413
464         <rdar://problem/46493491>
465
466         Reviewed by Lucas Forschler.
467
468         After the addition of watchOS, some functions which were originally iOS specific were
469         generalized to include all devices.
470
471         * Scripts/webkitpy/port/ios_device.py:
472         (IOSDevicePort._driver_class): Replace iOS specific call with generalized device call.
473         (IOSDevicePort.path_to_crash_logs): Ditto.
474         (IOSDevicePort.clean_up_test_run): Ditto.
475
476 2018-12-05  Jonathan Bedard  <jbedard@apple.com>
477
478         webkitpy: Ignore case when comparing device types
479         https://bugs.webkit.org/show_bug.cgi?id=192409
480         <rdar://problem/46491558>
481
482         Reviewed by Lucas Forschler.
483
484         This allows DeviceTypes constructed with lowercase strings to correctly compare
485         against DeviceTypes coming from the simulator runtime.
486
487         * Scripts/webkitpy/xcode/device_type.py:
488         (DeviceType.__eq__):
489         (DeviceType.__contains__):
490         * Scripts/webkitpy/xcode/device_type_unittest.py:
491         (DeviceTypeTest):
492         (DeviceTypeTest.test_comparsion_lower_case):
493
494 2018-12-05  Jonathan Bedard  <jbedard@apple.com>
495
496         webkitpy: Sort tests by associated device type
497         https://bugs.webkit.org/show_bug.cgi?id=192161
498         <rdar://problem/46345392>
499
500         Reviewed by Lucas Forschler.
501
502         Sort tests by device type and make an effort to run each specified device type.
503         Do not run tests if their specified device is not available.
504
505         * Scripts/webkitpy/common/system/platforminfo.py:
506         (PlatformInfo.is_watchos): Add watchos bits to platform info.
507         (PlatformInfo._determine_os_name): Ditto.
508         * Scripts/webkitpy/layout_tests/controllers/manager.py:
509         (Manager.run): Assign each test a device type. Then, generate a list of
510         device types to sequentially iterate through. Note that a test will run
511         on the first device which matches.
512         (Manager._end_test_run): Handle the case where no devices are available and no
513         tests are run.
514         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
515         (_set_up_derived_options): Manage child processes in manager.
516         * Scripts/webkitpy/port/base.py:
517         (Port):
518         (Port.default_child_processes): Accept additional arguments.
519         (Port.max_child_processes): Add upper limit for number of child processes.
520         * Scripts/webkitpy/port/device_port.py:
521         (DevicePort):
522         (DevicePort._device_type_with_version): Adds version to the DeviceType.
523         (DevicePort.default_child_processes): Allows default_child_processes to be
524         attached to a device type.
525         (DevicePort.max_child_processes): Add upper limit to the maximum number of child processes.
526         (DevicePort.setup_test_run): Use _device_type_with_version.
527         * Scripts/webkitpy/port/ios_device.py:
528         (IOSDevicePort):
529         (IOSDevicePort.default_child_processes): Deleted.
530         * Scripts/webkitpy/port/ios_simulator.py:
531         (IOSSimulatorPort.default_child_processes): Deleted.
532         (IOSSimulatorPort.check_sys_deps): Deleted.
533         * Scripts/webkitpy/port/mac.py:
534         (MacPort.default_child_processes): Accept additional arguments.
535         * Scripts/webkitpy/port/test.py:
536         * Scripts/webkitpy/port/watch_device.py:
537         (WatchDevicePort):
538         (WatchDevicePort.default_child_processes): Deleted.
539         * Scripts/webkitpy/port/watch_simulator.py:
540         (WatchSimulatorPort.default_child_processes): Deleted.
541         (WatchSimulatorPort.check_sys_deps): Deleted.
542         * Scripts/webkitpy/xcode/simulated_device.py:
543         (SimulatedDeviceManager):
544         (SimulatedDeviceManager.device_count_for_type): Count the number of devices
545         available for a specific device type.
546
547 2018-12-05  Devin Rousso  <drousso@apple.com>
548
549         Unreviewed, add myself to some watch lists.
550
551         * Scripts/webkitpy/common/config/watchlist:
552
553 2018-12-05  Alicia Boya García  <aboya@igalia.com>
554
555         [MSE][GStreamer] Remove the AppendPipeline state machine
556         https://bugs.webkit.org/show_bug.cgi?id=192204
557
558         Reviewed by Xabier Rodriguez-Calvar.
559
560         Updated AbortableTaskQueue tests:
561
562         Added test: AbortedBySyncTaskHandler.
563
564         Renamed test: AbortDuringSyncTask -> AbortBeforeSyncTaskRun (in
565         order to avoid confusion with the new test).
566
567         Added checks for the correct destruction of response objects.
568
569         * TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp:
570         (TestWebKitAPI::FancyResponse::FancyResponse):
571         (TestWebKitAPI::FancyResponse::~FancyResponse):
572         (TestWebKitAPI::TEST):
573
574 2018-12-04  Chris Dumez  <cdumez@apple.com>
575
576         ProcessSwap.UseSessionCookiesAfterProcessSwapInPrivateBrowsing API test is failing
577         https://bugs.webkit.org/show_bug.cgi?id=192362
578
579         Reviewed by Alex Christensen.
580
581         Set the cookie policy to Accept to make sure the cookies are saved.
582
583         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
584
585 2018-12-04  Michael Catanzaro  <mcatanzaro@igalia.com>
586
587         [WPE][GTK] Update GLib
588         https://bugs.webkit.org/show_bug.cgi?id=191222
589
590         Reviewed by Žan Doberšek.
591
592         When I try running API tests locally, they crash with:
593
594         GLib-GIO-WARNING **: unknown schema extension 'd'
595
596         We need to update our old glib to support the 'd' value type, otherwise schemas that may
597         exist on the host using this type will cause instant crashes.
598
599         Also, switch the GLib build to use meson. This requires updating meson as well.
600
601         * gtk/jhbuild.modules:
602         * gtk/patches/glib-cast-function-type.patch: Removed.
603         * gtk/patches/glib-gtester-do-not-consider-skipped-tests-as-failures.patch: Removed.
604         * wpe/jhbuild.modules:
605         * wpe/patches/glib-cast-function-type.patch: Removed.
606         * wpe/patches/glib-revert-wakeup-changes.patch: Removed.
607
608 2018-12-04  Aakash Jain  <aakash_jain@apple.com>
609
610         [ews-app] Run BugzillaPatchFetcher periodically
611         https://bugs.webkit.org/show_bug.cgi?id=192241
612
613         Reviewed by Lucas Forschler.
614
615         * BuildSlaveSupport/ews-app/ews/__init__.py:
616         * BuildSlaveSupport/ews-app/ews/apps.py:
617         (EwsConfig.ready): This method is called by Django on startup.
618         * BuildSlaveSupport/ews-app/ews/fetcher.py:
619         (FetchLoop): Class which invokes BugzillaPatchFetcher every 60s.
620
621 2018-12-04  Jonathan Bedard  <jbedard@apple.com>
622
623         webkitpy: Support unicode in MeteredStream
624         https://bugs.webkit.org/show_bug.cgi?id=192260
625
626         Reviewed by Aakash Jain.
627
628         It's possible that the test runner returns unicode characters to be logged when
629         running layout tests.
630
631         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
632         (MeteredStream.write): Print message without attempting to encode/decode it.
633         * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
634         (RegularTest.test_unicode):
635
636 2018-12-04  Keith Rollin  <krollin@apple.com>
637
638         Update scripts for generating .xcfilelist files
639         https://bugs.webkit.org/show_bug.cgi?id=192081
640         <rdar://problem/46312290>
641
642         Reviewed by Brent Fulgham.
643
644         The initial pass at generate-xcfilelists (a script for
645         creating/updating the .xcfilelist files needed for various Generate
646         Foo Source build phases in Xcode) only generated the .xcfilelist files
647         that held the output files; it did not generate the list of input
648         files. As well, for the sources generated by DerivedSources.make
649         makefiles, the script accomplished this via the implementation of a
650         convention in the makefile that allowed the printing of these output
651         files when invoked with the 'print_all_generated_files' target. Use of
652         this convention is inconvenient and error-prone.
653
654         The script is now updated to address both of these issues. First, it
655         generates for the input and output sets of files. Second, it does away
656         with the convention in the DerivedSources.make makefiles and instead
657         works from the dependency output information printed when `make` is
658         invoked with --debug. This second part is implemented in the new
659         script extract-dependencies-from-makefile.
660
661         * Scripts/extract-dependencies-from-makefile: Added.
662         (Parser):
663         (Parser.__init__):
664         (Parser.nextLine):
665         (Parser.addTarget):
666         (Parser.addPrereq):
667         (Parser.doParse):
668         (Parser.printInputs):
669         (Parser.printOutputs):
670         (parseArgs):
671         (main):
672         * Scripts/generate-xcfilelists:
673
674 2018-12-04  Carlos Eduardo Ramalho  <cadubentzen@gmail.com>
675
676         [WPE] Add gtk-doc
677         https://bugs.webkit.org/show_bug.cgi?id=178900
678
679         Reviewed by Michael Catanzaro.
680
681         Add gtk-doc to WPE port. This patch tries to reuse as much code from
682         WebKitGTK+ as possible.
683
684         * gtkdoc/generate-gtkdoc: Renamed from Tools/gtk/generate-gtkdoc.
685         (get_gtkdoc_module_paths): Add GDK and GTK only if building for GTK.
686         (prepare_environment_for_gtkdoc_generation):
687         (build_gtkdoc_for_wpe): Code to generate doc for WPE.
688         (build_gtkdoc_for_wkgtk): Code to generate doc for WebKitGTK+. Moved from main.
689         * gtkdoc/gtkdoc.py: Renamed from Tools/gtk/gtkdoc.py.
690         (GTKDoc.__init__): Initialized required variables according to pylint.
691         (GTKDoc.api_missing_documentation):
692         * wpe/install-dependencies: Add gtkdoc dependency.
693
694 2018-12-04  Carlos Garcia Campos  <cgarcia@igalia.com>
695
696         [SOUP] Move URLSoup back to WebCore after r238771
697         https://bugs.webkit.org/show_bug.cgi?id=192306
698
699         Reviewed by Michael Catanzaro.
700
701         Include GUniquePtrSoup from WebCore again.
702
703         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
704
705 2018-12-03  Carlos Garcia Campos  <cgarcia@igalia.com>
706
707         [GTK] Bump freetype, fontconfig, harfbuzz, cairo and icu in jhbuild
708         https://bugs.webkit.org/show_bug.cgi?id=192310
709
710         Reviewed by Michael Catanzaro.
711
712         Update those dependencies to their latest stable versions.
713
714         * gtk/jhbuild.modules:
715
716 2018-12-03  Tomas Popela  <tpopela@redhat.com>
717
718         [GTK] Can't run MiniBrowser due to missing python2-yaml
719         https://bugs.webkit.org/show_bug.cgi?id=192308
720
721         Reviewed by Michael Catanzaro.
722
723         * gtk/install-dependencies:
724
725 2018-12-03  Chris Dumez  <cdumez@apple.com>
726
727         Regression(PSON) Google OAuth is broken in private sessions
728         https://bugs.webkit.org/show_bug.cgi?id=192337
729         <rdar://problem/46353558>
730
731         Reviewed by Alex Christensen.
732
733         Add API test coverage.
734
735         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
736         * TestWebKitAPI/Tests/WebKitCocoa/GetSessionCookie.html: Added.
737         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
738         * TestWebKitAPI/Tests/WebKitCocoa/SetSessionCookie.html: Added.
739
740 2018-12-03  Chris Dumez  <cdumez@apple.com>
741
742         [PSON] Request by the client to process-swap is ignored if the window has an opener
743         https://bugs.webkit.org/show_bug.cgi?id=192267
744         <rdar://problem/46386886>
745
746         Reviewed by Brady Eidson.
747
748         Add API test coverage.
749
750         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
751
752 2018-12-03  Keith Rollin  <krollin@apple.com>
753
754         Add .xcfilelist files
755         https://bugs.webkit.org/show_bug.cgi?id=192082
756         <rdar://problem/46312533>
757
758         Reviewed by Brent Fulgham.
759
760         Add .xcfilelist files for Generate Derived Sources and Generate
761         Unified Sources build phases in Xcode. These are just being staged for
762         now; they'll be added to the Xcode projects later.
763
764         * DumpRenderTree/DerivedSources-input.xcfilelist: Added.
765         * DumpRenderTree/DerivedSources-output.xcfilelist: Added.
766         * WebKitTestRunner/DerivedSources-input.xcfilelist: Added.
767         * WebKitTestRunner/DerivedSources-output.xcfilelist: Added.
768
769 2018-12-03  Alex Christensen  <achristensen@webkit.org>
770
771         Add WKWebProcessPlugInLoadDelegate SPI willStartProvisionalLoadForFrame with a completion handler
772         https://bugs.webkit.org/show_bug.cgi?id=192272
773
774         Reviewed by Brady Eidson.
775
776         * TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm:
777         (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]):
778         (-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]):
779
780 2018-12-03  Wenson Hsieh  <wenson_hsieh@apple.com>
781
782         [iOSMac] Unable to upload non-image files using drag and drop in WKWebView
783         https://bugs.webkit.org/show_bug.cgi?id=192283
784         <rdar://problem/46399461>
785
786         Reviewed by Ryosuke Niwa.
787
788         Add a new API test to check that an item provider which contains plain text data and a file URL (but is not
789         marked as an attachment) is still treated as an attachment upon drop. Furthermore, verify that "text/uri-list"
790         does not expose the actual file URL written to the item provider.
791
792         Additionally, rebaseline an existing API test to remove an extraneous "text/uri-list" type that appears in
793         `DataTransfer.types`, but whose data is inaccessible via `getData` anyways.
794
795         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
796
797 2018-12-01  Don Olmstead  <don.olmstead@sony.com>
798
799         Cleanup WebKit Features
800         https://bugs.webkit.org/show_bug.cgi?id=192262
801
802         Reviewed by Michael Catanzaro.
803
804         Removes obsolete ENABLE options and variable names. Syncs the option's
805         descriptions with what is present in WebKitFeatures.cmake. Sorts the
806         options based on the associated define.
807
808         * Scripts/webkitperl/FeatureList.pm:
809
810 2018-12-01  Chris Dumez  <cdumez@apple.com>
811
812         [PSON] process-swapping may occur even though opener has handle to openee
813         https://bugs.webkit.org/show_bug.cgi?id=192277
814
815         Reviewed by Antti Koivisto.
816
817         Add API test coverage.
818
819         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
820
821 2018-12-01  Jonathan Bedard  <jbedard@apple.com>
822
823         Unreviewed, rolling out r238764.
824
825         Breaks existing layout tests
826
827         Reverted changeset:
828
829         "webkitpy: Support unicode in MeteredStream"
830         https://bugs.webkit.org/show_bug.cgi?id=192260
831         https://trac.webkit.org/changeset/238764
832
833 2018-12-01  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
834
835         Move URL tests from TestWebKitAPI to TestWTF
836         https://bugs.webkit.org/show_bug.cgi?id=192275
837
838         Reviewed by Keith Miller.
839
840         Since URL is moved from WebCore to WTF, we also move tests for them from TestWebKitAPI (TestWebCore) to TestWTF.
841         But we still have some tests in TestWebCore since only WebCore implements TextEncoding. That part is now decoupled
842         from URLParser tests and new URLParserTextEncoding.cpp is created.
843
844         * TestWebKitAPI/CMakeLists.txt:
845         * TestWebKitAPI/PlatformGTK.cmake:
846         * TestWebKitAPI/PlatformWPE.cmake:
847         * TestWebKitAPI/PlatformWin.cmake:
848         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
849         * TestWebKitAPI/Tests/WTF/URL.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URL.cpp.
850         (TestWebKitAPI::TEST_F):
851         * TestWebKitAPI/Tests/WTF/URLParser.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp.
852         (TestWebKitAPI::TEST_F):
853         * TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm.
854         (TestWebKitAPI::TEST):
855         * TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp: Added.
856         (TestWebKitAPI::ExpectedParts::isInvalid const):
857         (TestWebKitAPI::eq):
858         (TestWebKitAPI::insertTabAtLocation):
859         (TestWebKitAPI::invalidParts):
860         (TestWebKitAPI::checkURL):
861         (TestWebKitAPI::TEST_F):
862
863 2018-11-30  Zalan Bujtas  <zalan@apple.com>
864
865         Unreviewed LFC passing test list update.
866
867         * LayoutReloaded/misc/LFC-passing-tests.txt:
868
869 2018-11-30  Alex Christensen  <achristensen@webkit.org>
870
871         Move URL from WebCore to WTF
872         https://bugs.webkit.org/show_bug.cgi?id=190234
873
874         Reviewed by Keith Miller.
875
876         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
877         * TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp:
878         * TestWebKitAPI/Tests/WebCore/URL.cpp:
879         (TestWebKitAPI::createURL):
880         (TestWebKitAPI::TEST_F):
881         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
882         (TestWebKitAPI::checkURL):
883         (TestWebKitAPI::checkRelativeURL):
884         (TestWebKitAPI::checkURLDifferences):
885         (TestWebKitAPI::checkRelativeURLDifferences):
886         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
887         * TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:
888         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
889         (TestWebKitAPI::originalDataAsString):
890         (TestWebKitAPI::userVisibleString):
891         (TestWebKitAPI::literalURL):
892         (TestWebKitAPI::TEST):
893         * TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
894         (TEST):
895         * TestWebKitAPI/Tests/WebKitCocoa/LoadInvalidURLRequest.mm:
896         (literalURL):
897         * TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
898         * TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm:
899         (-[LoadInvalidURLWebFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
900         * TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm:
901         * TestWebKitAPI/win/PlatformUtilitiesWin.cpp:
902         (TestWebKitAPI::Util::createURLForResource):
903         * lldb/lldb_webkit.py:
904         (__lldb_init_module):
905         (WTFURL_SummaryProvider):
906         (WTFURLProvider):
907         (WebCoreURL_SummaryProvider): Deleted.
908         (WebCoreURLProvider): Deleted.
909         (WebCoreURLProvider.__init__): Deleted.
910         (WebCoreURLProvider.to_string): Deleted.
911
912 2018-11-30  Jonathan Bedard  <jbedard@apple.com>
913
914         webkitpy: Support unicode in MeteredStream
915         https://bugs.webkit.org/show_bug.cgi?id=192260
916
917         Reviewed by Stephanie Lewis.
918
919         It's possible that the test runner returns unicode characters to be logged when
920         running layout tests.
921
922         * Scripts/webkitpy/layout_tests/views/metered_stream.py:
923         (MeteredStream.write): Message written to metered stream should be unicode.
924         * Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
925         (RegularTest.test_unicode):
926
927 2018-11-30  Jonathan Bedard  <jbedard@apple.com>
928
929         REGRESSION (r238749): run-api-tests dies with AttributeError: 'IOSSimulatorPort' object has no attribute 'DEFAULT_DEVICE_CLASS'
930         https://bugs.webkit.org/show_bug.cgi?id=192257
931         <rdar://problem/46384671>
932
933         Reviewed by Stephanie Lewis.
934
935         Follow-up fix for r238749.
936
937         * Scripts/webkitpy/api_tests/manager.py:
938         (Manager._initialize_devices): Use DEFAULT_DEVICE_TYPE instead of DEFAULT_DEVICE_CLASS.
939
940 2018-11-30  Chris Dumez  <cdumez@apple.com>
941
942         [PSON] We are sometimes swapping processes even though there is an opened window with an opener link to us
943         https://bugs.webkit.org/show_bug.cgi?id=192242
944
945         Reviewed by Geoffrey Garen.
946
947         Add API test coverage.
948
949         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
950
951 2018-11-30  Don Olmstead  <don.olmstead@sony.com>
952
953         Rename ENABLE_SUBTLE_CRYPTO to ENABLE_WEB_CRYPTO
954         https://bugs.webkit.org/show_bug.cgi?id=192197
955
956         Reviewed by Jiewen Tan.
957
958         * Scripts/webkitperl/FeatureList.pm:
959         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
960
961 2018-11-30  Dean Jackson  <dino@apple.com>
962
963         Add first-class support for .mjs files in jsc binary
964         https://bugs.webkit.org/show_bug.cgi?id=192190
965         <rdar://problem/46375715>
966
967         Reviewed by Keith Miller.
968
969         Add .mjs files to the regexp looking for all JS files.
970
971         * Scripts/run-jsc-stress-tests:
972
973 2018-11-30  Jonathan Bedard  <jbedard@apple.com>
974
975         webkitpy: Use DeviceType instead of str to represent device class
976         https://bugs.webkit.org/show_bug.cgi?id=192160
977         <rdar://problem/46344845>
978
979         Rubber-stamped by Aakash Jain.
980
981         * Scripts/webkitpy/layout_tests/controllers/manager.py:
982         (Manager._custom_device_for_test): Use DeviceTypes instead of strings to represent device type.
983         (Manager._set_up_run): Do not set _options.device_class, use device_type instead of device_class.
984         (Manager.run): Use device_type instead of device_class.
985         (Manager._print_expectations_for_subset): Ditto.
986         (Manager.print_expectations): Ditto.
987         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
988         (ManagerTest.test_uses_custom_device): Use DeviceType and actual device definition.
989         * Scripts/webkitpy/layout_tests/views/printing.py:
990         (Printer.print_workers_and_shards): Outputting the device suffix doesn't really help, and means
991         device type needs to be passed around.
992         * Scripts/webkitpy/port/apple.py:
993         (ApplePort.setup_test_run): Use device_type instead of device_class.
994         * Scripts/webkitpy/port/base.py:
995         (Port):
996         (Port.setup_test_run): Use device_type instead of device_class.
997         * Scripts/webkitpy/port/device_port.py:
998         (DevicePort):
999         (DevicePort.setup_test_run): Receive device_type as DeviceType object.
1000         (DevicePort._create_devices): Deleted.
1001         * Scripts/webkitpy/port/gtk.py:
1002         (GtkPort.setup_test_run): Use device_type instead of device_class.
1003         * Scripts/webkitpy/port/ios.py:
1004         (IOSPort):
1005         * Scripts/webkitpy/port/ios_simulator.py:
1006         (IOSSimulatorPort):
1007         (IOSSimulatorPort.__init__): Deleted.
1008         (IOSSimulatorPort._set_device_class): Deleted.
1009         * Scripts/webkitpy/port/test.py:
1010         * Scripts/webkitpy/port/watch.py:
1011         (WatchPort):
1012         * Scripts/webkitpy/port/watch_simulator.py:
1013         (WatchSimulatorPort):
1014         (WatchSimulatorPort.__init__): Deleted.
1015         (WatchSimulatorPort._set_device_class): Deleted.
1016         * Scripts/webkitpy/port/win.py:
1017         (WinPort.setup_test_run): Use device_type instead of device_class.
1018         * Scripts/webkitpy/xcode/simulated_device.py:
1019         (SimulatedDeviceManager._disambiguate_device_type): Using the existing devices for this is
1020         a problem if no such device exists yet. Use the _device_identifier_to_name dictionary instead
1021         since this should have hardware types in the device names.
1022
1023 2018-11-30  David Quesada  <david_quesada@apple.com>
1024
1025         -[WKProcessPool _downloadURLRequest:] should allow specifying the initiating web view
1026         https://bugs.webkit.org/show_bug.cgi?id=192212
1027         rdar://problem/46363706
1028
1029         Reviewed by Alex Christensen.
1030
1031         * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
1032         (-[DownloadProgressTestRunner startDownload:expectedLength:]):
1033
1034 2018-11-30  Zalan Bujtas  <zalan@apple.com>
1035
1036         [LFC][BFC] Compute min/maxHeight margins only when they are needed.
1037         https://bugs.webkit.org/show_bug.cgi?id=192223
1038
1039         Reviewed by Antti Koivisto.
1040
1041         * LayoutReloaded/misc/LFC-passing-tests.txt:
1042
1043 2018-11-30  Zalan Bujtas  <zalan@apple.com>
1044
1045         [LFC][BFC][MarginCollapsing] Do not use computed display box values for border and padding
1046         https://bugs.webkit.org/show_bug.cgi?id=192214
1047
1048         Reviewed by Antti Koivisto.
1049
1050         * LayoutReloaded/misc/LFC-passing-tests.txt:
1051
1052 2018-11-30  Thibault Saunier  <tsaunier@igalia.com>
1053
1054         [GTK][MiniBrowser] Handle Device Info permission requests
1055         https://bugs.webkit.org/show_bug.cgi?id=191585
1056
1057         Reviewed by Carlos Garcia Campos.
1058
1059         * MiniBrowser/gtk/BrowserTab.c:
1060         (permissionRequestDataNew):
1061         (permissionRequestDataFree):
1062         (permissionRequestDialogResponse):
1063         (decidePermissionRequest):
1064         (browserTabConstructed):
1065
1066 2018-11-30  Carlos Garcia Campos  <cgarcia@igalia.com>
1067
1068         Unreviewed GTK+ gardening. Stop running tests without complex text enforced
1069
1070         We have enforced complex text in GTK+ for one release cycle without noticing any major issue nor performance
1071         regression.
1072
1073         * WebKitTestRunner/gtk/main.cpp:
1074         (main):
1075
1076 2018-11-29  Wenson Hsieh  <wenson_hsieh@apple.com>
1077
1078         REGRESSION (r238635): Dragging a text selection within WKWebView causes the selection highlight to get into a bad state
1079         https://bugs.webkit.org/show_bug.cgi?id=192165
1080         <rdar://problem/46346682>
1081
1082         Reviewed by Daniel Bates.
1083
1084         Fixes 11 API tests that started failing or timing out after r238635. See below for more details.
1085
1086         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
1087         (TestWebKitAPI::webViewForEditActionTesting):
1088         (TestWebKitAPI::webViewForEditActionTestingWithPageNamed):
1089
1090         Ensure that the web view becomes first responder before executing edit actions.
1091
1092         * TestWebKitAPI/Tests/WebKitCocoa/autofocus-contenteditable.html:
1093         * TestWebKitAPI/Tests/WebKitCocoa/contenteditable-and-textarea.html:
1094
1095         Tweak these tests to allow selected content to overflow the width of the web view. Without this change,
1096         ContentEditableToContentEditable and ContentEditableToTextarea will sometimes fail because the content causes
1097         the body to scroll horizontally, so we miss the drop destination.
1098
1099         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
1100         (loadTestPageAndEnsureInputSession):
1101
1102         Add a new helper to load a test page with a given name, become first responder, and wait until an input session
1103         starts. Use this in various drag and drop tests to reduce code duplication.
1104
1105         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
1106         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
1107         (-[DragAndDropSimulator initWithWebView:]):
1108         (-[DragAndDropSimulator _resetSimulatedState]):
1109         (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
1110         (-[DragAndDropSimulator _advanceProgress]):
1111
1112         To more accurately emulate UIKit behavior, begin focus preservation when starting a drag, and attempt to clear
1113         the focus preservation token when the drag session ends. This allows us to simulate and test the scenario that
1114         regressed with r238635.
1115
1116         (-[DragAndDropSimulator ensureInputSession]):
1117         (-[DragAndDropSimulator _webView:didStartInputSession:]):
1118         (-[DragAndDropSimulator waitForInputSession]): Deleted.
1119
1120         Refactored into -ensureInputSession. Instead of assuming that an input session has not yet been started, simply
1121         wait for an input session to start if needed.
1122
1123         * TestWebKitAPI/ios/UIKitSPI.h:
1124
1125         Add a new SPI declaration.
1126
1127 2018-11-29  Tim Horton  <timothy_horton@apple.com>
1128
1129         Inform clients when editable image attachment backing data changes
1130         https://bugs.webkit.org/show_bug.cgi?id=192206
1131         <rdar://problem/46350277>
1132
1133         Reviewed by Wenson Hsieh.
1134
1135         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1136         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1137         (-[AttachmentUpdateObserver init]):
1138         (-[AttachmentUpdateObserver dataInvalidated]):
1139         (-[AttachmentUpdateObserver _webView:didInvalidateDataForAttachment:]):
1140         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentInvalidation):
1141         (webViewForTestingAttachments):
1142         (TestWebKitAPI::forEachViewInHierarchy):
1143         (TestWebKitAPI::findEditableImageCanvas):
1144         (TestWebKitAPI::drawSquareInEditableImage):
1145         (TestWebKitAPI::TEST):
1146         * TestWebKitAPI/ios/PencilKitTestSPI.h: Added.
1147         Add a test ensuring that we get an invalidation callback when an editable image is changed.
1148
1149 2018-11-29  Fujii Hironori  <Hironori.Fujii@sony.com>
1150
1151         REGRESSION(r238445)[Buildbot] Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk'
1152         https://bugs.webkit.org/show_bug.cgi?id=192143
1153
1154         Reviewed by Philippe Normand.
1155
1156         Buildbot can't start since r238445.
1157
1158         > Configuration Errors:
1159         >   Unknown builder 'GTK Linux 32-bit Release' in scheduler 'trunk'
1160         >   Unknown builder 'GTK Linux ARM Release' in scheduler 'trunk'
1161
1162         * BuildSlaveSupport/build.webkit.org-config/config.json: Removed deprecated builders.
1163
1164 2018-11-29  David Quesada  <david_quesada@apple.com>
1165
1166         Add SPI to publish NSProgress on active downloads
1167         https://bugs.webkit.org/show_bug.cgi?id=192021
1168         rdar://problem/44405661
1169
1170         Reviewed by Alex Christensen.
1171
1172         Add API tests to exercise the progress-publishing functionality in a variety of scenarios.
1173
1174         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1175         * TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm: Added.
1176         (+[DownloadProgressTestProtocol registerProtocolForTestRunner:]):
1177         (+[DownloadProgressTestProtocol unregisterProtocol]):
1178         (+[DownloadProgressTestProtocol canInitWithRequest:]):
1179         (+[DownloadProgressTestProtocol canonicalRequestForRequest:]):
1180         (+[DownloadProgressTestProtocol requestIsCacheEquivalent:toRequest:]):
1181         (-[DownloadProgressTestProtocol startLoading]):
1182         (-[DownloadProgressTestProtocol stopLoading]):
1183         (-[DownloadProgressTestRunner init]):
1184         (-[DownloadProgressTestRunner startLoadingWithProtocol:]):
1185         (-[DownloadProgressTestRunner tearDown]):
1186         (-[DownloadProgressTestRunner _didGetProgress:]):
1187         (-[DownloadProgressTestRunner _didLoseProgress]):
1188         (-[DownloadProgressTestRunner subscribeAndWaitForProgress]):
1189         (-[DownloadProgressTestRunner waitToLoseProgress]):
1190         (-[DownloadProgressTestRunner startDownload:expectedLength:]):
1191         (-[DownloadProgressTestRunner publishProgress]):
1192         (-[DownloadProgressTestRunner receiveData:]):
1193         (-[DownloadProgressTestRunner finishDownloadTask]):
1194         (-[DownloadProgressTestRunner failDownloadTask]):
1195         (-[DownloadProgressTestRunner waitForDownloadDidCreateDestination]):
1196         (-[DownloadProgressTestRunner waitForDownloadFinished]):
1197         (-[DownloadProgressTestRunner waitForDownloadCanceled]):
1198         (-[DownloadProgressTestRunner waitForDownloadFailed]):
1199         (-[DownloadProgressTestRunner waitForUpdatedCompletedUnitCount]):
1200         (-[DownloadProgressTestRunner observeValueForKeyPath:ofObject:change:context:]):
1201         (-[DownloadProgressTestRunner webView:decidePolicyForNavigationResponse:decisionHandler:]):
1202         (-[DownloadProgressTestRunner webView:decidePolicyForNavigationAction:decisionHandler:]):
1203         (-[DownloadProgressTestRunner _downloadDidStart:]):
1204         (-[DownloadProgressTestRunner _download:didCreateDestination:]):
1205         (-[DownloadProgressTestRunner _downloadDidFinish:]):
1206         (-[DownloadProgressTestRunner _downloadDidCancel:]):
1207         (-[DownloadProgressTestRunner _download:didFailWithError:]):
1208         (-[DownloadProgressTestRunner _download:decideDestinationWithSuggestedFilename:completionHandler:]):
1209         (TEST):
1210
1211 2018-11-29  Alexey Proskuryakov  <ap@apple.com>
1212
1213         Exception in bot watcher's dashboard if a hidden platform in no longer configured for display
1214         https://bugs.webkit.org/show_bug.cgi?id=185527
1215
1216         Reviewed by Aakash Jain.
1217
1218         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
1219         (updateHiddenPlatforms):
1220
1221 2018-11-29  Zalan Bujtas  <zalan@apple.com>
1222
1223         [LFC][BFC][Quirk] Body and html height stretching.
1224         https://bugs.webkit.org/show_bug.cgi?id=192154
1225
1226         Reviewed by Antti Koivisto.
1227
1228         * LayoutReloaded/misc/LFC-passing-tests.txt:
1229
1230 2018-11-29  Jonathan Bedard  <jbedard@apple.com>
1231
1232         webkitpy: Unify device creation
1233         https://bugs.webkit.org/show_bug.cgi?id=192158
1234         <rdar://problem/46344757>
1235
1236         Reviewed by Lucas Forschler.
1237
1238         * Scripts/webkitpy/port/device_port.py:
1239         (DevicePort):
1240         (DevicePort.setup_test_run): Use DEVICE_MANAGER to create devices based on the specified device class.
1241         * Scripts/webkitpy/port/ios.py:
1242         (IOSPort): Add DEFAULT_DEVICE_CLASS.
1243         * Scripts/webkitpy/port/ios_device.py:
1244         (IOSDevicePort):
1245         (IOSDevicePort._create_devices): Deleted.
1246         * Scripts/webkitpy/port/ios_simulator.py:
1247         (IOSSimulatorPort._create_devices): Deleted.
1248         * Scripts/webkitpy/port/watch.py:
1249         (WatchPort): Add DEFAULT_DEVICE_CLASS.
1250         * Scripts/webkitpy/port/watch_device.py:
1251         (WatchDevicePort):
1252         (WatchDevicePort._create_devices): Deleted.
1253         * Scripts/webkitpy/port/watch_simulator.py:
1254         (WatchSimulatorPort._create_devices): Deleted.
1255         * Scripts/webkitpy/xcode/device_type_unittest.py:
1256         (DeviceTypeTest.test_from_string): Test that DeviceTypes without hardware types can be constructed
1257         from strings.
1258
1259 2018-11-29  Jonathan Bedard  <jbedard@apple.com>
1260
1261         EWS iOS-sim bots sometimes fails to shutdown simulator
1262         https://bugs.webkit.org/show_bug.cgi?id=191864
1263
1264         Reviewed by Aakash Jain.
1265
1266         * Scripts/webkitpy/xcode/simulated_device.py:
1267         (SimulatedDevice._shut_down): Increase time to wait for simulated device to
1268         shut down, ignore exit code indicating a device is already shut down.
1269
1270 2018-11-29  Jonathan Bedard  <jbedard@apple.com>
1271
1272         webkitpy: Unify ios_version/watchos_version code
1273         https://bugs.webkit.org/show_bug.cgi?id=192153
1274         <rdar://problem/46343642>
1275
1276         Reviewed by Lucas Forschler.
1277
1278         Treating watchOS and iOS versions differently makes it harder to share code between the similar ports.
1279
1280         * Scripts/webkitpy/port/device_port.py:
1281         (DevicePort):
1282         (DevicePort.device_version): Added.
1283         * Scripts/webkitpy/port/ios.py:
1284         (IOSPort.default_baseline_search_path): Use device_version() instead of ios_version().
1285         (IOSPort.ios_version): Deleted.
1286         * Scripts/webkitpy/port/ios_device.py:
1287         (IOSDevicePort.device_version): Renamed from ios_version().
1288         (IOSDevicePort.ios_version): Deleted.
1289         * Scripts/webkitpy/port/ios_simulator.py:
1290         (IOSSimulatorPort.device_version): Renamed from ios_version().
1291         (IOSSimulatorPort.default_child_processes.booted_ios_devices_filter): Use device_version() instead of ios_version().
1292         (IOSSimulatorPort._create_devices): Ditto.
1293         (IOSSimulatorPort.check_sys_deps): Ditto.
1294         (IOSSimulatorPort.ios_version): Deleted.
1295         * Scripts/webkitpy/port/watch.py:
1296         (WatchPort.default_baseline_search_path): Use device_version() instead of watchos_version().
1297         (WatchPort.watchos_version): Deleted.
1298         * Scripts/webkitpy/port/watch_device.py:
1299         (WatchDevicePort.device_version): Renamed from watchos_version().
1300         (WatchDevicePort.watchos_version): Deleted.
1301         * Scripts/webkitpy/port/watch_simulator.py:
1302         (WatchSimulatorPort.device_version): Renamed from watchos_version().
1303         (WatchSimulatorPort.default_child_processes.filter_booted_watchos_devices): Use device_version() instead of watchos_version().
1304         (WatchSimulatorPort._create_devices): Ditto.
1305         (WatchSimulatorPort.check_sys_deps): Ditto.
1306         (WatchSimulatorPort.watchos_version): Deleted.
1307
1308 2018-11-28  Wenson Hsieh  <wenson_hsieh@apple.com>
1309
1310         [iOSMac] Dropping text selections from web content into editable elements crashes the web process
1311         https://bugs.webkit.org/show_bug.cgi?id=192113
1312         <rdar://problem/46323701>
1313
1314         Reviewed by Ryosuke Niwa.
1315
1316         Add a test to verify that, when dropping an item with both "com.apple.webarchive" and "public.utf8-plain-text"
1317         representations, the higher fidelity web archive data is used when handling the drop.
1318
1319         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
1320
1321 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
1322
1323         [ews-app] Fetch bugs from Bugzilla and submit to Buildbot
1324         https://bugs.webkit.org/show_bug.cgi?id=191947
1325
1326         Reviewed by Lucas Forschler.
1327
1328         * BuildSlaveSupport/ews-app/ews/fetcher.py: Added.
1329
1330 2018-11-28  Alex Christensen  <achristensen@webkit.org>
1331
1332         Fix iOS API test after r238585
1333         https://bugs.webkit.org/show_bug.cgi?id=192022
1334
1335         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
1336         (TEST):
1337         On iOS, a safe browsing warning over a WKWebView with frame of {0, 0, 0, 0} has a size of {0, 0}, which is fine.
1338         The test was added to catch a bug on Mac platforms, so testing it only on Mac will catch any regression.
1339
1340 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
1341
1342         [ews-app] Configure python logging
1343         https://bugs.webkit.org/show_bug.cgi?id=192005
1344
1345         Reviewed by Lucas Forschler.
1346
1347         * BuildSlaveSupport/ews-app/ews/__init__.py: Configured logging.
1348
1349 2018-11-28  Keith Rollin  <krollin@apple.com>
1350
1351         Update generate-{derived,unified}-sources scripts to support generating .xcfilelist files
1352         https://bugs.webkit.org/show_bug.cgi?id=192031
1353         <rdar://problem/46286816>
1354
1355         Reviewed by Alex Christensen.
1356
1357         The Generate Derived Sources and Generate Unified Sources build phases
1358         in Xcode need to have their inputs and outputs specified. This
1359         specification will come in the form of .xcfilelist files that will be
1360         attached to these build phases. There is one .xcfilelist file that
1361         lists the input file and one that lists the output files. As part of
1362         this work, the various generate-{derived,unified}-sources scripts that
1363         are executed in these Generate build phases are modified to help in
1364         the creation of these .xcfilelist files. In particular, they can now
1365         be invoked with command-line parameters. These parameters are then
1366         used to alter the normal execution of these scripts, causing them to
1367         produce the .xcfilelist files as opposed to actually generating the
1368         files that are listed in those files.
1369
1370         * DumpRenderTree/Scripts/generate-derived-sources.sh:
1371         * WebKitTestRunner/Scripts/generate-derived-sources.sh:
1372
1373 2018-11-28  Keith Rollin  <krollin@apple.com>
1374
1375         Revert print_all_generated_files work in r238008; tighten up target specifications
1376         https://bugs.webkit.org/show_bug.cgi?id=192025
1377         <rdar://problem/46284301>
1378
1379         Reviewed by Alex Christensen.
1380
1381         In r238008, I added a facility for DerivedSources.make makefiles to
1382         print out the list of files that they generate. This output was used
1383         in the generation of .xcfilelist files used to specify the output of
1384         the associated Generate Derived Sources build phases in Xcode. This
1385         approach worked, but it meant that people would need to follow a
1386         specific convention to keep this mechanism working.
1387
1388         Instead of continuing this approach, I'm going to implement a new
1389         facility based on the output of `make` when passed the -d flag (which
1390         prints dependency information). This new mechanism is completely
1391         automatic and doesn't need maintainers to follow a convention. To that
1392         end, remove most of the work performed in r238008 that supports the
1393         print_all_generated_files target.
1394
1395         At the same time, it's important for the sets of targets and their
1396         dependencies to be complete and correct. Therefore, also include
1397         changes to bring those up-to-date. As part of that, you'll see
1398         prevalent use of a particular technique. Here's an example:
1399
1400             BYTECODE_FILES = \
1401                 Bytecodes.h \
1402                 BytecodeIndices.h \
1403                 BytecodeStructs.h \
1404                 InitBytecodes.asm \
1405             #
1406             BYTECODE_FILES_PATTERNS = $(subst .,%,$(BYTECODE_FILES))
1407
1408             all : $(BYTECODE_FILES)
1409
1410             $(BYTECODE_FILES_PATTERNS): $(wildcard $(JavaScriptCore)/generator/*.rb) $(JavaScriptCore)/bytecode/BytecodeList.rb
1411                 ...
1412
1413         These lines indicate a set of generated files (those specified in
1414         BYTECODE_FILES). These files are generated by the BytecodeList.rb
1415         tool. But, as opposed to the normal rule where a single foo.output is
1416         generated by foo.input plus some additional dependencies, this rule
1417         produces multiple output files from a tool whose connection to the
1418         output files is not immediately clear. A special approach is needed
1419         where a single rule produces multiple output files. The normal way to
1420         implement this is to use an .INTERMEDIATE target. However, we used
1421         this approach in the past and ran into a problem with it, addressing
1422         it with an alternate approach in r210507. The above example shows this
1423         approach. The .'s in the list of target files are replaced with %'s,
1424         and the result is used as the left side of the dependency rule.
1425
1426         * DumpRenderTree/DerivedSources.make:
1427         * WebKitTestRunner/DerivedSources.make:
1428
1429 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
1430
1431         [ews-app] Add support to get list of Bugzilla patches needing review
1432         https://bugs.webkit.org/show_bug.cgi?id=191942
1433
1434         Reviewed by Lucas Forschler.
1435
1436         * BuildSlaveSupport/ews-app/ews/common/bugzilla.py:
1437         (Bugzilla.get_list_of_patches_needing_reviews): Get list of patches needing review.
1438         (BugzillaBeautifulSoup.fetch_attachment_ids_from_review_queue): Copied from Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py
1439         (BugzillaBeautifulSoup._load_query): Ditto.
1440         (BugzillaBeautifulSoup._parse_attachment_ids_request_query): Ditto.
1441
1442 2018-11-28  Daniel Bates  <dabates@apple.com>
1443
1444         [iOS] Page not defocused when Find-in-page becomes first responder
1445         https://bugs.webkit.org/show_bug.cgi?id=192084
1446         <rdar://problem/46146777>
1447
1448         Reviewed by Tim Horton.
1449
1450         Add tests for both Mac and iOS to ensure that when finding a string on the page
1451         that we do not start an input session if a match is found in an <input> and the
1452         WKWebView is not the first responder.
1453
1454         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1455         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFindString.mm: Added.
1456         (-[WKWebViewFindStringInputDelegate _webView:didStartInputSession:]):
1457         (-[WKWebViewFindStringFindDelegate findString]):
1458         (-[WKWebViewFindStringFindDelegate _webView:didCountMatches:forString:]):
1459         (-[WKWebViewFindStringFindDelegate _webView:didFindMatches:forString:withMatchIndex:]):
1460         (-[WKWebViewFindStringFindDelegate _webView:didFailToFindString:]):
1461         (returnNo):
1462         (returnYes):
1463         (viewIsFirstResponder):
1464         (TestWebKitAPI::TEST):
1465         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
1466         (WTR::PlatformWebView::PlatformWebView): Make the view the first responder before the
1467         window key. This matches the ordering used in PlatformWebView::focus(). No behavior change.
1468
1469 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
1470
1471         [ews-app] Add BeautifulSoup
1472         https://bugs.webkit.org/show_bug.cgi?id=191994
1473
1474         Reviewed by Lucas Forschler.
1475
1476         * BuildSlaveSupport/ews-app/ews/thirdparty: Added.
1477         * BuildSlaveSupport/ews-app/ews/thirdparty/BeautifulSoup.py: Added.
1478         * BuildSlaveSupport/ews-app/ews/thirdparty/__init__.py: Added.
1479
1480 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
1481
1482         [ews-app] Add support to download Patch from Bugzilla
1483         https://bugs.webkit.org/show_bug.cgi?id=191943
1484
1485         Reviewed by Lucas Forschler.
1486
1487         * BuildSlaveSupport/ews-app/ews/common/bugzilla.py: Added.
1488         (Bugzilla.retrieve_attachment): Retreives the attachment from Bugzilla and saves to disk.
1489         (Bugzilla._fetch_attachment_json):
1490         (Bugzilla.file_path_for_patch):
1491         * BuildSlaveSupport/ews-app/ews/common/util.py: Added.
1492         (fetch_data_from_url): Method to fetch data from given url.
1493         * BuildSlaveSupport/ews-app/ews/config.py:
1494
1495 2018-11-28  Aakash Jain  <aakash_jain@apple.com>
1496
1497         [ews-app] Add methods to update Patch fields
1498         https://bugs.webkit.org/show_bug.cgi?id=191931
1499
1500         Reviewed by Lucas Forschler.
1501
1502         * BuildSlaveSupport/ews-app/ews/models/patch.py:
1503         (Patch.set_sent_to_buildbot):
1504         (Patch.set_bug_id):
1505         (Patch.set_obsolete):
1506
1507 2018-11-28  Yongjun Zhang  <yongjun_zhang@apple.com>
1508
1509         Allow WebKit clients to specify a minimum effective width for layout.
1510         https://bugs.webkit.org/show_bug.cgi?id=191499
1511         <rdar://problem/45362678>
1512
1513         Reviewed by Wenson Hsieh.
1514
1515         Allow UIScriptController to set WKWebView's minimum effective width with a new `setMinimumEffectiveWidth` method.
1516
1517         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1518         (WTR::UIScriptController::setMinimumEffectiveWidth):
1519         * DumpRenderTree/mac/UIScriptControllerMac.mm:
1520         (WTR::UIScriptController::setViewScale):
1521         (WTR::UIScriptController::setMinimumEffectiveWidth):
1522         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
1523         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1524         (WTR::UIScriptController::setMinimumEffectiveWidth):
1525         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1526         * WebKitTestRunner/UIScriptControllerCocoa.mm:
1527         (WTR::UIScriptController::setMinimumEffectiveWidth):
1528         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1529         (WTR::TestController::cocoaResetStateToConsistentValues):
1530
1531 2018-11-28  Lucas Forschler  <lforschler@apple.com>
1532
1533         Fix webkitbot hi command.
1534         https://bugs.webkit.org/show_bug.cgi?id=192080
1535
1536         Reviewed by Alexey Proskuryakov.
1537
1538         * Scripts/webkitpy/tool/bot/irc_command.py:
1539         (Hi.execute):
1540
1541 2018-11-28  Zalan Bujtas  <zalan@apple.com>
1542
1543         [LFC][Quirk] Use non-collapsed vertical margin values when the container is stretched to the size of the ICB.
1544         https://bugs.webkit.org/show_bug.cgi?id=192078
1545
1546         Reviewed by Antti Koivisto.
1547
1548         * LayoutReloaded/misc/LFC-passing-tests.txt:
1549
1550 2018-11-28  Zalan Bujtas  <zalan@apple.com>
1551
1552         [LFC] Add support for quirk container's collapsing top margin in quirks mode.
1553         https://bugs.webkit.org/show_bug.cgi?id=192070
1554
1555         Reviewed by Antti Koivisto.
1556
1557         * LayoutReloaded/misc/LFC-passing-tests.txt:
1558
1559 2018-11-28  Thibault Saunier  <tsaunier@igalia.com>
1560
1561         [WebRTC][GStreamer] Make sure to have the default microphone on the top of the list
1562         https://bugs.webkit.org/show_bug.cgi?id=192026
1563
1564         Reviewed by Philippe Normand.
1565
1566         Otherwise we might end up picking a useless one in some applications
1567         (not sure what those application do though).
1568
1569         GStreamer patch proposed as https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/34/diffs
1570
1571         * flatpak/org.webkit.CommonModules.yaml:
1572         * gstreamer/jhbuild.modules:
1573         * gstreamer/patches/gst-plugins-good-0014-pulse-Mark-default-devices-as-default.patch: Added.
1574
1575 2018-11-28  Tomas Popela  <tpopela@redhat.com>
1576
1577         [GTK] Silence compilation warnings in glib unittests
1578         https://bugs.webkit.org/show_bug.cgi?id=192009
1579
1580         Reviewed by Michael Catanzaro.
1581
1582         Mark the destructor as virtual.
1583
1584         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
1585         (Test::~Test):
1586
1587 2018-11-27  Mark Lam  <mark.lam@apple.com>
1588
1589         ENABLE_FAST_JIT_PERMISSIONS should be false for iosmac.
1590         https://bugs.webkit.org/show_bug.cgi?id=192055
1591         <rdar://problem/46288783>
1592
1593         Reviewed by Saam Barati.
1594
1595         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1596
1597 2018-11-27  Alex Christensen  <achristensen@webkit.org>
1598
1599         Make synchronous IPC introduced in r237267 asynchronous
1600         https://bugs.webkit.org/show_bug.cgi?id=190757
1601
1602         Reviewed by Chris Dumez.
1603
1604         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1605
1606 2018-11-27  Jonathan Bedard  <jbedard@apple.com>
1607
1608         webkitpy: Add watchOS ports
1609         https://bugs.webkit.org/show_bug.cgi?id=191974
1610         <rdar://problem/46251051>
1611
1612         Reviewed by Aakash Jain.
1613
1614         * Scripts/webkitpy/port/factory.py:
1615         (PortFactory): Add WatchDevice and WatchSimulator ports.
1616         * Scripts/webkitpy/port/watch.py: Added.
1617         (WatchPort): Base class for watchOS ports.
1618         * Scripts/webkitpy/port/watch_device.py: Added.
1619         (WatchDevicePort): Class for running layout tests on a watchOS device.
1620         * Scripts/webkitpy/port/watch_simulator.py: Added.
1621         (WatchSimulatorPort): Class for running layout tests on a watchOS simulator.
1622         * Scripts/webkitpy/port/watch_simulator_unittest.py: Added.
1623         (WatchSimulatorTest):
1624         * Scripts/webkitpy/port/watch_testcase.py: Added.
1625         (WatchTest):
1626
1627 2018-11-27  Alex Christensen  <achristensen@webkit.org>
1628
1629         Safe browsing warning text needs to be visible on High Sierra
1630         https://bugs.webkit.org/show_bug.cgi?id=192022
1631
1632         Reviewed by Tim Horton.
1633
1634         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
1635         (TEST):
1636
1637 2018-11-27  Wenson Hsieh  <wenson_hsieh@apple.com>
1638
1639         Unreviewed, fix the watchOS engineering build
1640
1641         Disable a newly added API test, since DDScannerResult is unavailable on watchOS.
1642
1643         * TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
1644
1645 2018-11-27  Chris Dumez  <cdumez@apple.com>
1646
1647         Regression(PSON) crash under WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame()
1648         https://bugs.webkit.org/show_bug.cgi?id=191983
1649         <rdar://problem/46246863>
1650
1651         Reviewed by Geoffrey Garen.
1652
1653         Add API test coverage.
1654
1655         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1656
1657 2018-11-27  Aakash Jain  <aakash_jain@apple.com>
1658
1659         [ews-app] Add support to communicate with Buildbot (Follow-up fix)
1660         https://bugs.webkit.org/show_bug.cgi?id=191935
1661         <rdar://problem/46262314>
1662
1663         Unreviewed infrastructure fix.
1664
1665         * BuildSlaveSupport/ews-app/ews/common/buildbot.py:
1666         (Buildbot.send_patch_to_buildbot):
1667
1668 2018-11-26  Wenson Hsieh  <wenson_hsieh@apple.com>
1669
1670         [Cocoa] No way for clients to tell whether the content view is in the responder chain when the web view is
1671         https://bugs.webkit.org/show_bug.cgi?id=169212
1672         <rdar://problem/30899656>
1673
1674         Reviewed by Tim Horton.
1675
1676         Add an API test to exercise the behavior of `-_contentViewIsFirstResponder` when an embedded text input becomes
1677         and resigns first responder.
1678
1679         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1680         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFirstResponderTests.mm: Added.
1681         (-[FirstResponderTestingView initWithFrame:]):
1682         (-[FirstResponderTestingView inputField]):
1683         (TestWebKitAPI::TEST):
1684
1685 2018-11-26  Fujii Hironori  <Hironori.Fujii@sony.com>
1686
1687         [CMake] Remove ENABLE_ACCESSIBILITY CMake variable
1688         https://bugs.webkit.org/show_bug.cgi?id=191831
1689
1690         Reviewed by Michael Catanzaro.
1691
1692         * WebKitTestRunner/CMakeLists.txt:
1693
1694 2018-11-26  Tim Horton  <timothy_horton@apple.com>
1695
1696         Insert <attachment> elements under editable images to make their backing data accessible
1697         https://bugs.webkit.org/show_bug.cgi?id=191844
1698         <rdar://problem/30900149>
1699
1700         Reviewed by Simon Fraser.
1701
1702         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1703         (WTR::UIScriptController::attachmentInfo):
1704         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
1705         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1706         (WTR::UIScriptController::attachmentInfo):
1707         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1708         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1709         (WTR::UIScriptController::attachmentInfo):
1710         Add a UIScriptController mechanism to retrieve information about
1711         a given attachment.
1712
1713 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
1714
1715         [ews-app] Add support to communicate with Buildbot
1716         https://bugs.webkit.org/show_bug.cgi?id=191935
1717
1718         Reviewed by Lucas Forschler.
1719
1720         * BuildSlaveSupport/ews-app/ews/common/__init__.py: Added.
1721         * BuildSlaveSupport/ews-app/ews/common/buildbot.py: Added.
1722
1723 2018-11-26  Jonathan Bedard  <jbedard@apple.com>
1724
1725         webkitpy: Race condition in ServerProcess tests
1726         https://bugs.webkit.org/show_bug.cgi?id=191989
1727         <rdar://problem/45536844>
1728
1729         Reviewed by Lucas Forschler.
1730
1731         Serializing these tests to prevent the race conditions.
1732
1733         * Scripts/webkitpy/port/server_process_unittest.py:
1734         (TestServerProcess.serial_test_basic):
1735         (TestServerProcess.serial_test_read_after_process_exits):
1736         (TestServerProcess.serial_test_process_crashing):
1737         (TestServerProcess.serial_test_process_crashing_no_data):
1738         (TestServerProcess.test_basic): Deleted.
1739         (TestServerProcess.test_read_after_process_exits): Deleted.
1740         (TestServerProcess.test_process_crashing): Deleted.
1741         (TestServerProcess.test_process_crashing_no_data): Deleted.
1742
1743 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
1744
1745         [ews-app] Add field in Patch object to indicate if it has been sent to Buildbot
1746         https://bugs.webkit.org/show_bug.cgi?id=191929
1747
1748         Reviewed by Lucas Forschler.
1749
1750         * BuildSlaveSupport/ews-app/ews/models/patch.py:
1751         (Patch): Added sent_to_buildbot field.
1752         (Patch.is_patch_sent_to_buildbot): Checks if the patch has been sent to Buildbot.
1753
1754 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
1755
1756         [ews-app] Add a config file
1757         https://bugs.webkit.org/show_bug.cgi?id=191933
1758
1759         Reviewed by Lucas Forschler.
1760
1761         * BuildSlaveSupport/ews-app/ews/config.py: Added.
1762
1763 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
1764
1765         [ews-app] Add methods to save patch to database
1766         https://bugs.webkit.org/show_bug.cgi?id=191928
1767
1768         Reviewed by Lucas Forschler.
1769
1770         * BuildSlaveSupport/ews-app/ews/models/patch.py:
1771         (Patch.save_patch): Method to save the patch to database.
1772         (Patch.save_patches): Method to save multiple patches to database.
1773         (Patch.is_valid_patch_id): Checks if the patch id is valid.
1774         (Patch.is_existing_patch_id): Checks if the patch id already exists in database.
1775
1776 2018-11-26  Alex Christensen  <achristensen@webkit.org>
1777
1778         Rename WKWebView._safeBrowsingWarningForTesting to _safeBrowsingWarning to use it for more than testing
1779         https://bugs.webkit.org/show_bug.cgi?id=191981
1780
1781         Reviewed by Tim Horton.
1782
1783         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
1784         (TEST):
1785         (safeBrowsingView):
1786
1787 2018-11-26  Daniel Bates  <dabates@apple.com>
1788
1789         REGRESSION (r237738): Command Down Arrow doesn't scroll to the end of a page anymore
1790         https://bugs.webkit.org/show_bug.cgi?id=191967
1791         <rdar://problem/45976390>
1792
1793         Reviewed by Tim Horton.
1794
1795         Add more test infrastructure to dispatch key up events.
1796
1797         * WebKitTestRunner/ios/HIDEventGenerator.h:
1798         * WebKitTestRunner/ios/HIDEventGenerator.mm:
1799         (createHIDKeyEvent): Renamed from createHIDKeyDownEvent() and modified to take a boolean as
1800         to whether to create an event for a key down or key up.
1801         (createHIDKeyDownEvent): Deleted; renamed to createHIDKeyEvent().
1802         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1803         (WTR::createUIPhysicalKeyboardEvent): Added. Convenience function to create a UIPhysicalKeyboardEvent.
1804         (WTR::UIScriptController::keyDown): Modified to dispatch a key up event in addition to dispatching
1805         a key down event.
1806
1807 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
1808
1809         [ews-app] Set Foreign Keys in EWS Django app models
1810         https://bugs.webkit.org/show_bug.cgi?id=191790
1811
1812         Reviewed by Lucas Forschler.
1813
1814         * BuildSlaveSupport/ews-app/ews/models/builds.py: Set Foreign Key.
1815         * BuildSlaveSupport/ews-app/ews/models/steps.py: Ditto.
1816
1817 2018-11-26  Aakash Jain  <aakash_jain@apple.com>
1818
1819         [ews-app] Do not store patch content in database
1820         https://bugs.webkit.org/show_bug.cgi?id=191788
1821
1822         Reviewed by Lucas Forschler.
1823
1824         * BuildSlaveSupport/ews-app/ews/models/patch.py: Removed content field.
1825
1826 2018-11-26  Jonathan Bedard  <jbedard@apple.com>
1827
1828         webkitpy: Retry app installation on watchOS simulators (Follow-up fix)
1829         https://bugs.webkit.org/show_bug.cgi?id=191769
1830         <rdar://problem/46139850>
1831
1832         Unreviewed infrastructure fix.
1833
1834         * Scripts/webkitpy/xcode/simulated_device.py:
1835         (SimulatedDevice): Increase retry attempts.
1836
1837 2018-11-26  Daniel Bates  <dabates@apple.com>
1838
1839         Move testRunner.toggleCapsLock() to uiController
1840         https://bugs.webkit.org/show_bug.cgi?id=191972
1841
1842         Reviewed by Tim Horton.
1843
1844         Move testRunner.toggleCapsLock() to uiController as uiController is the preferred JavaScript
1845         object for UI test functions. Having this functionality be on uiController makes it an
1846         asynchronous function naturally and complements use of onkeydown, onkeyup listeners to know
1847         when the Caps Lock key event is dispatched. It also facilitates its use directly as part of
1848         scripts with other uiController functions invocations that are passed in a single invocation
1849         of testRunner.runUIScript().
1850
1851         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1852         (WTR::UIScriptController::toggleCapsLock):
1853         * DumpRenderTree/mac/UIScriptControllerMac.mm:
1854         (WTR::UIScriptController::toggleCapsLock):
1855         Added stub functions that invoke the callback. We do not support toggling caps lock in Legacy
1856         WebKit at the moment. Legacy WebKit reads the caps lock key state directly from the OS. Modern
1857         WebKit caches the caps lock state in the WebProcess as a natural side effect of the fact that
1858         the UIProcess is the only process capable of querying the caps lock key state from the OS and
1859         hence the UIProcess must send over this state to the WebProcess.
1860
1861         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Add IDL for new function.
1862         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1863         (WTR::UIScriptController::toggleCapsLock): Added empty implementation for ports non-Cocoa ports.
1864         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1865
1866         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1867         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1868         (WTR::TestRunner::toggleCapsLock): Deleted.
1869         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1870         * WebKitTestRunner/TestController.h:
1871         * WebKitTestRunner/TestInvocation.cpp:
1872         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1873         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1874         (WTR::TestController::toggleCapsLock): Deleted; moved to UIScriptController::toggleCapsLock().
1875         Removed logic to handle testRunner.toggleCapsLock().
1876
1877         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1878         (WTR::UIScriptController::toggleCapsLock): Add stub function that invokes the callback
1879         and a FIXME comment that explains that we will implement this function in <https://bugs.webkit.org/show_bug.cgi?id=191815>.
1880         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
1881         (WTR::UIScriptController::toggleCapsLock): Moved the implementation from TestController::toggleCapsLock().
1882
1883 2018-11-26  Brent Fulgham  <bfulgham@apple.com>
1884
1885         [Win] Reduce the use of WKSI library calls: CoreAnimation
1886         https://bugs.webkit.org/show_bug.cgi?id=191777
1887         <rdar://problem/46140542>
1888
1889         Reviewed by Zalan Bujtas.
1890
1891         Update the Windows build of WebKit to refer to the SPI headers, rather than WebKitSystemInterface.
1892         Move a small amount of glue code from WKSI to WebCore, and remove any includes or link
1893         directives for WebKitSystemInterface.lib.
1894
1895         * TestWebKitAPI/PlatformWin.cmake:
1896
1897 2018-11-25  Zalan Bujtas  <zalan@apple.com>
1898
1899         [LFC][IFC] Use float box's margin box to adjust the line constraints.
1900         https://bugs.webkit.org/show_bug.cgi?id=191961
1901
1902         Reviewed by Antti Koivisto.
1903
1904         * LayoutReloaded/misc/LFC-passing-tests.txt:
1905
1906 2018-11-25  Zalan Bujtas  <zalan@apple.com>
1907
1908         Unreviewed test fix after r238467.
1909
1910         * TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
1911         (TestWebKitAPI::TEST):
1912
1913 2018-11-25  Wenson Hsieh  <wenson_hsieh@apple.com>
1914
1915         Unreviewed, fix the internal iOS 12 build after r238471
1916
1917         * TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
1918         (TEST):
1919
1920 2018-11-25  Tim Horton  <timothy_horton@apple.com>
1921
1922         Make it possible to insert editable images with a gesture
1923         https://bugs.webkit.org/show_bug.cgi?id=191937
1924
1925         Reviewed by Wenson Hsieh.
1926
1927         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1928         (WTR::UIScriptController::drawSquareInEditableImage):
1929         If the canvas already has a drawing, draw a new stroke on top of it
1930         instead of removing the existing stroke.
1931
1932 2018-11-24  Wenson Hsieh  <wenson_hsieh@apple.com>
1933
1934         [Cocoa] Add WKWebView SPI to trigger and remove data detection
1935         https://bugs.webkit.org/show_bug.cgi?id=191918
1936         <rdar://problem/36185051>
1937
1938         Reviewed by Tim Horton.
1939
1940         Add an API test to exercise the new WebKit SPI.
1941
1942         * TestWebKitAPI/DataDetectorsCoreSPI.h: Added.
1943         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1944         * TestWebKitAPI/Tests/WebKitCocoa/DataDetection.mm:
1945         (-[WKWebView synchronouslyDetectDataWithTypes:]):
1946         (-[WKWebView synchronouslyRemoveDataDetectedLinks]):
1947         (TEST):
1948         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1949         (TestWebKitAPI::TEST):
1950         (-[TestWKWebView tagsInBody]): Deleted.
1951         (-[TestWKWebView expectElementTagsInOrder:]): Deleted.
1952         (-[TestWKWebView expectElementCount:tagName:]): Deleted.
1953         (-[TestWKWebView expectElementTag:toComeBefore:]): Deleted.
1954
1955         Rename this from `-expectElementCount:tagName:` to `-expectElementCount:querySelector:`.
1956
1957         * TestWebKitAPI/Tests/WebKitCocoa/data-detectors.html: Added.
1958
1959         Add a new test page containing some content that can be data detected.
1960
1961         * TestWebKitAPI/cocoa/TestWKWebView.h:
1962         * TestWebKitAPI/cocoa/TestWKWebView.mm:
1963         (-[WKWebView tagsInBody]):
1964         (-[WKWebView expectElementTagsInOrder:]):
1965         (-[WKWebView expectElementCount:querySelector:]):
1966         (-[WKWebView expectElementTag:toComeBefore:]):
1967
1968         Move some testing helper functions from WKAttachmentTests to a testing category on WKWebView. This allows us to
1969         use `-expectElementCount:querySelector:` in tests outside of WKAttachmentTests.
1970
1971         (-[WKWebView objectByEvaluatingJavaScript:]):
1972         (-[WKWebView objectByEvaluatingJavaScriptWithUserGesture:]):
1973         (-[WKWebView stringByEvaluatingJavaScript:]):
1974
1975         Move some common helper functions from TestWKWebView to a testing category on WKWebView.
1976
1977         (-[TestWKWebView objectByEvaluatingJavaScript:]): Deleted.
1978         (-[TestWKWebView objectByEvaluatingJavaScriptWithUserGesture:]): Deleted.
1979         (-[TestWKWebView stringByEvaluatingJavaScript:]): Deleted.
1980
1981 2018-11-23  Sam Weinig  <sam@webkit.org>
1982
1983         Add raw pointer overloads to ListHashSet via SmartPtr specialized functions
1984         https://bugs.webkit.org/show_bug.cgi?id=191936
1985
1986         Reviewed by Zalan Bujtas.
1987
1988         Adds tests for raw pointer overloads in ListHashSet.
1989
1990         * TestWebKitAPI/Tests/WTF/HashSet.cpp:
1991         * TestWebKitAPI/Tests/WTF/ListHashSet.cpp:
1992
1993 2018-11-23  Wenson Hsieh  <wenson_hsieh@apple.com>
1994
1995         Enable drag and drop support for iOSMac
1996         https://bugs.webkit.org/show_bug.cgi?id=191818
1997         <rdar://problem/43907454>
1998
1999         Reviewed by Dean Jackson.
2000
2001         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2002
2003 2018-11-23  Zalan Bujtas  <zalan@apple.com>
2004
2005         [LFC][IFC] Add support for variable height runs.
2006         https://bugs.webkit.org/show_bug.cgi?id=191925
2007
2008         Reviewed by Antti Koivisto.
2009
2010         * LayoutReloaded/misc/LFC-passing-tests.txt:
2011
2012 2018-11-23  Alberto Garcia  <berto@igalia.com>
2013
2014         [GTK] [WPE] Tools/Platform{GTK,WPE}.cmake files missing from the tarballs
2015         https://bugs.webkit.org/show_bug.cgi?id=191923
2016
2017         Add Tools/PlatformGTK.cmake and Tools/PlatformWPE.cmake to their
2018         respective tarballs.
2019
2020         Reviewed by Carlos Garcia Campos.
2021
2022         * gtk/manifest.txt.in:
2023         * wpe/manifest.txt.in:
2024
2025 2018-11-22  Chris Dumez  <cdumez@apple.com>
2026
2027         Regression(r238353) Load sometimes hangs when navigating back after a cross-site navigation
2028         https://bugs.webkit.org/show_bug.cgi?id=191914
2029
2030         Reviewed by Ryosuke Niwa.
2031
2032         Add API test coverage.
2033
2034         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2035
2036 2018-11-22  Zalan Bujtas  <zalan@apple.com>
2037
2038         [LFC][IFC] Offset formatting context root runs with horizontal margins.
2039         https://bugs.webkit.org/show_bug.cgi?id=191900
2040
2041         Reviewed by Antti Koivisto.
2042
2043         * LayoutReloaded/misc/LFC-passing-tests.txt:
2044
2045 2018-11-22  Philippe Normand  <pnormand@igalia.com>
2046
2047         [GTK] Remove unmaintained bots
2048         https://bugs.webkit.org/show_bug.cgi?id=191467
2049
2050         Reviewed by Alex Christensen.
2051
2052         The Linux 32-bits and ARM build-slaves are no longer maintained
2053         and have been failing for months, so get rid of them.
2054
2055         * BuildSlaveSupport/build.webkit.org-config/config.json:
2056         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
2057         (WebKitBuildbot):
2058         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2059
2060 2018-11-22  Thibault Saunier  <tsaunier@igalia.com>
2061
2062         [Flatpak] Do not disable signals when running "usual" commands
2063         https://bugs.webkit.org/show_bug.cgi?id=190679
2064
2065         Reviewed by Philippe Normand.
2066
2067         Otherwise <ctr>c doesn't work while compiling. It is not the best fix
2068         as there are cases we want to let only children receive signals, but
2069         it is not clear how to determine when (when running gdb, we still
2070         disable those).
2071
2072         * flatpak/flatpakutils.py:
2073         (WebkitFlatpak.run_in_sandbox):
2074
2075 2018-11-21  Wenson Hsieh  <wenson_hsieh@apple.com>
2076
2077         [Cocoa] [WebKit2] Add support for replacing find-in-page text matches
2078         https://bugs.webkit.org/show_bug.cgi?id=191786
2079         <rdar://problem/45813871>
2080
2081         Reviewed by Ryosuke Niwa.
2082
2083         * MiniBrowser/mac/WK2BrowserWindowController.m:
2084         (-[WK2BrowserWindowController setFindBarView:]):
2085
2086         Fix a bug in MiniBrowser that prevents AppKit from displaying the "All" button in the find bar after checking
2087         the "Replace" option.
2088
2089         * TestWebKitAPI/Tests/WebKitCocoa/FindInPage.mm:
2090
2091         Add an API test to exercise find-and-replace API using WKWebView.
2092
2093         (replaceMatches):
2094         (TEST):
2095         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2096         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2097         (WTR::findOptionsFromArray):
2098         (WTR::TestRunner::findString):
2099         (WTR::TestRunner::findStringMatchesInPage):
2100         (WTR::TestRunner::replaceFindMatchesAtIndices):
2101
2102         Add TestRunner hooks to simulate find-in-page and replace.
2103
2104         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2105
2106 2018-11-21  Zalan Bujtas  <zalan@apple.com>
2107
2108         [LFC][IFC] Horizontal margins should be considered as non-breakable space
2109         https://bugs.webkit.org/show_bug.cgi?id=191894
2110
2111         Reviewed by Antti Koivisto.
2112
2113         * LayoutReloaded/misc/LFC-passing-tests.txt:
2114
2115 2018-11-21  Zalan Bujtas  <zalan@apple.com>
2116
2117         [LFC][IFC] Border should be considered as non-breakable space
2118         https://bugs.webkit.org/show_bug.cgi?id=191891
2119
2120         Reviewed by Antti Koivisto.
2121
2122         * LayoutReloaded/misc/LFC-passing-tests.txt:
2123
2124 2018-11-21  Zalan Bujtas  <zalan@apple.com>
2125
2126         [LFC][IFC] Take nonBreakableStart/End into use.
2127         https://bugs.webkit.org/show_bug.cgi?id=191873
2128
2129         Reviewed by Antti Koivisto.
2130
2131         * LayoutReloaded/misc/LFC-passing-tests.txt:
2132
2133 2018-11-20  Jeff Miller  <jeffm@apple.com>
2134
2135         Return nullptr immediately if the key doesn't exist in the HashMap.
2136         https://bugs.webkit.org/show_bug.cgi?id=191841
2137
2138         Reviewed by Chris Dumez.
2139         
2140         Add a test that would crash prior to the fix for this bug.
2141
2142         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2143         * TestWebKitAPI/Tests/WebKitCocoa/WKNSDictionaryEmptyDictionaryCrash.mm: Added.
2144         (TestWebKitAPI::TEST):
2145
2146 2018-11-19  Alex Christensen  <achristensen@webkit.org>
2147
2148         Add SPI to disable JIT in a WKWebView
2149         https://bugs.webkit.org/show_bug.cgi?id=191822
2150         <rdar://problem/28119360>
2151
2152         Reviewed by Geoffrey Garen.
2153
2154         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2155         * TestWebKitAPI/Tests/WebKitCocoa/DisableJIT.mm: Added.
2156         (TEST):
2157
2158 2018-11-19  Basuke Suzuki  <basuke.suzuki@sony.com>
2159
2160         [Curl] Add API for CertificateInfo.
2161         https://bugs.webkit.org/show_bug.cgi?id=191647
2162
2163         Reviewed by Alex Christensen.
2164
2165         Added test for new WKCertificateInfo API.
2166
2167         * TestWebKitAPI/PlatformWin.cmake:
2168         * TestWebKitAPI/Tests/WebKit/curl/Certificates.cpp: Added.
2169         (TestWebKitAPI::Curl::makeCertificateInfo):
2170         (TestWebKitAPI::Curl::isSamePEM):
2171         (TestWebKitAPI::Curl::TEST):
2172
2173 2018-11-19  Wenson Hsieh  <wenson_hsieh@apple.com>
2174
2175         Unreviewed, fix the internal iOS debug build after r238380
2176
2177         UICalloutBar should only be declared when the public (non-internal) SDK is used to build WebKit; otherwise, we
2178         end up with duplicate declarations of UICalloutBar.
2179
2180         * TestWebKitAPI/ios/UIKitSPI.h:
2181
2182 2018-11-19  David Quesada  <david_quesada@apple.com>
2183
2184         EXC_BAD_ACCESS when invoking a DownloadProxy's destination decision handler after the download has been canceled
2185         https://bugs.webkit.org/show_bug.cgi?id=191762
2186         rdar://problem/46151509
2187
2188         Reviewed by Dean Jackson.
2189
2190         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
2191             Enable the Download API test on iOS, since the platform supports downloads. All the
2192             tests pass already, except for one which was written using AppKit-specific code:
2193         TEST(_WKDownload, RedirectedDownload):
2194             Use a more platform-agnostic approach to starting the download in this API test.
2195             Instead of manually triggering an NSMenu item to download a file from a link, the
2196             test will simulate a user-initiated click on the link, and the navigation delegate
2197             will direct the web view to start a download based on the link's navigation action.
2198             Additionally, remove the manual creation of a new NSWindow. TestWKWebView makes its
2199             own UI/NSWindow.
2200         TEST(_WKDownload, DownloadCanceledWhileDecidingDestination):
2201             Add an API test _WKDownload.DownloadCanceledWhileDecidingDestination to simulate the
2202             conditions that would trigger this crash - handling a download's -decideDestination…
2203             delegate call by canceling the download, waiting for the UI process to be notified
2204             that the download has been canceled, and calling the decision handler. This should
2205             not crash.
2206         (-[CancelDownloadWhileDecidingDestinationDelegate _downloadDidFinish:]):
2207         (-[CancelDownloadWhileDecidingDestinationDelegate _download:didFailWithError:]):
2208         (-[CancelDownloadWhileDecidingDestinationDelegate _downloadDidCancel:]):
2209         (-[CancelDownloadWhileDecidingDestinationDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
2210         (-[UIDownloadAsFileTestDelegate _webView:contextMenu:forElement:]): Deleted.
2211         * TestWebKitAPI/cocoa/TestWKWebView.h:
2212         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2213         (-[TestWKWebView objectByEvaluatingJavaScriptWithUserGesture:]):
2214             Add a user-initated version of -objectByEvaluatingJavaScript:. This is needed in
2215             order to maintain the behavior of the RedirectedDownload test, which verifies the
2216             state of the _WKDownload.wasUserInitiated property.
2217
2218 2018-11-19  Wenson Hsieh  <wenson_hsieh@apple.com>
2219
2220         [iOS Debug] Assertion failure in NSComparisonResult UIContentSizeCategoryCompareToCategory()
2221         https://bugs.webkit.org/show_bug.cgi?id=190401
2222         <rdar://problem/45195285>
2223
2224         Reviewed by Dean Jackson.
2225
2226         Work around sporadic UIKit assertions when running API tests that may present a UICalloutBar. Currently, UIKit
2227         asks for the `UIApp`’s `-preferredContentSizeCategory` when showing or laying out the callout bar. However,
2228         TestWebKitAPI lacks a UIApp altogether, and forcing one to be initialized via `UIApplicationInstantiateSingleton`
2229         causes numerous other UIKit and WebKit assertions to be hit.
2230
2231         In lieu of TestWebKitAPI becoming a real UI application (see https://webkit.org/b/175204), simply don't allow
2232         the callout bar to be initialized in TestWKWebView-based API tests. This encompasses all API tests which
2233         have some chance of causing the callout bar to be shown by making a ranged text selections during the test.
2234
2235         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2236         (suppressUICalloutBar):
2237         (-[TestWKWebView initWithFrame:configuration:addToWindow:]):
2238         * TestWebKitAPI/ios/UIKitSPI.h:
2239
2240 2018-11-19  Fujii Hironori  <Hironori.Fujii@sony.com>
2241
2242         REGRESSION(r238016)[GTK][TestWebKitAPI][Ninja] TestJSC can't compile "Bytecodes.h: No such file or directory"
2243         https://bugs.webkit.org/show_bug.cgi?id=191692
2244
2245         Reviewed by Michael Catanzaro.
2246
2247         r238016 added a new #include, and requires JSC's derived headers
2248         to be copied into the forwarding header directory.
2249
2250         WEBKIT_MAKE_FORWARDING_HEADERS is using POST_BUILD event to copy
2251         derived headers to the forwarding header directory. This is done
2252         after linking JSC library.
2253
2254         GTK port has TestJSC which has a dependency to JSC static library.
2255         And, this dependency is a link time dependency which means
2256         compiling source files of TestJSC starts before the POST_BUILD
2257         event of JSC. Thus, required header can't be found.
2258
2259         Add an intermediate target between TestJSC and JavaScriptCore to
2260         ensure derived headers are copied into the forwarding header
2261         directory.
2262
2263         * TestWebKitAPI/PlatformGTK.cmake: Added a new custom target pre-TestJSC.
2264         * TestWebKitAPI/PlatformWPE.cmake: Ditto.
2265
2266 2018-11-19  Alejandro G. Castro  <alex@igalia.com>
2267
2268         [GTK][WPE] Solve some issues in the enumerateDevices code
2269         https://bugs.webkit.org/show_bug.cgi?id=191832
2270
2271         Reviewed by Carlos Garcia Campos.
2272
2273         * TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
2274         (serverCallback): Make all the Strings with HTML code static.
2275         (testWebsiteDataDeviceIdHashSalt): Change the webView settings in
2276         the test.
2277         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
2278         (WebViewTest::initializeWebView): Remove the initialization of the
2279         webView settings, we now do it in the specific test.
2280
2281 2018-11-18  Chris Dumez  <cdumez@apple.com>
2282
2283         [PSON] Received an invalid message "WebPageProxy.DidPerformClientRedirect" from the web process
2284         https://bugs.webkit.org/show_bug.cgi?id=191828
2285
2286         Reviewed by Antti Koivisto.
2287
2288         Add API test coverage.
2289
2290         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2291         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2292         * TestWebKitAPI/Tests/WebKitCocoa/client-side-redirect.html: Added.
2293
2294 2018-11-17  Wenson Hsieh  <wenson_hsieh@apple.com>
2295
2296         [iOS] Remove all usages of UIItemProvider, UIItemProviderReading, and related classes
2297         https://bugs.webkit.org/show_bug.cgi?id=191819
2298
2299         Reviewed by Dan Bernstein.
2300
2301         Replace UIItemProvider (and related classes) with NSItemProvider.
2302
2303         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2304         (platformCopyPNG):
2305         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
2306         (-[NSItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
2307
2308         Replace usages of this deprecated method with `-registerDataRepresentationForTypeIdentifier:visibility:loadHandler:`.
2309
2310         (checkEstimatedSize):
2311         (checkSuggestedNameAndEstimatedSize):
2312         (TestWebKitAPI::TEST):
2313         (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]): Deleted.
2314         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
2315         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
2316         (-[MockDragDropSession canLoadObjectsOfClass:]):
2317         (-[MockDragDropSession canLoadObjectsOfClasses:]):
2318         (-[MockDropSession initWithProviders:location:window:allowMove:]):
2319         (-[MockDropSession canCreateItemsOfClass:]):
2320         (-[DragAndDropSimulator _advanceProgress]):
2321         (-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
2322         (-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
2323         * TestWebKitAPI/ios/UIKitSPI.h:
2324
2325 2018-11-17  Chris Dumez  <cdumez@apple.com>
2326
2327         ASSERTION FAILED: m_messageReceivers.contains(...) under ViewGestureController removeMessageReceiver
2328         https://bugs.webkit.org/show_bug.cgi?id=191734
2329         <rdar://problem/46151497>
2330
2331         Reviewed by Ryosuke Niwa.
2332
2333         Add API test coverage.
2334
2335         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2336
2337 2018-11-17  Zalan Bujtas  <zalan@apple.com>
2338
2339         [LFC][IFC] InlineFormattingState::addDetachingRule should accumulate rules.
2340         https://bugs.webkit.org/show_bug.cgi?id=191801
2341
2342         Reviewed by Antti Koivisto.
2343
2344         * LayoutReloaded/misc/LFC-passing-tests.txt:
2345
2346 2018-11-17  Jer Noble  <jer.noble@apple.com>
2347
2348         Regression(r233865): Causes synchronous IPC in the middle of layout
2349         https://bugs.webkit.org/show_bug.cgi?id=188307
2350         <rdar://problem/42807306>
2351
2352         Reviewed by Eric Carlson.
2353
2354         Follow-up test fix for r238322:
2355
2356         In ExitFullscreenOnEnterPiP.ElementFullScreen, explicitly make the video
2357         element in element fullscreen the "main content" by playing the video during
2358         a user gesture; only "main content" videos will cause fullscreen mode to exit
2359         when that element is taken into PiP.
2360
2361         In FullscreenZoomInitialFrame.WebKit, the WebView is not visible, so the Page
2362         is considered hidden, and fullscreen is not allowed when the WebView is hidden.
2363         Make the WebView visible by ordering the test window on-screen.
2364
2365         * TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.html:
2366         * TestWebKitAPI/Tests/WebKitCocoa/ExitFullscreenOnEnterPiP.mm:
2367         (TestWebKitAPI::TEST):
2368         * TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:
2369         (TestWebKitAPI::FullscreenZoomInitialFrame::runTest):
2370
2371 2018-11-16  Alex Christensen  <achristensen@webkit.org>
2372
2373         Tweak _showSafeBrowsingWarningWithTitle SPI
2374         https://bugs.webkit.org/show_bug.cgi?id=191799
2375
2376         Reviewed by Wenson Hsieh.
2377
2378         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
2379         (TEST):
2380
2381 2018-11-16  Ryosuke Niwa  <rniwa@webkit.org>
2382
2383         REGRESSION (r238294): TestWebKitAPI.WKNavigation.ProcessCrashDuringCallback failing on iOS
2384         https://bugs.webkit.org/show_bug.cgi?id=191783
2385
2386         Reviewed by Chris Dumez.
2387
2388         Allow either WKErrorWebContentProcessTerminated or WKErrorWebViewInvalidated since the test
2389         is closing WebView, thereby invalidating the view, which is racing with the process termination.
2390
2391         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
2392         (TEST):
2393
2394 2018-11-16  Chris Dumez  <cdumez@apple.com>
2395
2396         ProcessSwap.DisableForInspector API test is failing
2397         https://bugs.webkit.org/show_bug.cgi?id=191798
2398
2399         Reviewed by Joseph Pecoraro.
2400
2401         We support process swapping when Web Inspector is shown now so update the
2402         API test accordingly.
2403
2404         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2405
2406 2018-11-16  Ryan Haddad  <ryanhaddad@apple.com>
2407
2408         Update buildbot dashboard after Windows 7/10 updates
2409         https://bugs.webkit.org/show_bug.cgi?id=191219
2410
2411         Reviewed by Alexey Proskuryakov.
2412
2413         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
2414         (BubbleQueueServer):
2415         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
2416         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
2417         (WebKitBuildbot):
2418         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
2419         (table.queue-grid tr.platform td.logo::before):
2420         (table.queue-grid tr.platform.windows-10 td.logo::before):
2421         (table.queue-grid tr.platform.wincairo-windows-10 td.logo::before):
2422         (table.queue-grid tr.platform.windows-7 td.logo::before):
2423         (table.queue-grid tr.platform.wincairo-windows-10 img.logo):
2424
2425 2018-11-16  Chris Dumez  <cdumez@apple.com>
2426
2427         Regression(PSON) WebKit.GeolocationTransitionToHighAccuracy API test is timing out
2428         https://bugs.webkit.org/show_bug.cgi?id=191789
2429
2430         Reviewed by Alex Christensen.
2431
2432         Relate the 2 test pages so they use the same process since WKContextSetMaximumNumberOfProcesses()
2433         SPI no longer works with PSON / Process prewarming.
2434
2435         * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
2436         (TestWebKitAPI::TEST):
2437
2438 2018-11-16  Jonathan Bedard  <jbedard@apple.com>
2439
2440         webkitpy: Retry app installation on watchOS simulators
2441         https://bugs.webkit.org/show_bug.cgi?id=191769
2442         <rdar://problem/46139850>
2443
2444         Reviewed by Aakash Jain.
2445
2446         * Scripts/webkitpy/xcode/simulated_device.py:
2447         (SimulatedDevice.install_app): Retry app installations.
2448
2449 2018-11-16  Zalan Bujtas  <zalan@apple.com>
2450
2451         Add DidFirstMeaningfulPaint milestone.
2452         https://bugs.webkit.org/show_bug.cgi?id=191754
2453
2454         Reviewed by Simon Fraser.
2455
2456         * TestWebKitAPI/CMakeLists.txt:
2457         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2458         * TestWebKitAPI/Tests/WebKit/FirstMeaningfulPaintMilestone.cpp: Added.
2459         (TestWebKitAPI::didReachMilestone):
2460         (TestWebKitAPI::setPageLoaderClient):
2461         (TestWebKitAPI::TEST):
2462         * TestWebKitAPI/Tests/WebKit/FirstMeaningfulPaintMilestone_Bundle.cpp: Copied from Source/WebKit/UIProcess/API/C/WKPageRenderingProgressEvents.h.
2463         (TestWebKitAPI::FirstMeaningfulPaintMilestoneTest::FirstMeaningfulPaintMilestoneTest):
2464         (TestWebKitAPI::FirstMeaningfulPaintMilestoneTest::didCreatePage):
2465
2466 2018-11-16  Takashi Komori  <Takashi.Komori@sony.com>
2467
2468         [WinCairo][WebKitTestRunner] Test contents window is displayed while testing.
2469         https://bugs.webkit.org/show_bug.cgi?id=191593
2470
2471         Reviewed by Alex Christensen.
2472
2473         Hide TestRunner window and taskbar button.
2474
2475         * WebKitTestRunner/win/PlatformWebViewWin.cpp:
2476         (WTR::PlatformWebView::PlatformWebView):
2477         (WTR::PlatformWebView::windowSnapshotImage):
2478
2479 2018-11-16  Alex Christensen  <achristensen@webkit.org>
2480
2481         Add API to disable safe browsing checks
2482         https://bugs.webkit.org/show_bug.cgi?id=191610
2483
2484         Reviewed by Dean Jackson.
2485
2486         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
2487         (resourceURL):
2488         (TEST):
2489         (safeBrowsingView):
2490         (simpleURL): Deleted.
2491
2492 2018-11-16  Zalan Bujtas  <zalan@apple.com>
2493
2494         [LFC][IFC] Add support for out-of-flow positioned boxes
2495         https://bugs.webkit.org/show_bug.cgi?id=191726
2496
2497         Reviewed by Antti Koivisto.
2498
2499         * LayoutReloaded/misc/LFC-passing-tests.txt:
2500
2501 2018-11-15  Myles C. Maxfield  <mmaxfield@apple.com>
2502
2503         WKPreferencesSetFontSmoothingLevel doesn't actually do anything
2504         https://bugs.webkit.org/show_bug.cgi?id=191708
2505
2506         Reviewed by Simon Fraser.
2507
2508         Delete the symbol because no one calls it and it doesn't do anything
2509
2510         * TestWebKitAPI/Tests/WebKit/WKPreferences.cpp:
2511         (TestWebKitAPI::TEST):
2512         * WebKitTestRunner/TestController.cpp:
2513         (WTR::TestController::resetPreferencesToConsistentValues):
2514
2515 2018-11-15  Truitt Savell  <tsavell@apple.com>
2516
2517         Unreviewed, rolling out r238244.
2518
2519         Caused High Sierra test runs to fail early with 50 crashes and
2520         casued 25 API failures.
2521
2522         Reverted changeset:
2523
2524         "[css-logical] Implement flow-relative margin, padding and
2525         border shorthands"
2526         https://bugs.webkit.org/show_bug.cgi?id=188697
2527         https://trac.webkit.org/changeset/238244
2528
2529 2018-11-15  Aakash Jain  <aakash_jain@apple.com>
2530
2531         Increase EWS lock timeout to 3 hours
2532         https://bugs.webkit.org/show_bug.cgi?id=191705
2533
2534         Reviewed by Alexey Proskuryakov.
2535
2536         * QueueStatusServer/config/queues.py: Increased EWS lock timeout to 3 hours.
2537
2538 2018-11-15  Chris Dumez  <cdumez@apple.com>
2539
2540         IndexedDB.IndexedDBTempFileSize API test times out with process prewarming enabled
2541         https://bugs.webkit.org/show_bug.cgi?id=191671
2542         <rdar://problem/46086062>
2543
2544         Reviewed by Alex Christensen.
2545
2546         Add API test coverage.
2547
2548         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2549         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
2550         (TEST):
2551
2552 2018-11-15  Oriol Brufau  <obrufau@igalia.com>
2553
2554         [css-logical] Implement flow-relative margin, padding and border shorthands
2555         https://bugs.webkit.org/show_bug.cgi?id=188697
2556
2557         Reviewed by Simon Fraser and Antti Koivisto.
2558
2559         * DumpRenderTree/TestOptions.cpp:
2560         (TestOptions::TestOptions):
2561         * DumpRenderTree/TestOptions.h:
2562         * DumpRenderTree/mac/DumpRenderTree.mm:
2563         (setWebPreferencesForTestOptions):
2564         Allow tests to enable the CSSLogicalEnabled flag in WK1.
2565
2566         * Scripts/webkitpy/style/checkers/jsonchecker.py:
2567         (JSONCSSPropertiesChecker.check_codegen_properties):
2568         Allow CSS property definitions to have a 'runtime-flag' parameter which
2569         disables the property when the specified runtime flag is disabled.
2570
2571 2018-11-15  Timothy Hatcher  <timothy@apple.com>
2572
2573         REGRESSION (r238212): WebKit.BackgroundColor* API test failures.
2574         https://bugs.webkit.org/show_bug.cgi?id=191697
2575         rdar://problem/46098570
2576
2577         Reviewed by Dean Jackson.
2578
2579         * TestWebKitAPI/Tests/mac/BackgroundColor.mm:
2580         (TestWebKitAPI::TEST): Updated for new default background color.
2581
2582 2018-11-15  Jonathan Bedard  <jbedard@apple.com>
2583
2584         webkitpy: Check for specific process instead of using data migrator (Follow-up fix)
2585         https://bugs.webkit.org/show_bug.cgi?id=191551
2586         <rdar://problem/45993156>
2587
2588         Reviewed by Aakash Jain.
2589
2590         * Scripts/webkitpy/xcode/simulated_device.py:
2591         (SimulatedDevice.is_usable): Use software_variant instead of software_version for watchOS.
2592
2593 2018-11-15  Daniel Bates  <dabates@apple.com>
2594
2595         [iOS] Shift + Tab does not focus previous field
2596         https://bugs.webkit.org/show_bug.cgi?id=191596
2597         <rdar://problem/45892053>
2598
2599         Reviewed by Wenson Hsieh.
2600
2601         Add infrastructure to support testing a key down event with modifiers by creating
2602         and dispatching a UIEvent. This infrastructure replaces the previous mechanism in
2603         Tools/WebKitTestRunner/ios/HIDEventGenerator.mm to generate a IOHIDEvent for a
2604         keydown as it did not support creating an event with modifier key state that would
2605         be recognized by UIKit.
2606
2607         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
2608         (WTR::UIScriptController::keyDown):
2609         (WTR::UIScriptController::keyDownUsingHardwareKeyboard): Deleted.
2610         (WTR::UIScriptController::keyUpUsingHardwareKeyboard): Deleted.
2611         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
2612         Add function uiController.keyDown() that takes a character that represents a keyboard key
2613         and an array of modifier keys. The behavior of this function is analogous to eventSender.keyDown().
2614         Remove functions uiController.keyDownUsingHardwareKeyboard() and uiController.keyUpUsingHardwareKeyboard()
2615         as the former is replaced by uiController.keyDown() and the latter was never used.
2616
2617         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2618         (WTR::UIScriptController::keyDown): Added.
2619         (WTR::UIScriptController::keyUpUsingHardwareKeyboard): Deleted.
2620         (WTR::UIScriptController::keyDownUsingHardwareKeyboard): Deleted.
2621         * TestRunnerShared/UIScriptContext/UIScriptController.h:
2622         * WebKitTestRunner/ios/HIDEventGenerator.h:
2623         * WebKitTestRunner/ios/HIDEventGenerator.mm:
2624         (createHIDKeyDownEvent): Added.
2625         (-[HIDEventGenerator keyDown:completionBlock:]): Deleted.
2626         (-[HIDEventGenerator keyUp:completionBlock:]): Deleted.
2627         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2628         (WTR::arrayLength): Added.
2629         (WTR::parseModifier): Added.
2630         (WTR::parseModifierArray): Added.
2631         (WTR::UIScriptController::keyDown):
2632         (WTR::UIScriptController::keyDownUsingHardwareKeyboard): Deleted.
2633         (WTR::UIScriptController::keyUpUsingHardwareKeyboard): Deleted.
2634
2635 2018-11-15  Keith Rollin  <krollin@apple.com>
2636
2637         Delete old .xcfilelist files
2638         https://bugs.webkit.org/show_bug.cgi?id=191669
2639         <rdar://problem/46081994>
2640
2641         Reviewed by Chris Dumez.
2642
2643         .xcfilelist files were created and added to the Xcode project files in
2644         https://trac.webkit.org/changeset/238008/webkit. However, they caused
2645         build issues and they were removed from the Xcode projects in
2646         https://trac.webkit.org/changeset/238055/webkit. This check-in removes
2647         the files from the repository altogether. They'll ultimately be
2648         replaced with new files with names that indicate whether the
2649         associated files are inputs to the Run Script phase or are files
2650         created by the Run Script phase.
2651
2652         * DumpRenderTree/DerivedSources.xcfilelist: Removed.
2653         * WebKitTestRunner/DerivedSources.xcfilelist: Removed.
2654
2655 2018-11-14  Zalan Butjas  <zalan@apple.com>
2656
2657         [LFC][IFC] Add support for in-flow positioned inline boxes.
2658         https://bugs.webkit.org/show_bug.cgi?id=191672
2659
2660         Reviewed by Antti Koivisto.
2661
2662         * LayoutReloaded/misc/LFC-passing-tests.txt:
2663
2664 2018-11-14  Keith Rollin  <krollin@apple.com>
2665
2666         Move scripts for Derived and Unified Sources to external files
2667         https://bugs.webkit.org/show_bug.cgi?id=191670
2668         <rdar://problem/46082278>
2669
2670         Reviewed by Keith Miller.
2671
2672         Move the scripts in the Generate Derived Sources and Generate Unified
2673         Sources Run Script phases from the Xcode projects to external shell
2674         script files. Then invoke those scripts from the Run Script phases.
2675         This refactoring is being performed to support later work that will
2676         invoke these scripts in other contexts.
2677
2678         The scripts were maintained as-is when making the move. I did a little
2679         reformatting and added 'set -e' to the top of each file, but that's
2680         it.
2681
2682         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2683         * DumpRenderTree/Scripts/generate-derived-sources.sh: Added.
2684         * WebKitTestRunner/Scripts/generate-derived-sources.sh: Added.
2685         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2686
2687 2018-11-14  Chris Dumez  <cdumez@apple.com>
2688
2689         WebKit.DecidePolicyForNavigationActionForHyperlinkThatRedirects API fails when PSON is enabled
2690         https://bugs.webkit.org/show_bug.cgi?id=191640
2691
2692         Reviewed by Alex Christensen.
2693
2694         Add API test coverage.
2695
2696         * TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
2697         (runDecidePolicyForNavigationActionForHyperlinkThatRedirects):
2698         (TEST):
2699
2700 2018-11-14  Chris Dumez  <cdumez@apple.com>
2701
2702         REGRESSION (r238115): [iOS] TestWebKitAPI.ProcessSwap.NavigateToInvalidURL is failing
2703         https://bugs.webkit.org/show_bug.cgi?id=191660
2704
2705         Reviewed by Ryosuke Niwa.
2706
2707         The test tries to navigate to an invalid URL and makes sure that we do not process swap
2708         for such load. The test was inherently racing because it was doing:
2709         <body onload="setTimeout(() => alert('DONE'), 0); location.href = 'http://A=a%B=b'">
2710
2711         Its load event handler tries to navigate to 'http://A=a%B=b' and sets a 0 timer to
2712         log an alert, which causes the API test to keep going and check that we did not swap
2713         process. The issue is that a 0 timer may not be sufficient to trigger the load, as
2714         the policy decision is asynchronous and relies on the UIProcess responding to it.
2715
2716         To address the issue, the test now waits for the next policy decision, spins the
2717         run loop and then makes sure we did not swap process. It no longer relies on a message
2718         from the page.
2719
2720         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2721         (-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
2722
2723 2018-11-14  Chris Dumez  <cdumez@apple.com>
2724
2725         WebKit.WebsiteDataStoreCustomPaths API test is failing when enabling process prewarming
2726         https://bugs.webkit.org/show_bug.cgi?id=191638
2727
2728         Reviewed by Alex Christensen.
2729
2730         Add API test coverage.
2731
2732         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
2733         (runWebsiteDataStoreCustomPaths):
2734         (TEST):
2735
2736 2018-11-14  Alex Christensen  <achristensen@webkit.org>
2737
2738         Add SPI to show a safe browsing warning
2739         https://bugs.webkit.org/show_bug.cgi?id=191604
2740
2741         Reviewed by Andy Estes.
2742
2743         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
2744         (TEST):
2745
2746 2018-11-14  Wenson Hsieh  <wenson_hsieh@apple.com>
2747
2748         [iOS] A few drag and drop tests are crashing after r238146
2749         https://bugs.webkit.org/show_bug.cgi?id=191617
2750
2751         Reviewed by Dean Jackson.
2752
2753         Augment these crashing tests to verify that selection commands are suppressed during drop over editable elements
2754         via more robust means. These tests currently hit an assertion when revealing the callout bar too early, because
2755         TestWebKitAPI is not a UI application (see <https://webkit.org/b/190401>).
2756
2757         Instead of relying on this other bug, directly ask the text input whether it is suppressing selection commands
2758         during a drop, and remember the answer via DragAndDropSimulator.
2759
2760         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
2761         (TestWebKitAPI::TEST):
2762
2763         Add to the existing tests that started failing after r238146.
2764
2765         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
2766         * TestWebKitAPI/cocoa/TestWKWebView.h:
2767         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2768         (-[TestWKWebView textInputContentView]):
2769         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
2770         (-[DragAndDropSimulator _resetSimulatedState]):
2771         (-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
2772         * TestWebKitAPI/ios/UIKitSPI.h:
2773
2774 2018-11-14  Wenson Hsieh  <wenson_hsieh@apple.com>
2775
2776         [Cocoa] [WebKit2] Hook up some more editing actions (-pasteAndMatchStyle:, -makeTextWritingDirectionNatural:)
2777         https://bugs.webkit.org/show_bug.cgi?id=191605
2778         <rdar://problem/45813991>
2779
2780         Reviewed by Dean Jackson.
2781
2782         Adds two new API tests to exercise -_pasteAndMatchStyle: and -makeTextWritingDirectionNatural:.
2783
2784         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2785         (-[TestWKWebView _synchronouslyExecuteEditCommand:argument:]): Deleted.
2786         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
2787         (TestWebKitAPI::TEST):
2788         * TestWebKitAPI/cocoa/TestWKWebView.h:
2789         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2790
2791         Pull `-_synchronouslyExecuteEditCommand:argument:` out of WKAttachmentTests and into shared code, in a new
2792         category on WKWebView declared in TestWKWebView. Also, fix an unrelated typo in a nearby category.
2793
2794         (-[WKWebView _synchronouslyExecuteEditCommand:argument:]):
2795         * TestWebKitAPI/ios/UIKitSPI.h:
2796
2797 2018-11-14  Chris Dumez  <cdumez@apple.com>
2798
2799         WebKit.ApplicationManifestBasic API test is failing when enabling PSON
2800         https://bugs.webkit.org/show_bug.cgi?id=191602
2801
2802         Reviewed by Alex Christensen.
2803
2804         Add API test coverage.
2805
2806         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2807
2808 2018-11-14  Jonathan Bedard  <jbedard@apple.com>
2809
2810         webkitpy: Refactor port code for devices
2811         https://bugs.webkit.org/show_bug.cgi?id=191568
2812         <rdar://problem/46005821>
2813
2814         Reviewed by Alex Christensen.
2815
2816         watchOS and iOS device ports share many characteristics in testing, mostly due
2817         to the fact that both are devices.
2818
2819         * Scripts/webkitpy/port/device_port.py: Added.
2820         (DevicePort): Add base class that all simulated/physical device ports share.
2821         (DevicePort.__init__):
2822         (DevicePort.driver_cmd_line_for_logging): Moved from iOS port.
2823         (DevicePort._generate_all_test_configurations): Ditto.
2824         (DevicePort.child_processes): Ditto.
2825         (DevicePort.driver_name): Ditto.
2826         (DevicePort.target_host): Generalize worker access to attached devices and
2827         simulated devices based on the device manager.
2828         (DevicePort.devices): Return a list of all devices associated with this port.
2829         (DevicePort._create_devices):
2830         (DevicePort._build_driver_flags): Moved from iOSSimulatorPort/iOSDevicePort.
2831         (DevicePort._install): Moved from iOS port.
2832         (DevicePort.setup_test_run): Ditto.
2833         (DevicePort.clean_up_test_run): Ditto.
2834         (DevicePort.did_spawn_worker): Ditto.
2835         (DevicePort.setup_environ_for_server): Ditto.
2836         * Scripts/webkitpy/port/ios.py:
2837         (IOSPort):
2838         (IOSPort._device_for_worker_number_map): Replaced by DevicePort.devices().
2839         (IOSPort.driver_cmd_line_for_logging): Moved to DevicePort.
2840         (IOSPort.driver_name): Ditto.
2841         (IOSPort._generate_all_test_configurations): Ditto.
2842         (IOSPort.child_processes): Ditto.
2843         (IOSPort._testing_device): Ditto.
2844         (IOSPort.target_host): Ditto.
2845         (IOSPort._create_devices): Ditto.
2846         (IOSPort.setup_test_run): Ditto.
2847         (IOSPort.clean_up_test_run): Ditto.
2848         (IOSPort.did_spawn_worker): Ditto.
2849         * Scripts/webkitpy/port/ios_device.py:
2850         (IOSDevicePort): IOSDevicePort uses a device manager from apple_additions.
2851         (IOSDevicePort._look_for_all_crash_logs_in_log_dir): Use DevicePort.devices().
2852         (IOSDevicePort._get_crash_log): Ditto.
2853         (IOSDevicePort.ios_version): Ditto.
2854         (IOSDevicePort._create_devices): Ditto.
2855         (IOSDevicePort._device_for_worker_number_map): Replaced by DevicePort.devices().
2856         (IOSSimulatorPort._build_driver_flags): Moved to DevicePort.
2857         * Scripts/webkitpy/port/ios_device_unittest.py:
2858         (IOSDeviceTest.test_get_crash_log):
2859         * Scripts/webkitpy/port/ios_simulator.py:
2860         (IOSSimulatorPort): IOSSimulatorPort uses the SimulatedDeviceManager.
2861         (IOSSimulatorPort._create_devices): Clean up logging statement.
2862         (IOSSimulatorPort.setup_environ_for_server): Some of environment set-up is shared
2863         across all devices.
2864         (IOSSimulatorPort._device_for_worker_number_map): Replaced by DevicePort.devices().
2865         (IOSSimulatorPort._build_driver_flags): Moved to DevicePort.
2866         * Scripts/webkitpy/port/ios_simulator_unittest.py:
2867         (IOSSimulatorTest.test_32bit):
2868         (IOSSimulatorTest.test_64bit):
2869
2870 2018-11-14  Chris Dumez  <cdumez@apple.com>
2871
2872         WebKit.WKHTTPCookieStoreWithoutProcessPool API test is failing with process prewarming is enabled
2873         https://bugs.webkit.org/show_bug.cgi?id=191624
2874
2875         Reviewed by Alex Christensen.
2876
2877         Add API test coverage.
2878
2879         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
2880         (runWKHTTPCookieStoreWithoutProcessPool):
2881         (TEST):
2882
2883 2018-11-13  Jiewen Tan  <jiewen_tan@apple.com>
2884
2885         [WebAuthN] Support CTAP HID authenticators on macOS
2886         https://bugs.webkit.org/show_bug.cgi?id=188623
2887         <rdar://problem/43353777>
2888
2889         Reviewed by Brent Fulgham and Chris Dumez.
2890
2891         This patch adds support for the mock testing and entitlements to allow minibrowser to talk
2892         to hid devices.
2893
2894         * MiniBrowser/MiniBrowser.entitlements:
2895         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2896         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
2897
2898 2018-11-13  Ryosuke Niwa  <rniwa@webkit.org>
2899
2900         WebKit.GeolocationTransitionToLowAccuracy API crashes when enabling PSON
2901         https://bugs.webkit.org/show_bug.cgi?id=191616
2902
2903         Reviewed by Chris Dumez.
2904
2905         The crash was caused by WKView in autorelease pool invoking stopUpdatingCallback after
2906         GeolocationTransitionToLowAccuracyStateTracker in the stack had been destroyed,
2907         resulting in the use-after-free.
2908
2909         Made the tests more robust by clearing geolocation provider before exiting each test
2910         since we can't really prevent WKView from entering an autorelease pool.
2911
2912         Also made WebKit.GeolocationTransitionToLowAccuracy wait for the success callback
2913         instead of simply the end of the navigation so that the test would continue to work
2914         even if a web content process was created for the second web view (lowAccuracyWebView)
2915
2916         * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
2917         (TestWebKitAPI::setupGeolocationProvider): Moved "*" to match the WebKit coding style guideline.
2918         (TestWebKitAPI::clearGeolocationProvider): Added.
2919         (TestWebKitAPI::runJavaScriptAlert): Added.
2920         (TestWebKitAPI::didFinishNavigation): Deleted.
2921         * TestWebKitAPI/Tests/WebKit/geolocationWatchPosition.html:
2922
2923 2018-11-13  Chris Dumez  <cdumez@apple.com>
2924
2925         WKProcessPool.InitialWarmedProcessUsed API is failing with PSON enabled
2926         https://bugs.webkit.org/show_bug.cgi?id=191618
2927
2928         Reviewed by Ryosuke Niwa.
2929
2930         Update API test to explicitly disable automatic process prewarning since it is testing
2931         manual prewarming.
2932
2933         * TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm:
2934         (TEST):
2935
2936 2018-11-13  Chris Dumez  <cdumez@apple.com>
2937
2938         Several Service Worker API tests are failing when enabling PSON
2939         https://bugs.webkit.org/show_bug.cgi?id=191619
2940
2941         Reviewed by Youenn Fablet.
2942
2943         Update tests to use _webProcessCountIgnoringPrewarmed instead of _webProcessCount so that they are
2944         not impacted by process prewarming.
2945
2946         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2947
2948 2018-11-13  Wenson Hsieh  <wenson_hsieh@apple.com>
2949
2950         [iOS] Do not show selection UI for editable elements with opacity near zero
2951         https://bugs.webkit.org/show_bug.cgi?id=191442
2952         <rdar://problem/45958625>
2953
2954         Reviewed by Simon Fraser.
2955
2956         Add a couple of new testing helpers to UIScriptController.
2957
2958         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
2959         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2960         (WTR::UIScriptController::textSelectionRangeRects const):
2961         (WTR::UIScriptController::selectionCaretViewRect const):
2962         (WTR::UIScriptController::selectionRangeViewRects const):
2963         * TestRunnerShared/UIScriptContext/UIScriptController.h:
2964         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
2965         (WTR::UIScriptController::textSelectionRangeRects const):
2966
2967         Rename `selectionRangeViewRects` to `textSelectionRangeRects`. This allows us to draw a distinction between
2968         `textSelectionRangeRects`/`textSelectionCaretRect`, which retrieve information about selection rects known
2969         to the text interaction assistant, and `selectionCaretViewRect`/`selectionRangeViewRects`, which retrieve the
2970         actual frames of the selection views used to draw overlaid selection UI. This difference is important in the
2971         new layout tests added in this patch, which only suppress caret rendering (i.e. selection views remain hidden).
2972
2973         Also, drive-by fix a leaked `NSMutableArray`.
2974
2975         (WTR::UIScriptController::selectionStartGrabberViewRect const):
2976         (WTR::UIScriptController::selectionEndGrabberViewRect const):
2977         (WTR::UIScriptController::selectionCaretViewRect const):
2978         (WTR::UIScriptController::selectionRangeViewRects const):
2979
2980         Testing helpers to grab the frames of caret and selection views, in WKContentView's coordinate space. These
2981         rects are also clamped to WKContentView bounds.
2982
2983 2018-11-13  Daniel Bates  <dabates@apple.com>
2984
2985         Consolidate WebKit UIKitSPI.h and UIKitTestSPI.h
2986         https://bugs.webkit.org/show_bug.cgi?id=173341
2987         <rdar://problem/32752890>
2988
2989         Reviewed by Simon Fraser.
2990
2991         There is little value to making a distinction between forward declarations
2992         of UIKit SPI needed in the WebKit layer and just for testing. Moreover,
2993         the contents of these two headers can conflict with each other following
2994         r218275 as DumpRenderTree includes both headers. Instead we should remove
2995         UIKitTestSPI.h and have WebKitTestRunner include the WebKit variant, UIKitSPI.h.
2996
2997         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2998         * DumpRenderTree/mac/DumpRenderTree.mm:
2999         * TestRunnerShared/spi/UIKitTestSPI.h: Removed.
3000         * WebKitTestRunner/Configurations/Base.xcconfig:
3001         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3002         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
3003         * WebKitTestRunner/ios/GeneratedTouchesDebugWindow.mm:
3004         * WebKitTestRunner/ios/HIDEventGenerator.h:
3005         * WebKitTestRunner/ios/HIDEventGenerator.mm:
3006         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
3007         * WebKitTestRunner/ios/TestControllerIOS.mm:
3008         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3009         * WebKitTestRunner/ios/mainIOS.mm:
3010
3011 2018-11-13  Takashi Komori  <Takashi.Komori@sony.com>
3012
3013         Remove WebKitTestRunnerLib's build warnings.
3014         https://bugs.webkit.org/show_bug.cgi?id=191580
3015
3016         Reviewed by Fujii Hironori.
3017
3018         Include cmakeconfig.h in precompiled header.
3019
3020         * WebKitTestRunner/WebKitTestRunnerPrefix.h:
3021
3022 2018-11-12  Darshan Kadu  <darsh7807@gmail.com>
3023
3024         Implement Cache API support for WPE/GTK
3025         https://bugs.webkit.org/show_bug.cgi?id=178316
3026
3027         Reviewed by Michael Catanzaro.
3028
3029         Called WKWebsiteDataStoreSetCacheStoragePerOriginQuota function to set the cache limit to 400 * 1200
3030         on all the platforms in TestController.cpp. Also, removed the setCacheStoragePerOriginQuota call from TestControllerCocoa.mm
3031
3032         * WebKitTestRunner/TestController.cpp:
3033         (WTR::TestController::generatePageConfiguration):
3034         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
3035         (WTR::initializeWebViewConfiguration):
3036
3037 2018-11-12  Christopher Reid  <chris.reid@sony.com>
3038
3039         [Curl] Reject entire cookie if the domain fails a tailmatch.
3040         https://bugs.webkit.org/show_bug.cgi?id=191406
3041
3042         Reviewed by Youenn Fablet.
3043
3044         Added unittests for Curl cookie implementation.
3045
3046         * TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp:
3047         (TestWebKitAPI::Curl::CurlCookies::RejectTailmatchFailureDomain):
3048
3049 2018-11-12  Alex Christensen  <achristensen@webkit.org>
3050
3051         [iOS] Implement safe browsing in WebKit
3052         https://bugs.webkit.org/show_bug.cgi?id=191441
3053
3054         Reviewed by Tim Horton.
3055
3056         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
3057         (checkTitleAndClick):
3058         (TEST):
3059
3060 2018-11-12  Basuke Suzuki  <basuke.suzuki@sony.com>
3061
3062         [Curl] Add API Test for Curl cookie backend.
3063         https://bugs.webkit.org/show_bug.cgi?id=191493
3064
3065         Reviewed by Youenn Fablet.
3066
3067         Add unit test to TestWebCore.
3068
3069         * TestWebKitAPI/PlatformWin.cmake:
3070         * TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp: Added.
3071
3072 2018-11-12  Tim Horton  <timothy_horton@apple.com>
3073
3074         Make it possible to edit images inline
3075         https://bugs.webkit.org/show_bug.cgi?id=191352
3076         <rdar://problem/30107985>
3077
3078         Reviewed by Dean Jackson.
3079
3080         * WebKitTestRunner/TestController.cpp:
3081         (WTR::updateTestOptionsFromTestHeader):
3082         * WebKitTestRunner/TestOptions.h:
3083         (WTR::TestOptions::hasSameInitializationOptions const):
3084         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3085         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
3086         (WTR::TestController::platformCreateWebView):
3087         Add a test option to enable editable images.
3088
3089         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3090         (WTR::UIScriptController::drawSquareInEditableImage):
3091         (WTR::UIScriptController::numberOfStrokesInEditableImage):
3092         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3093         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3094         (WTR::UIScriptController::drawSquareInEditableImage):
3095         (WTR::UIScriptController::numberOfStrokesInEditableImage):
3096         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3097         * TestRunnerShared/spi/PencilKitTestSPI.h: Added.
3098         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3099         (WTR::findEditableImageCanvas):
3100         (WTR::UIScriptController::drawSquareInEditableImage):
3101         (WTR::UIScriptController::numberOfStrokesInEditableImage):
3102         Add the ability to draw on a PKCanvasView that is a subview of the WKWebView,
3103         and also to retrieve the number of strokes currently on the PKCanvasView.
3104         Currently this just takes the first canvas; we might need to make it
3105         take an identifier or something in the future if we need tests with multiple
3106         canvases. The indirect testing mechanism is required because PKCanvasView
3107         can currently not actually paint its strokes in the Simulator.
3108
3109 2018-11-12  Ryan Haddad  <ryanhaddad@apple.com>
3110
3111         [MediaStream] Screen capture should be an experimental feature on OSX only
3112         https://bugs.webkit.org/show_bug.cgi?id=191552
3113
3114         Unreviewed test gardening.
3115
3116         * TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm: Only run these tests on macOS.
3117
3118 2018-11-12  Don Olmstead  <don.olmstead@sony.com>
3119
3120         Shipped PNGs include bad profiles: iCCP: known incorrect sRGB profile
3121         https://bugs.webkit.org/show_bug.cgi?id=189230
3122         <rdar://problem/44050379>
3123
3124         Reviewed by Joseph Pecoraro.
3125
3126         Runs all png images through zopflipng. This results in a smaller file
3127         size and takes care of this issue as a byproduct.
3128
3129         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/images/favicon-green.png:
3130         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/images/favicon-red.png:
3131         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/ElCapitan.png:
3132         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/ElCapitan@2x.png:
3133         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/GTK.png:
3134         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/GTK@2x.png:
3135         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra.png:
3136         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/HighSierra@2x.png:
3137         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10.png:
3138         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10@2x.png:
3139         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10Simulator.png:
3140         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10Simulator@2x.png:
3141         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11.png:
3142         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11@2x.png:
3143         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11Simulator.png:
3144         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS11Simulator@2x.png:
3145         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12.png:
3146         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12@2x.png:
3147         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator.png:
3148         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator@2x.png:
3149         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9.png:
3150         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9@2x.png:
3151         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9Simulator.png:
3152         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS9Simulator@2x.png:
3153         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice.png:
3154         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice@2x.png:
3155         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSSimulator.png:
3156         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSSimulator@2x.png:
3157         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mavericks.png:
3158         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mavericks@2x.png:
3159         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave.png:
3160         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Mojave@2x.png:
3161         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/MountainLion.png:
3162         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/MountainLion@2x.png:
3163         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/PlatformRing.png:
3164         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/PlatformRing@2x.png:
3165         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra.png:
3166         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra@2x.png:
3167         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WPE.png:
3168         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WPE@2x.png:
3169         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10.png:
3170         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10@2x.png:
3171         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows7.png:
3172         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows7@2x.png:
3173         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows8.png:
3174         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows8@2x.png:
3175         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WindowsXP.png:
3176         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/WindowsXP@2x.png:
3177         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Yosemite.png:
3178         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Yosemite@2x.png:
3179
3180 2018-11-12  Tim Horton  <timothy_horton@apple.com>
3181
3182         Modernize WebKit Tools Xcode projects for localization's sake
3183         https://bugs.webkit.org/show_bug.cgi?id=191495
3184
3185         Reviewed by Alexey Proskuryakov.
3186
3187         * ContentExtensionTester/ContentExtensionTester.xcodeproj/project.pbxproj:
3188         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
3189         * EditingHistory/EditingHistory.xcodeproj/project.pbxproj:
3190         * FontWithFeatures/FontWithFeatures.xcodeproj/project.pbxproj:
3191         * ImageDiff/ImageDiff.xcodeproj/project.pbxproj:
3192         * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
3193         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
3194         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3195         * WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj:
3196         * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
3197         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3198         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
3199         These are less important because they're not localized, but since
3200         I made the style checker complain, it now complains any time anyone
3201         touches any of these projects... so upgrade them.
3202
3203 2018-11-12  Jonathan Bedard  <jbedard@apple.com>
3204
3205         webkitpy: Check for specific process instead of using data migrator
3206         https://bugs.webkit.org/show_bug.cgi?id=191551
3207         <rdar://problem/45993156>
3208
3209         Rubber-stamped by Aakash Jain.
3210
3211         It's possible for the data migrator process to be stuck, but for a simulator to be
3212         usable. Use device-specific processes to detect when a device is usable.
3213
3214         * Scripts/webkitpy/xcode/simulated_device.py:
3215         (SimulatedDeviceManager._wait_until_device_is_usable):
3216         (SimulatedDeviceManager):
3217         (SimulatedDeviceManager.initialize_devices): Explicitly wait until a device is usable
3218         since this implies that a device is booted.
3219         (SimulatedDeviceManager.swap): Ditto.
3220         (SimulatedDevice.is_usable): Check that a device is booted and that a device-specific
3221         process indicating the device is usable can be found.
3222         (SimulatedDeviceManager.wait_until_data_migration_is_done): Deleted.
3223         * Scripts/webkitpy/xcode/simulated_device_unittest.py: Update simctl_json so that
3224         it triggers the logic in is_usable()
3225
3226 2018-11-12  Takashi Komori  <Takashi.Komori@sony.com>
3227
3228         Resurrect WebKitTestRunner for Windows port
3229         https://bugs.webkit.org/show_bug.cgi?id=189257
3230
3231         Reviewed by Fujii Hironori.
3232
3233         Implement WebKitTestRunner for WinCairo.
3234
3235         * PlatformWin.cmake:
3236         * Scripts/build-webkittestrunner:
3237         * WebKitTestRunner/CMakeLists.txt:
3238         * WebKitTestRunner/EventSenderProxy.h:
3239         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
3240         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
3241         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
3242         * WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp:
3243         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3244         (WTR::rangeToStr):
3245         (WTR::InjectedBundlePage::dumpDOMAsWebArchive):
3246         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3247         (WTR::TestRunner::TestRunner):
3248         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3249         * WebKitTestRunner/InjectedBundle/win/AccessibilityControllerWin.cpp: Added.
3250         (WTR::AccessibilityController::resetToConsistentState):
3251         (WTR::AccessibilityController::accessibleElementById):
3252         (WTR::AccessibilityController::platformName):
3253         (WTR::AccessibilityController::rootElement):
3254         (WTR::AccessibilityController::focusedElement):
3255         (WTR::AccessibilityController::addNotificationListener):
3256         (WTR::AccessibilityController::removeNotificationListener):
3257         * WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp: Added.
3258         (WTR::AccessibilityUIElement::AccessibilityUIElement):
3259         (WTR::AccessibilityUIElement::~AccessibilityUIElement):
3260         (WTR::AccessibilityUIElement::isEqual):
3261         (WTR::AccessibilityUIElement::getChildren):
3262         (WTR::AccessibilityUIElement::getChildrenWithRange):
3263         (WTR::AccessibilityUIElement::childrenCount):
3264         (WTR::AccessibilityUIElement::elementAtPoint):
3265         (WTR::AccessibilityUIElement::indexOfChild):
3266         (WTR::AccessibilityUIElement::childAtIndex):
3267         (WTR::AccessibilityUIElement::linkedUIElementAtIndex):
3268         (WTR::AccessibilityUIElement::ariaOwnsElementAtIndex):
3269         (WTR::AccessibilityUIElement::ariaFlowToElementAtIndex):
3270         (WTR::AccessibilityUIElement::ariaControlsElementAtIndex):
3271         (WTR::AccessibilityUIElement::disclosedRowAtIndex):
3272         (WTR::AccessibilityUIElement::rowAtIndex):
3273         (WTR::AccessibilityUIElement::selectedChildAtIndex const):
3274         (WTR::AccessibilityUIElement::selectedChildrenCount const):
3275         (WTR::AccessibilityUIElement::selectedRowAtIndex):
3276         (WTR::AccessibilityUIElement::titleUIElement):
3277         (WTR::AccessibilityUIElement::parentElement):
3278         (WTR::AccessibilityUIElement::disclosedByRow):
3279         (WTR::AccessibilityUIElement::attributesOfLinkedUIElements):
3280         (WTR::AccessibilityUIElement::attributesOfDocumentLinks):
3281         (WTR::AccessibilityUIElement::attributesOfChildren):
3282         (WTR::AccessibilityUIElement::allAttributes):
3283         (WTR::AccessibilityUIElement::stringAttributeValue):
3284         (WTR::AccessibilityUIElement::numberAttributeValue):
3285         (WTR::AccessibilityUIElement::uiElementArrayAttributeValue const):
3286         (WTR::AccessibilityUIElement::rowHeaders const):
3287         (WTR::AccessibilityUIElement::columnHeaders const):
3288         (WTR::AccessibilityUIElement::uiElementAttributeValue const):
3289         (WTR::AccessibilityUIElement::boolAttributeValue):
3290         (WTR::AccessibilityUIElement::isAttributeSettable):
3291         (WTR::AccessibilityUIElement::isAttributeSupported):
3292         (WTR::AccessibilityUIElement::parameterizedAttributeNames):
3293         (WTR::AccessibilityUIElement::role):
3294         (WTR::AccessibilityUIElement::subrole):
3295         (WTR::AccessibilityUIElement::roleDescription):
3296         (WTR::AccessibilityUIElement::computedRoleString):
3297         (WTR::AccessibilityUIElement::title):
3298         (WTR::AccessibilityUIElement::description):
3299         (WTR::AccessibilityUIElement::orientation const):
3300         (WTR::AccessibilityUIElement::stringValue):
3301         (WTR::AccessibilityUIElement::language):
3302         (WTR::AccessibilityUIElement::helpText const):
3303         (WTR::AccessibilityUIElement::x):
3304         (WTR::AccessibilityUIElement::y):
3305         (WTR::AccessibilityUIElement::width):
3306         (WTR::AccessibilityUIElement::height):
3307         (WTR::AccessibilityUIElement::clickPointX):
3308         (WTR::AccessibilityUIElement::clickPointY):
3309         (WTR::AccessibilityUIElement::intValue const):
3310         (WTR::AccessibilityUIElement::minValue):
3311         (WTR::AccessibilityUIElement::maxValue):
3312         (WTR::AccessibilityUIElement::valueDescription):
3313         (WTR::AccessibilityUIElement::insertionPointLineNumber):
3314         (WTR::AccessibilityUIElement::isPressActionSupported):
3315         (WTR::AccessibilityUIElement::isIncrementActionSupported):
3316         (WTR::AccessibilityUIElement::isDecrementActionSupported):
3317         (WTR::AccessibilityUIElement::isEnabled):
3318         (WTR::AccessibilityUIElement::isRequired const):
3319         (WTR::AccessibilityUIElement::isFocused const):
3320         (WTR::AccessibilityUIElement::isSelected const):
3321         (WTR::AccessibilityUIElement::isSelectedOptionActive const):
3322         (WTR::AccessibilityUIElement::isExpanded const):
3323         (WTR::AccessibilityUIElement::isChecked const):
3324         (WTR::AccessibilityUIElement::isIndeterminate const):
3325         (WTR::AccessibilityUIElement::hierarchicalLevel const):
3326         (WTR::AccessibilityUIElement::speakAs):
3327         (WTR::AccessibilityUIElement::ariaIsGrabbed const):
3328         (WTR::AccessibilityUIElement::ariaDropEffects const):
3329         (WTR::AccessibilityUIElement::lineForIndex):
3330         (WTR::AccessibilityUIElement::rangeForLine):
3331         (WTR::AccessibilityUIElement::rangeForPosition):
3332         (WTR::AccessibilityUIElement::boundsForRange):
3333         (WTR::AccessibilityUIElement::stringForRange):
3334         (WTR::AccessibilityUIElement::attributedStringForRange):
3335         (WTR::AccessibilityUIElement::attributedStringRangeIsMisspelled):
3336         (WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
3337         (WTR::AccessibilityUIElement::uiElementForSearchPredicate):
3338         (WTR::AccessibilityUIElement::selectTextWithCriteria):
3339         (WTR::AccessibilityUIElement::attributesOfColumnHeaders):
3340         (WTR::AccessibilityUIElement::attributesOfRowHeaders):
3341         (WTR::AccessibilityUIElement::attributesOfColumns):
3342         (WTR::AccessibilityUIElement::attributesOfRows):
3343         (WTR::AccessibilityUIElement::attributesOfVisibleCells):
3344         (WTR::AccessibilityUIElement::attributesOfHeader):
3345         (WTR::AccessibilityUIElement::rowCount):
3346         (WTR::AccessibilityUIElement::columnCount):
3347         (WTR::AccessibilityUIElement::indexInTable):
3348         (WTR::AccessibilityUIElement::rowIndexRange):
3349         (WTR::AccessibilityUIElement::columnIndexRange):
3350         (WTR::AccessibilityUIElement::cellForColumnAndRow):
3351         (WTR::AccessibilityUIElement::horizontalScrollbar const):
3352         (WTR::AccessibilityUIElement::verticalScrollbar const):
3353         (WTR::AccessibilityUIElement::selectedTextRange):
3354         (WTR::AccessibilityUIElement::setSelectedTextRange):
3355         (WTR::AccessibilityUIElement::increment):
3356         (WTR::AccessibilityUIElement::decrement):
3357         (WTR::AccessibilityUIElement::showMenu):
3358         (WTR::AccessibilityUIElement::press):
3359         (WTR::AccessibilityUIElement::setSelectedChild const):
3360         (WTR::AccessibilityUIElement::setSelectedChildAtIndex const):
3361         (WTR::AccessibilityUIElement::removeSelectionAtIndex const):
3362         (WTR::AccessibilityUIElement::clearSelectedChildren const):
3363         (WTR::AccessibilityUIElement::accessibilityValue const):
3364         (WTR::AccessibilityUIElement::documentEncoding):
3365         (WTR::AccessibilityUIElement::documentURI):
3366         (WTR::AccessibilityUIElement::url):
3367         (WTR::AccessibilityUIElement::addNotificationListener):
3368         (WTR::AccessibilityUIElement::removeNotificationListener):
3369         (WTR::AccessibilityUIElement::isFocusable const):
3370         (WTR::AccessibilityUIElement::isSelectable const):
3371         (WTR::AccessibilityUIElement::isMultiSelectable const):
3372         (WTR::AccessibilityUIElement::isVisible const):
3373         (WTR::AccessibilityUIElement::isOffScreen const):
3374         (WTR::AccessibilityUIElement::isCollapsed const):
3375         (WTR::AccessibilityUIElement::isIgnored const):
3376         (WTR::AccessibilityUIElement::isSingleLine const):
3377         (WTR::AccessibilityUIElement::isMultiLine const):
3378         (WTR::AccessibilityUIElement::hasPopup const):
3379         (WTR::AccessibilityUIElement::takeFocus):
3380         (WTR::AccessibilityUIElement::takeSelection):
3381         (WTR::AccessibilityUIElement::addSelection):
3382         (WTR::AccessibilityUIElement::removeSelection):
3383         (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
3384         (WTR::AccessibilityUIElement::textMarkerRangeForElement):
3385         (WTR::AccessibilityUIElement::textMarkerRangeLength):
3386         (WTR::AccessibilityUIElement::previousTextMarker):
3387         (WTR::AccessibilityUIElement::nextTextMarker):
3388         (WTR::AccessibilityUIElement::stringForTextMarkerRange):
3389         (WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
3390         (WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):
3391         (WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange):
3392         (WTR::AccessibilityUIElement::endTextMarkerForBounds):
3393         (WTR::AccessibilityUIElement::startTextMarkerForBounds):
3394         (WTR::AccessibilityUIElement::textMarkerForPoint):
3395         (WTR::AccessibilityUIElement::accessibilityElementForTextMarker):
3396         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
3397         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
3398         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute):
3399         (WTR::AccessibilityUIElement::indexForTextMarker):
3400         (WTR::AccessibilityUIElement::isTextMarkerValid):
3401         (WTR::AccessibilityUIElement::textMarkerForIndex):
3402         (WTR::AccessibilityUIElement::startTextMarker):
3403         (WTR::AccessibilityUIElement::endTextMarker):
3404         (WTR::AccessibilityUIElement::setSelectedVisibleTextRange):
3405         (WTR::AccessibilityUIElement::scrollToMakeVisible):
3406         (WTR::AccessibilityUIElement::scrollToGlobalPoint):
3407         (WTR::AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
3408         (WTR::AccessibilityUIElement::supportedActions const):
3409         (WTR::AccessibilityUIElement::pathDescription const):
3410         (WTR::AccessibilityUIElement::mathPostscriptsDescription const):
3411         (WTR::AccessibilityUIElement::mathPrescriptsDescription const):
3412         (WTR::AccessibilityUIElement::classList const):
3413         (WTR::AccessibilityUIElement::characterAtOffset):
3414         (WTR::AccessibilityUIElement::wordAtOffset):
3415         (WTR::AccessibilityUIElement::lineAtOffset):
3416         (WTR::AccessibilityUIElement::sentenceAtOffset):
3417         * WebKitTestRunner/InjectedBundle/win/ActivateFontsWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp.
3418         (WTR::activateFonts):
3419         (WTR::installFakeHelvetica):
3420         (WTR::uninstallFakeHelvetica):
3421         * WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp.
3422         (WTR::InjectedBundle::platformInitialize):
3423         * WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.cpp: Added.
3424         * WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.h: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp.
3425         * WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp.
3426         (WTR::TestRunner::pathToLocalResource):
3427         (WTR::TestRunner::inspectorTestStubURL):
3428         (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
3429         (WTR::TestRunner::platformInitialize):
3430         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
3431         (WTR::TestRunner::installFakeHelvetica):
3432         * WebKitTestRunner/PlatformWebView.h:
3433         * WebKitTestRunner/PlatformWin.cmake: Added.
3434         * WebKitTestRunner/TestController.cpp:
3435         (WTR::TestController::resetStateToConsistentValues):
3436         (WTR::createTestURL):
3437         * WebKitTestRunner/TestInvocation.cpp:
3438         * WebKitTestRunner/WebKitTestRunnerPrefix.h:
3439         * WebKitTestRunner/win/EventSenderProxyWin.cpp: Added.
3440         (WTR::EventSenderProxy::EventSenderProxy):
3441         (WTR::EventSenderProxy::~EventSenderProxy):
3442         (WTR::EventSenderProxy::mouseDown):
3443         (WTR::EventSenderProxy::mouseUp):
3444         (WTR::EventSenderProxy::mouseMoveTo):
3445         (WTR::EventSenderProxy::mouseScrollBy):
3446         (WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases):
3447         (WTR::EventSenderProxy::continuousMouseScrollBy):
3448         (WTR::EventSenderProxy::leapForward):
3449         (WTR::EventSenderProxy::keyDown):
3450         * WebKitTestRunner/win/PlatformWebViewWin.cpp: Added.
3451         (WTR::registerWindowClass):
3452         (WTR::PlatformWebView::PlatformWebView):
3453         (WTR::PlatformWebView::~PlatformWebView):
3454         (WTR::PlatformWebView::resizeTo):
3455         (WTR::PlatformWebView::page):
3456         (WTR::PlatformWebView::focus):
3457         (WTR::PlatformWebView::windowFrame):
3458         (WTR::PlatformWebView::setWindowFrame):
3459         (WTR::PlatformWebView::didInitializeClients):
3460         (WTR::PlatformWebView::addChromeInputField):
3461         (WTR::PlatformWebView::removeChromeInputField):
3462         (WTR::PlatformWebView::addToWindow):
3463         (WTR::PlatformWebView::removeFromWindow):
3464         (WTR::PlatformWebView::setWindowIsKey):
3465         (WTR::PlatformWebView::makeWebViewFirstResponder):
3466         (WTR::generateCairoSurfaceFromBitmap):
3467         (WTR::PlatformWebView::windowSnapshotImage):
3468         (WTR::PlatformWebView::changeWindowScaleIfNeeded):
3469         (WTR::PlatformWebView::setNavigationGesturesEnabled):
3470         (WTR::PlatformWebView::forceWindowFramesChanged):
3471         (WTR::PlatformWebView::drawsBackground const):
3472         (WTR::PlatformWebView::setDrawsBackground):
3473         * WebKitTestRunner/win/TestControllerWin.cpp: Added.
3474         (WTR::exceptionFilter):
3475         (WTR::runRunLoopUntil):
3476         (WTR::TestController::notifyDone):
3477         (WTR::TestController::setHidden):
3478         (WTR::TestController::platformInitialize):
3479         (WTR::TestController::platformPreferences):
3480         (WTR::TestController::platformDestroy):
3481         (WTR::toWK):
3482         (WTR::TestController::platformInitializeContext):
3483         (WTR::TestController::platformRunUntil):
3484         (WTR::TestController::platformDidCommitLoadForFrame):
3485         (WTR::TestController::initializeInjectedBundlePath):
3486         (WTR::TestController::initializeTestPluginDirectory):
3487         (WTR::TestController::runModal):
3488         (WTR::TestController::platformContext):
3489         (WTR::TestController::platformLibraryPathForTesting):
3490         (WTR::TestController::platformConfigureViewForTest):
3491         (WTR::TestController::platformResetPreferencesToConsistentValues):
3492         (WTR::TestController::updatePlatformSpecificTestOptionsForTest const):
3493         * WebKitTestRunner/win/WebKitTestRunnerPrefix.cpp: Added.
3494         * WebKitTestRunner/win/main.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp.
3495         (dllLauncherEntryPoint):
3496
3497 2018-11-12  Alicia Boya García  <aboya@igalia.com>
3498
3499         [MSE][GStreamer] Introduce AbortableTaskQueue
3500         https://bugs.webkit.org/show_bug.cgi?id=190902
3501
3502         Reviewed by Xabier Rodriguez-Calvar.
3503
3504         Tests for AbortableTaskQueue are included.
3505
3506         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3507         * TestWebKitAPI/PlatformGTK.cmake:
3508         * TestWebKitAPI/Tests/WebCore/AbortableTaskQueue.cpp: Added.
3509         (TestWebKitAPI::TEST):
3510         (TestWebKitAPI::FancyResponse::FancyResponse):
3511         (TestWebKitAPI::FancyResponse::operator=):
3512         (TestWebKitAPI::DeterministicScheduler::DeterministicScheduler):
3513         (TestWebKitAPI::DeterministicScheduler::ThreadContext::ThreadContext):
3514         (TestWebKitAPI::DeterministicScheduler::ThreadContext::waitMyTurn):
3515         (TestWebKitAPI::DeterministicScheduler::ThreadContext::yieldToThread):
3516
3517 2018-11-11  Fujii Hironori  <Hironori.Fujii@sony.com>
3518
3519         run-bindings-tests is timing out in some WinCairo bots
3520         https://bugs.webkit.org/show_bug.cgi?id=191348
3521
3522         Reviewed by Alex Christensen.
3523
3524         BuildBot kills run-bindings-tests if it outputs nothing for 20
3525         minutes. run-bindings-tests runs very slowly in WinCairo Docker,
3526         and it takes more than 30 minutes to finish. And, Windows Python
3527         buffers the progress output.
3528
3529         * Scripts/webkitpy/bindings/main.py:
3530         (BindingsTests.detect_changes): Call sys.stdout.flush() after the
3531         test case result is output.
3532
3533 2018-11-11  Wenson Hsieh  <wenson_hsieh@apple.com>
3534
3535         Implement a new edit command to change the enclosing list type
3536         https://bugs.webkit.org/show_bug.cgi?id=191487
3537         <rdar://problem/45955922>
3538
3539         Reviewed by Ryosuke Niwa.
3540
3541         Add a new API test to verify that `-[WKWebView _changeListType:]` is hooked up to the corresponding editing
3542         command in WebCore. See the new layout test for a test that exercises more nuanced corner cases.
3543
3544         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3545         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
3546         (-[TestWKWebView setPosition:offset:]):
3547         (-[TestWKWebView setBase:baseOffset:extent:extentOffset:]):
3548         (TestWebKitAPI::webViewForEditActionTestingWithPageNamed):
3549         (TestWebKitAPI::TEST):
3550         * TestWebKitAPI/Tests/WebKitCocoa/editable-nested-lists.html: Added.
3551
3552 2018-11-11  Dan Bernstein  <mitz@apple.com>
3553
3554         ProcessPoolConfiguration::copy() doesn’t copy m_customWebContentServiceBundleIdentifier
3555         https://bugs.webkit.org/show_bug.cgi?id=191514
3556
3557         Reviewed by Geoffrey Garen.
3558
3559         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3560         * TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm: Added.
3561         (TEST):
3562
3563 2018-11-11  Benjamin Poulain  <benjamin@webkit.org>
3564
3565         Fix a fixme: rename wtfObjcMsgSend to wtfObjCMsgSend
3566         https://bugs.webkit.org/show_bug.cgi?id=191492
3567
3568         Reviewed by Alex Christensen.
3569
3570         Update file name.
3571
3572         * DumpRenderTree/mac/DumpRenderTree.mm:
3573         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
3574         * WebKitTestRunner/mac/TestControllerMac.mm:
3575
3576 2018-11-10  Benjamin Poulain  <benjamin@webkit.org>
3577
3578         Fix a fixme: rename wtfObjcMsgSend to wtfObjCMsgSend
3579         https://bugs.webkit.org/show_bug.cgi?id=191492
3580
3581         Reviewed by Alex Christensen.
3582
3583         * DumpRenderTree/mac/DumpRenderTree.mm:
3584         * WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:
3585         * WebKitTestRunner/mac/TestControllerMac.mm:
3586
3587 2018-11-10  Ryan Haddad  <ryanhaddad@apple.com>
3588
3589         Unreviewed, rolling out r238065.
3590
3591         Breaks internal builds.
3592
3593         Reverted changeset:
3594
3595         "Make it possible to edit images inline"
3596         https:/