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