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