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