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