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