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