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