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