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