REGRESSION (r234081): TestWebKitAPI.VideoControlsManager.VideoControlsManagerAudioEle...
[WebKit-https.git] / Tools / ChangeLog
1 2018-09-04  Jer Noble  <jer.noble@apple.com>
2
3         REGRESSION (r234081): TestWebKitAPI.VideoControlsManager.VideoControlsManagerAudioElementFollowingUserInteraction is a flaky timeout
4         https://bugs.webkit.org/show_bug.cgi?id=187972
5         <rdar://problem/42667737>
6
7         Reviewed by Darin Adler.
8
9         Ensure that listeners are added in time to catch messages broadcast at them.
10
11         * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
12         (TestWebKitAPI::TEST):
13
14 2018-09-04  Ross Kirsling  <ross.kirsling@sony.com>
15
16         Update googletest
17         https://bugs.webkit.org/show_bug.cgi?id=175722
18
19         Reviewed by Brent Fulgham.
20
21         * TestWebKitAPI/config.h:
22         Instead of modifying the gtest source, add the necessary WTF includes here.
23
24         * TestWebKitAPI/Configurations/Base.xcconfig
25         Remove obsoleted definitions GTEST_HAS_TR1_TUPLE=0 and GTEST_HAS_RTTI=0.
26
27 2018-09-03  Pablo Saavedra  <psaavedra@igalia.com>
28
29         [WPE] Add more WPE bots to dashboard
30         https://bugs.webkit.org/show_bug.cgi?id=189245
31
32         Reviewed by Daniel Bates.
33
34         There are two missing bots which are not listed in the dashboard for
35         a while: WPE Linux 64-bit Debug (Build) and WPE Linux 64-bit Debug (Tests)
36
37         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
38         (WebKitBuildbot):
39
40 2018-09-01  Michael Catanzaro  <mcatanzaro@igalia.com>
41
42         [WPE] 2.21.91 fails to build with ENABLE_MINIBROWSER
43         https://bugs.webkit.org/show_bug.cgi?id=189006
44
45         Reviewed by Darin Adler.
46
47         The MiniBrowser source code is missing from the tarball. Oops! Add it.
48
49         * wpe/manifest.txt.in:
50
51 2018-09-01  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
52
53         [WinCairo] Add CryptoDigestOpenSSL
54         https://bugs.webkit.org/show_bug.cgi?id=188978
55
56         Reviewed by Darin Adler.
57
58         Add API tests for the PAL::CryptoDigest class.
59
60         * TestWebKitAPI/PlatformWin.cmake:
61         Add CryptoDigest.cpp to TestWebCoreLib_Sources.
62
63         Define -DSTATICALLY_LINKED_WITH_PAL=1 to avoid warnings since
64         without the definition the functions marked with PAL_EXPORT are supposed to be
65         imported from another shared library, but as it is, TestWebCoreLib
66         links PAL statically.
67
68         * TestWebKitAPI/Tests/WebCore/CryptoDigest.cpp: Added.
69         (TestWebKitAPI::toHex):
70         (TestWebKitAPI::expect):
71         (TestWebKitAPI::expectSHA1):
72         (TestWebKitAPI::expectSHA224):
73         (TestWebKitAPI::expectSHA256):
74         (TestWebKitAPI::expectSHA384):
75         (TestWebKitAPI::expectSHA512):
76         (TestWebKitAPI::TEST):
77
78 2018-09-01  Dan Bernstein  <mitz@apple.com>
79
80         [Cocoa] Crash using KVO for 'serverTrust' property of WKWebView - "this class is not key value coding-compliant for the key serverTrust"
81         https://bugs.webkit.org/show_bug.cgi?id=189222
82         <rdar://problem/33283179>
83
84         Reviewed by Sam Weinig.
85
86         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
87         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewServerTrustKVC.mm: Added.
88         (TEST):
89
90 2018-08-31  Aditya Keerthi  <akeerthi@apple.com>
91
92         Unreviewed, add an alternate email for Aditya Keerthi.
93
94         * Scripts/webkitpy/common/config/contributors.json:
95
96 2018-08-31  Wenson Hsieh  <wenson_hsieh@apple.com>
97
98         [iOS] Consolidate the implementations of readString, stringForType, and readURL in PlatformPasteboardIOS.mm
99         https://bugs.webkit.org/show_bug.cgi?id=189054
100         <rdar://problem/43819779>
101
102         Reviewed by Tim Horton.
103
104         See WebCore/ChangeLog for more detail.
105
106         * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
107         (createWebViewWithCustomPasteboardDataEnabled):
108
109 2018-08-31  Commit Queue  <commit-queue@webkit.org>
110
111         Unreviewed, rolling out r235565.
112         https://bugs.webkit.org/show_bug.cgi?id=189212
113
114         Broke the WHLSL build (Requested by litherum on #webkit).
115
116         Reverted changeset:
117
118         "[WHLSL] Remove useless code in NameResolver"
119         https://bugs.webkit.org/show_bug.cgi?id=189176
120         https://trac.webkit.org/changeset/235565
121
122 2018-08-31  Myles C. Maxfield  <mmaxfield@apple.com>
123
124         [WHLSL] Remove useless code in NameResolver
125         https://bugs.webkit.org/show_bug.cgi?id=189176
126
127         Reviewed by Dean Jackson and Thomas Denney.
128
129         The check will always pass becase the standard library contains at least one function with the correct name.
130
131         * WebGPUShadingLanguageRI/NameResolver.js:
132         (NameResolver.prototype.visitDotExpression):
133         (NameResolver.prototype._handlePropertyAccess): Deleted.
134         (NameResolver.prototype.visitIndexExpression): Deleted.
135
136 2018-08-31  Simon Fraser  <simon.fraser@apple.com>
137
138         Make it possible to mark tests as leaks in TestExpectations
139         https://bugs.webkit.org/show_bug.cgi?id=189088
140
141         Reviewed by Jon Lee.
142         
143         Have webkitpy parse out "Leak" expectations in TestExpectations, and do the right
144         thing if the test run did not use --world-leaks. Add unit tests for leaks combined
145         with various other result combinations.
146
147         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
148         (LayoutTestRunner._update_summary_with_result):
149         (LayoutTestRunner._annotate_results_with_additional_failures):
150         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
151         (TestExpectationParser):
152         (TestExpectations): The 'Leak' line was duplicated here, so remove a copy.
153         (TestExpectations.remove_leak_failures):
154         (TestExpectations.matches_an_expected_result):
155         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
156         (Base.get_basic_tests):
157         * Scripts/webkitpy/port/test.py:
158         (TestList.add_reftest):
159         (unit_test_list):
160
161 2018-08-31  Zalan Bujtas  <zalan@apple.com>
162
163         [LFC] Add margin box verification back now that Display::Box has non-computed horizontal margin.
164         https://bugs.webkit.org/show_bug.cgi?id=189193
165
166         Reviewed by Antti Koivisto.
167
168         * LayoutReloaded/misc/LFC-passing-tests.txt:
169
170 2018-08-31  Antti Koivisto  <antti@apple.com>
171
172         Replace OptionSet |= and -= operators with add() and remove() functions
173         https://bugs.webkit.org/show_bug.cgi?id=189169
174
175         Reviewed by Anders Carlsson.
176
177         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
178         (TestWebKitAPI::TEST):
179
180 2018-08-31  Daniel Bates  <dabates@apple.com>
181
182         lldb-webkit: KeyError thrown for OptionSet with invalid value
183         https://bugs.webkit.org/show_bug.cgi?id=189070
184
185         Update comment to explain that we return early and do not compute the set of enumerators in the
186         OptionSet when the underlying value of the set is an invalid value.
187
188         Additionally, update the change log entry for r235482 to reflect the updated title for the bug
189         and to better describe the change that was made.
190
191         * lldb/lldb_webkit.py:
192         (WTFOptionSetProvider.update):
193
194 2018-08-31  David Kilzer  <ddkilzer@apple.com>
195
196         WebKitLauncher: Move WebKitLauncher.entitlements into Configurations directory
197
198         This makes the Configurations folder in the Xcode project match
199         what's in the Configurations directory on disk.  Found by
200         tidy-Xcode-project-file (see Bug 188754).
201
202         * WebKitLauncher/Configurations/WebKitLauncher.entitlements: Rename from Tools/WebKitLauncher/WebKitLauncher.entitlements.
203         * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
204         - Update project for file move.
205
206 2018-08-31  David Kilzer  <ddkilzer@apple.com>
207
208         WebKitLauncher: Fix build failures
209
210         * WebKitLauncher/Configurations/Base.xcconfig:
211         (ARCHS): Use $(ARCHS_STANDARD_32_64_BIT).
212         (MACOSX_DEPLOYMENT_TARGET): Update from Snow Leopard to Sierra.
213
214         * WebKitLauncher/WebKitNightlyEnabler.m:
215         (myApplicationWillFinishLaunching):
216         * WebKitLauncher/main.m:
217         (displayErrorAndQuit):
218         (locateSafariBundle):
219         - Use pragma to ignore deprecation warnings.
220
221 2018-08-31  David Kilzer  <ddkilzer@apple.com>
222
223         MobileMiniBrowser: Move test2s.mp4 into Resources directory
224
225         This makes the Resources folder in the Xcode project match
226         what's in the Resources directory on disk.  Found by
227         tidy-Xcode-project-file (see Bug 188754).
228
229         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
230         - Update project for file move.
231         * MobileMiniBrowser/MobileMiniBrowserFramework/Resources/test2s.mp4: Rename from Tools/MobileMiniBrowser/MobileMiniBrowserFramework/test2s.mp4.
232
233 2018-08-31  Frederic Wang  <fwang@igalia.com>
234
235         Bug 182053 - [CSSOM View] Implement standard behavior for scrollingElement
236         https://bugs.webkit.org/show_bug.cgi?id=182053
237
238         Reviewed by Simon Fraser.
239
240         Add FIXMEs comments to add the new developer flag in the future and  disable it for now.
241
242         * DumpRenderTree/mac/DumpRenderTree.mm:
243         (enableExperimentalFeatures):
244         (resetWebPreferencesToConsistentValues):
245         * DumpRenderTree/win/DumpRenderTree.cpp:
246         (enableExperimentalFeatures):
247         * WebKitTestRunner/TestController.cpp:
248         (WTR::TestController::resetPreferencesToConsistentValues):
249
250 2018-08-30  Thomas Denney  <tdenney@apple.com>
251
252         [WHLSL] Fix array indexing behavior
253         https://bugs.webkit.org/show_bug.cgi?id=189175
254
255         Array, pointer, and array ref types are now parsed and then constructed
256         in reverse so that the declaration order matches the indexing order, as
257         in C/C++.
258
259         Reviewed by Myles C. Maxfield.
260
261         * WebGPUShadingLanguageRI/Parse.js:
262         (parseType):
263         * WebGPUShadingLanguageRI/Test.js:
264
265 2018-08-30  Wenson Hsieh  <wenson_hsieh@apple.com>
266
267         Followup to [iOS] TestWebKitAPI.PasteImage tests are flaky failures
268         https://bugs.webkit.org/show_bug.cgi?id=185965
269
270         Reviewed by Andy Estes.
271
272         The first attempt to fix these flaky tests on iOS caused timeouts on macOS while waiting for a "loaded" message
273         from the page. To (hopefully) fix this across both platforms, make sure that we first register our script
274         message handlers in the UI process *before* evaluating script that could propagate the script message.
275
276         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
277         (-[TestWKWebView waitForMessage:afterEvaluatingScript:]):
278         (TEST):
279
280 2018-08-30  Thomas Denney  <tdenney@apple.com>
281
282         [WHLSL] Implement tests to verify array indexing order matches our desires
283         https://bugs.webkit.org/show_bug.cgi?id=189099
284
285         Reviewed by Myles C. Maxfield.
286
287         * WebGPUShadingLanguageRI/Test.js: Add new test for array indexing order
288         and the option to explicitly disable tests (this test is disabled by
289         default).
290         * WebGPUShadingLanguageRI/TypeRef.js:
291         (TypeRef.wrap): Fixes  typo.
292
293 2018-08-30  Sihui Liu  <sihui_liu@apple.com>
294
295         WKNavigation.ProcessCrashDuringCallback is failing on iOS
296         https://bugs.webkit.org/show_bug.cgi?id=189148
297
298         Reviewed by Chris Dumez.
299
300         We should not deference WebView or we may get WKErrorWebViewInvalidated error, because 
301         WebView could be destroyed before Web Process termination is noticed.
302
303         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
304         (TEST):
305
306 2018-08-30  Zalan Bujtas  <zalan@apple.com>
307
308         [LFC][Floating] Formatting context roots avoid floats.
309         https://bugs.webkit.org/show_bug.cgi?id=189150
310
311         Reviewed by Antti Koivisto.
312
313         * LayoutReloaded/misc/LFC-passing-tests.txt:
314
315 2018-08-30  Wenson Hsieh  <wenson_hsieh@apple.com>
316
317         [iOS] TestWebKitAPI.PasteImage tests are flaky failures
318         https://bugs.webkit.org/show_bug.cgi?id=185965
319
320         Reviewed by Andy Estes.
321
322         These tests pass reliably when run locally, but sometimes fail in automation when checking that the image
323         element with its "src" attribute set to a new blob URL has an empty size. It's possible that this is happening
324         because we're checking the size of the image element prior to image load after setting the blob URL; we can fix
325         this by waiting for the "load" event (which is also done in some of the other tests in this file).
326
327         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
328         (TEST):
329
330 2018-08-30  Michael Catanzaro  <mcatanzaro@igalia.com>
331
332         Unreviewed, rolling out r235114.
333
334         ostree server deleted our commits?
335
336         Reverted changeset:
337
338         "[Flatpak] Update to GNOME master runtime"
339         https://bugs.webkit.org/show_bug.cgi?id=188731
340         https://trac.webkit.org/changeset/235114
341
342 2018-08-29  Myles C. Maxfield  <mmaxfield@apple.com>
343
344         [WHLSL] Test row-majorness of matrices
345         https://bugs.webkit.org/show_bug.cgi?id=189101
346
347         The matrix multiplication functions are temporarily commented out of the standard library,
348         so I've temporarily copy/pasted them into the test. Matrix multiplication is not
349         commutative, so it requires the right indexing order.
350
351         Reviewed by Dean Jackson and Thomas Denney.
352
353         * WebGPUShadingLanguageRI/Intrinsics.js:
354         * WebGPUShadingLanguageRI/StandardLibrary.js:
355         (let.standardLibrary):
356         * WebGPUShadingLanguageRI/Test.js:
357
358 2018-08-29  Jer Noble  <jer.noble@apple.com>
359
360         Unreviewed test gardening; NowPlayingTest API tests require High Sierra.
361
362         * TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:
363
364 2018-08-29  Youenn Fablet  <youenn@apple.com>
365
366         Remove WebRTC legacy API implementation
367         https://bugs.webkit.org/show_bug.cgi?id=189040
368
369         Reviewed by Eric Carlson.
370
371         * DumpRenderTree/mac/DumpRenderTree.mm:
372         (enableExperimentalFeatures):
373         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
374         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
375         (WTR::TestRunner::setWebRTCLegacyAPIEnabled): Deleted.
376         * WebKitTestRunner/InjectedBundle/TestRunner.h:
377         * WebKitTestRunner/TestController.cpp:
378         (WTR::TestController::resetPreferencesToConsistentValues):
379
380 2018-08-29  Daniel Bates  <dabates@apple.com>
381
382         lldb-webkit: KeyError thrown for OptionSet with invalid value
383         https://bugs.webkit.org/show_bug.cgi?id=189070
384
385         Reviewed by Simon Fraser.
386
387         Do not compute what enumerators are in an OptionSet with an invalid value. A local OptionSet
388         variable is only considered valid when execution passes over its assignment/constructor.
389
390         The LLDB Python API does not provide a way to determine whether a variable has a valid
391         value (SBValue.IsValid() does not seem to check if the actual bit pattern in memory for
392         a variable represents a valid value). So, we use a simple heuristic: when the value of
393         the OptionSet is greater than the value of the bitmask with all enumerators set then we
394         consider the OptionSet to be invalid. When the variable obtains a valid value then LLDB
395         will notify us to update our state.
396
397         * lldb/lldb_webkit.py:
398         (WTFOptionSetProvider.update):
399
400 2018-08-29  Chris Dumez  <cdumez@apple.com>
401
402         [PSON] We should only process-swap when eTLD+1 changes on navigation
403         https://bugs.webkit.org/show_bug.cgi?id=189090
404         <rdar://problem/43799225>
405
406         Reviewed by Geoffrey Garen.
407
408         Update existing PSON API tests to use different registrable domains instead of different
409         protocols, as we now only process-swap when the eTLD+1 (aka "registrable domain") changes.
410
411         Add test coverage to make sure that we do not process swap when eTLD+1 does not change.
412
413         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
414
415 2018-08-29  Youenn Fablet  <youenn@apple.com>
416
417         Add a runtime flag for WebRTC unified plan
418         https://bugs.webkit.org/show_bug.cgi?id=189068
419
420         Reviewed by Eric Carlson.
421
422         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
423         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
424         (WTR::TestRunner::setWebRTCUnifiedPlanEnabled):
425         * WebKitTestRunner/InjectedBundle/TestRunner.h:
426
427 2018-08-29  Don Olmstead  <don.olmstead@sony.com>
428
429         [CMake] Split Tools/CMakeLists.txt into platform files
430         https://bugs.webkit.org/show_bug.cgi?id=189093
431
432         Reviewed by Michael Catanzaro.
433
434         * CMakeLists.txt:
435         * PlatformGTK.cmake: Added.
436         * PlatformMac.cmake: Added.
437         * PlatformWPE.cmake: Added.
438         * PlatformWin.cmake: Added.
439
440 2018-08-29  Jer Noble  <jer.noble@apple.com>
441
442         Muted elements do not have their Now Playing status updated when unmuted.
443         https://bugs.webkit.org/show_bug.cgi?id=189069
444
445         Reviewed by Eric Carlson.
446
447         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
448         * TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm: Added.
449         (userInfoHasNowPlayingApplicationPID):
450         (getNowPlayingClient):
451         (getNowPlayingClientPid):
452         (NowPlayingTest::webView):
453         (NowPlayingTest::configuration):
454         (NowPlayingTest::webViewPid):
455         (NowPlayingTest::loadPage):
456         (NowPlayingTest::runScriptWithUserGesture):
457         (NowPlayingTest::runScriptWithoutUserGesture):
458         (NowPlayingTest::executeAndWaitForPlaying):
459         (NowPlayingTest::executeAndWaitForWebViewToBecomeNowPlaying):
460         (NowPlayingTest::observers):
461         (NowPlayingTest::addObserver):
462         (NowPlayingTest::removeObserver):
463         (NowPlayingTest::notificationCallback):
464         (NowPlayingTest::receivedNotification):
465         (NowPlayingTest::performAfterReceivingNotification):
466         (TEST_F):
467         * TestWebKitAPI/Tests/WebKitCocoa/now-playing.html: Added.
468
469 2018-08-29  Thomas Denney  <tdenney@apple.com>
470
471         [WHLSL] Ensure that isLValue is copied by the rewriter
472         https://bugs.webkit.org/show_bug.cgi?id=189083
473
474         The value of isLValue was not propagated when new TernaryExpressions are
475         created in Rewriter.
476
477         Reviewed by Myles C. Maxfield.
478
479         * WebGPUShadingLanguageRI/Rewriter.js:
480         (Rewriter.prototype.visitTernaryExpression):
481         * WebGPUShadingLanguageRI/Test.js: Add new test to verify the value is
482         propagated.
483
484 2018-08-29  Myles C. Maxfield  <mmaxfield@apple.com>
485
486         [WHLSL] Add more functions to the standard library
487         https://bugs.webkit.org/show_bug.cgi?id=188873
488
489         Reviewed by Filip Pizlo.
490
491         This patch adds the rest of the standard library to StandardLibrary.js, and updates the compiler to be able to compile it.
492
493         There are a few major pieces:
494         1. Swizzle operators are now implemented in the language, instead of as native functions
495         2. Vector constructors are now implemented in the language, instead of as native functions
496         3. The matrix type is implemented
497         4. Vector operator&[] is illegal, and is removed from the compiler
498         5. Vector index setters & index getters are now implemented in the language, instead of as native functions
499         6. Vector and matrix equality operators are implemented in the language, instead of as native functions
500         7. Casting a scalar to a boolean is implemented in the language, instead of as native functions
501         8. Casting a vector to a boolean is not part of the language, and is removed from the compiler
502         9. Half-precision floating point types are implemented
503
504         * WebGPUShadingLanguageRI/All.js:
505         * WebGPUShadingLanguageRI/BuiltinMatrixGetter.js: Copied from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.
506         (BuiltinMatrixGetter):
507         (BuiltinMatrixGetter.prototype.get height):
508         (BuiltinMatrixGetter.prototype.get width):
509         (BuiltinMatrixGetter.prototype.toString):
510         (BuiltinMatrixGetter.functions):
511         (BuiltinMatrixGetter.prototype.instantiateImplementation):
512         * WebGPUShadingLanguageRI/BuiltinMatrixSetter.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.
513         (BuiltinMatrixSetter):
514         (BuiltinMatrixSetter.prototype.get height):
515         (BuiltinMatrixSetter.prototype.get width):
516         (BuiltinMatrixSetter.prototype.toString):
517         (BuiltinMatrixSetter.functions):
518         (BuiltinMatrixSetter.prototype.instantiateImplementation):
519         * WebGPUShadingLanguageRI/BuiltinVectorConstructors.js: Removed.
520         * WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Removed.
521         * WebGPUShadingLanguageRI/BuiltinVectorGetter.js:
522         (BuiltinVectorGetter.prototype.instantiateImplementation):
523         (BuiltinVectorGetter):
524         * WebGPUShadingLanguageRI/BuiltinVectorSetter.js:
525         (BuiltinVectorSetter.functions):
526         (BuiltinVectorSetter.prototype.instantiateImplementation):
527         (BuiltinVectorSetter):
528         * WebGPUShadingLanguageRI/CallExpression.js:
529         (CallExpression.prototype.resolve):
530         * WebGPUShadingLanguageRI/CheckTypesWithArguments.js:
531         (checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
532         (checkTypesWithArguments.TypeWithArgumentsChecker):
533         (checkTypesWithArguments):
534         * WebGPUShadingLanguageRI/Checker.js:
535         (Checker.prototype.visitVectorType):
536         (Checker.prototype.visitMatrixType):
537         * WebGPUShadingLanguageRI/ConstexprFolder.js:
538         (ConstexprFolder.prototype.visitCallExpression):
539         (ConstexprFolder):
540         * WebGPUShadingLanguageRI/Evaluator.js:
541         (Evaluator.prototype.visitTernaryExpression):
542         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
543         (FlattenedStructOffsetGatherer.prototype.visitMatrixType):
544         (FlattenedStructOffsetGatherer):
545         * WebGPUShadingLanguageRI/Intrinsics.js:
546         (Intrinsics.):
547         (Intrinsics):
548         * WebGPUShadingLanguageRI/MatrixType.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js.
549         (MatrixType):
550         (MatrixType.prototype.get elementType):
551         (MatrixType.prototype.get numRows):
552         (MatrixType.prototype.get numColumns):
553         (MatrixType.prototype.get numRowsValue):
554         (MatrixType.prototype.get numColumnsValue):
555         (MatrixType.prototype.get size):
556         (MatrixType.prototype.unifyImpl):
557         (MatrixType.prototype.populateDefaultValue):
558         (MatrixType.prototype.toString):
559         * WebGPUShadingLanguageRI/NameContext.js:
560         (NameContext.prototype.add):
561         * WebGPUShadingLanguageRI/NativeType.js:
562         (NativeType.create):
563         (NativeType):
564         * WebGPUShadingLanguageRI/OperatorAnderIndexer.js: Renamed from Tools/WebGPUShadingLanguageRI/OperatorAnderIndex.js.
565         (OperatorAnderIndexer):
566         * WebGPUShadingLanguageRI/OperatorBool.js: Removed.
567         * WebGPUShadingLanguageRI/Prepare.js:
568         (let.prepare):
569         * WebGPUShadingLanguageRI/Program.js:
570         (Program.prototype.add):
571         * WebGPUShadingLanguageRI/Rewriter.js:
572         (Rewriter.prototype.visitMatrixType):
573         (Rewriter):
574         * WebGPUShadingLanguageRI/SPIRV.html:
575         * WebGPUShadingLanguageRI/StandardLibrary.js:
576         (operator.bool):
577         (bool.operator):
578         (uchar.operator):
579         (ushort.operator):
580         (char.operator):
581         (short.operator):
582         (uint.operator):
583         (int.operator):
584         (half.operator):
585         (float.operator):
586         (uchar2.operator):
587         (uchar3.operator):
588         (uchar4.operator):
589         (ushort2.operator):
590         (ushort3.operator):
591         (ushort4.operator):
592         (uint2.operator):
593         (uint3.operator):
594         (uint4.operator):
595         (char2.operator):
596         (char3.operator):
597         (char4.operator):
598         (short2.operator):
599         (short3.operator):
600         (short4.operator):
601         (int2.operator):
602         (int3.operator):
603         (int4.operator):
604         (half2.operator):
605         (half3.operator):
606         (half4.operator):
607         (float2.operator):
608         (float3.operator):
609         (float4.operator):
610         (half2x2.operator):
611         (half2x3.operator):
612         (half2x4.operator):
613         (half3x2.operator):
614         (half3x3.operator):
615         (half3x4.operator):
616         (half4x2.operator):
617         (half4x3.operator):
618         (half4x4.operator):
619         (float2x2.operator):
620         (float2x3.operator):
621         (float2x4.operator):
622         (float3x2.operator):
623         (float3x3.operator):
624         (float3x4.operator):
625         (float4x2.operator):
626         (float4x3.operator):
627         (float4x4.operator):
628         (operator.bool2):
629         (operator.bool3):
630         (operator.bool4):
631         (uint.operator.length):
632         (operator.uchar2):
633         (operator.uchar3):
634         (operator.uchar4):
635         (operator.ushort2):
636         (operator.ushort3):
637         (operator.ushort4):
638         (operator.uint2):
639         (operator.uint3):
640         (operator.uint4):
641         (operator.char2):
642         (operator.char3):
643         (operator.char4):
644         (operator.short2):
645         (operator.short3):
646         (operator.short4):
647         (operator.int2):
648         (operator.int3):
649         (operator.int4):
650         (operator.half2):
651         (operator.half3):
652         (operator.half4):
653         (operator.float2):
654         (operator.float3):
655         (operator.float4):
656         (bool2.operator):
657         (bool3.operator):
658         (bool4.operator):
659         (allVectorTypeNames):
660         * WebGPUShadingLanguageRI/SwizzleOp.js: Removed.
661         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js:
662         (synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitMatrixType):
663         (synthesizeDefaultConstructorOperator.FindAllTypes):
664         (synthesizeDefaultConstructorOperator):
665         * WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Removed.
666         * WebGPUShadingLanguageRI/Test.html:
667         * WebGPUShadingLanguageRI/Test.js:
668         (makeHalf):
669         (checkHalf):
670         * WebGPUShadingLanguageRI/Visitor.js:
671         (Visitor.prototype.visitMatrixType):
672         (Visitor):
673         * WebGPUShadingLanguageRI/index.html:
674
675 2018-08-29  Simon Fraser  <simon.fraser@apple.com>
676
677         Teach webkitpy how to check leaks and treat leaks as test failures
678         https://bugs.webkit.org/show_bug.cgi?id=189067
679
680         Reviewed by Darin Adler.
681         
682         Add a new "--world-leaks" argument to run-webkit-tests. When enabled, DRT/WTR are launched
683         with a --world-leaks argument (which is renamed in this patch for consistency). This enables the
684         behavior added in r235408, namely that they check for leaked documents after each test, and at
685         the end of one (if --run-singly) or a set of tests run in a single DRT/WTR instance handle the
686         "#CHECK FOR WORLD LEAKS" command to get still-live documents.
687         
688         LayoutTestRunner in webkitpy now has the notion of doing "post-tests work", called via _finished_test_group(),
689         and here it sends the "#CHECK FOR WORLD LEAKS" command to the runner and parses the resulting output block.
690         If this results block includes leaks, we convert an existing TestResult into a LEAK failure
691         in TestRunResults.change_result_to_failure(). Leaks are then added to the ouput JSON for display in results.html
692
693         Unit tests are updated with some leak examples.
694
695         * DumpRenderTree/mac/DumpRenderTree.mm:
696         (initializeGlobalsFromCommandLineOptions):
697         * Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
698         (ParsedJSONResultsTest):
699         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
700         (LayoutTestRunner._annotate_results_with_additional_failures):
701         (LayoutTestRunner._handle_finished_test_group):
702         (Worker.handle):
703         (Worker._run_test):
704         (Worker._do_post_tests_work):
705         (Worker._finished_test_group):
706         (Worker._run_test_in_another_thread):
707         * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
708         (JSONLayoutResultsGenerator):
709         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
710         (TestExpectationParser):
711         (TestExpectations):
712         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
713         (Base.get_basic_tests):
714         * Scripts/webkitpy/layout_tests/models/test_failures.py:
715         (determine_result_type):
716         (FailureLeak):
717         (FailureLeak.__init__):
718         (FailureLeak.message):
719         (FailureDocumentLeak):
720         (FailureDocumentLeak.__init__):
721         (FailureDocumentLeak.message):
722         * Scripts/webkitpy/layout_tests/models/test_results.py:
723         (TestResult.convert_to_failure):
724         * Scripts/webkitpy/layout_tests/models/test_run_results.py:
725         (TestRunResults.change_result_to_failure):
726         (_interpret_test_failures):
727         (summarize_results):
728         * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
729         (get_result):
730         (run_results):
731         (summarized_results):
732         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
733         (parse_args):
734         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
735         (parse_args):
736         (RunTest.test_check_for_world_leaks):
737         * Scripts/webkitpy/port/driver.py:
738         (DriverPostTestOutput):
739         (DriverPostTestOutput.__init__):
740         (Driver.do_post_tests_work):
741         (Driver._parse_world_leaks_output):
742         (Driver.cmd_line):
743         (DriverProxy.do_post_tests_work):
744         * Scripts/webkitpy/port/test.py:
745         (unit_test_list):
746         * WebKitTestRunner/Options.cpp:
747         (WTR::OptionsHandler::OptionsHandler):
748         * WebKitTestRunner/TestController.cpp:
749         (WTR::TestController::checkForWorldLeaks):
750
751 2018-08-29  David Kilzer  <ddkilzer@apple.com>
752
753         Remove empty directories from from svn.webkit.org repository
754         <https://webkit.org/b/189081>
755
756         * DumpRenderTree/TestNetscapePlugIn/unix: Removed.
757         * WebKitTestRunner/UIScriptContext: Removed.
758
759 2018-08-29  Pablo Saavedra  <psaavedra@igalia.com>
760
761         [GTK][WPE] Add JSCOnly Release bot for Linux ARMv7 Thumb2 SoftFP
762         https://bugs.webkit.org/show_bug.cgi?id=189077
763
764         Reviewed by Michael Catanzaro.
765
766         Deployed new bot for WPE Release in Linux ARMv7 Thumb2 SoftFP
767         This bot (jsconly-linux-igalia-bot-5) will run the 'JSCOnly
768         Linux ARMv7 Thumb2 SoftFP Release' buildjob.
769
770         * BuildSlaveSupport/build.webkit.org-config/config.json:
771         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
772
773 2018-08-28  Daniel Bates  <dabates@apple.com>
774
775         lldb-webkit: KeyError thrown for OptionSet
776         https://bugs.webkit.org/show_bug.cgi?id=189062
777
778         Reviewed by Simon Fraser.
779
780         For some reason lldb(1) may not retrieve the enumerator names for an enum value
781         when it calls update() on the synthetic children provider. If this occurs then
782         bail out as we cannot compute what enumerators are in the set.
783
784         * lldb/lldb_webkit.py:
785         (WTFOptionSetProvider.update):
786
787 2018-08-28  Sihui Liu  <sihui_liu@apple.com>
788
789         Add error information to help debug test failure in WKNavigation.ProcessCrashDuringCallback
790         https://bugs.webkit.org/show_bug.cgi?id=189037
791
792         Reviewed by Chris Dumez.
793
794         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
795         (TEST):
796
797 2018-08-28  David Kilzer  <ddkilzer@apple.com>
798
799         Fix incorrect use of `sourceTree = "<group>";` for built products and frameworks in Xcode projects
800
801         Found by tidy-Xcode-project-file script (see Bug 188754).
802
803         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
804         (IOKit.framework): Use `sourceTree = "<absolute>";` to match
805         other frameworks in the project.
806         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
807         (WebKit.framework): Use `sourceTree = BUILT_PRODUCTS_DIR;` for
808         built product instead of relative build directory path.
809         * jsc-cli/jsc-cli.xcodeproj/project.pbxproj:
810         (JavaScriptCore.framework): Ditto.
811         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
812         (libWTF.a): Use `sourceTree = BUILT_PRODUCTS_DIR;` for built
813         product.
814
815 2018-08-28  Alex Christensen  <achristensen@webkit.org>
816
817         Fix 32-bit Mac build.
818
819         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
820
821 2018-08-28  Alex Christensen  <achristensen@webkit.org>
822
823         REGRESSION (r235391): [iOS] TestWebKitAPI.WebKit.RestoreSessionStateWithoutNavigation is timing out
824         https://bugs.webkit.org/show_bug.cgi?id=189050
825
826         Reviewed by Tim Horton.
827
828         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
829         This test wasn't run on iOS before.  Let's re-introduce the WK_HAVE_C_SPI guard.
830
831 2018-08-28  Wenson Hsieh  <wenson_hsieh@apple.com>
832
833         [iOS] WKAttachmentTests.DropFolderAsAttachmentAndMoveByDragging encounters an exception on iOS simulator
834         https://bugs.webkit.org/show_bug.cgi?id=189049
835
836         Reviewed by Tim Horton.
837
838         Wrap an NSURL in a RetainPtr to prevent it from being freed prematurely. It seems this broke when I changed the
839         load handler from an Objective-C block that captured `folderURL` to a C++ lambda that didn't retain `folderURL`.
840
841         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
842         (simulateFolderDragWithURL):
843
844 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
845
846         [Attachment Support] Remove WebCore::AttachmentDisplayOptions and friends
847         https://bugs.webkit.org/show_bug.cgi?id=189004
848
849         Reviewed by Dan Bernstein.
850
851         Move off of deprecated attachment insertion SPI.
852
853         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
854         (-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
855         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
856         (-[_WKAttachment synchronouslySetDisplayOptions:error:]): Deleted.
857
858 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
859
860         Teach WebKitTestRunner and DumpRenderTree about detecting world leaks
861         https://bugs.webkit.org/show_bug.cgi?id=188994
862
863         Reviewed by Tim Horton.
864         
865         This patch adds the notion of a "control command" in the protocol between webkitpy and 
866         WebKitTestRunner/DumpRenderTree. A command is simply an input string starting with a #
867         that is checked for before trying to parse the input as test URL. For now, just one
868         commmand is supported, which is "#CHECK FOR WORLD LEAKS".
869         
870         In response to the command, the tool dumps an output block in the usual pseudo-MIME-style,
871         with a trailing "#EOF". Future patches will add support to webkitpy to parse this output.
872         
873         DumpRenderTree stubs out the command, returning an empty block.
874         
875         WebKitTestRunner responds to the command by dumping the list of live documents, if it was
876         run with the --check-for-world-leaks option.
877         
878         When run with --check-for-world-leaks, WebKitTestRunner gets the list of live documents via
879         WKBundleGetLiveDocumentURLs() after every test (this allows it to detect the first test
880         that leaked a document), and keeps them in a map of document identifier to test and live document URL.
881         Then when it receives the "#CHECK FOR WORLD LEAKS" command, it calls into the bundle to
882         clear the page and memory caches, runs a GC, then posts a task (in the Document::postTaks() sense)
883         after which it requests the list of live documents for a final time, excluding any that are loaded
884         in live Frames (thus omitting the about:blank that will be loaded at this point). Documents in this
885         list are therefore leaked (or abandoned).
886         
887         Future patches will hook up webkitpy reporting for leaked documents.
888
889         * DumpRenderTree/mac/DumpRenderTree.mm:
890         (initializeGlobalsFromCommandLineOptions):
891         (handleControlCommand):
892         (runTestingServerLoop):
893         * DumpRenderTree/win/DumpRenderTree.cpp:
894         (handleControlCommand):
895         (main):
896         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
897         (WTR::postGCTask):
898         (WTR::InjectedBundle::reportLiveDocuments):
899         (WTR::InjectedBundle::didReceiveMessageToPage):
900         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
901         * WebKitTestRunner/Options.cpp:
902         (WTR::handleOptionCheckForWorldLeaks):
903         (WTR::OptionsHandler::OptionsHandler):
904         * WebKitTestRunner/Options.h:
905         * WebKitTestRunner/TestController.cpp:
906         (WTR::AsyncTask::run):
907         (WTR::AsyncTask::currentTask):
908         (WTR::TestController::initialize):
909         (WTR::TestController::ensureViewSupportsOptionsForTest):
910         (WTR::TestController::resetStateToConsistentValues):
911         (WTR::TestController::updateLiveDocumentsAfterTest):
912         (WTR::TestController::checkForWorldLeaks):
913         (WTR::TestController::findAndDumpWorldLeaks):
914         (WTR::TestController::willDestroyWebView):
915         (WTR::parseInputLine):
916         (WTR::TestController::waitForCompletion):
917         (WTR::TestController::handleControlCommand):
918         (WTR::TestController::runTestingServerLoop):
919         (WTR::TestController::run):
920         (WTR::TestController::didReceiveLiveDocumentsList):
921         (WTR::TestController::didReceiveMessageFromInjectedBundle):
922         * WebKitTestRunner/TestController.h:
923         (WTR::AsyncTask::AsyncTask):
924         (WTR::AsyncTask::taskComplete):
925         (WTR::TestController::AbandonedDocumentInfo::AbandonedDocumentInfo):
926         * WebKitTestRunner/TestInvocation.cpp:
927         (WTR::TestInvocation::invoke):
928         * WebKitTestRunner/TestOptions.h:
929         (WTR::TestOptions::hasSameInitializationOptions const):
930
931 2018-08-27  Alex Christensen  <achristensen@webkit.org>
932
933         Fix API test after r235398
934         https://bugs.webkit.org/show_bug.cgi?id=188997
935
936         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
937         (TestWebKitAPI::setPageLoaderClient):
938         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
939         willGoToBackForwardListItem is unused and unsupported.  Removing its check.
940
941 2018-08-27  Daniel Bates  <dabates@apple.com>
942
943         Partial revert of r235376
944         https://bugs.webkit.org/show_bug.cgi?id=189011
945
946         For now revert the unit tests added in r235376 as the following tests are failing on Apple Sierra
947         Debug and Apple High Sierra Debug bots:
948
949             lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSetProvider_simple
950             lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple
951
952         Will investigate offline.
953
954         * lldb/lldbWebKitTester/main.cpp:
955         (testSummaryProviders):
956         * lldb/lldb_webkit_unittest.py:
957         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
958         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty): Deleted.
959         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple): Deleted.
960         (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty): Deleted.
961         (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple): Deleted.
962
963 2018-08-27  Aditya Keerthi  <akeerthi@apple.com>
964
965         Consolidate ENABLE_INPUT_TYPE_COLOR and ENABLE_INPUT_TYPE_COLOR_POPOVER
966         https://bugs.webkit.org/show_bug.cgi?id=188931
967
968         Reviewed by Wenson Hsieh.
969
970         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER.
971
972 2018-08-27  Justin Fan  <justin_fan@apple.com>
973
974         Add Justin Fan to list of WebKit contributors
975         https://bugs.webkit.org/show_bug.cgi?id=184431
976
977         * Scripts/webkitpy/common/config/contributors.json:
978
979 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
980
981         Convert timeout values in WebKitTestRunner to WTF::Seconds
982         https://bugs.webkit.org/show_bug.cgi?id=188987
983
984         Reviewed by Ryosuke Niwa.
985         
986         Replace various 'int' timeout values with WTF::Seconds. The timeout argument
987         comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
988         using integers, convert to and from milliseconds.
989         
990         Also do some #pragma once, and initializer cleanup.
991
992         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
993         (WTR::InjectedBundle::didReceiveMessageToPage):
994         (WTR::InjectedBundle::beginTesting):
995         (WTR::InjectedBundle::InjectedBundle): Deleted.
996         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
997         * WebKitTestRunner/InjectedBundle/TestRunner.h:
998         (WTR::TestRunner::timeout):
999         (WTR::TestRunner::setCustomTimeout):
1000         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
1001         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1002         * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
1003         (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
1004         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1005         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
1006         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1007         * WebKitTestRunner/TestController.cpp:
1008         (WTR::TestController::TestController):
1009         (WTR::parseInputLine):
1010         (WTR::TestController::runTest):
1011         (WTR::TestController::runUntil):
1012         (WTR::TestController::didReceiveMessageFromInjectedBundle):
1013         * WebKitTestRunner/TestController.h:
1014         * WebKitTestRunner/TestInvocation.cpp:
1015         (WTR::TestInvocation::shortTimeout const):
1016         (WTR::TestInvocation::createTestSettingsDictionary):
1017         * WebKitTestRunner/TestInvocation.h:
1018         * WebKitTestRunner/TestOptions.h:
1019         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1020         (WTR::TestController::platformRunUntil):
1021         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
1022         (WTR::TestController::platformRunUntil):
1023         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
1024         (WTR::TestController::platformRunUntil):
1025
1026 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
1027
1028         Convert timeout values in WebKitTestRunner to WTF::Seconds
1029         https://bugs.webkit.org/show_bug.cgi?id=188987
1030
1031         Reviewed by Ryosuke Niwa.
1032         
1033         Replace various 'int' timeout values with WTF::Seconds. The timeout argument
1034         comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
1035         using integers, convert to and from milliseconds.
1036         
1037         Also do some #pragma once, and initializer cleanup.
1038
1039         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1040         (WTR::InjectedBundle::didReceiveMessageToPage):
1041         (WTR::InjectedBundle::beginTesting):
1042         (WTR::InjectedBundle::InjectedBundle): Deleted.
1043         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
1044         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1045         (WTR::TestRunner::timeout):
1046         (WTR::TestRunner::setCustomTimeout):
1047         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
1048         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1049         * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
1050         (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
1051         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1052         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
1053         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1054         * WebKitTestRunner/TestController.cpp:
1055         (WTR::TestController::TestController):
1056         (WTR::parseInputLine):
1057         (WTR::TestController::runTest):
1058         (WTR::TestController::runUntil):
1059         (WTR::TestController::didReceiveMessageFromInjectedBundle):
1060         * WebKitTestRunner/TestController.h:
1061         * WebKitTestRunner/TestInvocation.cpp:
1062         (WTR::TestInvocation::shortTimeout const):
1063         (WTR::TestInvocation::createTestSettingsDictionary):
1064         * WebKitTestRunner/TestInvocation.h:
1065         * WebKitTestRunner/TestOptions.h:
1066         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1067         (WTR::TestController::platformRunUntil):
1068         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
1069         (WTR::TestController::platformRunUntil):
1070         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
1071         (WTR::TestController::platformRunUntil):
1072
1073 2018-08-27  Alex Christensen  <achristensen@webkit.org>
1074
1075         REGRESSION(r234985/r234989) WKPageLoadHTMLString with a 16-bit String has the wrong encoding
1076         https://bugs.webkit.org/show_bug.cgi?id=189002
1077
1078         Reviewed by Tim Horton.
1079
1080         * TestWebKitAPI/Tests/WebKit/WillLoad.cpp:
1081         (TestWebKitAPI::TEST_F):
1082
1083 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
1084
1085         [Cocoa] Exception (fileType 'dyn.agq8u' is not a valid UTI) raised when dragging an attachment whose file wrapper is a directory
1086         https://bugs.webkit.org/show_bug.cgi?id=188903
1087         <rdar://problem/43702993>
1088
1089         Reviewed by Tim Horton.
1090
1091         Add two API tests and adjust existing WKAttachment API tests. The new tests exercise the following scenarios, in
1092         both iOS and macOS:
1093         •       Dropping a folder as an attachment element, and then moving that attachment element in the document by
1094                 dragging and dropping.
1095         •       Using WKWebView SPI to insert a folder and a file with an unknown extension, and then using more
1096                 _WKAttachment SPI to swap the attachments' backing file wrappers.
1097
1098         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1099         (runTestWithTemporaryFolder):
1100
1101         Add a helper function to run a test with a new folder path, created in the temporary directory and populated
1102         with some sample content. This folder is deleted after running the test.
1103
1104         (simulateFolderDragWithURL):
1105
1106         Add a helper function to prepare a given DragAndDropSimulator for simulating a dragged folder from a source
1107         external to the web view.
1108
1109         (platformCopyRichTextWithMultipleAttachments):
1110         (platformCopyRichTextWithImage):
1111         (platformCopyPNG):
1112         (TestWebKitAPI::TEST):
1113
1114         Add new API tests, and adjust existing tests to reflect new -setFileWrapper:…: behavior. Specifically,
1115         ChangeAttachmentDataAndFileInformation previously required that changing a _WKAttachment's NSFileWrapper would
1116         preserve the previous NSFileWrapper's preferred name if the new file wrapper does not have a preferred name, but
1117         this quirk is no longer supported.
1118
1119         Also add a few bridging casts for the eventual transition of TestWebKitAPI to ARC.
1120
1121         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
1122
1123         Add a new hook to clear any external drag information on an existing DragAndDropSimulator. This is convenient
1124         when using the same DragAndDropSimulator to perform multiple drags in a single test.
1125
1126         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
1127         (-[DragAndDropSimulator clearExternalDragInformation]):
1128         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
1129         (-[DragAndDropSimulator clearExternalDragInformation]):
1130
1131 2018-08-27  Alex Christensen  <achristensen@webkit.org>
1132
1133         Translate 4 tests using WKPageLoaderClient to ObjC
1134         https://bugs.webkit.org/show_bug.cgi?id=188827
1135
1136         Reviewed by Tim Horton.
1137
1138         They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
1139         Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
1140         willGoToBackForwardListItem had userData from the InjectedBundle, but nobody was using it so I did not add that to the ObjC SPI, so I don't test that unused
1141         bundle functionality any more.
1142
1143         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1144         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
1145         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
1146         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
1147         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
1148         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
1149         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
1150         (-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
1151         (-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
1152         (TestWebKitAPI::TEST):
1153         (): Deleted.
1154         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1155         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
1156         (TestWebKitAPI::setPageLoaderClient): Deleted.
1157         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
1158         (-[ResponsivenessDelegate webView:didFinishNavigation:]):
1159         (-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
1160         (TestWebKitAPI::TEST):
1161         (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
1162         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1163         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
1164         (TestWebKitAPI::setInjectedBundleClient): Deleted.
1165         (TestWebKitAPI::setPageLoaderClient): Deleted.
1166         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
1167         (-[SessionStateDelegate webView:didFinishNavigation:]):
1168         (-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
1169         (TestWebKitAPI::createSessionStateData):
1170         (TestWebKitAPI::TEST):
1171         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1172         (TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
1173         (TestWebKitAPI::setPageLoaderClient): Deleted.
1174         * TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
1175         (-[BackForwardClient webView:didFinishNavigation:]):
1176         (-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
1177         (TestWebKitAPI::TEST):
1178         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1179         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
1180         (TestWebKitAPI::setPageLoaderClient): Deleted.
1181
1182 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
1183
1184         [Cocoa] "video.html" appears at the top level of the TestWebKitAPI Xcode project
1185         https://bugs.webkit.org/show_bug.cgi?id=188989
1186
1187         Reviewed by Andy Estes.
1188
1189         Move this into the Tests/WebKit/Resources group in the project.
1190
1191         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1192
1193 2018-08-27  Thomas Denney  <tdenney@apple.com>
1194
1195         Avoid an exception in the interactive interpreter
1196         https://bugs.webkit.org/show_bug.cgi?id=188991
1197
1198         Reviewed by Myles C. Maxfield.
1199
1200         * WebGPUShadingLanguageRI/index.html: Corrects a typo in the name of a
1201         local variable
1202
1203 2018-08-27  Thomas Denney  <tdenney@apple.com>
1204
1205         Allow new vector types to work with the interactive interpreter
1206         https://bugs.webkit.org/show_bug.cgi?id=188988
1207
1208         Reviewed by Myles C. Maxfield.
1209
1210         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
1211         (FlattenedStructOffsetGatherer.prototype.visitTypeRef): Do not
1212         unncessarily visit the type arguments of a TypeRef, as by this point
1213         there are none that are relevant.
1214         * WebGPUShadingLanguageRI/Intrinsics.js:
1215         (Intrinsics): Treat VectorType as a primitive type.
1216
1217 2018-08-27  Keith Rollin  <krollin@apple.com>
1218
1219         Build system support for LTO
1220         https://bugs.webkit.org/show_bug.cgi?id=187785
1221         <rdar://problem/42353132>
1222
1223         Reviewed by Dan Bernstein.
1224
1225         Add tools/scripts support for controlling LTO builds.
1226
1227         * Scripts/build-webkit: Add --lto-mode={none,thin,full}.
1228         * Scripts/set-webkit-configuration: Add support for saving LTO
1229         configuration to WebKitBuild/LTO.
1230         * Scripts/webkitdirs.pm: Add support for reading configuration from
1231         WebKitBuild/LTO and providing it to xcodebuild.
1232         (determineLTOMode):
1233         (ltoMode):
1234         (XcodeOptions):
1235
1236 2018-08-27  Daniel Bates  <dabates@apple.com>
1237
1238         lldb-webkit: Pretty-print OptionSet
1239         https://bugs.webkit.org/show_bug.cgi?id=188936
1240
1241         Reviewed by Simon Fraser.
1242
1243         Add LLDB formatters to pretty-print an OptionSet.
1244
1245         * lldb/lldbWebKitTester/main.cpp:
1246         (testSummaryProviders):
1247         * lldb/lldb_webkit.py:
1248         (__lldb_init_module):
1249         (__lldb_init_module.lldb_webkit):
1250         (WTFOptionSet_SummaryProvider):
1251         (WTFOptionSetProvider):
1252         (WTFOptionSetProvider.__init__):
1253         (WTFOptionSetProvider.has_children):
1254         (WTFOptionSetProvider.num_children):
1255         (WTFOptionSetProvider.get_child_index):
1256         (WTFOptionSetProvider.get_child_at_index):
1257         (WTFOptionSetProvider.update):
1258         * lldb/lldb_webkit_unittest.py:
1259         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
1260         (TestSummaryProviders):
1261         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty):
1262         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple):
1263         (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty):
1264         (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple):
1265
1266 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
1267
1268         [Attachment Support] [WK2] Images copied from Mail message view paste with the wrong file name in compose
1269         https://bugs.webkit.org/show_bug.cgi?id=188957
1270         <rdar://problem/43737715>
1271
1272         Reviewed by Darin Adler.
1273
1274         Add a new API test to verify that pasting a web archive containing several image elements with alt attributes
1275         generates _WKAttachments whose names reflect those alt attributes.
1276
1277         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1278         (testGIFFileURL):
1279         (testGIFData):
1280         (TestWebKitAPI::TEST):
1281
1282 2018-08-27  Alex Christensen  <achristensen@webkit.org>
1283
1284         Unreviewed, rolling out r235367.
1285
1286         Broke iOS build.
1287
1288         Reverted changeset:
1289
1290         "Translate 4 tests using WKPageLoaderClient to ObjC"
1291         https://bugs.webkit.org/show_bug.cgi?id=188827
1292         https://trac.webkit.org/changeset/235367
1293
1294 2018-08-27  Alex Christensen  <achristensen@webkit.org>
1295
1296         Fix GTK build.
1297
1298         * TestWebKitAPI/CMakeLists.txt:
1299
1300 2018-08-27  Alex Christensen  <achristensen@webkit.org>
1301
1302         Fix iOS build.
1303
1304         * TestWebKitAPI/PlatformWebView.h:
1305
1306 2018-08-27  Alex Christensen  <achristensen@webkit.org>
1307
1308         Translate 4 tests using WKPageLoaderClient to ObjC
1309         https://bugs.webkit.org/show_bug.cgi?id=188827
1310
1311         Reviewed by Tim Horton.
1312
1313         They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
1314         Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
1315         willGoToBackForwardListItem had userData from the InjectedBundle, but nobody was using it so I did not add that to the ObjC SPI, so I don't test that unused
1316         bundle functionality any more.
1317
1318         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1319         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
1320         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
1321         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
1322         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
1323         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
1324         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
1325         (-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
1326         (-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
1327         (TestWebKitAPI::TEST):
1328         (): Deleted.
1329         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1330         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
1331         (TestWebKitAPI::setPageLoaderClient): Deleted.
1332         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
1333         (-[ResponsivenessDelegate webView:didFinishNavigation:]):
1334         (-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
1335         (TestWebKitAPI::TEST):
1336         (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
1337         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1338         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
1339         (TestWebKitAPI::setInjectedBundleClient): Deleted.
1340         (TestWebKitAPI::setPageLoaderClient): Deleted.
1341         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
1342         (-[SessionStateDelegate webView:didFinishNavigation:]):
1343         (-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
1344         (TestWebKitAPI::createSessionStateData):
1345         (TestWebKitAPI::TEST):
1346         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1347         (TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
1348         (TestWebKitAPI::setPageLoaderClient): Deleted.
1349         * TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
1350         (-[BackForwardClient webView:didFinishNavigation:]):
1351         (-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
1352         (TestWebKitAPI::TEST):
1353         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1354         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
1355         (TestWebKitAPI::setPageLoaderClient): Deleted.
1356
1357 2018-08-27  Keith Miller  <keith_miller@apple.com>
1358
1359         test262-runner -s --test-only should replace test results
1360         https://bugs.webkit.org/show_bug.cgi?id=188450
1361
1362         Reviewed by Michael Saboff.
1363
1364         * Scripts/test262/Runner.pm:
1365         (main):
1366         (SetFailureForTest):
1367         (UpdateResults):
1368
1369 2018-08-26  Sam Weinig  <sam@webkit.org>
1370
1371         Using _WKRemoteObjectInterface with a protocol that inherits from a non-NSObject protocol crashes
1372         https://bugs.webkit.org/show_bug.cgi?id=188958
1373
1374         Reviewed by Anders Carlsson.
1375
1376         * TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
1377         Update test protocol to have inheritance.
1378
1379 2018-08-26  Wenson Hsieh  <wenson_hsieh@apple.com>
1380
1381         [Attachment Support] Dropping and pasting images should insert inline image elements with _WKAttachments
1382         https://bugs.webkit.org/show_bug.cgi?id=188933
1383         <rdar://problem/43699724>
1384
1385         Reviewed by Darin Adler.
1386
1387         Rebaseline existing API tests that involve dropping or pasting image files, and additionally write some new
1388         tests. These new tests exercise the following cases:
1389         •       Inserting and removing newlines before an inline image with an attachment element does not cause new
1390                 _WKAttachments to be created and destroyed.
1391         •       Pasting an image, cutting it, and then pasting it again propagates an attachment update to the UI
1392                 process with the original _WKAttachment.
1393         •       A pasted attachment in the document can be moved around by dragging, and doing so does not cause us to
1394                 lose a _WKAttachment.
1395
1396         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1397         (-[TestWKWebView expectElementCount:tagName:]):
1398         (TestWebKitAPI::TEST):
1399
1400         Add the new tests described above, and also adjust existing tests to check that images are dropped or pasted
1401         as image elements, but still have associated attachment elements whose attachment identifiers (observed via
1402         script) match that of the corresponding _WKAttachment's uniqueIdentifier in the UI process.
1403
1404         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
1405         (-[DragAndDropSimulator runFrom:to:]):
1406         (-[DragAndDropSimulator continueDragSession]):
1407         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
1408
1409         Teach DragAndDropSimulator on macOS to wait until the drop has been handled by the web process before returning
1410         execution to the caller. This ensures that tests which involve dropping promised files as attachments aren't
1411         flaky, due to how the promised data is retrieved asynchronously when performing the drop.
1412
1413         (-[DragAndDropSimulator _webView:didPerformDragOperation:]):
1414
1415 2018-08-26  Lucas Forschler  <lforschler@apple.com>
1416
1417         Open svn.webkit.org for commits.
1418
1419 2018-08-24  Myles C. Maxfield  <mmaxfield@apple.com>
1420
1421         Unreviewed test fix after r235249
1422         https://bugs.webkit.org/show_bug.cgi?id=178981
1423
1424         * WebGPUShadingLanguageRI/Test.js:
1425
1426 2018-08-24  Alex Christensen  <achristensen@webkit.org>
1427
1428         Introduce _WKInspector
1429         https://bugs.webkit.org/show_bug.cgi?id=188923
1430         <rdar://problem/34657861>
1431
1432         Reviewed by Brian Burg.
1433
1434         * MiniBrowser/mac/WK2BrowserWindowController.m:
1435         (-[WK2BrowserWindowController validateMenuItem:]):
1436         (-[WK2BrowserWindowController showHideWebInspector:]):
1437
1438 2018-08-24  Jonathan Bedard  <jbedard@apple.com>
1439
1440         Fix handling of iOS minor versions in default_baseline_search_path
1441         https://bugs.webkit.org/show_bug.cgi?id=188902
1442
1443         Reviewed by Aakash Jain.
1444
1445         * Scripts/webkitpy/port/ios.py:
1446         (IOSPort.default_baseline_search_path): When the major version matches the major version of the CURRENT_VERSION, treat
1447         it as a the CURRENT_VERSION.
1448
1449 2018-08-24  Antti Koivisto  <antti@apple.com>
1450
1451         Allow creating WeakPtrs to const objects
1452         https://bugs.webkit.org/show_bug.cgi?id=188785
1453
1454         Reviewed by Geoff Garen.
1455
1456         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
1457         (TestWebKitAPI::Base::weakPtrFactory const):
1458         (TestWebKitAPI::TEST):
1459         (TestWebKitAPI::Base::weakPtrFactory): Deleted.
1460
1461 2018-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
1462
1463         [GTK][WPE] Add API to inject/register user content in isolated worlds
1464         https://bugs.webkit.org/show_bug.cgi?id=188883
1465
1466         Reviewed by Michael Catanzaro.
1467
1468         Add test cases for the new API.
1469
1470         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
1471         (isStyleSheetInjectedForURLAtPath):
1472         (isScriptInjectedForURLAtPath):
1473         (testUserContentManagerInjectedStyleSheet):
1474         (testUserContentManagerInjectedScript):
1475         (UserScriptMessageTest::registerHandler):
1476         (UserScriptMessageTest::unregisterHandler):
1477         (UserScriptMessageTest::postMessageAndWaitUntilReceived):
1478         (testUserContentManagerScriptMessageInWorldReceived):
1479         (beforeAll):
1480
1481 2018-08-23  Simon Fraser  <simon.fraser@apple.com>
1482
1483         Add support for dumping GC heap snapshots, and a viewer
1484         https://bugs.webkit.org/show_bug.cgi?id=186416
1485
1486         Reviewed by Joseph Pecoraro.
1487
1488         Add a viewer for GC heap snapshots. A snapshot JSON file can be dragged into this
1489         page for inspection (or set via the 'filename' URL parameter).
1490
1491         For now, this page shows all objects, all roots, and the shortest path from a root
1492         to all HTMLDocuments and Windows.
1493
1494         * GCHeapInspector/gc-heap-inspector.html: Added.
1495         * GCHeapInspector/heap-analysis/HeapSnapshot.js: Copied from Source/WebInspectorUI/UserInterface/Workers/HeapSnapshot/HeapSnapshot.js.
1496         * GCHeapInspector/script/interface.js: Added.
1497
1498 2018-08-23  Alex Christensen  <achristensen@webkit.org>
1499
1500         Add new _webViewRequestPointerLock SPI with a completionHandler
1501         https://bugs.webkit.org/show_bug.cgi?id=188907
1502         <rdar://problem/35871109>
1503
1504         Reviewed by Andy Estes.
1505
1506         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
1507         (-[PointerLockDelegate _webViewRequestPointerLock:completionHandler:]):
1508         (-[PointerLockDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
1509         (TEST):
1510
1511 2018-08-23  David Fenton  <david_fenton@apple.com>
1512
1513         Unreviewed, rolling out r235129.
1514
1515         broke internal builds
1516
1517         Reverted changeset:
1518
1519         "Allow creating WeakPtrs to const objects"
1520         https://bugs.webkit.org/show_bug.cgi?id=188785
1521         https://trac.webkit.org/changeset/235129
1522
1523 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
1524
1525         API tests should output json results
1526         https://bugs.webkit.org/show_bug.cgi?id=188869
1527         <rdar://problem/43615652>
1528
1529         Reviewed by Aakash Jain.
1530
1531         JSON output for API tests is of the form:
1532             {
1533                 "Failed": [{"name": <test name>, "output": <test log>}],
1534                 "Timedout": [...],
1535                 "Skipped": [...],
1536                 "Crashed": [...]
1537             }
1538         Tests which are successful are not displayed in the json output.
1539
1540         * Scripts/webkitpy/api_tests/manager.py:
1541         (Manager.run): Print test results to provided file as a json dictionary.
1542         * Scripts/webkitpy/api_tests/run_api_tests.py:
1543         (run): Pass json option.
1544         (parse_args): Add --json-output flag.
1545
1546 2018-08-23  Andy Estes  <aestes@apple.com>
1547
1548         [Apple Pay] Introduce Apple Pay JS v4 on iOS 12 and macOS Mojave
1549         https://bugs.webkit.org/show_bug.cgi?id=188829
1550
1551         Reviewed by Tim Horton.
1552
1553         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1554
1555 2018-08-23  Myles C. Maxfield  <mmaxfield@apple.com>
1556
1557         [WSL] Ternary expressions appear to be unimplemented
1558         https://bugs.webkit.org/show_bug.cgi?id=178981
1559
1560         Reviewed by Saam Barati.
1561
1562         Implement ternary statements. These can be both lvalues and rvalues. (a ? b : c ? d : e)
1563         is parsed as (a ? b : (c ? d : e)).
1564
1565         * WebGPUShadingLanguageRI/All.js:
1566         * WebGPUShadingLanguageRI/Checker.js:
1567         (Checker.prototype.visitTernaryExpression):
1568         * WebGPUShadingLanguageRI/Evaluator.js:
1569         (Evaluator.prototype.visitTernaryExpression):
1570         * WebGPUShadingLanguageRI/NormalUsePropertyResolver.js:
1571         (NormalUsePropertyResolver.prototype.visitTernaryExpression):
1572         (NormalUsePropertyResolver):
1573         * WebGPUShadingLanguageRI/Parse.js:
1574         (parsePossibleTernaryConditional):
1575         * WebGPUShadingLanguageRI/PropertyResolver.js:
1576         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitTernaryExpression):
1577         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
1578         (PropertyResolver.prototype._visitRValuesWithinLValue):
1579         * WebGPUShadingLanguageRI/Rewriter.js:
1580         (Rewriter.prototype.visitTernaryExpression):
1581         * WebGPUShadingLanguageRI/SPIRV.html:
1582         * WebGPUShadingLanguageRI/Test.html:
1583         * WebGPUShadingLanguageRI/Test.js:
1584         * WebGPUShadingLanguageRI/Visitor.js:
1585         (Visitor.prototype.visitProtocolDecl):
1586         * WebGPUShadingLanguageRI/index.html:
1587
1588 2018-08-22  Ryosuke Niwa  <rniwa@webkit.org>
1589
1590         Assert in NetworkBlobRegistry::unregisterBlobURL after network process had terminated
1591         https://bugs.webkit.org/show_bug.cgi?id=188880
1592
1593         Reviewed by Saam Barati.
1594
1595         Fixed the bug that testRunner's terminateNetworkProcess, terminateServiceWorkerProcess, and terminateStorageProcess
1596         were asynchronously terminating respective processes. Do so synchronously so that we can deterministically
1597         test WebKit's behavior in layout tests.
1598
1599         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1600         (WTR::TestRunner::terminateNetworkProcess):
1601         (WTR::TestRunner::terminateServiceWorkerProcess):
1602         (WTR::TestRunner::terminateStorageProcess):
1603         * WebKitTestRunner/TestInvocation.cpp:
1604         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
1605         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1606
1607 2018-08-23  Myles C. Maxfield  <mmaxfield@apple.com>
1608
1609         [WHLSL] Allow native types to have type arguments (like "vector<float, 4>")
1610         https://bugs.webkit.org/show_bug.cgi?id=188773
1611
1612         Reviewed by Filip Pizlo.
1613
1614         Before this patch, it was impossible to represent "native typedef vector<float, 4>" because NativeTypes couldn't have
1615         typeArguments.
1616
1617         Previously, the way to identify a type was strictly by name, which was represented by a string. Therefore, when something like
1618         "vector<int, 3>" was parsed, it would produce a TypeRef with the name "vector" and typeArguments [TypeRef, IntLiteral]. Then,
1619         there was a pass to convert the TypeRef to have the name "int3" and no typeArguments. After this transformation, each type could
1620         be uniquely identified by name. That name was then matched to the string-only NativeType name.
1621
1622         This is okay for vectors and matrices, but it is unfortunate for textures (e.g. Texture2D<float4>) because they don't have any
1623         natural string-only name. In addition, the canonicalization would have to be made aware of the fact that Texture2D<float4> is
1624         the same as Texture2D<vector<float, 4>>. Similarly, an author may wish to typedef float4 to a different name.
1625
1626         It would be possible to mangle the names of the texture types to something unique, but then we lose information about the inner
1627         type. For example, if we did this, Visitor wouldn't recurse into the float4 when encountering Texture2D<float4> because that
1628         information would be lost. This could potentially make operations like programWithUnnecessaryThingsRemoved() more difficult to
1629         implement in the future.
1630
1631         So, it would be better to have each type uniquely identified by (name, typeArguments). TypeRef will therefore also have
1632         typeArguments which are used to determine which type it is referencing. After this analysis is done to determine what each
1633         TypeRef is referencing, subsequent passes shouldn't care about the typeArguments and should only care about the .type field
1634         which had been set - this was true even before this patch.
1635
1636         This means that NameContext has to aggregate types that accept typeArguments into arrays, where each array holds all the Types
1637         that have the same name but different typeArguments. Then, when we need to match a TypeRef with a Type, we can ask the
1638         NameContext for the appropriate array. This is the same way that function resolution works.
1639
1640         We can use Node.unify() to determine whether a TypeRef matches a NativeType. Eventually, this will go away, but for now, this is
1641         an okay start. This works just about the same way that function overload resolution works. 
1642
1643         * WebGPUShadingLanguageRI/All.js:
1644         * WebGPUShadingLanguageRI/CallExpression.js:
1645         (CallExpression.prototype.resolve):
1646         * WebGPUShadingLanguageRI/CheckTypesWithArguments.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js. After types
1647         have been resolved, there should be no TypeRefs with name "vector" that don't have type arguments. This is just a sanity check.
1648         (checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
1649         (checkTypesWithArguments.TypeWithArgumentsChecker):
1650         (checkTypesWithArguments):
1651         * WebGPUShadingLanguageRI/Checker.js:
1652         (Checker.prototype.visitProgram): Program.types mirrors NameContext: it's a Map that maps strings to types. Because types with
1653         typeArguments share names, this has to be updated to map strings to arrays for these types.
1654         (Checker.prototype.visitTypeRef):
1655         * WebGPUShadingLanguageRI/InferTypesForCall.js:
1656         (inferTypesForCall): Don't know why this was here.
1657         (inferTypesForTypeArguments): Same as inferTypesForCall, but this one is for matching type arguments.
1658         * WebGPUShadingLanguageRI/Intrinsics.js: Adding the types. This patch also adds some scalar types like half, char, etc, but they
1659         don't have any functions which accept them. Those will be tested in my next patch which adds math functions for these types. This
1660         moves in the direction of matching the standard library in the spec.
1661         (Intrinsics.cast):
1662         (Intrinsics.bitwiseCast):
1663         (Intrinsics.castToHalf):
1664         (Intrinsics.):
1665         (Intrinsics):
1666         * WebGPUShadingLanguageRI/NameContext.js: Aggregate types with typeArguments into arrays.
1667         (NameContext.prototype.add):
1668         (NameContext.prototype.get let):
1669         (NameContext.underlyingThings.prototype.else):
1670         (NameContext.prototype.Symbol.iterator):
1671         (NameContext):
1672         * WebGPUShadingLanguageRI/NameResolver.js:
1673         (NameResolver.prototype.visitTypeRef): Call TypeRef.resolve().
1674         (NameResolver.prototype.visitCallExpression):
1675         (NameResolver):
1676         (NameResolver.prototype.visitVectorType): Deleted.
1677         * WebGPUShadingLanguageRI/NativeType.js: NativeTypes can have type arguments now.
1678         (NativeType):
1679         (NativeType.prototype.get typeArguments):
1680         (NativeType.prototype.toString):
1681         (NativeType.create):
1682         * WebGPUShadingLanguageRI/Prepare.js:
1683         (let.prepare):
1684         * WebGPUShadingLanguageRI/Program.js: Update to work with types aggregated into arrays.
1685         (Program.prototype.add):
1686         (Program.prototype.toString):
1687         (Program):
1688         * WebGPUShadingLanguageRI/RemoveTypeArguments.js: Removed.
1689         * WebGPUShadingLanguageRI/ResolveNames.js: Update to work with types aggregated into arrays.
1690         (resolveNamesInTypes):
1691         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js: Resolve the type overload for types with typeArguments.
1692         * WebGPUShadingLanguageRI/ResolveTypeDefs.js: Update to work with types aggregated into arrays.
1693         (resolveTypeDefsInTypes):
1694         * WebGPUShadingLanguageRI/Rewriter.js: TypeRefs and Native/Vector types can have typeArguments.
1695         (Rewriter.prototype.visitTypeRef):
1696         (Rewriter.prototype.visitVectorType):
1697         (Rewriter):
1698         * WebGPUShadingLanguageRI/SPIRV.html:
1699         * WebGPUShadingLanguageRI/StandardLibrary.js: Matches Intrinsics.
1700         (bool.operator):
1701         * WebGPUShadingLanguageRI/StatementCloner.js: Native types can have typeArguments.
1702         (StatementCloner.prototype.visitNativeType):
1703         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Vector types need constructors too.
1704         (synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitVectorType):
1705         (synthesizeDefaultConstructorOperator.FindAllTypes):
1706         (synthesizeDefaultConstructorOperator):
1707         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: No reason to distinguish between wrapping and instantiating a TypeRef.
1708         (synthesizeStructAccessors.createTypeRef):
1709         * WebGPUShadingLanguageRI/Test.html:
1710         * WebGPUShadingLanguageRI/Test.js:
1711         * WebGPUShadingLanguageRI/TypeOverloadResolutionFailure.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js.
1712         (TypeOverloadResolutionFailure):
1713         (TypeOverloadResolutionFailure.prototype.get type):
1714         (TypeOverloadResolutionFailure.prototype.get reason):
1715         (TypeOverloadResolutionFailure.prototype.toString):
1716         * WebGPUShadingLanguageRI/TypeRef.js:
1717         (TypeRef.wrap):
1718         (TypeRef.prototype.resolve): Figure out which item in the possibleOverloads array matches this.
1719         (TypeRef.prototype.toString):
1720         (TypeRef):
1721         (TypeRef.instantiate): Deleted.
1722         * WebGPUShadingLanguageRI/UnificationContext.js: We need to give literals a chance to assume their preferred type. This
1723         adds this facility back into the compiler (it was previously deleted).
1724         (UnificationContext.prototype.verify):
1725         * WebGPUShadingLanguageRI/VectorType.js: Vector types have type arguments.
1726         (VectorType):
1727         (VectorType.prototype.get elementType):
1728         (VectorType.prototype.get numElements):
1729         (VectorType.prototype.get numElementsValue):
1730         (VectorType.prototype.toString):
1731         * WebGPUShadingLanguageRI/Visitor.js: Iterate over the typeArguments.
1732         (Visitor.prototype.visitTypeRef):
1733         (Visitor.prototype.visitNativeType):
1734         (Visitor.prototype.visitVectorType):
1735         (Visitor):
1736         * WebGPUShadingLanguageRI/index.html:
1737
1738 2018-08-23  Wenson Hsieh  <wenson_hsieh@apple.com>
1739
1740         [Attachment Support] Attachment elements don't appear in drag images on macOS
1741         https://bugs.webkit.org/show_bug.cgi?id=188823
1742         <rdar://problem/43616378>
1743
1744         Reviewed by Tim Horton.
1745
1746         Adjusts a couple of existing tests to additionally verify that the drag image generated when dragging an
1747         attachment element in macOS is not completely transparent.
1748
1749         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1750         (isCompletelyTransparent):
1751         (TestWebKitAPI::TEST):
1752
1753 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
1754
1755         Explain test name matching in run-api-tests help
1756         https://bugs.webkit.org/show_bug.cgi?id=188280
1757
1758         Reviewed by Ryosuke Niwa.
1759
1760         Improve the run-api-tests help message to explain how test
1761         name matching works.
1762
1763         * Scripts/webkitpy/api_tests/run_api_tests.py:
1764         (parse_args):
1765         * Scripts/webkitpy/port/base.py:
1766         (Port):
1767         (Port.path_to_api_test_binaries): Make binary names a globally accessible array.
1768         * Scripts/webkitpy/port/win.py:
1769         (WinPort):
1770         (WinPort.path_to_api_test_binaries): Ditto.
1771
1772 2018-08-23  Youenn Fablet  <youenn@apple.com>
1773
1774         Use "wpt serve" to launch WPT server
1775         https://bugs.webkit.org/show_bug.cgi?id=188848
1776
1777         Reviewed by Ryosuke Niwa.
1778
1779         Use "wpt serve" provided by WPT instead of using our custom launcher.
1780         This simplifies things and will avoid future breakage.
1781         Further simplify web_platform_test_server.py by removing no longer needed actions.
1782         - Do not copy files but use alias
1783         - Do not kill main pid, which leaves subprocesses alive, use interrupt instead.
1784         - Stop enumerating subprocess pids.
1785
1786         * Scripts/webkitpy/common/system/executive_mock.py:
1787         (MockExecutive.interrupt):
1788         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py: Removed.
1789         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
1790         (WebPlatformTestServer.__init__):
1791         (WebPlatformTestServer.ports_to_forward):
1792         (WebPlatformTestServer._prepare_config):
1793         (WebPlatformTestServer._spawn_process):
1794         (WebPlatformTestServer._stop_running_server):
1795
1796 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
1797
1798         run-api-tests: Add --webkit-only, --webcore-only and --webkit-legacy-only options to run WebKit, WebCore and WebKitLegacy tests 
1799         https://bugs.webkit.org/show_bug.cgi?id=188262
1800
1801         Reviewed by Ryosuke Niwa.
1802
1803         * Scripts/webkitpy/api_tests/run_api_tests.py:
1804         (parse_args):
1805
1806 2018-08-22  Wenson Hsieh  <wenson_hsieh@apple.com>
1807
1808         [Attachment Support] Support dragging attachment elements out as files on macOS
1809         https://bugs.webkit.org/show_bug.cgi?id=181294
1810         <rdar://problem/36298801>
1811
1812         Reviewed by Tim Horton.
1813
1814         Add DragAndDropSimulator support for intercepting calls to -beginDraggingSessionWithitems:event:source:. This
1815         enables us to write API tests for macOS that exercise the attachment SPI in combination with dragging attachment
1816         elements.
1817
1818         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1819         (-[TestWKWebView attachmentElementMidPoint]):
1820
1821         Add a helper method local to this test suite that grabs the midpoint (in client coordinates) or the first
1822         attachment element in the document.
1823
1824         (TestWebKitAPI::TEST):
1825
1826         Add a new API test to verify that dragging an attachment element on macOS produces file providers which may be
1827         used to write attachment data to a path on disk. Additionally, refactor an existing API test,
1828         MoveAttachmentElementAsIconByDragging, so that it runs on both iOS and macOS, to test the ability to move
1829         attachment elements around in a document by using drag and drop.
1830
1831         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
1832         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
1833         (-[DragAndDropTestWKWebView beginDraggingSessionWithItems:event:source:]):
1834         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
1835         (-[DragAndDropSimulator dealloc]):
1836         (-[DragAndDropSimulator runFrom:to:]):
1837         (-[DragAndDropSimulator beginDraggingSessionInWebView:withItems:source:]):
1838
1839         Begin a drag session and kick off the -continueDragSession loop. Unlike -performDragInWebView:…, which spins
1840         the main runloop until dragging ends, this version returns execution to the web view and schedules dragging
1841         updates asynchronously. This matches AppKit behavior.
1842
1843         (-[DragAndDropSimulator continueDragSession]):
1844
1845         Increment the dragging progress amount, send a drag update to the web view, and continue scheduling calls to
1846         itself until the progress reaches 1.
1847
1848         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
1849         (-[DragAndDropSimulator initializeDraggingInfo:dragImage:source:]):
1850
1851         Pull out common logic for creating a new TestDraggingInfo after starting a drag.
1852
1853         (-[DragAndDropSimulator insertedAttachments]):
1854         (-[DragAndDropSimulator removedAttachments]):
1855         (-[DragAndDropSimulator draggingSession]):
1856         (-[DragAndDropSimulator receivePromisedFiles]):
1857
1858         Helper method to save promised files written to the pasteboard after a drag to the temporary directory. These
1859         files are tracked by DragAndDropSimulator and automatically cleaned up after the test finishes.
1860
1861         (-[DragAndDropSimulator endDataTransfer]):
1862
1863         Add a method stub on macOS, so that MoveAttachmentElementAsIconByDragging can be made cross-platform.
1864
1865         (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
1866         (-[DragAndDropSimulator _webView:didRemoveAttachment:]):
1867
1868         Implement method stubs to keep track of inserted or removed attachments while simulating a drag.
1869
1870 2018-08-22  Aditya Keerthi  <akeerthi@apple.com>
1871
1872         [iOS] Add support for the inputmode attribute
1873         https://bugs.webkit.org/show_bug.cgi?id=183621
1874
1875         Reviewed by Tim Horton.
1876
1877         Added an API test to verify that the correct UIKeyboardType is set depending on
1878         the type, inputmode, and pattern specified for an input field.
1879
1880         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
1881         (TestWebKitAPI::TEST):
1882         * TestWebKitAPI/ios/UIKitSPI.h:
1883
1884 2018-08-22  Alex Christensen  <achristensen@webkit.org>
1885
1886         Fix API test on Sierra after r235139
1887         https://bugs.webkit.org/show_bug.cgi?id=188810
1888
1889         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
1890         (TEST):
1891
1892 2018-08-22  David Kilzer  <ddkilzer@apple.com>
1893
1894         Move files in WebCore project to match Xcode folder structure
1895         <https://webkit.org/b/188851>
1896
1897         Reviewed by Tim Horton.
1898
1899         * Scripts/extract-localizable-strings:
1900         * Scripts/update-webkit-localizable-strings:
1901         - Update to match new location of extract-localizable-strings.pl.
1902
1903 2018-08-21  Alex Christensen  <achristensen@webkit.org>
1904
1905         Roll out r235139 and r235146
1906         https://bugs.webkit.org/show_bug.cgi?id=188805
1907
1908         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1909         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
1910
1911 2018-08-21  Wenson Hsieh  <wenson_hsieh@apple.com>
1912
1913         [Attachment Support] Remove _WKAttachments and notify the UI client upon mainframe navigation
1914         https://bugs.webkit.org/show_bug.cgi?id=188715
1915         <rdar://problem/43541790>
1916
1917         Reviewed by Tim Horton.
1918
1919         Adds API tests to exercises cases where (1) the UI client is notified of attachment removal upon mainframe
1920         navigation, and (2) the UI client is notified of attachment removal upon web content process termination.
1921
1922         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1923         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
1924         (TestWebKitAPI::TEST):
1925
1926 2018-08-21  Alex Christensen  <achristensen@webkit.org>
1927
1928         Transition ResizeReversePaginatedWebView API test from WKPageLoaderClient to WKPageNavigationClient
1929         https://bugs.webkit.org/show_bug.cgi?id=188821
1930
1931         Reviewed by Simon Fraser.
1932
1933         * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
1934         (TestWebKitAPI::didLayout):
1935         (TestWebKitAPI::TEST):
1936
1937 2018-08-21  Myles C. Maxfield  <mmaxfield@apple.com>
1938
1939         [WHLSL] Call expressions shouldn't have type arguments
1940         https://bugs.webkit.org/show_bug.cgi?id=188770
1941
1942         Reviewed by Filip Pizlo.
1943
1944         Call expressions only had type arguments for casts, becuase native types can have type arguments.
1945         However, instead of putting those type arguments on the CallExpression, we should parse the casted
1946         type as a real type and not as an identifier, which puts the type arguments in the TypeRef.
1947
1948         Test: casts
1949
1950         * WebGPUShadingLanguageRI/CallExpression.js:
1951         (CallExpression):
1952         (CallExpression.prototype.get name):
1953         (CallExpression.resolve):
1954         (CallExpression.prototype.get typeArguments): Deleted.
1955         (CallExpression.prototype.becomeCast): Deleted.
1956         * WebGPUShadingLanguageRI/NameResolver.js:
1957         (NameResolver.prototype.visitCallExpression):
1958         * WebGPUShadingLanguageRI/Parse.js:
1959         (parseConstexpr):
1960         (parseTypeDef):
1961         (parseLeftOperatorCall):
1962         (parseCallExpression.let.parseArguments):
1963         (parsePossiblePrefix):
1964         (parsePossibleRelationalEquality):
1965         (parseLeftLogicalExpression):
1966         (parseIfStatement):
1967         (parseWhile):
1968         (parseFor):
1969         (parseDo):
1970         * WebGPUShadingLanguageRI/RemoveTypeArguments.js:
1971         * WebGPUShadingLanguageRI/Rewriter.js:
1972         (Rewriter.prototype.visitCallExpression):
1973
1974 2018-08-21  Alex Christensen  <achristensen@webkit.org>
1975
1976         Translate WebKit.LimitTitleSize API test into ObjC
1977         https://bugs.webkit.org/show_bug.cgi?id=188810
1978
1979         Reviewed by Andy Estes.
1980
1981         It uses WKPageLoaderClient.didReceiveTitleForFrame which has been replaced by KVO.
1982         I'm translating the test into ObjC rather than introducing a new callback to WKPageNavigationClient.
1983
1984         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1985         * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp: Removed.
1986         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
1987         (TEST):
1988         (-[LimitTitleSizeTestObserver observeValueForKeyPath:ofObject:change:context:]):
1989         (TestWebKitAPI::TEST): Deleted.
1990
1991 2018-08-21  Alex Christensen  <achristensen@webkit.org>
1992
1993         Remove unused shouldKeepCurrentBackForwardListItemInList check
1994         https://bugs.webkit.org/show_bug.cgi?id=188805
1995
1996         Reviewed by Andy Estes.
1997
1998         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1999         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp: Removed.
2000
2001 2018-08-21  Alex Christensen  <achristensen@webkit.org>
2002
2003         Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
2004         https://bugs.webkit.org/show_bug.cgi?id=188813
2005
2006         Reviewed by Andy Estes.
2007
2008         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp:
2009         (TestWebKitAPI::didLayout):
2010         (TestWebKitAPI::setPageLoaderClient):
2011         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
2012         (TestWebKitAPI::didFinishNavigation):
2013         (TestWebKitAPI::didLayout):
2014         (TestWebKitAPI::setPageLoaderClient):
2015         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2016         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
2017         (TestWebKitAPI::didLayout):
2018         (TestWebKitAPI::setPageLoaderClient):
2019
2020 2018-08-21  Wenson Hsieh  <wenson_hsieh@apple.com>
2021
2022         [Attachment Support] Augment _WKAttachment SPI to handle NSFileWrappers in addition to NSData
2023         https://bugs.webkit.org/show_bug.cgi?id=188496
2024         <rdar://problem/43216836>
2025
2026         Reviewed by Tim Horton.
2027
2028         Adjusts existing attachment API tests. See below for more detail.
2029
2030         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2031         (-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
2032         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
2033         (-[_WKAttachment synchronouslySetData:newContentType:newFilename:error:]):
2034         (-[_WKAttachment synchronouslySetFileWrapper:newContentType:error:]):
2035
2036         Move off of deprecated attachment SPI, and add new helper functions to synchronously insert a new attachment or
2037         update an existing attachment with a file wrapper.
2038
2039         (-[_WKAttachment expectRequestedDataToBe:]):
2040         (TestWebKitAPI::TEST):
2041
2042         Add a new test to verify that file-URL-backed NSFileWrappers can be used to insert and update attachment data.
2043         Also augment an existing test to check that an attachment element which has been copied and pasted within the
2044         same document has a different _WKAttachment wrapper object than its duplicate, but both _WKAttachments are
2045         backed by the same NSFileWrapper that was originally used to insert the attachment.
2046
2047         Additionally, add another macOS test to verify that dropping promised files in an attachment-element-enabled
2048         editable area inserts attachment elements into the document and notifies the UI client with the inserted
2049         attachment data.
2050
2051         (-[_WKAttachment synchronouslyRequestInfo:]): Deleted.
2052         (-[_WKAttachment synchronouslyRequestData:]): Deleted.
2053         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
2054         (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
2055
2056         Move off of -_webView:didInsertAttachment:.
2057
2058         (-[DragAndDropSimulator _webView:didInsertAttachment:]): Deleted.
2059
2060 2018-08-21  David Kilzer  <ddkilzer@apple.com>
2061
2062         sort-Xcode-project-file: top-level files and folders are sorted unintentionally when `mainGroup` has no name
2063         <https://webkit.org/b/188755>
2064
2065         Reviewed by Andy Estes.
2066
2067         * Scripts/sort-Xcode-project-file: Fix regular expression to
2068         make `mainGroup` name optional.
2069
2070 2018-08-21  Andy VanWagoner  <andy@vanwagoner.family>
2071
2072         Unreviewed, add myself to committers list.
2073
2074         * Scripts/webkitpy/common/config/contributors.json:
2075
2076 2018-08-21  Antti Koivisto  <antti@apple.com>
2077
2078         Allow creating WeakPtrs to const objects
2079         https://bugs.webkit.org/show_bug.cgi?id=188785
2080
2081         Reviewed by Geoffrey Garen.
2082
2083         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
2084         (TestWebKitAPI::Base::weakPtrFactory const):
2085         (TestWebKitAPI::TEST):
2086         (TestWebKitAPI::Base::weakPtrFactory): Deleted.
2087
2088 2018-08-21  Per Arne Vollan  <pvollan@apple.com>
2089
2090         [WebGL] Contexts are not updated when display configuration changed.
2091         https://bugs.webkit.org/show_bug.cgi?id=188750
2092
2093         Reviewed by Brent Fulgham.
2094
2095         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2096         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2097         (WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting):
2098         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2099         * WebKitTestRunner/TestController.cpp:
2100         (WTR::TestController::sendDisplayConfigurationChangedMessageForTesting):
2101         * WebKitTestRunner/TestController.h:
2102         * WebKitTestRunner/TestInvocation.cpp:
2103         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2104
2105 2018-08-21  John Wilander  <wilander@apple.com>
2106
2107         Make ResourceLoadObserver::logWebSocketLoading() handle websockets in detached frames
2108         https://bugs.webkit.org/show_bug.cgi?id=188757
2109         <rdar://problem/38713390>
2110
2111         Reviewed by Alex Christensen.
2112
2113         These changes add the new WebKitTestRunner function
2114         isStatisticsRegisteredAsSubresourceUnder().
2115
2116         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2117         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2118         (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
2119         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2120         * WebKitTestRunner/TestController.cpp:
2121         (WTR::TestController::isStatisticsRegisteredAsSubresourceUnder):
2122         * WebKitTestRunner/TestController.h:
2123         * WebKitTestRunner/TestInvocation.cpp:
2124         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2125
2126 2018-08-21  Alex Christensen  <achristensen@webkit.org>
2127
2128         Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
2129         https://bugs.webkit.org/show_bug.cgi?id=188797
2130
2131         Reviewed by Tim Horton.
2132
2133         * TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp:
2134         (TestWebKitAPI::didFinishNavigation):
2135         (TestWebKitAPI::TEST):
2136         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2137         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
2138         (TestWebKitAPI::didSameDocumentNavigation):
2139         (TestWebKitAPI::TEST):
2140         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
2141         * TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
2142         (TestWebKitAPI::didFailProvisionalNavigation):
2143         (TestWebKitAPI::TEST):
2144         (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
2145         * TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
2146         (TestWebKitAPI::didStartProvisionalNavigation):
2147         (TestWebKitAPI::didCommitNavigation):
2148         (TestWebKitAPI::didFinishNavigation):
2149         (TestWebKitAPI::TEST):
2150         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
2151         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
2152         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2153         * TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
2154         (TestWebKitAPI::didStartProvisionalNavigation):
2155         (TestWebKitAPI::didCommitNavigation):
2156         (TestWebKitAPI::didFinishNavigation):
2157         (TestWebKitAPI::TEST):
2158         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
2159         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
2160         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2161         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
2162         (TestWebKitAPI::renderingProgressDidChange):
2163         (TestWebKitAPI::TEST):
2164         (TestWebKitAPI::didLayout): Deleted.
2165         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
2166         (TestWebKitAPI::didFinishNavigation):
2167         (TestWebKitAPI::renderingProgressDidChange):
2168         (TestWebKitAPI::setPageLoaderClient):
2169         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2170         (TestWebKitAPI::didLayout): Deleted.
2171         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
2172         (TestWebKitAPI::State::State):
2173         (TestWebKitAPI::didStartProvisionalNavigation):
2174         (TestWebKitAPI::didCommitNavigation):
2175         (TestWebKitAPI::didFinishNavigation):
2176         (TestWebKitAPI::decidePolicyForNavigationAction):
2177         (TestWebKitAPI::decidePolicyForResponse):
2178         (TestWebKitAPI::TEST):
2179         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
2180         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
2181         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2182         (TestWebKitAPI::decidePolicyForNewWindowAction): Deleted.
2183         * TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
2184         (TestWebKitAPI::didSameDocumentNavigation):
2185         (TestWebKitAPI::TEST):
2186         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2187         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
2188         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
2189         (TestWebKitAPI::TEST):
2190         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
2191         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
2192         (TestWebKitAPI::didFinishLoad):
2193         (TestWebKitAPI::TEST):
2194         * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp:
2195         (TestWebKitAPI::didFinishNavigation):
2196         (TestWebKitAPI::TEST):
2197         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2198         * TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
2199         (TestWebKitAPI::didFinishLoad):
2200         (TestWebKitAPI::TEST):
2201         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
2202         (WebKit2_CommandBackForwardTestWKView::SetUp):
2203         (WebKit2_CommandBackForwardTestWKView::didFinishLoadForFrame): Deleted.
2204
2205 2018-08-20  Alex Christensen  <achristensen@webkit.org>
2206
2207         Replace WKPageLoaderClient with WKPageNavigationClient in many API tests
2208         https://bugs.webkit.org/show_bug.cgi?id=188771
2209
2210         Reviewed by Tim Horton.
2211
2212         * TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
2213         (TestWebKitAPI::didFinishNavigation):
2214         (TestWebKitAPI::TEST):
2215         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2216         * TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
2217         (TestWebKitAPI::didFinishNavigation):
2218         (TestWebKitAPI::TEST):
2219         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2220         * TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm:
2221         (TestWebKitAPI::didFinishNavigation):
2222         (TestWebKitAPI::setPageLoaderClient):
2223         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2224         * TestWebKitAPI/Tests/WebKit/DidNotHandleKeyDown.cpp:
2225         (TestWebKitAPI::TEST):
2226         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2227         * TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache.cpp:
2228         (TestWebKitAPI::didFinishNavigation):
2229         (TestWebKitAPI::setPageLoaderClient):
2230         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2231         * TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
2232         (TestWebKitAPI::didFinishNavigation):
2233         (TestWebKitAPI::setClients):
2234         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2235         * TestWebKitAPI/Tests/WebKit/Find.cpp:
2236         (TestWebKitAPI::didFinishNavigation):
2237         (TestWebKitAPI::TEST):
2238         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2239         * TestWebKitAPI/Tests/WebKit/FindMatches.mm:
2240         (TestWebKitAPI::didFinishNavigation):
2241         (TestWebKitAPI::TEST):
2242         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2243         * TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
2244         (TestWebKitAPI::didFinishNavigation):
2245         (TestWebKitAPI::TEST):
2246         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2247         * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
2248         (TestWebKitAPI::didFinishNavigation):
2249         (TestWebKitAPI::TEST):
2250         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2251         * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
2252         (TestWebKitAPI::didFinishNavigation):
2253         (TestWebKitAPI::TEST):
2254         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2255         * TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle.cpp:
2256         (TestWebKitAPI::didFinishNavigation):
2257         (TestWebKitAPI::setPageLoaderClient):
2258         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2259         * TestWebKitAPI/Tests/WebKit/InjectedBundleBasic.cpp:
2260         (TestWebKitAPI::didFinishNavigation):
2261         (TestWebKitAPI::TEST):
2262         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2263         * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp:
2264         (TestWebKitAPI::didFinishLoadForFrame):
2265         * TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
2266         (TestWebKitAPI::didFinishNavigation):
2267         (TestWebKitAPI::loadAlternateHTMLString):
2268         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2269         * TestWebKitAPI/Tests/WebKit/LoadCanceledNoServerRedirectCallback.cpp:
2270         (TestWebKitAPI::didFinishNavigation):
2271         (TestWebKitAPI::TEST):
2272         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2273         * TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp:
2274         (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
2275         (TestWebKitAPI::didFinishLoad):
2276         * TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp:
2277         (TestWebKitAPI::didFinishNavigation):
2278         (TestWebKitAPI::setPageLoaderClient):
2279         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2280         * TestWebKitAPI/Tests/WebKit/MouseMoveAfterCrash.cpp:
2281         (TestWebKitAPI::didFinishNavigation):
2282         (TestWebKitAPI::setPageLoaderClient):
2283         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2284         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
2285         (TestWebKitAPI::didFinishLoadForFrame):
2286         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
2287         (TestWebKitAPI::TEST):
2288         * TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp:
2289         (TestWebKitAPI::TEST):
2290         * TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp:
2291         (TestWebKitAPI::didFinishLoad):
2292         (TestWebKitAPI::TEST):
2293         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
2294         (TestWebKitAPI::didFinishNavigation):
2295         (TestWebKitAPI::setPageLoaderClient):
2296         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2297         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp:
2298         (TestWebKitAPI::didFinishNavigation):
2299         (TestWebKitAPI::setPageLoaderClient):
2300         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2301         * TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp:
2302         (TestWebKitAPI::didFinishNavigation):
2303         (TestWebKitAPI::TEST):
2304         (TestWebKitAPI::didFinishDocumentLoadForFrame): Deleted.
2305         * TestWebKitAPI/Tests/WebKit/SpacebarScrolling.cpp:
2306         (TestWebKitAPI::didFinishNavigation):
2307         (TestWebKitAPI::TEST):
2308         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2309         * TestWebKitAPI/Tests/WebKit/StopLoadingDuringDidFailProvisionalLoad.cpp:
2310         (TestWebKitAPI::didFailProvisionalNavigation):
2311         (TestWebKitAPI::TEST):
2312         (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
2313         * TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp:
2314         (TestWebKitAPI::didFinishNavigation):
2315         (TestWebKitAPI::TEST):
2316         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2317         * TestWebKitAPI/Tests/WebKit/TextFieldDidBeginAndEndEditing.cpp:
2318         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishNavigation):
2319         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::setPageLoaderClient):
2320         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishLoadForFrame): Deleted.
2321         * TestWebKitAPI/Tests/WebKit/UserMessage.cpp:
2322         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishNavigation):
2323         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::setPageLoaderClient):
2324         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishLoadForFrame): Deleted.
2325         * TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp:
2326         (TestWebKitAPI::didFinishNavigation):
2327         (TestWebKitAPI::setPageLoaderClient):
2328         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2329         * TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp:
2330         (TestWebKitAPI::didFinishNavigation):
2331         (TestWebKitAPI::setPageLoaderClient):
2332         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2333         * TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp:
2334         (TestWebKitAPI::didFinishNavigation):
2335         (TestWebKitAPI::setPageLoaderClient):
2336         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2337         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp:
2338         (TestWebKitAPI::didFinishNavigation):
2339         (TestWebKitAPI::setUpClients):
2340         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2341         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
2342         (TestWebKitAPI::didFinishNavigation):
2343         (TestWebKitAPI::setPageLoaderClient):
2344         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2345         * TestWebKitAPI/Tests/WebKit/WebArchive.cpp:
2346         (TestWebKitAPI::didFinishNavigation):
2347         (TestWebKitAPI::TEST):
2348         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2349         * TestWebKitAPI/Tests/WebKit/mac/AttributedSubstringForProposedRangeWithImage.mm:
2350         (TestWebKitAPI::didFinishNavigation):
2351         (TestWebKitAPI::TEST):
2352         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2353         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
2354         (TestWebKitAPI::didFinishNavigation):
2355         (TestWebKitAPI::TEST):
2356         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2357         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm:
2358         (TestWebKitAPI::didFinishNavigation):
2359         (TestWebKitAPI::TEST):
2360         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2361         * TestWebKitAPI/Tests/WebKit/mac/EditorCommands.mm:
2362         (TestWebKitAPI::didFinishNavigation):
2363         (TestWebKitAPI::TEST):
2364         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2365         * TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp:
2366         (TestWebKitAPI::didFinishNavigation):
2367         (TestWebKitAPI::TEST):
2368         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2369         * TestWebKitAPI/Tests/WebKit/mac/InjectedBundleAppleEvent.cpp:
2370         (TestWebKitAPI::didFinishNavigation):
2371         (TestWebKitAPI::TEST):
2372         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2373         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
2374         (didFinishNavigation):
2375         (TestWebKitAPI::TEST):
2376         (didFinishLoadForFrame): Deleted.
2377         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
2378         (didFinishNavigation):
2379         (TestWebKitAPI::TEST):
2380         (didFinishLoadForFrame): Deleted.
2381         * TestWebKitAPI/Tests/mac/FirstResponderScrollingPosition.mm:
2382         (TestWebKitAPI::didFinishNavigation):
2383         (TestWebKitAPI::TEST):
2384         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2385         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
2386         (TestWebKitAPI::didFinishNavigation):
2387         (TestWebKitAPI::setPageLoaderClient):
2388         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2389
2390 2018-08-21  Adrian Perez de Castro  <aperez@igalia.com>
2391
2392         [WPE] Update to use libwpe-1.0.0 and WPEBackend-fdo-1.0.0
2393         https://bugs.webkit.org/show_bug.cgi?id=188782
2394
2395         Reviewed by Michael Catanzaro.
2396
2397         Make the build depend on wpe-0.2, and change the Flatpak and JHBuild development
2398         environments to use version 1.0.0 of libwpe and WPEBackend-fdo.
2399
2400         * flatpak/org.webkit.WPE.yaml: Update to use libwpe and WPEBackend-fdo version 1.0.0 from
2401         release tarballs, and removed the (now unneeded) Lua and LuaJIT modules.
2402         * wpe/jhbuild.modules: Ditto.
2403
2404 2018-08-21  Michael Catanzaro  <mcatanzaro@igalia.com>
2405
2406         [Flatpak] Update to GNOME master runtime
2407         https://bugs.webkit.org/show_bug.cgi?id=188731
2408
2409         Reviewed by Philippe Normand.
2410
2411         The 3.28 runtime is pretty stale at this point. We could wait a couple weeks for the 3.30
2412         runtime, but I don't think there's any need to stick with the stable runtime when we have
2413         the ability to pin to a particular version of the master runtime. There are also several
2414         advantages to switching to the master runtime.
2415
2416         * flatpak/files/httpd-autogen.sh: Removed.
2417         * flatpak/flatpakutils.py:
2418         (WebkitFlatpak.clean_args):
2419         * flatpak/org.webkit.GTK.yaml:
2420         * flatpak/org.webkit.WebKit.yaml:
2421         * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Removed.
2422         * flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Removed.
2423
2424 2018-08-20  Jonathan Bedard  <jbedard@apple.com>
2425
2426         WebKitTestRunner: Add watchOS entitlements
2427         https://bugs.webkit.org/show_bug.cgi?id=188758
2428
2429         Reviewed by Tim Horton.
2430
2431         watchOS needs an additional entitlement to open up a socket for on-device testing.
2432
2433         * WebKitTestRunner/Configurations/WebKitTestRunnerApp-watchOS.entitlements: Added.
2434         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
2435         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2436
2437 2018-08-20  Thomas Denney  <tdenney@apple.com>
2438
2439         [WHLSL] Remove generics from the interpreter
2440         https://bugs.webkit.org/show_bug.cgi?id=187988
2441
2442         Reviewed by Myles C. Maxfield.
2443
2444         This patch completely removes generic and protocol support from WHLSL
2445         whilst adding back any features that were originally implemented with
2446         generics.
2447
2448         Many of the changes in this patch just remove occurrences of type
2449         arguments and type parameters --- although there are some cases where
2450         they have been deliberately left in --- as well as removing tests only
2451         relevant to those features. These changes are not listed below.
2452
2453         * WebGPUShadingLanguageRI/All.js: Add/remove JS dependencies
2454         * WebGPUShadingLanguageRI/AutoWrapper.js:
2455         (AutoWrapper.prototype.visitConstexprTypeParameter): Deleted.
2456         * WebGPUShadingLanguageRI/BuiltinVectorCasts.js: Added. The built-in
2457         vectors have many constructors for different scalar and vector types.
2458         These were originally implemented with generics.
2459         * WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Adds the
2460         equality operator for built-in vectors, again this was removed with
2461         generics.
2462         * WebGPUShadingLanguageRI/BuiltinVectorGetter.js: Added, as above.
2463         Built-in vectors only support the getter and setter, and not the ander.
2464         * WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js: Added.
2465         * WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js: Added.
2466         * WebGPUShadingLanguageRI/BuiltinVectorSetter.js: Added.
2467         * WebGPUShadingLanguageRI/CallExpression.js: Adds support for
2468         instantiating functions which cannot be discovered earlier in
2469         preparation because their types are absent (specifically support for the
2470         operator &[] for array references and the length operator for array
2471         references). Previously support for these was implemented with generics.
2472         (CallExpression.resolve):
2473         (CallExpression.prototype.resolve):
2474         (CallExpression.prototype._resolveByInstantiation):
2475         (CallExpression.prototype._resolveToOperatorAnderIndexer):
2476         (CallExpression.prototype._resolveToOperatorLength):
2477         (CallExpression.prototype.resolveToOverload):
2478         (CallExpression.prototype.becomeCast):
2479         (CallExpression.prototype.toString):
2480         (CallExpression):
2481         * WebGPUShadingLanguageRI/CallExpressionTypeArgumentResolver.js: Added.
2482         We support syntax like vector<int, 2>(a, b) for constructing vectors;
2483         this new preparation step resolves them to specific constructors.
2484         * WebGPUShadingLanguageRI/CallFunction.js:
2485         * WebGPUShadingLanguageRI/Checker.js:
2486         * WebGPUShadingLanguageRI/ConstexprFolder.js:
2487         * WebGPUShadingLanguageRI/CreateLiteralType.js:
2488         * WebGPUShadingLanguageRI/ExpressionFinder.js:
2489         * WebGPUShadingLanguageRI/FlattenProtocolExtends.js: Removed.
2490         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
2491         * WebGPUShadingLanguageRI/Func.js:
2492         * WebGPUShadingLanguageRI/FuncDef.js:
2493         * WebGPUShadingLanguageRI/FuncInstantiator.js: Deleted.
2494         * WebGPUShadingLanguageRI/InferTypesForCall.js: Removed usage of type arguments.
2495         * WebGPUShadingLanguageRI/Inline.js: Remove use of FuncInstantiator.
2496         * WebGPUShadingLanguageRI/Inliner.js: Ditto.
2497         * WebGPUShadingLanguageRI/Intrinsics.js:
2498         * WebGPUShadingLanguageRI/Lexer.js:
2499         * WebGPUShadingLanguageRI/LiteralTypeChecker.js:
2500         * WebGPUShadingLanguageRI/NameContext.js:
2501         (NameContext.prototype.add):
2502         (NameContext.prototype.get let):
2503         (NameContext.underlyingThings.prototype.else):
2504         (NameContext.prototype.resolveFuncOverload):
2505         * WebGPUShadingLanguageRI/NameFinder.js:
2506         * WebGPUShadingLanguageRI/NameResolver.js:
2507         (NameResolver.prototype.visitFunc):
2508         (NameResolver.prototype.visitFuncDef):
2509         (NameResolver.prototype.visitTypeDef):
2510         (NameResolver.prototype.visitStructType):
2511         (NameResolver.prototype.visitTypeRef):
2512         (NameResolver.prototype.visitCallExpression):
2513         (NameResolver.prototype.visitVectorType):
2514         (NameResolver):
2515         (NameResolver.prototype._visitTypeParametersAndBuildNameContext): Deleted.
2516         (NameResolver.prototype.visitProtocolDecl): Deleted.
2517         * WebGPUShadingLanguageRI/NativeFunc.js:
2518         (NativeFunc):
2519         * WebGPUShadingLanguageRI/NativeFuncInstance.js: Deleted.
2520         * WebGPUShadingLanguageRI/NativeType.js:
2521         (NativeType):
2522         (NativeType.prototype.get name):
2523         (NativeType.prototype.toString):
2524         (NativeType.prototype.get typeParameters): Deleted.
2525         (NativeType.prototype.instantiate): Deleted.
2526         * WebGPUShadingLanguageRI/Node.js:
2527         (Node.prototype.commit):
2528         (Node):
2529         (Node.prototype.substitute): Deleted.
2530         (Node.prototype.substituteToUnification): Deleted.
2531         * WebGPUShadingLanguageRI/OperatorAnderIndex.js: Added, previously
2532         implemented with generics.
2533         * WebGPUShadingLanguageRI/OperatorArrayRefLength.js: Ditto.
2534         * WebGPUShadingLanguageRI/OperatorBool.js: Ditto.
2535         * WebGPUShadingLanguageRI/Parse.js: Removed everything related to
2536         generics and protocols.
2537         * WebGPUShadingLanguageRI/Prepare.js: Added new stages.
2538         * WebGPUShadingLanguageRI/Program.js:
2539         (Program):
2540         (Program.prototype.get types):
2541         (Program.prototype.add):
2542         (Program.prototype.get protocols): Deleted.
2543         * WebGPUShadingLanguageRI/ProtocolDecl.js: Removed.
2544         * WebGPUShadingLanguageRI/ProtocolRef.js: Removed.
2545         * WebGPUShadingLanguageRI/RecursiveTypeChecker.js:
2546         * WebGPUShadingLanguageRI/ResolveCallExpressionsWithTypeArguments.js: Added.
2547         * WebGPUShadingLanguageRI/ResolveNames.js:
2548         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
2549         * WebGPUShadingLanguageRI/ResolveTypeDefs.js:
2550         (resolveTypeDefsInProtocols): Deleted.
2551         * WebGPUShadingLanguageRI/Rewriter.js: Changes for new classes.
2552         * WebGPUShadingLanguageRI/SPIRV.html:
2553         * WebGPUShadingLanguageRI/SPIRVCodegen.js:
2554         * WebGPUShadingLanguageRI/StandardLibrary.js: Replace old generic features.
2555         * WebGPUShadingLanguageRI/StatementCloner.js: Changes for new classes.
2556         (StructLayoutBuilder):
2557         * WebGPUShadingLanguageRI/StructType.js:
2558         * WebGPUShadingLanguageRI/SwizzleOp.js:
2559         (SwizzleOp):
2560         (SwizzleOp.prototype.get baseTypeName):
2561         (SwizzleOp.prototype.toString):
2562         (SwizzleOp.functions.):
2563         (SwizzleOp.functions):
2564         (SwizzleOp.prototype.instantiateImplementation):
2565         (SwizzleOp.allSwizzleOperators.): Deleted.
2566         (SwizzleOp.allSwizzleOperators): Deleted.
2567         * WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js: Added,
2568         previously implemented with generics.
2569         * WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js: Ditto.
2570         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Ditto.
2571         * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Ditto.
2572         * WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Ditto.
2573         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
2574         (synthesizeStructAccessors.setupImplementationData):
2575         (synthesizeStructAccessors.createFieldType):
2576         (synthesizeStructAccessors.createTypeRef):
2577         (synthesizeStructAccessors.setupAnder):
2578         (synthesizeStructAccessors):
2579         (synthesizeStructAccessors.createTypeParameters): Deleted.
2580         (synthesizeStructAccessors.): Deleted.
2581         * WebGPUShadingLanguageRI/Test.html:
2582         * WebGPUShadingLanguageRI/Test.js: Removed redundant tests and added new
2583         tests for changed language features.
2584         * WebGPUShadingLanguageRI/Type.js:
2585         * WebGPUShadingLanguageRI/TypeDef.js:
2586         * WebGPUShadingLanguageRI/TypeDefResolver.js:
2587         * WebGPUShadingLanguageRI/TypeParameterRewriter.js: Removed.
2588         * WebGPUShadingLanguageRI/TypeRef.js:
2589         * WebGPUShadingLanguageRI/TypeVariable.js: Removed.
2590         * WebGPUShadingLanguageRI/UnificationContext.js:
2591         * WebGPUShadingLanguageRI/VectorType.js: Added.
2592         * WebGPUShadingLanguageRI/Visitor.js: Changes for new classes.
2593         * WebGPUShadingLanguageRI/WSL.md: Removed description of
2594         generics/protocols.
2595         * WebGPUShadingLanguageRI/WrapChecker.js:
2596         (WrapChecker):
2597         (WrapChecker.visitConstexprTypeParameter): Deleted.
2598         (WrapChecker.prototype.visitFuncParameter): Deleted.
2599         (WrapChecker.prototype.visitTypeVariable): Deleted.
2600         * WebGPUShadingLanguageRI/index.html:
2601
2602 2018-08-20  Thomas Denney  <tdenney@apple.com>
2603
2604         Added Thomas Denney to contributors.json.
2605         https://bugs.webkit.org/show_bug.cgi?id=188525
2606
2607         Reviewed by Myles C. Maxfield.
2608
2609         * Scripts/webkitpy/common/config/contributors.json:
2610
2611 2018-08-20  Bernhard M. Wiedemann  <bwiedemann@suse.de>
2612
2613         [GTK] Sort inspector GResource manifest to ensure reproducible builds
2614         https://bugs.webkit.org/show_bug.cgi?id=188738
2615
2616         Reviewed by Michael Catanzaro.
2617
2618         * glib/generate-inspector-gresource-manifest.py:
2619         (get_filenames): sort list of input files
2620
2621 2018-08-20  Wenson Hsieh  <wenson_hsieh@apple.com>
2622
2623         [iOS] Paste is missing from callout bar when pasteboard only contains custom data
2624         https://bugs.webkit.org/show_bug.cgi?id=184271
2625         <rdar://problem/39256708>
2626
2627         Reviewed by Andy Estes.
2628
2629         This API test is failing when run against older macOS builds, where custom pasteboard
2630         data is not enabled by default.
2631
2632         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
2633         (TestWebKitAPI::TEST):
2634
2635 2018-08-20  Claudio Saavedra  <csaavedra@igalia.com>
2636
2637         Add WPE Debug configuration to the flakiness dashboard
2638         https://bugs.webkit.org/show_bug.cgi?id=188743
2639
2640         Reviewed by Michael Catanzaro.
2641
2642         * TestResultServer/static-dashboards/builders.jsonp:
2643         * TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
2644
2645 2018-08-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2646
2647         [GLIB] Add API to throw exceptions using printf formatted strings
2648         https://bugs.webkit.org/show_bug.cgi?id=188698
2649
2650         Reviewed by Michael Catanzaro.
2651
2652         Add cases to test the new API.
2653
2654         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
2655         (createFormattedError):
2656         (createCustomFormattedError):
2657         (testJSCExceptions):
2658
2659 2018-08-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2660
2661         [GLIB] Complete the JSCException API
2662         https://bugs.webkit.org/show_bug.cgi?id=188695
2663
2664         Reviewed by Michael Catanzaro.
2665
2666         Add cases to test the new API.
2667
2668         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
2669         (testJSCCheckSyntax):
2670         (createCustomError):
2671         (testJSCExceptions):
2672
2673 2018-08-18  Wenson Hsieh  <wenson_hsieh@apple.com>
2674
2675         [iOS] Paste is missing from callout bar when pasteboard only contains custom data
2676         https://bugs.webkit.org/show_bug.cgi?id=184271
2677         <rdar://problem/39256708>
2678
2679         Reviewed by Ryosuke Niwa.
2680
2681         Add a new API test to verify that on both iOS and macOS, copied custom pasteboard data can only be pasted in a
2682         matching origin. Additionally verify that on iOS, the web view is capable of performing the "paste:" selector.
2683
2684         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
2685         (TestWebKitAPI::TEST):
2686         (imagePath): Deleted.
2687         (writeTypesAndDataToPasteboard): Deleted.
2688         (setUpWebView): Deleted.
2689         (markupString): Deleted.
2690
2691         Make this test file no longer exclusive to macOS.
2692
2693         * TestWebKitAPI/cocoa/TestWKWebView.h:
2694         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2695         (-[TestWKWebView synchronouslyLoadHTMLString:baseURL:]):
2696
2697         Tweak this helper to also take in a `baseURL`. Defaults to using the TestWebKitAPI bundle resource URL.
2698
2699         (-[TestWKWebView synchronouslyLoadHTMLString:]):
2700
2701 2018-08-17  Jonathan Bedard  <jbedard@apple.com>
2702
2703         Add back --wtf-only to run-api-tests
2704         https://bugs.webkit.org/show_bug.cgi?id=187893
2705         <rdar://problem/42483983>
2706
2707         Reviewed by Aakash Jain.
2708
2709         When doing WTF development, it is not necessary to build or run all of the API
2710         tests. Generally, if a user has specified a specific binary (or binaries) that
2711         they are interested in testing, it is not necessary to check all API test binaries.
2712
2713         * Scripts/webkitpy/api_tests/manager.py:
2714         (Manager._collect_tests): Only use the binaries matching the program arguments
2715         when collecting tests.
2716         (Manager._binaries_for_arguments): Generate a list of binaries which match the
2717         program arguments.
2718         (Manager.run): Pass a list binaries to check.
2719         * Scripts/webkitpy/api_tests/run_api_tests.py:
2720         (parse_args):
2721         * Scripts/webkitpy/port/base.py:
2722         (Port.check_api_test_build): If the caller specifies which API test binaries it
2723         requires, only check the ones specified.
2724         (Port.path_to_api_test_binaries): Allow the caller to only build the WTF API tests.
2725         (Port._build_api_tests): Allow the caller to only build the WTF API tests.
2726         * Scripts/webkitpy/port/win.py:
2727         (WinPort.path_to_api_test_binaries):
2728
2729 2018-08-17  Jer Noble  <jer.noble@apple.com>
2730
2731         REGRESSION (234743) Timeouts in TestWebKitAPI.PreferredAudioBufferSize.AudioWithWebAudio and TestWebKitAPI.PreferredAudioBufferSize.WebAudio
2732         https://bugs.webkit.org/show_bug.cgi?id=188470
2733         <rdar://problem/43144969>
2734
2735         Reviewed by Alex Christensen.
2736
2737         On a loaded server, the WebContent process may send the "playing" message before the
2738         UIProcess has a chance to register a listener for that message. Restructure the tests
2739         so that the listener is registered before the page is loaded.
2740
2741         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
2742         (PreferredAudioBufferSize::runPlayingTestWithPageNamed):
2743         (TEST_F):
2744
2745 2018-08-16  Wenson Hsieh  <wenson_hsieh@apple.com>
2746
2747         [macOS] [WK2] Add infrastructure to test receiving file promises on drop
2748         https://bugs.webkit.org/show_bug.cgi?id=188583
2749
2750         Reviewed by Andy Estes.
2751
2752         Enable testing file promise drop handling on the WebKit2 port of macOS by introducing a subclass of
2753         NSFilePromiseReceiver and implementing `-enumerateDraggingItemsWithOptions:forView:…` on TestDraggingInfo (the
2754         concrete NSDraggingInfo implementation used by DragAndDropSimulator) using the mock file receiver. Also
2755         introduces 3 new macOS tests. See below for more details.
2756
2757         A large portion of this logic is ported over from DumpRenderTree testing infrastructure added in r229297. In a
2758         future patch, we should introduce a way to write code common to both API tests, WebKitTestRunner and
2759         DumpRenderTree, and make this code shared among all three testing harnesses.
2760
2761         Tests:  DragAndDropTests.DragImageElementIntoFileUpload
2762                 DragAndDropTests.DragPromisedImageFileIntoFileUpload
2763                 DragAndDropTests.DragImageFileIntoFileUpload
2764
2765         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2766         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
2767         (TEST):
2768
2769         Drive-by fix: Replace NSMakePoint with CGPointMake.
2770
2771         * TestWebKitAPI/Tests/WebKitCocoa/image-and-file-upload.html:
2772
2773         Add a new test page consisting of an image and a "file upload" area that updates exercises DataTransfer API to
2774         load the dropped image.
2775
2776         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
2777         (waitForConditionWithLogging):
2778
2779         Add a helper function to wait for a condition to evaluate to true. To make failures more informative,
2780         additionally add a mechanism to log a warning message after a given timeout, if the condition has yet to be met.
2781
2782         (TEST):
2783
2784         Add new tests to exercise a few cases of file upload in WebKit, including: (1) dragging from an image element,
2785         (2) dragging files written to the pasteboard as promises, and (3) files written to the pasteboard as file URLs.
2786
2787         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
2788
2789         Surface the new functionality provided by the file promise receiver mock via two new methods on
2790         DragAndDropSimulator to (1) write files as file promises to the pasteboard, and (2) write files as file paths
2791         directly to the pasteboard.
2792
2793         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2794         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
2795         (-[DragAndDropSimulator externalPromisedFiles]):
2796         (getFilePathsAndTypeIdentifiers):
2797         (-[DragAndDropSimulator writePromisedFiles:]):
2798         (-[DragAndDropSimulator writeFiles:]):
2799         * TestWebKitAPI/mac/TestDraggingInfo.h:
2800         * TestWebKitAPI/mac/TestDraggingInfo.mm:
2801         (-[TestDraggingInfo initWithDragAndDropSimulator:]):
2802         (-[TestDraggingInfo filePromiseReceivers]):
2803         (-[TestDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
2804
2805         Implement this by invoking the given block with a TestFilePromiseReceiver. While all other classes are
2806         unhandled by this testing code, WebKit only calls into this with [NSFilePromiseReceiver class], this is
2807         currently sufficient for testing purposes.
2808
2809         * TestWebKitAPI/mac/TestFilePromiseReceiver.h: Copied from Tools/TestWebKitAPI/mac/TestDraggingInfo.h.
2810         * TestWebKitAPI/mac/TestFilePromiseReceiver.mm: Added.
2811         (-[TestFilePromiseReceiver initWithPromisedTypeIdentifiers:dragAndDropSimulator:]):
2812         (-[TestFilePromiseReceiver fileTypes]):
2813         (-[TestFilePromiseReceiver fileNames]):
2814         (-[TestFilePromiseReceiver dealloc]):
2815         (-[TestFilePromiseReceiver draggingSource]):
2816         (-[TestFilePromiseReceiver setDraggingSource:]):
2817         (fileNameWithNumericSuffix):
2818         (copyFile):
2819
2820         Add a helper to copy a file into a destination directory. Used to implement the main functionality of our
2821         NSFilePromiseReceiver subclass, which copies the files specified by test code into the directory determined by
2822         WebKit.
2823
2824         (-[TestFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:]):
2825
2826 2018-08-16  Alex Christensen  <achristensen@webkit.org>
2827
2828         Add entitlement to MiniBrowser to allow it to communicate with com.apple.Safari.SafeBrowsing.Service
2829         https://bugs.webkit.org/show_bug.cgi?id=188677
2830
2831         Reviewed by Tim Horton.
2832
2833         * MiniBrowser/MiniBrowser.entitlements:
2834         SSBLookupContext lookUpURL:completionHandler: fails to communicate with its service without this entitlement
2835         on released operating systems.  See <rdar://problem/42749777>
2836
2837 2018-08-16  Jer Noble  <jer.noble@apple.com>
2838
2839         Add option to run-api-tests to force running of DISABLED tests.
2840         https://bugs.webkit.org/show_bug.cgi?id=188674
2841
2842         Reviewed by Joseph Pecoraro.
2843
2844         * Scripts/webkitpy/api_tests/run_api_tests.py:
2845         (parse_args):
2846         * Scripts/webkitpy/api_tests/runner.py:
2847         (Runner.command_for_port):
2848         (_Worker._run_single_test):
2849
2850 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
2851
2852         [ews-build] Separate queues for Builders and Testers - macOS High Sierra
2853         https://bugs.webkit.org/show_bug.cgi?id=188540
2854
2855         Reviewed by Lucas Forschler.
2856
2857         * BuildSlaveSupport/ews-build/config.json: Splitted few macOS queues into builders and testers. 
2858
2859 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
2860
2861         [ews-build] Add build steps ArchiveTestResults, UploadTestResults and ExtractTestResults
2862         https://bugs.webkit.org/show_bug.cgi?id=188666
2863
2864         Reviewed by Lucas Forschler.
2865
2866         * BuildSlaveSupport/ews-build/steps.py:
2867         (ArchiveTestResults): Build step to Archive the test results.
2868         (UploadTestResults): Build step to upload the archive.
2869         (ExtractTestResults): Build step to unzip the archive on server and generate a link.
2870         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2871         (ExpectMasterShellCommand): Copied from other similar internal code.
2872
2873 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
2874
2875         [ews-build] Separate queues for Builders and Testers - macOS Sierra
2876         https://bugs.webkit.org/show_bug.cgi?id=188516
2877
2878         Reviewed by Lucas Forschler.
2879
2880         * BuildSlaveSupport/ews-build/config.json: Splitted macOS Sierra Release queues into builders and testers.
2881         * BuildSlaveSupport/ews-build/factories.py: Used appropriate base classes for builders and testers.
2882
2883 2018-08-16  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2884
2885         [Win][DumpRenderTree] Remove error message for duplicated tests.
2886         https://bugs.webkit.org/show_bug.cgi?id=188662
2887
2888         Reviewed by Per Arne Vollan.
2889
2890         This was added to track down an issue where the same tests appeared
2891         to be run multiple times. This turned out to not be the case.
2892         See https://bugs.webkit.org/show_bug.cgi?id=166760 .
2893
2894         * DumpRenderTree/win/DumpRenderTree.cpp:
2895         (runTest):
2896
2897 2018-08-16  Alex Christensen  <achristensen@webkit.org>
2898
2899         Re-introduce assertion removed in r234890
2900         https://bugs.webkit.org/show_bug.cgi?id=188611
2901
2902         Reviewed by Geoffrey Garen.
2903
2904         * TestWebKitAPI/Tests/WTF/Vector.cpp:
2905         (TestWebKitAPI::TEST):
2906
2907 2018-08-16  Jer Noble  <jer.noble@apple.com>
2908
2909         Add Experimental Feature support for SourceBuffer.changeType()
2910         https://bugs.webkit.org/show_bug.cgi?id=188626
2911         <rdar://problem/43356021>
2912
2913         Reviewed by Eric Carlson.
2914
2915         * DumpRenderTree/mac/DumpRenderTree.mm:
2916         (enableExperimentalFeatures):
2917         (resetWebPreferencesToConsistentValues):
2918         * WebKitTestRunner/TestController.cpp:
2919         (WTR::TestController::resetPreferencesToConsistentValues):
2920
2921 2018-08-16  Aditya Keerthi  <akeerthi@apple.com>
2922
2923         Support drag-and-drop for input[type=color]
2924         https://bugs.webkit.org/show_bug.cgi?id=188464
2925
2926         Reviewed by Wenson Hsieh.
2927
2928         Added five cross-platform API tests, to verify that dragging and dropping with
2929         color inputs changes the value of the drop target if and only if both inputs are
2930         enabled. Also tests that the change and input events are fired when changing the
2931         value of a color input through drag and drop. 
2932
2933         Additionally, added a macOS-specific test to verify that dropping an item with
2934         NSColorPboardType changes the value of the color input.
2935
2936         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2937         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
2938         (TestWebKitAPI::TEST):
2939         * TestWebKitAPI/Tests/WebKitCocoa/color-drop.html: Added.
2940         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
2941         (TestWebKitAPI::TEST):
2942
2943 2018-08-16  Antti Koivisto  <antti@apple.com>
2944
2945         Use OptionSet for ActivityState::Flags
2946         https://bugs.webkit.org/show_bug.cgi?id=188554
2947
2948         Reviewed by Brent Fulgham.
2949
2950         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
2951         (TestWebKitAPI::TEST):
2952
2953 2018-08-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2954
2955         [GTK] MiniBrowser: web view doesn't get the focus when new window is created
2956         https://bugs.webkit.org/show_bug.cgi?id=188546
2957
2958         Reviewed by Michael Catanzaro.
2959
2960         When a new window is created, the first widget of the windo is getting the focus, the toolbar in this case. We
2961         always want the WebView to grab the focus. In case of new empty tab, we want to the URL bar to be focused
2962         instead. This was causing failures in WebDriver tests that create a popup window with an input element that is
2963         filled with send keys command. The input element is marked as focused in the DOM, but the actual focused widget
2964         is the toolbar, so key events are sent to the toolbar instead of the web view.
2965
2966         * MiniBrowser/gtk/BrowserWindow.c:
2967         (webViewCreate):
2968         (newTabCallback):
2969         (openPrivateWindow):
2970         (browser_window_get_or_create_web_view_for_automation):
2971
2972 2018-08-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2973
2974         Unreviewed. Fix WebDriver tests after r234839.
2975
2976         New pytest requires to autoinstall attrs too.
2977
2978         * Scripts/webkitpy/thirdparty/__init__.py:
2979         (AutoinstallImportHook._install_pytest):
2980
2981 2018-08-15  Ansh Shukla  <ansh_shukla@apple.com>
2982
2983         NSURLAuthenticationMethodOAuth challenges are surfaced to clients in -didReceiveAuthenticationChallenge as NSURLAuthenticationMethodDefault
2984         https://bugs.webkit.org/show_bug.cgi?id=186870
2985         <rdar://problem/41314410>
2986
2987         Reviewed by Alex Christensen.
2988
2989         * WebKitTestRunner/TestController.cpp:
2990         (WTR::toString):
2991         (WTR::TestController::canAuthenticateAgainstProtectionSpace): Expose type of authentication challenge so we can test OAuth.
2992         (WTR::TestController::didReceiveAuthenticationChallenge):
2993
2994 2018-08-15  Ben Richards  <benton_richards@apple.com>
2995
2996         We should cache the compiled sandbox profile in a data vault
2997         https://bugs.webkit.org/show_bug.cgi?id=184991
2998
2999         Reviewed by Ryosuke Niwa.
3000
3001         Added trace points for sandbox initialization
3002
3003         * Tracing/SystemTracePoints.plist:
3004
3005 2018-08-15  Ryan Haddad  <ryanhaddad@apple.com>
3006
3007         Unreviewed, rolling out r234870.
3008
3009         The test introduced with this change is a flaky failure.
3010
3011         Reverted changeset:
3012
3013         "NSURLAuthenticationMethodOAuth challenges are surfaced to
3014         clients in -didReceiveAuthenticationChallenge as
3015         NSURLAuthenticationMethodDefault"
3016         https://bugs.webkit.org/show_bug.cgi?id=186870
3017         https://trac.webkit.org/changeset/234870
3018
3019 2018-08-15  Jonathan Bedard  <jbedard@apple.com>
3020
3021         WebKitTestRunner should support watch devices
3022         https://bugs.webkit.org/show_bug.cgi?id=188570
3023
3024         Reviewed by Alex Christensen.
3025
3026         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
3027
3028 2018-08-15  Wenson Hsieh  <wenson_hsieh@apple.com>
3029
3030         [Attachment SPI] Remove attachment display mode options
3031         https://bugs.webkit.org/show_bug.cgi?id=188596
3032
3033         Reviewed by Dan Bernstein.
3034
3035         Remove API tests and API test helpers for verifying the behavior of in-place media attachment elements.
3036
3037         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3038         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
3039         (TestWebKitAPI::TEST):
3040         (testVideoData): Deleted.
3041         (displayOptionsWithMode): Deleted.
3042         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]): Deleted.
3043
3044 2018-08-14  Devin Rousso  <drousso@apple.com>
3045
3046         Unreviewed, change my emails.
3047
3048         * Scripts/webkitpy/common/config/contributors.json:
3049         * Scripts/webkitpy/common/config/watchlist:
3050
3051 2018-08-14  Saam barati  <sbarati@apple.com>
3052
3053         HashMap<Ref<P>, V> asserts when V is not zero for its empty value
3054         https://bugs.webkit.org/show_bug.cgi?id=188582
3055
3056         Reviewed by Sam Weinig.
3057
3058         * TestWebKitAPI/Tests/WTF/HashMap.cpp:
3059         (TestWebKitAPI::TEST):
3060
3061 2018-08-14  Zalan Bujtas  <zalan@apple.com>
3062
3063         [LFC][Floating] Add support for negative clearance.
3064         https://bugs.webkit.org/show_bug.cgi?id=188555
3065
3066         Reviewed by Simon Fraser.
3067
3068         * LayoutReloaded/misc/LFC-passing-tests.txt:
3069
3070 2018-08-14 Sihui Liu <sihui_liu@apple.com>
3071
3072         Crash in WebKit::filterPreloadHSTSEntry via NetworkProcess::getHostNamesWithHSTSCache
3073         https://bugs.webkit.org/show_bug.cgi?id=188576
3074         <rdar://problem/43148977>
3075
3076         Reviewed by Alex Christensen.
3077
3078         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3079         * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: Added.
3080         (TEST):
3081
3082 2018-08-14  Alex Christensen  <achristensen@webkit.org>
3083
3084         isValidCSSSelector is unsafe to be called from a non-main thread
3085         https://bugs.webkit.org/show_bug.cgi?id=188581
3086         <rdar://problem/40517358>
3087
3088         Reviewed by Sam Weinig.
3089
3090         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
3091         (TestWebKitAPI::InMemoryCompiledContentExtension::create):
3092         (TestWebKitAPI::checkCompilerError):
3093
3094 2018-08-14  Ansh Shukla  <ansh_shukla@apple.com>
3095
3096         NSURLAuthenticationMethodOAuth challenges are surfaced to clients in -didReceiveAuthenticationChallenge as NSURLAuthenticationMethodDefault
3097         https://bugs.webkit.org/show_bug.cgi?id=186870
3098         <rdar://problem/41314410>
3099
3100         Reviewed by Alex Christensen.
3101
3102         * WebKitTestRunner/TestController.cpp:
3103         (WTR::toString):
3104         (WTR::TestController::canAuthenticateAgainstProtectionSpace): Expose type of authentication challenge so we can test OAuth.
3105         (WTR::TestController::didReceiveAuthenticationChallenge):
3106
3107 2018-08-14  Fujii Hironori  <Hironori.Fujii@sony.com>
3108
3109         [webkitpy][Win] LayoutTests: test names should be Unix style, separated by slash not backslash
3110         https://bugs.webkit.org/show_bug.cgi?id=187973
3111
3112         Reviewed by Alex Christensen.
3113
3114         In LayoutTests, test names have been canonicalized in Unix style
3115         since Bug 63597, for example 'fast/css/001.html'. But Bug 179219,
3116         Bug 179572, Bug 180660, and Bug 181814 have changed to use
3117         os.path.seq instead of slash if Windows Python is used.
3118
3119         Revert parts of those changes. Change relative_test_filename to
3120         return a slash-separated test name as chromium_win.py used to do.
3121
3122         This change fixes all 41 test-webkitpy failures in WinCairo port.
3123
3124         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
3125         (TestExpectationParser._parse_line): Do not convert test names with normpath.
3126         * Scripts/webkitpy/port/base.py:
3127         (Port.normalize_test_name): Use TEST_PATH_SEPARATOR instead of os.path.sep.
3128         (Port.relative_test_filename): Replace self.host.filesystem.sep with self.TEST_PATH_SEPARATOR.
3129         (Port.abspath_for_test): Replace self.TEST_PATH_SEPARATOR with self.host.filesystem.sep.
3130         * Scripts/webkitpy/port/driver.py:
3131         (Driver): Use '/' instead of os.sep.
3132         * Scripts/webkitpy/port/win.py:
3133         (WinCairoPort): Do not override TEST_PATH_SEPARATOR.
3134
3135 2018-08-14  Aakash Jain  <aakash_jain@apple.com>
3136
3137         [ews-build] Add build step to run WK1 layout-test
3138         https://bugs.webkit.org/show_bug.cgi?id=188498
3139
3140         Reviewed by Lucas Forschler.
3141
3142         * BuildSlaveSupport/ews-build/steps.py:
3143         (RunWebKit1Tests): Class to run WebKit1Tests.
3144         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
3145
3146 2018-08-14  Patrick Griffis  <pgriffis@igalia.com>
3147
3148         [Flatpak] Fix --cmakeargs
3149         https://bugs.webkit.org/show_bug.cgi?id=188567
3150
3151         Reviewed by Michael Catanzaro.
3152
3153         * flatpak/flatpakutils.py:
3154         (WebkitFlatpak.setup_dev_env):
3155
3156 2018-08-14  Darshan Kadu  <dkadu@igalia.com>
3157
3158         Enhancement request: Make export-w3c-test-changes add the PR to "See Also" links
3159         https://bugs.webkit.org/show_bug.cgi?id=186140
3160
3161         Reviewed by Youenn Fablet.
3162
3163         Added an optional parameter see_also to post_comment_to_bug function and used it for adding see_also variable's content in "See Also"
3164         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
3165         (Bugzilla.post_comment_to_bug):
3166         Modified mock for see_also parameter
3167         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
3168         (MockBugzilla.post_comment_to_bug):
3169         Made following unit tests to have see_also in bug comment
3170         * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
3171         * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
3172         (SheriffTest.test_post_blame_comment_on_bug):
3173         * Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py:
3174         * Scripts/webkitpy/tool/commands/queues_unittest.py:
3175         * Scripts/webkitpy/tool/commands/upload_unittest.py:
3176         * Scripts/webkitpy/tool/steps/applywatchlist_unittest.py:
3177         * Scripts/webkitpy/w3c/test_exporter.py:
3178         (WebPlatformTestExporter.make_pull_request):
3179         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
3180         (TestExporterTest.MockBugzilla.post_comment_to_bug):
3181         (TestExporterTest.test_export):
3182
3183 2018-08-14  Aakash Jain  <aakash_jain@apple.com>
3184
3185         [ews-build] Add support for max_builds parameter for workers
3186         https://bugs.webkit.org/show_bug.cgi?id=188531
3187
3188         Reviewed by Lucas Forschler.
3189
3190         * BuildSlaveSupport/ews-build/loadConfig.py:
3191         (loadBuilderConfig): Added support for max_builds.
3192
3193 2018-08-14  Zalan Bujtas  <zalan@apple.com>
3194
3195         [LFC][Floating] Adjust vertical position with non-collapsing previous sibling margin.
3196         https://bugs.webkit.org/show_bug.cgi?id=188543
3197
3198         Reviewed by Antti Koivisto.
3199
3200         * LayoutReloaded/misc/LFC-passing-tests.txt:
3201
3202 2018-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3203
3204         Unreviewed. Fix WebDriver tests after r234839.
3205
3206         New pytest requires to autoinstall more_itertools and six too.
3207
3208         * Scripts/webkitpy/thirdparty/__init__.py:
3209         (AutoinstallImportHook._install_pytest):
3210
3211 2018-08-14  Tomas Popela  <tpopela@redhat.com>
3212
3213         [GTK] Minibrowser: Add labels for buttons
3214         https://bugs.webkit.org/show_bug.cgi?id=188549
3215
3216         Reviewed by Carlos Garcia Campos.
3217
3218         So they are accessible easier (i.e. while testing WebKitGTK+ through Minibrowser in Dogtail).
3219
3220         * MiniBrowser/gtk/BrowserWindow.c:
3221         (webViewIsLoadingChanged):
3222         (browserWindowSetupEditorToolbar):
3223         (browser_window_init):
3224
3225 2018-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3226
3227         Unreviewed. Fix WebDriver tests after r234839.
3228
3229         New pytest requires to autoinstall atomicwrites too.
3230
3231         * Scripts/webkitpy/thirdparty/__init__.py:
3232         (AutoinstallImportHook._install_pytest):
3233
3234 2018-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>
3235
3236         Unreviewed. Fix WebDriver tests after r234839.
3237
3238         New pytest requires to autoinstall pluggy and funcsigs too.
3239
3240         * Scripts/webkitpy/thirdparty/__init__.py:
3241         (AutoinstallImportHook._install_pytest):
3242
3243 2018-08-13  Carlos Garcia Campos  <cgarcia@igalia.com>
3244
3245         Unreviewed. Update W3C WebDriver imported tests.
3246
3247         Bump pytest version to 3.6.2.
3248
3249         * Scripts/webkitpy/thirdparty/__init__.py:
3250         (AutoinstallImportHook._install_pytest):
3251
3252 2018-08-13  Thomas Denney  <tdenney@apple.com>
3253
3254         Allow the substring 'me' in contributor names and email addresses
3255         https://bugs.webkit.org/show_bug.cgi?id=188538
3256
3257         Reviewed by Tim Horton.
3258
3259         A test didn't permit the string "me" in email addresses or names of contributors.
3260
3261         * Scripts/webkitpy/common/config/committers_unittest.py:
3262         (CommittersTest.test_contributors_by_fuzzy_match):
3263
3264 2018-08-13  Commit Queue  <commit-queue@webkit.org>
3265
3266         Unreviewed, rolling out r234812.
3267         https://bugs.webkit.org/show_bug.cgi?id=188536
3268
3269         broke the build (Requested by ThomasDenney on #webkit).
3270
3271         Reverted changeset:
3272
3273         "Added Thomas Denney to contributors.json."
3274         https://bugs.webkit.org/show_bug.cgi?id=188525
3275         https://trac.webkit.org/changeset/234812
3276
3277 2018-08-13  Sihui Liu  <sihui_liu@apple.com>
3278
3279         Avoid timeout resulted from calling waitUntilDone when test is not running
3280         https://bugs.webkit.org/show_bug.cgi?id=188389
3281
3282         Reviewed by Chris Dumez.
3283
3284         If test is not running, we should not set the waitUntilDone flag, or it may cause subsequent tests timeout.
3285
3286         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3287         (WTR::TestRunner::waitUntilDone):
3288
3289 2018-08-13  Wenson Hsieh  <wenson_hsieh@apple.com>
3290
3291         [WK2] [macOS] Implement a mechanism to test drag and drop
3292         https://bugs.webkit.org/show_bug.cgi?id=181898
3293         <rdar://problem/39181698>
3294
3295         Reviewed by Simon Fraser.
3296
3297         Implements the currently stubbed DragAndDropSimulator on macOS, and introduces a new API test for r227266. See
3298         comments below for more detail.
3299
3300         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3301         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm: Copied from Tools/TestWebKitAPI/mac/DragAndDropSimulatorMac.mm.
3302
3303         Introduce a file for cross-platform drag and drop tests, currently for iOS and macOS. Additionally add a test
3304         for r227266, which was fixed earlier this year but could not be tested due to a lack of testing mechanism on
3305         macOS in WebKit2.
3306
3307         (TEST):
3308         * TestWebKitAPI/Tests/WebKitCocoa/full-page-dropzone.html: Added.
3309
3310         Minor tweaks to this test page to add "dragover" and "drop" event handlers.
3311
3312         * TestWebKitAPI/Tests/WebKitCocoa/image-in-link-and-input.html:
3313         * TestWebKitAPI/Tests/WebKitCocoa/link-in-iframe-and-input.html: Added.
3314
3315         Add a new test page that includes a link embedded within an iframe below a plain text input.
3316
3317         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm: Added.
3318         (TEST):
3319         * TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm: Renamed from Tools/TestWebKitAPI/Tests/mac/DragAndDropPasteboardTests.mm.
3320
3321         Move only existing WebKit2 macOS drag and drop test (DragAndDropPasteboardTests.NumberOfValidItemsForDrop) out
3322         of DragAndDropPasteboardTests.mm and into a new file, DragAndDropTestsMac.mm. Additionally, rename
3323         DragAndDropPasteboardTests to LegacyDragAndDropTests, since it now only contains two legacy WebView tests for
3324         drag and drop.
3325
3326         (+[FrameLoadCompletionListener listenerWithCompletionBlock:]):
3327         (-[FrameLoadCompletionListener initWithCompletionBlock:]):
3328         (-[FrameLoadCompletionListener webView:didFinishLoadForFrame:]):
3329         (-[DragSource draggingSourceOperationMaskForLocal:]):
3330         (-[DragInfo initWithImage:offset:pasteboard:source:destinationWindow:]):
3331         (-[DragInfo lastMousePosition]):
3332         (-[DragInfo setLastMousePosition:]):
3333         (-[DragInfo draggingDestinationWindow]):
3334         (-[DragInfo draggingSourceOperationMask]):
3335         (-[DragInfo draggingLocation]):
3336         (-[DragInfo draggedImageLocation]):
3337         (-[DragInfo draggedImage]):
3338         (-[DragInfo draggingPasteboard]):
3339         (-[DragInfo draggingSource]):
3340         (-[DragInfo draggingSequenceNumber]):
3341         (-[DragInfo slideDraggedImageTo:]):
3342         (-[DragInfo namesOfPromisedFilesDroppedAtDestination:]):
3343         (-[DragInfo draggingFormation]):
3344         (-[DragInfo setDraggingFormation:]):
3345         (-[DragInfo animatesToDestination]):
3346         (-[DragInfo setAnimatesToDestination:]):
3347         (-[DragInfo numberOfValidItemsForDrop]):
3348         (-[DragInfo setNumberOfValidItemsForDrop:]):
3349         (-[DragInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
3350         (-[DragInfo springLoadingHighlight]):
3351         (-[DragInfo resetSpringLoading]):
3352         (TestWebKitAPI::getTestImage):
3353         (TestWebKitAPI::webViewAfterPerformingDragOperation):
3354         (TestWebKitAPI::TEST):
3355         * TestWebKitAPI/Tests/mac/full-page-dropzone.html: Removed.
3356         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
3357
3358         Flesh out some of the DragAndDropSimulator API for macOS, exposing (among other things) the drag pasteboard,
3359         the current NSDraggingInfo, the initial location of the drag image, and the drag image itself.
3360
3361         * TestWebKitAPI/cocoa/TestWKWebView.h:
3362         * TestWebKitAPI/cocoa/TestWKWebView.mm:
3363         (-[TestWKWebView mouseDownAtPoint:simulatePressure:]):
3364         (-[TestWKWebView mouseUpAtPoint:]):
3365         (-[TestWKWebView mouseMoveToPoint:withFlags:]):
3366         (-[TestWKWebView sendClicksAtPoint:numberOfClicks:]):
3367         (-[TestWKWebView mouseEnterAtPoint:]):
3368         (-[TestWKWebView mouseExitAtPoint:]):
3369         (-[TestWKWebView mouseDragToPoint:]):
3370         (-[TestWKWebView _mouseEventWithType:atLocation:]):
3371         (-[TestWKWebView _mouseEventWithType:atLocation:flags:timestamp:clickCount:]):
3372
3373         Add TestWKWebView helpers to send MouseMove, MouseEnter and MouseDrag NSEvents to the web view. Additionally,
3374         rename parameter names to these helpers to make it more obvious that these locations are all in NSWindow
3375         coordinates.
3376
3377         (-[TestWKWebView typeCharacter:]):
3378
3379         Drive-by style fix: put this opening brace on the beginning of the next line.
3380
3381         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
3382         (-[DragAndDropSimulator initWithWebViewFrame:]):
3383         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
3384         (-[DragAndDropSimulator webView]):
3385
3386         Small iOS DragAndDropSimulator adjustments for new DragAndDropSimulator interfaces.
3387
3388         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
3389         (-[DragAndDropTestWKWebView initWithFrame:configuration:simulator:]):
3390
3391         Introduce a WKWebView subclass for testing drag and drop that overrides `-dragImage:at:offset:…`, and instead
3392         allows DragAndDropSimulator to take over the drag.
3393
3394         (-[DragAndDropTestWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]):
3395
3396         Override this entry point into drag and drop code, and instead call out to the DragAndDropSimulator to
3397         coordinate the drag.
3398
3399         (-[DragAndDropTestWKWebView waitForPendingMouseEvents]):
3400
3401         Helper method to wait for the web process to finish handling all in-flight mouse events.
3402
3403         (defaultExternalDragImage):
3404
3405         Set this image as the default drag image when simulating an incoming drag session from outside of the web view.
3406
3407         (-[DragAndDropSimulator initWithWebViewFrame:]):
3408         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
3409         (-[DragAndDropSimulator flipAboutXAxisInHostWindow:]):
3410
3411         Helper method to flip a given point about the X axis of the window.
3412
3413         (-[DragAndDropSimulator locationInViewForCurrentProgress]):
3414
3415         Map a progress value (between 0 and 1) to a drag location.
3416
3417         (-[DragAndDropSimulator initialProgressForMouseDrag]):
3418
3419         Determines the initial progress value when initiation a drag in web content. This is the initial progress
3420         required to ensure that the first mouse drag event exceeds the drag distance hysteresis and causes any drag
3421         (if applicable) to begin.
3422
3423         (-[DragAndDropSimulator runFrom:to:]):
3424         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
3425
3426         Helper to coordinate drag updates in both the cases where we're simulating a drag session entering from outside
3427         of the web view, and in the case where we've initiated a drag from the web view itself.
3428
3429         (-[DragAndDropSimulator webView]):
3430         (-[DragAndDropSimulator setExternalDragPasteboard:]):
3431         (-[DragAndDropSimulator externalDragPasteboard]):
3432
3433         Just like its iOS counterpart (setExternalItemProviders:), setting an external drag pasteboard on macOS puts the
3434         DragAndDropSimulator in a mode that simulates a drag coming in from outside the web view, using the given
3435         pasteboard.
3436
3437         (-[DragAndDropSimulator setExternalDragImage:]):
3438         (-[DragAndDropSimulator externalDragImage]):
3439
3440         May be optionally set when specifying an external drag pasteboard to specify the drag image used. If no external
3441         drag image is specified, falls back to the default image returned by `defaultExternalDragImage()`.
3442
3443         (-[DragAndDropSimulator draggingInfo]):
3444         (-[DragAndDropSimulator willEndDraggingHandler]):
3445         (-[DragAndDropSimulator setWillEndDraggingHandler:]):
3446
3447         Hook to allow tests to run logic right before performing the drop (if the current drag operation is not none) or
3448         ending the drag session without performing a drag operation.
3449
3450         (-[DragAndDropSimulator initWithWebView:]): Deleted.
3451         (-[DragAndDropSimulator dealloc]): Deleted.
3452         (-[DragAndDropSimulator phase]): Deleted.
3453         * TestWebKitAPI/mac/TestDraggingInfo.h: Copied from Tools/TestWebKitAPI/mac/DragAndDropSimulatorMac.mm.
3454         * TestWebKitAPI/mac/TestDraggingInfo.mm: Added.
3455
3456         Mock object conforming to NSDraggingInfo that is passed to WKWebView when invoking -draggingUpdated:,
3457         -draggingEntered: and -draggingExited:.
3458
3459         (-[TestDraggingInfo draggingPasteboard]):
3460         (-[TestDraggingInfo setDraggingPasteboard:]):
3461         (-[TestDraggingInfo draggingSource]):
3462         (-[TestDraggingInfo setDraggingSource:]):
3463         (-[TestDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
3464         (-[TestDraggingInfo draggingDestinationWindow]):
3465         (-[TestDraggingInfo draggedImage]):
3466         (-[TestDraggingInfo setDraggedImage:]):
3467         (-[TestDraggingInfo slideDraggedImageTo:]):
3468         (-[TestDraggingInfo namesOfPromisedFilesDroppedAtDestination:]):
3469         (-[TestDraggingInfo resetSpringLoading]):
3470
3471         Empty method stubs, to be implemented in the future as needed.
3472
3473 2018-08-13  Thomas Denney  <tdenney@apple.com>
3474
3475         Added Thomas Denney to contributors.json.
3476         https://bugs.webkit.org/show_bug.cgi?id=188525
3477
3478         Reviewed by Myles C. Maxfield.
3479
3480         * Scripts/webkitpy/common/config/contributors.json:
3481
3482 2018-08-13  Antti Koivisto  <antti@apple.com>
3483
3484         Meaning of OptionSet::contains is unclear when used with OptionSet argument
3485         https://bugs.webkit.org/show_bug.cgi?id=188501
3486
3487         Reviewed by Anders Carlsson.
3488
3489         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
3490         (TestWebKitAPI::TEST):
3491
3492 2018-08-13  Commit Queue  <commit-queue@webkit.org>
3493
3494         Unreviewed, rolling out r234747.
3495         https://bugs.webkit.org/show_bug.cgi?id=188524
3496
3497         plugin processes crash on launch (Requested by smfr on
3498         #webkit).
3499
3500         Reverted changeset:
3501
3502         "We should cache the compiled sandbox profile in a data vault"
3503         https://bugs.webkit.org/show_bug.cgi?id=184991
3504         https://trac.webkit.org/changeset/234747
3505
3506 2018-08-13  Wenson Hsieh  <wenson_hsieh@apple.com>
3507
3508         [iOS] Dragging a non-editable text selection into a plain text input inserts HTML markup
3509         https://bugs.webkit.org/show_bug.cgi?id=188485
3510         <rdar://problem/43168784>
3511
3512         Reviewed by Tim Horton.
3513
3514         Add a new API test to verify that dropping selected non-editable rich text into a textarea inserts text as
3515         expected, rather than markup.
3516
3517         It's somewhat interesting to note that this particular use case isn't exercised by any existing tests; the
3518         closest test is DragAndDropTests.ContentEditableToTextarea, which drags a rich text selection from a
3519         contenteditable element to a text area. However, due to logic in `DragController::concludeEditDrag` that handles
3520         drag and drop across editable content differently than drag and drop from non-editable to editable content, the
3521         bug that is fixed here doesn't surface in that existing test.
3522
3523         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3524         * TestWebKitAPI/Tests/WebKitCocoa/selected-text-and-textarea.html: Added.
3525         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
3526         (TestWebKitAPI::TEST):
3527
3528 2018-08-13  Alex Christensen  <achristensen@webkit.org>
3529
3530         Use a 1-byte enum class for TextDirection
3531         https://bugs.webkit.org/show_bug.cgi?id=188350
3532
3533         Reviewed by Simon Fraser.
3534
3535         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
3536         (TestWebKitAPI::TEST_F):
3537         * TestWebKitAPI/Tests/WebCore/StringWithDirection.cpp:
3538         (WebCore::operator<<):
3539         (TestWebKitAPI::TEST):
3540         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
3541         (TEST_F):
3542
3543 2018-08-13  Zalan Bujtas  <zalan@apple.com>
3544
3545         [LFC][Floating] Add basic clearance support
3546         https://bugs.webkit.org/show_bug.cgi?id=188492
3547
3548         Reviewed by Antti Koivisto.
3549
3550         * LayoutReloaded/misc/LFC-passing-tests.txt:
3551
3552 2018-08-12  Zalan Bujtas  <zalan@apple.com>
3553
3554         [LFC] Float prev/next sibling should prevent top/bottom margin collapsing with parent.
3555         https://bugs.webkit.org/show_bug.cgi?id=188487
3556
3557         Reviewed by Antti Koivisto.
3558
3559         * LayoutReloaded/misc/LFC-passing-tests.txt:
3560
3561 2018-08-11  Aakash Jain  <aakash_jain@apple.com>
3562
3563         [ews-build] Separate queues for Builders and Testers - iOS
3564         https://bugs.webkit.org/show_bug.cgi?id=188396
3565
3566         Reviewed by Lucas Forschler.
3567
3568         * BuildSlaveSupport/ews-build/config.json: Splitted iOS queues into builders and testers.
3569         Also added ews121 and ews122 to match with current EWS configuration.
3570         * BuildSlaveSupport/ews-build/factories.py:
3571         (TestsFactory): Base classes for various Test factories.
3572         (TestsFactory.getProduct): Download and extract the archive.
3573
3574 2018-08-10  Daniel Bates  <dabates@apple.com>
3575
3576         webkit-patch setup-git-clone should set Git core editor to commit-log-editor
3577         https://bugs.webkit.org/show_bug.cgi?id=188473
3578
3579         Reviewed by Ryosuke Niwa.
3580
3581         Have "webkit-patch setup-git-clone" set the Git core editor to "perl Tools/Scripts/commit-log-editor --regenerate-log"
3582         so that the Git commit message is generated from the ChangeLog for developers that manually
3583         generate their ChangeLog using prepare-ChangeLog.
3584
3585         * Scripts/webkitpy/tool/commands/setupgitclone.py:
3586         (SetupGitClone.execute):
3587
3588 2018-08-10  Truitt Savell  <tsavell@apple.com>
3589
3590         Unreviewed, rolling out r234749.
3591
3592         Caused all perf tests to fail in Sierra
3593
3594         Reverted changeset:
3595
3596         "[webkitpy][Win] LayoutTests: test names should be Unix style,
3597         separated by slash not backslash"
3598         https://bugs.webkit.org/show_bug.cgi?id=187973
3599         https://trac.webkit.org/changeset/234749
3600
3601 2018-08-10  David Fenton  <david_fenton@apple.com>
3602
3603         Timeouts in TestWebKitAPI.PreferredAudioBufferSize.AudioWithWebAudio and TestWebKitAPI.PreferredAudioBufferSize.WebAudio.
3604         https://bugs.webkit.org/show_bug.cgi?id=188470.
3605
3606         Unreviewed test gardening, disabling the tests.
3607
3608         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
3609         (TEST_F):
3610
3611 2018-08-10  Joseph Pecoraro  <pecoraro@apple.com>
3612
3613         Eliminate remaining instances of "ElCapitan" from LayoutTests / Tools
3614         https://bugs.webkit.org/show_bug.cgi?id=188458
3615
3616         Reviewed by Alex Christensen.
3617
3618         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
3619         (TestExpectationParser):
3620         * TestResultServer/static-dashboards/flakiness_dashboard.js:
3621
3622 2018-08-09  Fujii Hironori  <Hironori.Fujii@sony.com>
3623
3624         [webkitpy][Win] LayoutTests: test names should be Unix style, separated by slash not backslash
3625         https://bugs.webkit.org/show_bug.cgi?id=187973
3626
3627         Reviewed by Alex Christensen.
3628
3629         In LayoutTests, test names have been canonicalized in Unix style
3630         since Bug 63597, for example 'fast/css/001.html'. But, Bug 179219,
3631         Bug 179572, Bug 180660 and Bug 181814 have changed to use
3632         os.path.seq instead of slash if Windows Python is used.
3633
3634         Revert parts of those changes. Change relative_test_filename to
3635         return a slash sperated test name as well as chromium_win.py used
3636         to do.
3637
3638         This change fixes all 41 test-webkitpy failures in WinCairo port.
3639
3640         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
3641         (TestExpectationParser._parse_line): Do not convert a test name by using normpath.
3642         * Scripts/webkitpy/port/base.py:
3643         (Port.normalize_test_name): Use TEST_PATH_SEPARATOR instead of os.path.sep.
3644         (Port.relative_test_filename): Replace self.host.filesystem.sep with self.TEST_PATH_SEPARATOR.
3645         (Port.abspath_for_test): Split test_name with TEST_PATH_SEPARATOR.
3646         * Scripts/webkitpy/port/driver.py:
3647         (Driver): Use '/' instead of os.sep.
3648         * Scripts/webkitpy/port/win.py:
3649         (WinCairoPort): Do not override TEST_PATH_SEPARATOR.
3650
3651 2018-08-09  Thomas Denney  <tdenney@apple.com>
3652
3653         [WHLSL] Add individual test durations to output
3654         https://bugs.webkit.org/show_bug.cgi?id=188448
3655
3656         Reviewed by Myles C. Maxfield.
3657
3658         * WebGPUShadingLanguageRI/Test.js: Add timing output.
3659
3660 2018-08-09  Ben Richards  <benton_richards@apple.com>
3661
3662         We should cache the compiled sandbox profile in a data vault
3663         https://bugs.webkit.org/show_bug.cgi?id=184991
3664
3665         Reviewed by Ryosuke Niwa.
3666
3667         Added trace points for sandbox initialization
3668
3669         * Tracing/SystemTracePoints.plist:
3670
3671 2018-08-09  Jer Noble  <jer.noble@apple.com>
3672
3673         Video playback is using more power
3674         https://bugs.webkit.org/show_bug.cgi?id=188452
3675         <rdar://problem/42298937>
3676
3677         Reviewed by Eric Carlson.
3678
3679         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
3680         (PreferredAudioBufferSize::createView):
3681         (PreferredAudioBufferSize::preferredAudioBufferSize const):
3682         (TEST_F):
3683
3684 2018-08-09  Alex Christensen  <achristensen@webkit.org>
3685
3686         REGRESSION(234640) Loading stalls in environments without SafariSafeBrowsing framework
3687         https://bugs.webkit.org/show_bug.cgi?id=188453
3688         <rdar://problem/43102553>
3689
3690         Reviewed by Chris Dumez
3691
3692         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
3693         (TEST):
3694         (+[NullLookupContext sharedLookupContext]):
3695         (TestWebKitAPI::TEST): Deleted.
3696
3697 2018-08-09  Alex Christensen  <achristensen@webkit.org>
3698
3699         WKURLSchemeHandler crashes when sent errors with sync XHR
3700         https://bugs.webkit.org/show_bug.cgi?id=188358
3701
3702         Reviewed by Chris Dumez.
3703
3704         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
3705         (-[SyncErrorScheme webView:startURLSchemeTask:]):
3706         (-[SyncErrorScheme webView:stopURLSchemeTask:]):
3707         (-[SyncErrorScheme webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3708
3709 2018-08-09  Per Arne Vollan  <pvollan@apple.com>
3710
3711         REGRESSION(r234652): fast/scrolling/rtl-scrollbars-animation-property.html is failing
3712         https://bugs.webkit.org/show_bug.cgi?id=188397
3713
3714         Reviewed by Tim Horton.
3715
3716         After r234652, [NSScroller preferredScrollerStyle] is called in the UI process, and we need to set the same
3717         user defaults related to scrollbars in the UI process as we do in the WebProcess.
3718
3719         * WebKitTestRunner/mac/main.mm:
3720         (setDefaultsToConsistentValuesForTesting):
3721
3722 2018-08-09  Wenson Hsieh  <wenson_hsieh@apple.com>
3723
3724         [iOS WK2] Rename and refactor DataInteractionTests and DataInteractionSimulator
3725         https://bugs.webkit.org/show_bug.cgi?id=188439
3726
3727         Reviewed by Andy Estes and Megan Gardner.
3728
3729         Refactor DataInteractionSimulator (currently used for drag and drop testing on iOS) so that it exists across
3730         macOS and iOS, and rename it to DragAndDropSimulator. Additionally, rename DataInteractionTests to
3731         DragAndDropTests.
3732
3733         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3734         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3735         (TestWebKitAPI::TEST):
3736         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: Renamed from Tools/TestWebKitAPI/Tests/ios/DataInteractionTests.mm.
3737         (testIconImage):
3738         (testZIPArchive):
3739         (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
3740         (-[TestWKWebView editorContainsImageElement]):
3741         (-[TestWKWebView editorValue]):
3742         (makeCGRectValue):
3743         (checkCGRectIsEqualToCGRectWithLogging):
3744         (checkSelectionRectsWithLogging):
3745         (checkRichTextTypePrecedesPlainTextType):
3746         (checkFirstTypeIsPresentAndSecondTypeIsMissing):
3747         (checkTypeIdentifierIsRegisteredAtIndex):
3748         (checkEstimatedSize):
3749         (checkSuggestedNameAndEstimatedSize):
3750         (checkStringArraysAreEqual):
3751         (checkDragCaretRectIsContainedInRect):
3752         (checkJSONWithLogging):
3753         (testIconImageData):
3754         (runTestWithTemporaryTextFile):
3755         (runTestWithTemporaryFolder):
3756         (TestWebKitAPI::TEST):
3757         (TestWebKitAPI::setUpTestWebViewForDataTransferItems):
3758         (TestWebKitAPI::testDragAndDropOntoTargetElements):
3759         (TestWebKitAPI::testIconImageData):
3760         * TestWebKitAPI/cocoa/DragAndDropSimulator.h: Renamed from Tools/TestWebKitAPI/ios/DataInteractionSimulator.h.
3761         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: Renamed from Tools/TestWebKitAPI/ios/DataInteractionSimulator.mm.
3762         (-[WKWebView dropInteractionDelegate]):
3763         (-[WKWebView dragInteractionDelegate]):
3764         (-[WKWebView dropInteraction]):
3765         (-[WKWebView dragInteraction]):
3766         (-[MockDragDropSession initWithItems:location:window:allowMove:]):
3767         (-[MockDragDropSession allowsMoveOperation]):
3768         (-[MockDragDropSession isRestrictedToDraggingApplication]):
3769         (-[MockDragDropSession hasItemsConformingToTypeIdentifiers:]):
3770         (-[MockDragDropSession canLoadObjectsOfClass:]):
3771         (-[MockDragDropSession canLoadObjectsOfClasses:]):
3772         (-[MockDragDropSession items]):
3773         (-[MockDragDropSession setItems:]):
3774         (-[MockDragDropSession addItems:]):
3775         (-[MockDragDropSession locationInView:]):
3776         (-[MockDropSession initWithProviders:location:window:allowMove:]):
3777         (-[MockDropSession isLocal]):
3778         (-[MockDropSession progress]):
3779         (-[MockDropSession setProgressIndicatorStyle:]):
3780         (-[MockDropSession progressIndicatorStyle]):
3781         (-[MockDropSession operationMask]):
3782         (-[MockDropSession localDragSession]):
3783         (-[MockDropSession hasItemsConformingToTypeIdentifier:]):
3784         (-[MockDropSession canCreateItemsOfClass:]):
3785         (-[MockDropSession loadObjectsOfClass:completion:]):
3786         (-[MockDragSession initWithWindow:allowMove:]):
3787         (-[MockDragSession localOperationMask]):
3788         (-[MockDragSession externalOperationMask]):
3789         (-[MockDragSession session]):
3790         (-[MockDragSession localContext]):
3791         (-[MockDragSession setLocalContext:]):
3792         (dragAndDropEventNames):
3793         (-[DragAndDropSimulatorApplication _cancelAllTouches]):
3794         (-[DragAndDropSimulator initWithWebView:]):
3795         (-[DragAndDropSimulator dealloc]):
3796         (-[DragAndDropSimulator _resetSimulatedState]):
3797         (-[DragAndDropSimulator observedEventNames]):
3798         (-[DragAndDropSimulator simulateAllTouchesCanceled:]):
3799         (-[DragAndDropSimulator runFrom:to:]):
3800         (-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]):
3801         (-[DragAndDropSimulator finalSelectionRects]):
3802         (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
3803         (-[DragAndDropSimulator _enqueuePendingAdditionalItemRequestLocations]):
3804         (-[DragAndDropSimulator _sendQueuedAdditionalItemRequest]):
3805         (-[DragAndDropSimulator _advanceProgress]):
3806         (-[DragAndDropSimulator _currentLocation]):
3807         (-[DragAndDropSimulator _scheduleAdvanceProgress]):
3808         (-[DragAndDropSimulator sourceItemProviders]):
3809         (-[DragAndDropSimulator externalItemProviders]):
3810         (-[DragAndDropSimulator setExternalItemProviders:]):
3811         (-[DragAndDropSimulator phase]):
3812         (-[DragAndDropSimulator liftPreviews]):
3813         (-[DragAndDropSimulator lastKnownDragCaretRect]):
3814         (-[DragAndDropSimulator waitForInputSession]):
3815         (-[DragAndDropSimulator insertedAttachments]):
3816         (-[DragAndDropSimulator removedAttachments]):
3817         (-[DragAndDropSimulator endDataTransfer]):
3818         (-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
3819         (-[DragAndDropSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]):
3820         (-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
3821         (-[DragAndDropSimulator _webView:showCustomSheetForElement:]):
3822         (-[DragAndDropSimulator _webView:willPerformDropWithSession:]):
3823         (-[DragAndDropSimulator _webView:didInsertAttachment:]):
3824         (-[DragAndDropSimulator _webView:didRemoveAttachment:]):
3825         (-[DragAndDropSimulator _webView:focusShouldStartInputSession:]):
3826         (-[DragAndDropSimulator _webView:didStartInputSession:]):
3827         * TestWebKitAPI/ios/UIKitSPI.h:
3828         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm: Added.
3829         (-[DragAndDropSimulator initWithWebView:]):
3830         (-[DragAndDropSimulator dealloc]):
3831         (-[DragAndDropSimulator runFrom:to:]):
3832         (-[DragAndDropSimulator insertedAttachments]):
3833         (-[DragAndDropSimulator removedAttachments]):
3834
3835 2018-08-09  Sihui Liu  <sihui_liu@apple.com>
3836
3837         REGRESSION (r232083): WKWebView loses first-party cookies on iOS
3838         https://bugs.webkit.org/show_bug.cgi?id=188443
3839         <rdar://problem/42991584>
3840
3841         Reviewed by Chris Dumez.
3842
3843         Skip WebKit.WKHTTPCookieStoreWithoutProcessPool on iOS.
3844
3845         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
3846
3847 2018-08-09  Ross Kirsling  <ross.kirsling@sony.com>
3848
3849         Unreviewed follow-up fix for r234720.
3850
3851         * Scripts/webkitpy/bindings/main.py:
3852         (BindingsTests.close_and_remove):
3853         (BindingsTests.main):
3854         Return to the original approach, since this seems to be the simplest cross-platform solution.
3855
3856 2018-08-09  Ali Juma  <ajuma@chromium.org>
3857
3858         Import WPTs for IntersectionObserver
3859         https://bugs.webkit.org/show_bug.cgi?id=188416
3860
3861         Reviewed by Simon Fraser.
3862
3863         Enable IntersectionObserver in DumpRenderTree. 
3864
3865         * DumpRenderTree/mac/DumpRenderTree.mm:
3866         (enableExperimentalFeatures):
3867         (setWebPreferencesForTestOptions):
3868         * WebKitTestRunner/TestController.cpp:
3869         (WTR::TestController::resetPreferencesToConsistentValues):
3870
3871 2018-08-08  Ross Kirsling  <ross.kirsling@sony.com>
3872
3873         run-bindings-tests is not Win32-compatible
3874         https://bugs.webkit.org/show_bug.cgi?id=188424
3875
3876         Reviewed by Fujii Hironori.
3877
3878         * Scripts/webkitpy/bindings/main.py:
3879         (BindingsTests.main):
3880         Stop leaking file descriptors.
3881         (See https://www.logilab.org/blogentry/17873 for details, though the solution here is even simpler.)
3882
3883 2018-08-08  Alex Christensen  <achristensen@webkit.org>
3884
3885         Fix possible null dereference in WebBackForwardList::restoreFromState
3886         https://bugs.webkit.org/show_bug.cgi?id=188418
3887         <rdar://problem/42531726>
3888
3889         Reviewed by Chris Dumez.
3890
3891         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
3892         (TestWebKitAPI::TEST):
3893
3894 2018-08-08  Ross Kirsling  <ross.kirsling@sony.com>
3895
3896         run-builtins-generator-tests does not correctly handle CRLFs from stderr
3897         https://bugs.webkit.org/show_bug.cgi?id=188392
3898
3899         Reviewed by Fujii Hironori.
3900
3901         Background:
3902         file.write converts LF to os.linesep, so if the input string contains CRLF, we end up writing CRCRLF to the file.
3903
3904         * Scripts/webkitpy/common/system/executive.py:
3905         (Executive.run_command):
3906         Normalize CRLF to LF in decoded stdout/stderr data, so that we don't return consumers a platform-specific string.
3907
3908 2018-08-08  Aditya Keerthi  <akeerthi@apple.com>
3909
3910         Unreviewed, add myself to committers list.
3911
3912         * Scripts/webkitpy/common/config/contributors.json:
3913
3914 2018-08-08  Commit Queue  <commit-queue@webkit.org>
3915
3916         Unreviewed, rolling out r234314, r234320, and r234321.
3917         https://bugs.webkit.org/show_bug.cgi?id=188414
3918
3919         Caused email sign in issue (Requested by ryanhaddad on
3920         #webkit).
3921
3922         Reverted changesets:
3923
3924         "Remove unused WKNavigationDelegatePrivate
3925         decidePolicyForNavigationAction SPI"
3926         https://bugs.webkit.org/show_bug.cgi?id=188077
3927         https://trac.webkit.org/changeset/234314
3928
3929         "Fix API tests after r234314"
3930         https://bugs.webkit.org/show_bug.cgi?id=188077
3931         https://trac.webkit.org/changeset/234320
3932
3933         "Fix API tests after r234314"
3934         https://bugs.webkit.org/show_bug.cgi?id=188077
3935         https://trac.webkit.org/changeset/234321
3936
3937 2018-08-08  Wenson Hsieh  <wenson_hsieh@apple.com>
3938
3939         [iOS] fast/events/ios/contenteditable-autocapitalize.html is a flaky failure
3940         https://bugs.webkit.org/show_bug.cgi?id=188401
3941         <rdar://problem/32542300>
3942
3943         Reviewed by Ryosuke Niwa.
3944
3945         When run individually, fast/events/ios/contenteditable-autocapitalize.html passes consistently; however, when
3946         run right after another layout test that finishes while the keyboard is shown, this test sometimes fails. This
3947         is because each of the three steps of this test ends when UIScriptController's `didHideKeyboardCallback` is
3948         invoked, and if the keyboard only begins to dismiss after the previous test completes, we have a race. When the
3949         keyboard finishes dismissing after the UI script is evaluated, it will trigger UI script completion early and
3950         skip over one of the steps in the layout test, resulting in a text diff failure.
3951
3952         To fix this, add a mechanism in WebKitTestRunner to wait until the keyboard is dismissed (with a short timeout)
3953         as a part of resetting test controller state, before moving on to the next layout test.
3954
3955         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
3956         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
3957         (-[TestRunnerWKWebView didStartFormControlInteraction]):
3958         (-[TestRunnerWKWebView didEndFormControlInteraction]):
3959
3960         Use these hooks to keep track of whether the previous test is presenting any form input UI.
3961
3962         (-[TestRunnerWKWebView isInteractingWithFormControl]):
3963         * WebKitTestRunner/ios/TestControllerIOS.mm:
3964         (WTR::handleKeyboardWillHideNotification):
3965         (WTR::handleKeyboardDidHideNotification):
3966         (WTR::TestController::platformInitialize):
3967         (WTR::TestController::platformDestroy):
3968
3969         Register during initialization (and unregister during teardown) for keyboard hiding notifications, to keep track
3970         of when the keyboard dismissal animation ends.
3971
3972         (WTR::TestController::platformResetStateToConsistentValues):
3973
3974         Make a couple of tweaks here: (1) if form input UI is being shown, tell the web view to resign first responder,
3975         which causes the field to lose focus. (2) If necessary, wait for the current keyboard dismissal animation to
3976         finish. This includes any keyboard dismissal animations triggered as a result of step (1).
3977
3978 2018-08-05  Darin Adler  <darin@apple.com>
3979
3980         [Cocoa] More tweaks and refactoring to prepare for ARC
3981         https://bugs.webkit.org/show_bug.cgi?id=188245
3982
3983         Reviewed by Dan Bernstein.
3984
3985         * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: Use const void* for a
3986         CFTypeRef instead of void*.
3987
3988         * DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm:
3989         (createCoreAnimationLayer): Use CFBridgingRetain.
3990
3991         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
3992         (AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use bridging casts.
3993         (AccessibilityUIElement::textMarkerRangeForElement): Ditto.
3994         (AccessibilityUIElement::selectedTextMarkerRange): Ditto.
3995         (AccessibilityUIElement::textMarkerRangeLength): Ditto.
3996         (AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute): Ditto.
3997         (AccessibilityUIElement::indexForTextMarker): Ditto.
3998         (AccessibilityUIElement::textMarkerForIndex): Ditto.
3999         (AccessibilityUIElement::isTextMarkerValid): Ditto.
4000         (AccessibilityUIElement::previousTextMarker): Ditto.
4001         (AccessibilityUIElement::nextTextMarker): Ditto.
4002         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
4003         (createJSStringRef): Ditto.
4004         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
4005         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
4006         (AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
4007         (AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
4008         (AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
4009         (AccessibilityUIElement::endTextMarkerForBounds): Ditto.
4010         (AccessibilityUIElement::startTextMarkerForBounds): Ditto.
4011         (AccessibilityUIElement::textMarkerForPoint): Ditto.
4012         (AccessibilityUIElement::accessibilityElementForTextMarker): Ditto.
4013         (AccessibilityUIElement::startTextMarker): Ditto.
4014         (AccessibilityUIElement::endTextMarker): Ditto.
4015         (AccessibilityUIElement::setSelectedVisibleTextRange): Ditto.
4016         (AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker): Ditto.
4017         (AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker): Ditto.
4018         (AccessibilityUIElement::previousWordStartTextMarkerForTextMarker): Ditto.
4019         (AccessibilityUIElement::nextWordEndTextMarkerForTextMarker): Ditto.
4020         (AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker): Ditto.
4021         (AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker): Ditto.
4022         (AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker): Ditto.
4023         (AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker): Ditto.
4024         (AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker): Ditto.
4025         (AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker): Ditto.
4026
4027         * DumpRenderTree/mac/DumpRenderTree.mm:
4028         (resetWebPreferencesToConsistentValues): Use bridging cast.
4029         (dumpFramesAsText): Ditto.
4030         (dumpBackForwardListForAllWindows): Use a modern for loop instead of
4031         CFArray functions to iterate the array.
4032         (dump): Use bridging cast.
4033         (runTest): Ditto.
4034
4035         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
4036         (+[LocalPasteboard alloc]): Use class_createInstance instead of NSAllocateObject.
4037         (toUTI): Return a RetainPtr<CFStringRef>.
4038         (-[LocalPasteboard types]): Use the above and bridging casts.
4039         (-[LocalPasteboard availableTypeFromArray:]): Ditto.
4040         (-[LocalPasteboard setData:forType:]): Ditto.
4041         (-[LocalPasteboard dataForType:]): Ditto.
4042         (-[LocalPasteboard setPropertyList:forType:]): Use NSPropertyListSerialization
4043         instead of CFPropertyList.
4044         (-[LocalPasteboard setString:forType:]): Use NSString method instead of
4045         CFStringCreateExternalRepresentation.
4046
4047         * DumpRenderTree/mac/MockGeolocationProvider.h: Put CFTypeRef in a HashSet
4048         instead of an Objective-C object pointer type.
4049         * DumpRenderTree/mac/MockGeolocationProvider.mm:
4050         (-[MockGeolocationProvider registerWebView:]): Update for above.
4051         (-[MockGeolocationProvider unregisterWebView:]): Ditto.
4052         (-[MockGeolocationProvider timerFired]): Ditto.
4053
4054         * DumpRenderTree/mac/MockWebNotificationProvider.h: Use CFTypeRef in
4055         HashMap and HashSet instead of an Objective-C object pointer type.
4056         * DumpRenderTree/mac/MockWebNotificationProvider.mm:
4057         (-[MockWebNotificationProvider registerWebView:]): Update for above.
4058         (-[MockWebNotificationProvider unregisterWebView:]): Ditto.
4059         (-[MockWebNotificationProvider showNotification:fromWebView:]): Ditto.
4060         (-[MockWebNotificationProvider cancelNotification:]): Ditto.
4061         (-[MockWebNotificationProvider simulateWebNotificationClick:]): Ditto.
4062
4063         * DumpRenderTree/mac/ObjCPlugin.m:
4064         (-[JSObjC retainObject:]): Use CFRetain instead of -[NSObject retain].
4065
4066         * DumpRenderTree/mac/TestRunnerMac.mm:
4067         (TestRunner::addDisallowedURL): Use bridging cast.
4068         (TestRunner::applicationCacheDiskUsageForOrigin): Ditto.
4069         (TestRunner::clearApplicationCacheForOrigin): Ditto.
4070         (originsArrayToJS): Ditto.
4071         (TestRunner::copyDecodedHostName): Ditto.
4072         (TestRunner::copyEncodedHostName): Ditto.
4073         (TestRunner::queueLoad): Ditto.
4074         (TestRunner::setDomainRelaxationForbiddenForURLScheme): Ditto.
4075         (TestRunner::setMockGeolocationPositionUnavailableError): Ditto.
4076         (TestRunner::setUserStyleSheetLocation): Ditto.
4077         (TestRunner::setValueForUser): Ditto.
4078         (TestRunner::overridePreference): Ditto.
4079         (TestRunner::execCommand): Ditto.
4080         (TestRunner::findString): Ditto.
4081         (TestRunner::isCommandEnabled): Ditto.
4082         (TestRunner::addOriginAccessWhitelistEntry): Ditto.
4083         (TestRunner::removeOriginAccessWhitelistEntry): Ditto.
4084         (TestRunner::addUserScript): Ditto.
4085         (TestRunner::addUserStyleSheet): Ditto.
4086         (TestRunner::evaluateInWebInspector): Ditto.
4087         (TestRunner::evaluateScriptInIsolatedWorld): Ditto.
4088         (TestRunner::authenticateSession): Ditto.
4089         (TestRunner::grantWebNotificationPermission): Ditto.
4090         (TestRunner::denyWebNotificationPermission): Ditto.
4091         * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
4092         (-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Ditto.
4093
4094         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
4095         (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use bridging cast.
4096         (WTR::AccessibilityUIElement::textMarkerRangeForElement): Ditto.
4097         (WTR::AccessibilityUIElement::previousTextMarker): Ditto.
4098         (WTR::AccessibilityUIElement::nextTextMarker): Ditto.
4099         (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
4100         (WTR::AccessibilityUIElement::selectedTextMarkerRange): Ditto.
4101         (WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
4102         (WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
4103         (WTR::AccessibilityUIElement::endTextMarkerForBounds): Ditto.
4104         (WTR::AccessibilityUIElement::startTextMarkerForBounds): Ditto.
4105         (WTR::AccessibilityUIElement::textMarkerForPoint): Ditto.
4106         (WTR::AccessibilityUIElement::textMarkerForIndex): Ditto.
4107         (WTR::AccessibilityUIElement::startTextMarker): Ditto.
4108         (WTR::AccessibilityUIElement::endTextMarker): Ditto.
4109         (WTR::AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker): Ditto.
4110         (WTR::AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker): Ditto.
4111         (WTR::AccessibilityUIElement::previousWordStartTextMarkerForTextMarker): Ditto.
4112         (WTR::AccessibilityUIElement::nextWordEndTextMarkerForTextMarker): Ditto.
4113         (WTR::AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker): Ditto.
4114         (WTR::AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker): Ditto.
4115         (WTR::AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker): Ditto.
4116         (WTR::AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker): Ditto.
4117         (WTR::AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker): Ditto.
4118         (WTR::AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker): Ditto.
4119
4120         * WebKitTestRunner/PlatformMac.cmake: Added WebKitTestRunnerWindow.h and .mm files.
4121         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Ditto.
4122
4123         * WebKitTestRunner/mac/EventSenderProxy.mm: Add include of WebKitTestRunnerWindow.h
4124         so we can use the type and know it inherits from NSWindow.
4125
4126         * WebKitTestRunner/mac/PlatformWebViewMac.mm: Add include of WebKitTestRunnerWindow.h
4127         so we can use the type and know it inherits from NSWindow. Moved WebKitTestRunnerWindow
4128         class into a separate file.
4129         (WTR::PlatformWebView::keyWindow): Call +[WebKitTestRunnerWindow _WTR_keyWindow]
4130         instead of have a second copy of the implementation.
4131
4132         * WebKitTestRunner/mac/WebKitTestRunnerEvent.mm: Add include of WebKitTestRunnerWindow.h
4133         so we can use the type and know it inherits from NSWindow. Also removed "using namespace".
4134         (+[WebKitTestRunnerEvent mouseLocation]): Updated for above.
4135
4136         * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
4137         (+[LocalPasteboard alloc]): Use class_createInstance instead of NSAllocateObject.
4138         (-[LocalPasteboard availableTypeFromArray:]): Use modern for loop.
4139         (-[LocalPasteboard setData:forType:]): Reordered method to be a tiny bit more efficient.
4140         (-[LocalPasteboard setPropertyList:forType:]): Use NSPropertyListSerialization
4141         instead of CFPropertyList.
4142         (-[LocalPasteboard setString:forType:]): Use NSString method instead of
4143         CFStringCreateExternalRepresentation.
4144
4145         * WebKitTestRunner/mac/WebKitTestRunnerWindow.h: Moved declaration of
4146         WebKitTestRunnerWindow here so it can be included by files that need to know
4147         what the type is and that it inherits from NSWindow.
4148
4149         * WebKitTestRunner/mac/WebKitTestRunnerWindow.mm: Added. Moved implementation here.
4150         (+[WebKitTestRunnerWindow _WTR_keyWindow]): Use modern for loop instead of the old,
4151         messier implementation.
4152
4153 2018-08-07  Alex Christensen  <achristensen@webkit.org>
4154
4155         Add a test for using SafeBrowsing
4156         https://bugs.webkit.org/show_bug.cgi?id=188290
4157
4158         Reviewed by Chris Dumez.
4159
4160         Swizzle out SSBLookupContext to write tests for how WebKit responds when it responds in different ways.
4161         We don't do anything with its results in WebKit yet, but when we do I'll add the expected behavior to this test.
4162
4163         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4164         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: Added.
4165         (-[SafeBrowsingDelegate webView:didFinishNavigation:]):
4166         (TestWebKitAPI::TEST):
4167
4168 2018-08-07  Lucas Forschler  <lforschler@apple.com>
4169
4170         If there's a Radar in the ChangeLog, webkit-patch upload/create-bug should put the radar in the bug and set InRadar
4171         https://bugs.webkit.org/show_bug.cgi?id=188235
4172
4173         Reviewed by Daniel Bates, Kocsen Chung, and Aakash Jain.
4174
4175         * Scripts/webkitpy/common/checkout/changelog.py: 
4176         (Change