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