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