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