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