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