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