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