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