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