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