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