1 2018-09-06 Simon Fraser <simon.fraser@apple.com>
3 run-webkit-tests prints confusing messages when test expectations list results that are not compatible with the run options
4 https://bugs.webkit.org/show_bug.cgi?id=189219
8 If you call run-webkit-tests without --pixel-tests, and a non-ref test is marked as ImageOnlyFailure,
9 it will be reported as unexpectedly passing. This is more confusing if you run without --world-leaks, yet
10 tests are marked as [ Leak ] in TestExpectations.
12 Fix by filtering out expectations that don't apply given the run options. So without --pixel-tests,
13 a non-ref ImageOnlyFailure becomes a Pass, and without --world-leaks, a Leak becomes a Pass.
15 Add various unit tests to test the various combinations.
17 * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
18 (LayoutTestRunner._update_summary_with_result):
19 (LayoutTestRunner._annotate_results_with_additional_failures):
20 * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
21 (LayoutTestRunnerTests.test_update_summary_with_result):
22 * Scripts/webkitpy/layout_tests/models/test_expectations.py:
23 (TestExpectationsModel.get_expectations_or_pass):
24 (TestExpectationsModel):
25 (TestExpectationsModel.expectations_to_string):
26 (TestExpectationsModel.get_expectations_string):
27 (TestExpectations.filtered_expectations_for_test):
29 (TestExpectations.matches_an_expected_result):
30 * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
31 * Scripts/webkitpy/layout_tests/models/test_run_results.py:
33 * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
35 (SummarizedResultsTest.setUp):
36 (SummarizedResultsTest.test_summarized_results_include_passes):
37 (SummarizedResultsTest):
38 (SummarizedResultsTest.test_summarized_results_world_leaks_disabled):
39 * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
40 * Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:
41 (BuildBotPrinterTests.test_print_unexpected_results):
42 (BuildBotPrinterTests.test_print_unexpected_results_with_options):
43 (BuildBotPrinterTests.test_print_results):
44 * Scripts/webkitpy/port/test.py:
47 2018-09-06 Zalan Bujtas <zalan@apple.com>
49 [LFC][BFC] Add support for min(max)-height
50 https://bugs.webkit.org/show_bug.cgi?id=189377
52 Reviewed by Antti Koivisto.
54 * LayoutReloaded/misc/LFC-passing-tests.txt:
56 2018-09-06 Dewei Zhu <dewei_zhu@apple.com>
58 BenchmarkResults.format should support specifying depth of tests to show.
59 https://bugs.webkit.org/show_bug.cgi?id=189135
61 Reviewed by Ryosuke Niwa.
63 Added the option to specify the depth of tests to show.
65 * Scripts/webkitpy/benchmark_runner/benchmark_results.py:
67 (BenchmarkResults.format): Added 'max_depth' option.
68 (BenchmarkResults._format_tests): Added unit tests for 'max_depth'.
71 2018-09-06 Simon Fraser <simon.fraser@apple.com>
73 An EWS run that has leak test failures does not correctly add bugzilla comments showing the failures
74 https://bugs.webkit.org/show_bug.cgi?id=189368
76 Reviewed by Alexey Proskuryakov.
78 Include FailureDocumentLeak in ALL_FAILURE_CLASSES (with a fairly redundant test),
79 which should fix EWS showing leaks in Bugzilla.
81 * Scripts/webkitpy/layout_tests/models/test_failures.py:
82 (FailureDocumentLeak.__init__):
83 * Scripts/webkitpy/layout_tests/models/test_failures_unittest.py:
84 (TestFailuresTest.test_all_failure_classes):
86 2018-09-06 Commit Queue <commit-queue@webkit.org>
88 Unreviewed, rolling out r235755.
89 https://bugs.webkit.org/show_bug.cgi?id=189367
91 Didn't address the review comment (Requested by rniwa on
96 "BenchmarkResults.format should support specifying depth of
98 https://bugs.webkit.org/show_bug.cgi?id=189135
99 https://trac.webkit.org/changeset/235755
101 2018-08-29 Dewei Zhu <dewei_zhu@apple.com>
103 BenchmarkResults.format should support specifying depth of tests to show.
104 https://bugs.webkit.org/show_bug.cgi?id=189135
106 Reviewed by Ryosuke Niwa.
108 Added the option to specify the depth of tests to show.
110 * Scripts/webkitpy/benchmark_runner/benchmark_results.py:
112 (BenchmarkResults.format): Added 'max_depth' option.
113 (BenchmarkResults._format_tests): Added unit tests for 'max_depth'.
115 2018-09-06 Thomas Denney <tdenney@apple.com>
117 [WHLSL] Call arguments should be copied as soon as they are evaluated
118 https://bugs.webkit.org/show_bug.cgi?id=189360
120 Reviewed by Myles C. Maxfield.
122 Previously all call arguments were evaluated and then their results were
123 copied into new buffers for the call. However, the results are not
124 necessarily independent, so the result should be copied immediately
127 * WebGPUShadingLanguageRI/Evaluator.js:
128 (Evaluator.prototype.visitCallExpression): Move location of copy.
130 * WebGPUShadingLanguageRI/Test.js: Add new test to verify correct
133 2018-09-06 Thomas Denney <tdenney@apple.com>
135 [WHLSL] The test suite should log the compile time for the standard library
136 https://bugs.webkit.org/show_bug.cgi?id=189354
138 Reviewed by Myles C. Maxfield.
140 The test suite previously only logged the time for test execution, and
141 not the compile time for the standard library.
143 * WebGPUShadingLanguageRI/Test.js:
145 2018-09-06 Wenson Hsieh <wenson_hsieh@apple.com>
147 [macOS] Cannot change font size at selection until font panel is shown
148 https://bugs.webkit.org/show_bug.cgi?id=189295
149 <rdar://problem/35593389>
151 Reviewed by Ryosuke Niwa.
153 Add API tests to simulate using menu items to increase or decrease font size, and also simulate using
154 NSFontPanel to specify the font family, font size, and other traits.
156 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
157 * TestWebKitAPI/Tests/mac/FontManagerTests.mm: Added.
158 (-[TestWKWebView selectedText]):
159 (-[TestWKWebView selectNextWord]):
160 (-[TestWKWebView stylePropertyAtSelectionStart:]):
161 (-[TestWKWebView stylePropertyAtSelectionEnd:]):
162 (webViewForFontManagerTesting):
163 (menuItemCellForFontAction):
164 (TestWebKitAPI::TEST):
166 2018-09-06 Zalan Bujtas <zalan@apple.com>
168 [LFC][BFC] Add support for min(max)-width
169 https://bugs.webkit.org/show_bug.cgi?id=189358
171 Reviewed by Antti Koivisto.
173 * LayoutReloaded/misc/LFC-passing-tests.txt:
175 2018-09-06 Myles C. Maxfield <mmaxfield@apple.com>
177 [WHLSL] The parser is too slow
178 https://bugs.webkit.org/show_bug.cgi?id=189014
180 Reviewed by Filip Pizlo.
182 This patch includes three changes:
183 1. Migrate from using try/catch to simply returning the WSyntaxError. This means that
184 each parser call has to check for this sentinel value. The lexer still can throw if
185 it encounters an unknown token or an unmatched "/*" token (which is rare).
186 2. After removing try/catch, making the sentinel values not inherit from Error (the
187 Error constructor was taking lots of time)
188 3. Previously, every time the parser failed (which is many times per expression) it was
189 running a regex over the entire source text to figure out where the error occurred.
190 Instead, we can preprocess the text string to find these line numbers ahead of time.
192 Together, these make the parser 75x faster. Parsing the standard library goes from 2.5
193 hours down to 2 minutes. Because it's now a reasonable length, this patch uncomments
194 the bulk of the standard library.
196 * WebGPUShadingLanguageRI/All.js:
197 * WebGPUShadingLanguageRI/Lexer.js:
199 (Lexer.prototype.lineNumberForIndex):
200 * WebGPUShadingLanguageRI/Parse.js:
205 (consumeEndOfTypeArgs):
208 (parseTypeArguments):
209 (parseType.getAddressSpace):
213 (parseCallExpression.let.parseArguments):
215 (parseSuffixOperator):
216 (parsePossibleSuffix):
218 (parsePossiblePrefix):
219 (parsePossibleTernaryConditional):
220 (parsePossibleAssignment):
221 (parsePostIncrement):
222 (parseEffectfulExpression):
223 (genericParseCommaExpression):
224 (parseEffectfulStatement):
232 (parseVariableDecls):
234 (parseSwitchStatement):
246 (parseRestrictedFuncDef):
250 * WebGPUShadingLanguageRI/SPIRV.html:
251 * WebGPUShadingLanguageRI/StandardLibrary.js:
252 (let.standardLibrary):
253 * WebGPUShadingLanguageRI/Test.html:
254 * WebGPUShadingLanguageRI/Test.js:
255 (checkFail.doPrep): Deleted.
256 * WebGPUShadingLanguageRI/WLexicalError.js: Added.
258 * WebGPUShadingLanguageRI/index.html:
260 2018-09-06 Xan Lopez <xan@igalia.com>
262 [test262] Do not call keys on a reference
263 https://bugs.webkit.org/show_bug.cgi?id=189301
265 Reviewed by Keith Miller.
267 * Scripts/test262/Runner.pm:
270 2018-09-06 David Kilzer <ddkilzer@apple.com>
272 svn-create-patch fails when svn mv is used on directory trees
273 <https://webkit.org/b/14590>
275 Reviewed by Daniel Bates.
277 * Scripts/VCSUtils.pm: Export parseSvnDiffStartLine() for
279 (parseDiffStartLine): Use parseSvnDiffStartLine().
280 (parseGitDiffStartLine): Document a prerequisite. Fix a bug
281 when parsing Git patches using `git diff --no-prefix` that have
282 non-native line endings. Found by new tests written for
283 Scripts/webkitperl/VCSUtils_unittest/parseDiffStartLine.pl.
284 (parseSvnDiffStartLine): Add. Extract logic from
285 parseDiffStartLine() for use with svn-create-patch.
287 * Scripts/svn-create-patch: Update copyright and license.
288 (generateDiff): Return early for moved directories since
289 individual files within the directory are handled separately.
290 (generateFileList): Keep track of moved directories in the
291 @additionWithHistoryDirectories array, then process this array
292 in reverse order to create delete/add patches for each file in
293 a moved directory. This also prevents duplicate patches.
294 (manufacturePatchForAdditionWithHistory): Fix a long-standing
295 bug where the path used to describe property changes contained
296 the original (moved-from) path instead of the new (moved-to)
297 path. This could cause svn-apply to fail mysteriously when
298 trying to apply an empty patch created by the property change
299 containing the moved-from path.
301 * Scripts/webkitperl/VCSUtils_unittest/parseDiffStartLine.pl: Add.
302 Tests for parseDiffStartLine(), parseGitDiffStartLine() and
303 parseSvnDiffStartLine().
305 2018-09-05 Don Olmstead <don.olmstead@sony.com>
307 [CMake] Allow port specific options on gtest
308 https://bugs.webkit.org/show_bug.cgi?id=189313
310 Reviewed by Alex Christensen.
312 Use the global property set by the gtest CMake file to add to the
313 compilation definitions for TestWebKitAPI rather than repeating the
316 * TestWebKitAPI/CMakeLists.txt:
318 2018-09-05 Woodrow Wang <woodrow_wang@apple.com>
320 Add infrastructure to dump resource load statistics
321 https://bugs.webkit.org/show_bug.cgi?id=189213
323 Reviewed by Daniel Bates.
325 The dumping functionality is not currently used, but will be included in tests for
326 <https://bugs.webkit.org/show_bug.cgi?id=187773>.
328 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
329 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
330 (WTR::TestRunner::setDumpResourceLoadStatistics):
331 * WebKitTestRunner/InjectedBundle/TestRunner.h:
332 * WebKitTestRunner/TestController.cpp:
333 (WTR::resourceStatisticsStringResultCallback):
334 (WTR::TestController::dumpResourceLoadStatistics):
335 * WebKitTestRunner/TestController.h:
336 * WebKitTestRunner/TestInvocation.cpp:
337 (WTR::TestInvocation::dumpResults):
338 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
339 (WTR::TestInvocation::setDumpResourceLoadStatistics):
340 * WebKitTestRunner/TestInvocation.h:
342 2018-09-05 Wenson Hsieh <wenson_hsieh@apple.com>
344 [macOS] DragAndDropTests.ExposeMultipleURLsInDataTransfer fails on macOS versions prior to Mojave
345 https://bugs.webkit.org/show_bug.cgi?id=189315
347 Reviewed by Tim Horton.
349 Fix the test failure by explicitly enabling custom pasteboard data.
351 * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
354 2018-09-05 Woodrow Wang <woodrow_wang@apple.com>
356 Added runtime feature flag for web API statistics
357 https://bugs.webkit.org/show_bug.cgi?id=189211
359 Reviewed by Daniel Bates.
361 Added functionality to set the runtime flag with a JavaScript exposed function
364 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
365 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
366 (WTR::TestRunner::setWebAPIStatisticsEnabled):
367 * WebKitTestRunner/InjectedBundle/TestRunner.h:
369 2018-09-05 Ross Kirsling <ross.kirsling@sony.com>
371 Add WinCairo to bot watcher's dashboard.
372 https://bugs.webkit.org/show_bug.cgi?id=189273
374 Reviewed by Aakash Jain.
376 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10.png: Added.
377 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10@2x.png: Added.
379 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
380 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
381 (table.queue-grid tr.platform.windows-10 img.logo): Added.
382 (table.queue-grid tr.platform.windows-8 img.logo): Deleted.
383 (table.queue-grid tr.platform.windows-xp img.logo): Deleted.
384 Add Win10 section to dashboard. Remove unused WinXP and Win8 sections.
386 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
388 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
390 Add WinCairo build, test, and EWS bots to Win10 section of dashboard.
392 2018-09-05 David Kilzer <ddkilzer@apple.com>
394 REGRESSION (r209470): EditingHistory folder is missing in EditingHistory Xcode project
396 Found using `tidy-Xcode-project-file --missing` (see Bug
397 188754). Fixes were made manually.
399 * EditingHistory/EditingHistory.xcodeproj/project.pbxproj:
400 (EditingHistory): Change the path of the folder to
401 "EditingHistory", then remove the now-redundant name.
402 (EditingHistory/Resources/DumpEditingHistory.js): Remove
403 redundant file reference since another file reference exists at
404 the top of the project file list, and that file reference is the
405 one used in the "Copy Bundle Resources" build phase.
406 (EditingHistory/Resources/EditingHistoryUtil.js): Ditto.
408 2018-09-05 David Kilzer <ddkilzer@apple.com>
410 REGRESSION (r160736): Bundle folder is missing in MiniBrowser Xcode project
412 Found using `tidy-Xcode-project-file --missing` (see Bug
413 188754). Folder fix was made manually.
415 * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
416 (Bundle): Change the path of the folder to "mac/Bundle", and set
417 the name back to "Bundle".
418 (Bundle/Info.plist): Change file reference to be relative to its
419 group. Accomplished using Xcode after fixing the folder path.
420 (Bundle/MiniBrowserBundle_Prefix.pch): Ditto.
422 2018-09-05 David Kilzer <ddkilzer@apple.com>
424 REGRESSION (r184033): ContentExtensionTester folder is missing in ContentExtensionTester Xcode project
426 Found using `tidy-Xcode-project-file --missing` (see Bug
427 188754). Fixes were made manually.
429 * ContentExtensionTester/ContentExtensionTester.xcodeproj/project.pbxproj:
430 (ContentExtensionTester): Change the path of the folder to map
431 to "." (which exists and is where main.m is located), and then
432 set the folder's name back to "ContentExtensionTester".
433 (main.m): Change file reference to be relative to its group now
434 that the group's path is fixed.
436 2018-09-04 Don Olmstead <don.olmstead@sony.com>
438 Add generic entrypoint and run loop in TestWebKitAPI
439 https://bugs.webkit.org/show_bug.cgi?id=189287
441 Reviewed by Michael Catanzaro.
443 The implementations in jsconly are platform agnostic.
445 * TestWebKitAPI/PlatformJSCOnly.cmake:
446 Use the glib implementation of Utilities when using that as a run loop
447 otherwise use the generic implementation.
449 * TestWebKitAPI/PlatformUtilities.h:
450 Remove repeated entries from Utilities.h.
452 * TestWebKitAPI/PlatformWPE.cmake:
453 Use the generic main.cpp.
455 * TestWebKitAPI/generic/UtilitiesGeneric.cpp: Renamed from Tools/TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp.
456 (TestWebKitAPI::Util::run):
457 (TestWebKitAPI::Util::spinRunLoop):
458 Moved to a generic implementation and added spinRunLoop.
460 * TestWebKitAPI/generic/main.cpp: Renamed from Tools/TestWebKitAPI/jsconly/main.cpp.
461 Share between JSCOnly and WPE
463 * TestWebKitAPI/wpe/main.cpp: Removed.
465 2018-09-04 Don Olmstead <don.olmstead@sony.com>
467 [CMake] Make TestWebKitAPI dependencies explicit
468 https://bugs.webkit.org/show_bug.cgi?id=189282
470 Reviewed by Fujii Hironori.
472 The config.h file includes files from JSC, WebCore and WebKit which
473 places a dependency on those headers even when just building TestWTF.
474 This makes the depedencies explicit for all CMake ports and shoud
475 remove any race conditions that can be encountered when building tests.
477 * TestWebKitAPI/CMakeLists.txt:
478 * TestWebKitAPI/PlatformGTK.cmake:
479 * TestWebKitAPI/PlatformWPE.cmake:
480 * TestWebKitAPI/PlatformWin.cmake:
482 2018-09-04 Wenson Hsieh <wenson_hsieh@apple.com>
484 Populate "text/uri-list" with multiple URLs when the pasteboard contains multiple URLs
485 https://bugs.webkit.org/show_bug.cgi?id=188890
486 <rdar://problem/43648605>
488 Reviewed by Tim Horton.
490 * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
491 (-[LocalPasteboard pasteboardItems]):
493 Implement this method to avoid crashing when running layout tests that access the pasteboard.
495 * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
497 Add a test to verify that on macOS and iOS, multiple URLs dropped onto the page are accessible via
500 * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
502 Add a test that exercises 5 different ways to write one or more URLs to the pasteboard on macOS; in all cases,
503 the URLs written to the pasteboard should be exposed to the page via "text/uri-list". In all of these different
504 cases, the results of using `-[NSPasteboardItem stringForType:]`, `-[NSURL URLFromPasteboard:]` and
505 `-[NSPasteboard stringForType:]` will yield different results, so the purpose of this API test is to ensure that
506 our logic for grabbing a list of URLs from the pasteboard on macOS is robust enough to handle all of these
509 * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
511 Add a test to verify that on iOS, using `-[UIPasteboard setURLs:]` to write to multiple URLs to the pasteboard
512 and then pasting results in "text/uri-list" exposing a list of all the URLs written to the pasteboard.
514 * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
515 (-[LocalPasteboard pasteboardItems]):
517 Implement this method to avoid crashing when running layout tests that access the pasteboard.
519 2018-09-04 Simon Fraser <simon.fraser@apple.com>
521 REGRESSION(r235408): GTK bots exiting early
522 https://bugs.webkit.org/show_bug.cgi?id=189063
524 Reviewed by Michael Catanzaro.
526 WebKitTestRunner was running the world leak checks even when run without --world-leaks,
527 causing GTK bot timeouts. So guard updateLiveDocumentsAfterTest(), checkForWorldLeaks()
528 and findAndDumpWorldLeaks() with m_checkForWorldLeaks checks, and in
529 TestController::handleControlCommand() print a message if the control script sends the
530 "#CHECK FOR WORLD LEAKS" command if WTR was not run with --world-leaks.
532 I tested that running with --world-leaks still works.
534 * WebKitTestRunner/TestController.cpp:
535 (WTR::TestController::resetStateToConsistentValues):
536 (WTR::TestController::updateLiveDocumentsAfterTest):
537 (WTR::TestController::checkForWorldLeaks):
538 (WTR::TestController::findAndDumpWorldLeaks):
539 (WTR::TestController::handleControlCommand):
540 (WTR::TestController::run):
542 2018-09-04 Myles C. Maxfield <mmaxfield@apple.com>
544 Unreviewed follow-up to r235635
545 https://bugs.webkit.org/show_bug.cgi?id=188940
547 Use "let" variables instead of "var" variables.
549 * WebGPUShadingLanguageRI/StandardLibrary.js:
550 (let.standardLibrary):
552 2018-09-04 Myles C. Maxfield <mmaxfield@apple.com>
554 [WHLSL] Implement texture types
555 https://bugs.webkit.org/show_bug.cgi?id=188940
557 Rubber-stamped by Dean Jackson.
559 Implement the texture types and operations. This includes Sample(), Load(), Store(), Gather(), and GetDimensions().
560 These functions were implemented according to section 15 of the Vulkan 1.1.83 spec, which lists each operation
561 and how to compute its results.
563 * WebGPUShadingLanguageRI/All.js:
564 * WebGPUShadingLanguageRI/Casts.js: Moved from Intrinsics. The texture operations need to cast too, so these are
565 moved into a common location.
576 * WebGPUShadingLanguageRI/Intrinsics.js: Use Casts.js and call into TextureOperations.js.
578 (Intrinsics.checkFalse):
579 (Intrinsics.boxVector):
580 (Intrinsics.unboxVector):
582 (Intrinsics.cast): Deleted.
583 (Intrinsics.bitwiseCast): Deleted.
584 (Intrinsics.castToHalf): Deleted.
585 * WebGPUShadingLanguageRI/SPIRV.html:
586 * WebGPUShadingLanguageRI/Sampler.js: Added. Represent the Sampler type.
588 (Sampler.prototype.get rAddressMode):
589 (Sampler.prototype.get sAddressMode):
590 (Sampler.prototype.get tAddressMode):
591 (Sampler.prototype.get minFilter):
592 (Sampler.prototype.get magFilter):
593 (Sampler.prototype.get mipmapFilter):
594 (Sampler.prototype.get lodMinClamp):
595 (Sampler.prototype.get lodMaxClamp):
596 (Sampler.prototype.get maxAnisotropy):
597 (Sampler.prototype.get compareFunction):
598 (Sampler.prototype.get borderColor):
599 (Sampler.prototype.calculateBorderColor.computeValues):
600 (Sampler.prototype.calculateBorderColor):
601 * WebGPUShadingLanguageRI/StandardLibrary.js: Update the standard library. Some of the functions were
602 either missing or wrong.
603 (let.standardLibrary):
604 * WebGPUShadingLanguageRI/Test.html:
605 * WebGPUShadingLanguageRI/Test.js: Test many, many combinations of the texture operations.
608 (make1DTextureArray):
610 (make2DTextureArray):
614 (makeRW1DTextureArray):
616 (makeRW2DTextureArray):
618 (make2DDepthTexture):
619 (make2DDepthTextureArray):
620 (makeDepthTextureCube):
621 (makeRW2DDepthTexture):
622 (makeRW2DDepthTextureArray):
624 * WebGPUShadingLanguageRI/Texture.js: Added. Represents each of the texture types.
626 (Texture.prototype.get dimension):
627 (Texture.prototype.get width):
628 (Texture.prototype.get height):
629 (Texture.prototype.get depth):
630 (Texture.prototype.get levelCount):
631 (Texture.prototype.get layerCount):
632 (Texture.prototype.get innerType):
633 (Texture.prototype.get data):
634 (Texture.prototype.elementChecked):
635 (Texture.prototype.setElementChecked):
637 (Texture1D.prototype.widthAtLevel):
638 (Texture1D.prototype.heightAtLevel):
639 (Texture1D.prototype.depthAtLevel):
640 (Texture1D.prototype.element):
641 (Texture1D.prototype.setElement):
643 (Texture1DArray.prototype.widthAtLevel):
644 (Texture1DArray.prototype.heightAtLevel):
645 (Texture1DArray.prototype.depthAtLevel):
646 (Texture1DArray.prototype.element):
647 (Texture1DArray.prototype.setElement):
649 (Texture2D.prototype.widthAtLevel):
650 (Texture2D.prototype.heightAtLevel):
651 (Texture2D.prototype.depthAtLevel):
652 (Texture2D.prototype.element):
653 (Texture2D.prototype.setElement):
655 (Texture2DArray.prototype.widthAtLevel):
656 (Texture2DArray.prototype.heightAtLevel):
657 (Texture2DArray.prototype.depthAtLevel):
658 (Texture2DArray.prototype.element):
659 (Texture2DArray.prototype.setElement):
661 (Texture3D.prototype.widthAtLevel):
662 (Texture3D.prototype.heightAtLevel):
663 (Texture3D.prototype.depthAtLevel):
664 (Texture3D.prototype.element):
665 (Texture3D.prototype.setElement):
667 (TextureCube.prototype.widthAtLevel):
668 (TextureCube.prototype.heightAtLevel):
669 (TextureCube.prototype.depthAtLevel):
670 (TextureCube.prototype.element):
671 (TextureCube.prototype.setElement):
673 (Texture1DRW.prototype.widthAtLevel):
674 (Texture1DRW.prototype.heightAtLevel):
675 (Texture1DRW.prototype.depthAtLevel):
676 (Texture1DRW.prototype.element):
677 (Texture1DRW.prototype.setElement):
679 (Texture1DArrayRW.prototype.widthAtLevel):
680 (Texture1DArrayRW.prototype.heightAtLevel):
681 (Texture1DArrayRW.prototype.depthAtLevel):
682 (Texture1DArrayRW.prototype.element):
683 (Texture1DArrayRW.prototype.setElement):
685 (Texture2DRW.prototype.widthAtLevel):
686 (Texture2DRW.prototype.heightAtLevel):
687 (Texture2DRW.prototype.depthAtLevel):
688 (Texture2DRW.prototype.element):
689 (Texture2DRW.prototype.setElement):
691 (Texture2DArrayRW.prototype.widthAtLevel):
692 (Texture2DArrayRW.prototype.heightAtLevel):
693 (Texture2DArrayRW.prototype.depthAtLevel):
694 (Texture2DArrayRW.prototype.element):
695 (Texture2DArrayRW.prototype.setElement):
696 (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW):
697 (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.widthAtLevel):
698 (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.heightAtLevel):
699 (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.depthAtLevel):
700 (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.element):
701 (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.setElement):
702 * WebGPUShadingLanguageRI/TextureOperations.js: Added. This implements the texture operations
703 as described in section 15 of the Vulkan 1.1.83 spec.
704 (depthCompareOperation):
706 (projectionOperation):
707 (cubeMapFaceSelection):
708 (cubeMapCoordinateTransformation):
709 (cubeMapDerivativeTransformation):
710 (scaleFactorOperation):
711 (levelOfDetailOperation):
713 (imageLevelSelection):
714 (strqaToUVWATransformation):
716 (uvwaToIJKLNTransformationAndArrayLayerSelection):
717 (integerTexelCoordinateOperations):
727 (computeColorFromLevel):
729 (castToInnerTypeForGather):
733 * WebGPUShadingLanguageRI/index.html:
735 2018-09-04 Alexey Proskuryakov <ap@apple.com>
737 Removing an accidentally committed debugging print.
739 * Scripts/run-leaks: (runLeaks)
741 2018-09-04 Alexey Proskuryakov <ap@apple.com>
743 run-leaks should run leaks with --list (on Mojave)
744 https://bugs.webkit.org/show_bug.cgi?id=187716
745 <rdar://problem/42261676>
747 Reviewed by Lucas Forschler.
749 Also enabled dumping memgraphs. We'll be pruning these aggressively, as they take
753 (main): Added an option to store memgraphs.
754 (runLeaks): As there is no way to test whether the new format is supported in advance,
755 we have to try with --list first, and retry if that fails. Also, made leaks operate
756 on a memgraph file if we are saving it anyway.
758 * Scripts/webkitpy/port/leakdetector.py:
759 (LeakDetector._leaks_args): Pass --memgraph-file to run-leaks.
760 (LeakDetector.leaks_file_name): Removed an incorrect comment.
761 (LeakDetector.memgraph_file_name): Added.
762 (LeakDetector.check_for_leaks): Changed how arguments are passed to _leaks_args.
763 It is a bit ugly that leaks path ends up being computed twice, but this is the least
764 ugly approach that I could find.
766 * Scripts/webkitpy/port/leakdetector_unittest.py: Updated for _leaks_args changes.
768 2018-09-04 Chris Dumez <cdumez@apple.com>
770 Add process pool configuration flag to turn on automatic process pre-warming
771 https://bugs.webkit.org/show_bug.cgi?id=189263
772 <rdar://problem/44101941>
774 Reviewed by Antti Koivisto.
776 Add API test coverage.
778 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
779 * TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm.
781 * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
782 * TestWebKitAPI/Tests/WebKitCocoa/SetMaximumPrewarmedProcessCount.mm: Removed.
784 2018-09-04 Keith Miller <keith_miller@apple.com>
786 Perl doesn't like calling keys on a reference
787 https://bugs.webkit.org/show_bug.cgi?id=189261
789 Reviewed by Michael Saboff.
791 * Scripts/test262/Runner.pm:
794 2018-09-04 Jer Noble <jer.noble@apple.com>
796 REGRESSION (r234081): TestWebKitAPI.VideoControlsManager.VideoControlsManagerAudioElementFollowingUserInteraction is a flaky timeout
797 https://bugs.webkit.org/show_bug.cgi?id=187972
798 <rdar://problem/42667737>
800 Reviewed by Darin Adler.
802 Ensure that listeners are added in time to catch messages broadcast at them.
804 * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
805 (TestWebKitAPI::TEST):
807 2018-09-04 Ross Kirsling <ross.kirsling@sony.com>
810 https://bugs.webkit.org/show_bug.cgi?id=175722
812 Reviewed by Brent Fulgham.
814 * TestWebKitAPI/config.h:
815 Instead of modifying the gtest source, add the necessary WTF includes here.
817 * TestWebKitAPI/Configurations/Base.xcconfig
818 Remove obsoleted definitions GTEST_HAS_TR1_TUPLE=0 and GTEST_HAS_RTTI=0.
820 2018-09-03 Pablo Saavedra <psaavedra@igalia.com>
822 [WPE] Add more WPE bots to dashboard
823 https://bugs.webkit.org/show_bug.cgi?id=189245
825 Reviewed by Daniel Bates.
827 There are two missing bots which are not listed in the dashboard for
828 a while: WPE Linux 64-bit Debug (Build) and WPE Linux 64-bit Debug (Tests)
830 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
833 2018-09-01 Michael Catanzaro <mcatanzaro@igalia.com>
835 [WPE] 2.21.91 fails to build with ENABLE_MINIBROWSER
836 https://bugs.webkit.org/show_bug.cgi?id=189006
838 Reviewed by Darin Adler.
840 The MiniBrowser source code is missing from the tarball. Oops! Add it.
842 * wpe/manifest.txt.in:
844 2018-09-01 Yoshiaki Jitsukawa <yoshiaki.jitsukawa@sony.com>
846 [WinCairo] Add CryptoDigestOpenSSL
847 https://bugs.webkit.org/show_bug.cgi?id=188978
849 Reviewed by Darin Adler.
851 Add API tests for the PAL::CryptoDigest class.
853 * TestWebKitAPI/PlatformWin.cmake:
854 Add CryptoDigest.cpp to TestWebCoreLib_Sources.
856 Define -DSTATICALLY_LINKED_WITH_PAL=1 to avoid warnings since
857 without the definition the functions marked with PAL_EXPORT are supposed to be
858 imported from another shared library, but as it is, TestWebCoreLib
859 links PAL statically.
861 * TestWebKitAPI/Tests/WebCore/CryptoDigest.cpp: Added.
862 (TestWebKitAPI::toHex):
863 (TestWebKitAPI::expect):
864 (TestWebKitAPI::expectSHA1):
865 (TestWebKitAPI::expectSHA224):
866 (TestWebKitAPI::expectSHA256):
867 (TestWebKitAPI::expectSHA384):
868 (TestWebKitAPI::expectSHA512):
869 (TestWebKitAPI::TEST):
871 2018-09-01 Dan Bernstein <mitz@apple.com>
873 [Cocoa] Crash using KVO for 'serverTrust' property of WKWebView - "this class is not key value coding-compliant for the key serverTrust"
874 https://bugs.webkit.org/show_bug.cgi?id=189222
875 <rdar://problem/33283179>
877 Reviewed by Sam Weinig.
879 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
880 * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewServerTrustKVC.mm: Added.
883 2018-08-31 Aditya Keerthi <akeerthi@apple.com>
885 Unreviewed, add an alternate email for Aditya Keerthi.
887 * Scripts/webkitpy/common/config/contributors.json:
889 2018-08-31 Wenson Hsieh <wenson_hsieh@apple.com>
891 [iOS] Consolidate the implementations of readString, stringForType, and readURL in PlatformPasteboardIOS.mm
892 https://bugs.webkit.org/show_bug.cgi?id=189054
893 <rdar://problem/43819779>
895 Reviewed by Tim Horton.
897 See WebCore/ChangeLog for more detail.
899 * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
900 (createWebViewWithCustomPasteboardDataEnabled):
902 2018-08-31 Commit Queue <commit-queue@webkit.org>
904 Unreviewed, rolling out r235565.
905 https://bugs.webkit.org/show_bug.cgi?id=189212
907 Broke the WHLSL build (Requested by litherum on #webkit).
911 "[WHLSL] Remove useless code in NameResolver"
912 https://bugs.webkit.org/show_bug.cgi?id=189176
913 https://trac.webkit.org/changeset/235565
915 2018-08-31 Myles C. Maxfield <mmaxfield@apple.com>
917 [WHLSL] Remove useless code in NameResolver
918 https://bugs.webkit.org/show_bug.cgi?id=189176
920 Reviewed by Dean Jackson and Thomas Denney.
922 The check will always pass becase the standard library contains at least one function with the correct name.
924 * WebGPUShadingLanguageRI/NameResolver.js:
925 (NameResolver.prototype.visitDotExpression):
926 (NameResolver.prototype._handlePropertyAccess): Deleted.
927 (NameResolver.prototype.visitIndexExpression): Deleted.
929 2018-08-31 Simon Fraser <simon.fraser@apple.com>
931 Make it possible to mark tests as leaks in TestExpectations
932 https://bugs.webkit.org/show_bug.cgi?id=189088
936 Have webkitpy parse out "Leak" expectations in TestExpectations, and do the right
937 thing if the test run did not use --world-leaks. Add unit tests for leaks combined
938 with various other result combinations.
940 * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
941 (LayoutTestRunner._update_summary_with_result):
942 (LayoutTestRunner._annotate_results_with_additional_failures):
943 * Scripts/webkitpy/layout_tests/models/test_expectations.py:
944 (TestExpectationParser):
945 (TestExpectations): The 'Leak' line was duplicated here, so remove a copy.
946 (TestExpectations.remove_leak_failures):
947 (TestExpectations.matches_an_expected_result):
948 * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
949 (Base.get_basic_tests):
950 * Scripts/webkitpy/port/test.py:
951 (TestList.add_reftest):
954 2018-08-31 Zalan Bujtas <zalan@apple.com>
956 [LFC] Add margin box verification back now that Display::Box has non-computed horizontal margin.
957 https://bugs.webkit.org/show_bug.cgi?id=189193
959 Reviewed by Antti Koivisto.
961 * LayoutReloaded/misc/LFC-passing-tests.txt:
963 2018-08-31 Antti Koivisto <antti@apple.com>
965 Replace OptionSet |= and -= operators with add() and remove() functions
966 https://bugs.webkit.org/show_bug.cgi?id=189169
968 Reviewed by Anders Carlsson.
970 * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
971 (TestWebKitAPI::TEST):
973 2018-08-31 Daniel Bates <dabates@apple.com>
975 lldb-webkit: KeyError thrown for OptionSet with invalid value
976 https://bugs.webkit.org/show_bug.cgi?id=189070
978 Update comment to explain that we return early and do not compute the set of enumerators in the
979 OptionSet when the underlying value of the set is an invalid value.
981 Additionally, update the change log entry for r235482 to reflect the updated title for the bug
982 and to better describe the change that was made.
984 * lldb/lldb_webkit.py:
985 (WTFOptionSetProvider.update):
987 2018-08-31 David Kilzer <ddkilzer@apple.com>
989 WebKitLauncher: Move WebKitLauncher.entitlements into Configurations directory
991 This makes the Configurations folder in the Xcode project match
992 what's in the Configurations directory on disk. Found by
993 tidy-Xcode-project-file (see Bug 188754).
995 * WebKitLauncher/Configurations/WebKitLauncher.entitlements: Rename from Tools/WebKitLauncher/WebKitLauncher.entitlements.
996 * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
997 - Update project for file move.
999 2018-08-31 David Kilzer <ddkilzer@apple.com>
1001 WebKitLauncher: Fix build failures
1003 * WebKitLauncher/Configurations/Base.xcconfig:
1004 (ARCHS): Use $(ARCHS_STANDARD_32_64_BIT).
1005 (MACOSX_DEPLOYMENT_TARGET): Update from Snow Leopard to Sierra.
1007 * WebKitLauncher/WebKitNightlyEnabler.m:
1008 (myApplicationWillFinishLaunching):
1009 * WebKitLauncher/main.m:
1010 (displayErrorAndQuit):
1011 (locateSafariBundle):
1012 - Use pragma to ignore deprecation warnings.
1014 2018-08-31 David Kilzer <ddkilzer@apple.com>
1016 MobileMiniBrowser: Move test2s.mp4 into Resources directory
1018 This makes the Resources folder in the Xcode project match
1019 what's in the Resources directory on disk. Found by
1020 tidy-Xcode-project-file (see Bug 188754).
1022 * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
1023 - Update project for file move.
1024 * MobileMiniBrowser/MobileMiniBrowserFramework/Resources/test2s.mp4: Rename from Tools/MobileMiniBrowser/MobileMiniBrowserFramework/test2s.mp4.
1026 2018-08-31 Frederic Wang <fwang@igalia.com>
1028 Bug 182053 - [CSSOM View] Implement standard behavior for scrollingElement
1029 https://bugs.webkit.org/show_bug.cgi?id=182053
1031 Reviewed by Simon Fraser.
1033 Add FIXMEs comments to add the new developer flag in the future and disable it for now.
1035 * DumpRenderTree/mac/DumpRenderTree.mm:
1036 (enableExperimentalFeatures):
1037 (resetWebPreferencesToConsistentValues):
1038 * DumpRenderTree/win/DumpRenderTree.cpp:
1039 (enableExperimentalFeatures):
1040 * WebKitTestRunner/TestController.cpp:
1041 (WTR::TestController::resetPreferencesToConsistentValues):
1043 2018-08-30 Thomas Denney <tdenney@apple.com>
1045 [WHLSL] Fix array indexing behavior
1046 https://bugs.webkit.org/show_bug.cgi?id=189175
1048 Array, pointer, and array ref types are now parsed and then constructed
1049 in reverse so that the declaration order matches the indexing order, as
1052 Reviewed by Myles C. Maxfield.
1054 * WebGPUShadingLanguageRI/Parse.js:
1056 * WebGPUShadingLanguageRI/Test.js:
1058 2018-08-30 Wenson Hsieh <wenson_hsieh@apple.com>
1060 Followup to [iOS] TestWebKitAPI.PasteImage tests are flaky failures
1061 https://bugs.webkit.org/show_bug.cgi?id=185965
1063 Reviewed by Andy Estes.
1065 The first attempt to fix these flaky tests on iOS caused timeouts on macOS while waiting for a "loaded" message
1066 from the page. To (hopefully) fix this across both platforms, make sure that we first register our script
1067 message handlers in the UI process *before* evaluating script that could propagate the script message.
1069 * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
1070 (-[TestWKWebView waitForMessage:afterEvaluatingScript:]):
1073 2018-08-30 Thomas Denney <tdenney@apple.com>
1075 [WHLSL] Implement tests to verify array indexing order matches our desires
1076 https://bugs.webkit.org/show_bug.cgi?id=189099
1078 Reviewed by Myles C. Maxfield.
1080 * WebGPUShadingLanguageRI/Test.js: Add new test for array indexing order
1081 and the option to explicitly disable tests (this test is disabled by
1083 * WebGPUShadingLanguageRI/TypeRef.js:
1084 (TypeRef.wrap): Fixes typo.
1086 2018-08-30 Sihui Liu <sihui_liu@apple.com>
1088 WKNavigation.ProcessCrashDuringCallback is failing on iOS
1089 https://bugs.webkit.org/show_bug.cgi?id=189148
1091 Reviewed by Chris Dumez.
1093 We should not deference WebView or we may get WKErrorWebViewInvalidated error, because
1094 WebView could be destroyed before Web Process termination is noticed.
1096 * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
1099 2018-08-30 Zalan Bujtas <zalan@apple.com>
1101 [LFC][Floating] Formatting context roots avoid floats.
1102 https://bugs.webkit.org/show_bug.cgi?id=189150
1104 Reviewed by Antti Koivisto.
1106 * LayoutReloaded/misc/LFC-passing-tests.txt:
1108 2018-08-30 Wenson Hsieh <wenson_hsieh@apple.com>
1110 [iOS] TestWebKitAPI.PasteImage tests are flaky failures
1111 https://bugs.webkit.org/show_bug.cgi?id=185965
1113 Reviewed by Andy Estes.
1115 These tests pass reliably when run locally, but sometimes fail in automation when checking that the image
1116 element with its "src" attribute set to a new blob URL has an empty size. It's possible that this is happening
1117 because we're checking the size of the image element prior to image load after setting the blob URL; we can fix
1118 this by waiting for the "load" event (which is also done in some of the other tests in this file).
1120 * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
1123 2018-08-30 Michael Catanzaro <mcatanzaro@igalia.com>
1125 Unreviewed, rolling out r235114.
1127 ostree server deleted our commits?
1131 "[Flatpak] Update to GNOME master runtime"
1132 https://bugs.webkit.org/show_bug.cgi?id=188731
1133 https://trac.webkit.org/changeset/235114
1135 2018-08-29 Myles C. Maxfield <mmaxfield@apple.com>
1137 [WHLSL] Test row-majorness of matrices
1138 https://bugs.webkit.org/show_bug.cgi?id=189101
1140 The matrix multiplication functions are temporarily commented out of the standard library,
1141 so I've temporarily copy/pasted them into the test. Matrix multiplication is not
1142 commutative, so it requires the right indexing order.
1144 Reviewed by Dean Jackson and Thomas Denney.
1146 * WebGPUShadingLanguageRI/Intrinsics.js:
1147 * WebGPUShadingLanguageRI/StandardLibrary.js:
1148 (let.standardLibrary):
1149 * WebGPUShadingLanguageRI/Test.js:
1151 2018-08-29 Jer Noble <jer.noble@apple.com>
1153 Unreviewed test gardening; NowPlayingTest API tests require High Sierra.
1155 * TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:
1157 2018-08-29 Youenn Fablet <youenn@apple.com>
1159 Remove WebRTC legacy API implementation
1160 https://bugs.webkit.org/show_bug.cgi?id=189040
1162 Reviewed by Eric Carlson.
1164 * DumpRenderTree/mac/DumpRenderTree.mm:
1165 (enableExperimentalFeatures):
1166 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1167 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1168 (WTR::TestRunner::setWebRTCLegacyAPIEnabled): Deleted.
1169 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1170 * WebKitTestRunner/TestController.cpp:
1171 (WTR::TestController::resetPreferencesToConsistentValues):
1173 2018-08-29 Daniel Bates <dabates@apple.com>
1175 lldb-webkit: KeyError thrown for OptionSet with invalid value
1176 https://bugs.webkit.org/show_bug.cgi?id=189070
1178 Reviewed by Simon Fraser.
1180 Do not compute what enumerators are in an OptionSet with an invalid value. A local OptionSet
1181 variable is only considered valid when execution passes over its assignment/constructor.
1183 The LLDB Python API does not provide a way to determine whether a variable has a valid
1184 value (SBValue.IsValid() does not seem to check if the actual bit pattern in memory for
1185 a variable represents a valid value). So, we use a simple heuristic: when the value of
1186 the OptionSet is greater than the value of the bitmask with all enumerators set then we
1187 consider the OptionSet to be invalid. When the variable obtains a valid value then LLDB
1188 will notify us to update our state.
1190 * lldb/lldb_webkit.py:
1191 (WTFOptionSetProvider.update):
1193 2018-08-29 Chris Dumez <cdumez@apple.com>
1195 [PSON] We should only process-swap when eTLD+1 changes on navigation
1196 https://bugs.webkit.org/show_bug.cgi?id=189090
1197 <rdar://problem/43799225>
1199 Reviewed by Geoffrey Garen.
1201 Update existing PSON API tests to use different registrable domains instead of different
1202 protocols, as we now only process-swap when the eTLD+1 (aka "registrable domain") changes.
1204 Add test coverage to make sure that we do not process swap when eTLD+1 does not change.
1206 * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1208 2018-08-29 Youenn Fablet <youenn@apple.com>
1210 Add a runtime flag for WebRTC unified plan
1211 https://bugs.webkit.org/show_bug.cgi?id=189068
1213 Reviewed by Eric Carlson.
1215 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1216 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1217 (WTR::TestRunner::setWebRTCUnifiedPlanEnabled):
1218 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1220 2018-08-29 Don Olmstead <don.olmstead@sony.com>
1222 [CMake] Split Tools/CMakeLists.txt into platform files
1223 https://bugs.webkit.org/show_bug.cgi?id=189093
1225 Reviewed by Michael Catanzaro.
1228 * PlatformGTK.cmake: Added.
1229 * PlatformMac.cmake: Added.
1230 * PlatformWPE.cmake: Added.
1231 * PlatformWin.cmake: Added.
1233 2018-08-29 Jer Noble <jer.noble@apple.com>
1235 Muted elements do not have their Now Playing status updated when unmuted.
1236 https://bugs.webkit.org/show_bug.cgi?id=189069
1238 Reviewed by Eric Carlson.
1240 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1241 * TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm: Added.
1242 (userInfoHasNowPlayingApplicationPID):
1243 (getNowPlayingClient):
1244 (getNowPlayingClientPid):
1245 (NowPlayingTest::webView):
1246 (NowPlayingTest::configuration):
1247 (NowPlayingTest::webViewPid):
1248 (NowPlayingTest::loadPage):
1249 (NowPlayingTest::runScriptWithUserGesture):
1250 (NowPlayingTest::runScriptWithoutUserGesture):
1251 (NowPlayingTest::executeAndWaitForPlaying):
1252 (NowPlayingTest::executeAndWaitForWebViewToBecomeNowPlaying):
1253 (NowPlayingTest::observers):
1254 (NowPlayingTest::addObserver):
1255 (NowPlayingTest::removeObserver):
1256 (NowPlayingTest::notificationCallback):
1257 (NowPlayingTest::receivedNotification):
1258 (NowPlayingTest::performAfterReceivingNotification):
1260 * TestWebKitAPI/Tests/WebKitCocoa/now-playing.html: Added.
1262 2018-08-29 Thomas Denney <tdenney@apple.com>
1264 [WHLSL] Ensure that isLValue is copied by the rewriter
1265 https://bugs.webkit.org/show_bug.cgi?id=189083
1267 The value of isLValue was not propagated when new TernaryExpressions are
1268 created in Rewriter.
1270 Reviewed by Myles C. Maxfield.
1272 * WebGPUShadingLanguageRI/Rewriter.js:
1273 (Rewriter.prototype.visitTernaryExpression):
1274 * WebGPUShadingLanguageRI/Test.js: Add new test to verify the value is
1277 2018-08-29 Myles C. Maxfield <mmaxfield@apple.com>
1279 [WHLSL] Add more functions to the standard library
1280 https://bugs.webkit.org/show_bug.cgi?id=188873
1282 Reviewed by Filip Pizlo.
1284 This patch adds the rest of the standard library to StandardLibrary.js, and updates the compiler to be able to compile it.
1286 There are a few major pieces:
1287 1. Swizzle operators are now implemented in the language, instead of as native functions
1288 2. Vector constructors are now implemented in the language, instead of as native functions
1289 3. The matrix type is implemented
1290 4. Vector operator&[] is illegal, and is removed from the compiler
1291 5. Vector index setters & index getters are now implemented in the language, instead of as native functions
1292 6. Vector and matrix equality operators are implemented in the language, instead of as native functions
1293 7. Casting a scalar to a boolean is implemented in the language, instead of as native functions
1294 8. Casting a vector to a boolean is not part of the language, and is removed from the compiler
1295 9. Half-precision floating point types are implemented
1297 * WebGPUShadingLanguageRI/All.js:
1298 * WebGPUShadingLanguageRI/BuiltinMatrixGetter.js: Copied from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.
1299 (BuiltinMatrixGetter):
1300 (BuiltinMatrixGetter.prototype.get height):
1301 (BuiltinMatrixGetter.prototype.get width):
1302 (BuiltinMatrixGetter.prototype.toString):
1303 (BuiltinMatrixGetter.functions):
1304 (BuiltinMatrixGetter.prototype.instantiateImplementation):
1305 * WebGPUShadingLanguageRI/BuiltinMatrixSetter.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.
1306 (BuiltinMatrixSetter):
1307 (BuiltinMatrixSetter.prototype.get height):
1308 (BuiltinMatrixSetter.prototype.get width):
1309 (BuiltinMatrixSetter.prototype.toString):
1310 (BuiltinMatrixSetter.functions):
1311 (BuiltinMatrixSetter.prototype.instantiateImplementation):
1312 * WebGPUShadingLanguageRI/BuiltinVectorConstructors.js: Removed.
1313 * WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Removed.
1314 * WebGPUShadingLanguageRI/BuiltinVectorGetter.js:
1315 (BuiltinVectorGetter.prototype.instantiateImplementation):
1316 (BuiltinVectorGetter):
1317 * WebGPUShadingLanguageRI/BuiltinVectorSetter.js:
1318 (BuiltinVectorSetter.functions):
1319 (BuiltinVectorSetter.prototype.instantiateImplementation):
1320 (BuiltinVectorSetter):
1321 * WebGPUShadingLanguageRI/CallExpression.js:
1322 (CallExpression.prototype.resolve):
1323 * WebGPUShadingLanguageRI/CheckTypesWithArguments.js:
1324 (checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
1325 (checkTypesWithArguments.TypeWithArgumentsChecker):
1326 (checkTypesWithArguments):
1327 * WebGPUShadingLanguageRI/Checker.js:
1328 (Checker.prototype.visitVectorType):
1329 (Checker.prototype.visitMatrixType):
1330 * WebGPUShadingLanguageRI/ConstexprFolder.js:
1331 (ConstexprFolder.prototype.visitCallExpression):
1333 * WebGPUShadingLanguageRI/Evaluator.js:
1334 (Evaluator.prototype.visitTernaryExpression):
1335 * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
1336 (FlattenedStructOffsetGatherer.prototype.visitMatrixType):
1337 (FlattenedStructOffsetGatherer):
1338 * WebGPUShadingLanguageRI/Intrinsics.js:
1341 * WebGPUShadingLanguageRI/MatrixType.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js.
1343 (MatrixType.prototype.get elementType):
1344 (MatrixType.prototype.get numRows):
1345 (MatrixType.prototype.get numColumns):
1346 (MatrixType.prototype.get numRowsValue):
1347 (MatrixType.prototype.get numColumnsValue):
1348 (MatrixType.prototype.get size):
1349 (MatrixType.prototype.unifyImpl):
1350 (MatrixType.prototype.populateDefaultValue):
1351 (MatrixType.prototype.toString):
1352 * WebGPUShadingLanguageRI/NameContext.js:
1353 (NameContext.prototype.add):
1354 * WebGPUShadingLanguageRI/NativeType.js:
1355 (NativeType.create):
1357 * WebGPUShadingLanguageRI/OperatorAnderIndexer.js: Renamed from Tools/WebGPUShadingLanguageRI/OperatorAnderIndex.js.
1358 (OperatorAnderIndexer):
1359 * WebGPUShadingLanguageRI/OperatorBool.js: Removed.
1360 * WebGPUShadingLanguageRI/Prepare.js:
1362 * WebGPUShadingLanguageRI/Program.js:
1363 (Program.prototype.add):
1364 * WebGPUShadingLanguageRI/Rewriter.js:
1365 (Rewriter.prototype.visitMatrixType):
1367 * WebGPUShadingLanguageRI/SPIRV.html:
1368 * WebGPUShadingLanguageRI/StandardLibrary.js:
1412 (float2x2.operator):
1413 (float2x3.operator):
1414 (float2x4.operator):
1415 (float3x2.operator):
1416 (float3x3.operator):
1417 (float3x4.operator):
1418 (float4x2.operator):
1419 (float4x3.operator):
1420 (float4x4.operator):
1424 (uint.operator.length):
1452 (allVectorTypeNames):
1453 * WebGPUShadingLanguageRI/SwizzleOp.js: Removed.
1454 * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js:
1455 (synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitMatrixType):
1456 (synthesizeDefaultConstructorOperator.FindAllTypes):
1457 (synthesizeDefaultConstructorOperator):
1458 * WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Removed.
1459 * WebGPUShadingLanguageRI/Test.html:
1460 * WebGPUShadingLanguageRI/Test.js:
1463 * WebGPUShadingLanguageRI/Visitor.js:
1464 (Visitor.prototype.visitMatrixType):
1466 * WebGPUShadingLanguageRI/index.html:
1468 2018-08-29 Simon Fraser <simon.fraser@apple.com>
1470 Teach webkitpy how to check leaks and treat leaks as test failures
1471 https://bugs.webkit.org/show_bug.cgi?id=189067
1473 Reviewed by Darin Adler.
1475 Add a new "--world-leaks" argument to run-webkit-tests. When enabled, DRT/WTR are launched
1476 with a --world-leaks argument (which is renamed in this patch for consistency). This enables the
1477 behavior added in r235408, namely that they check for leaked documents after each test, and at
1478 the end of one (if --run-singly) or a set of tests run in a single DRT/WTR instance handle the
1479 "#CHECK FOR WORLD LEAKS" command to get still-live documents.
1481 LayoutTestRunner in webkitpy now has the notion of doing "post-tests work", called via _finished_test_group(),
1482 and here it sends the "#CHECK FOR WORLD LEAKS" command to the runner and parses the resulting output block.
1483 If this results block includes leaks, we convert an existing TestResult into a LEAK failure
1484 in TestRunResults.change_result_to_failure(). Leaks are then added to the ouput JSON for display in results.html
1486 Unit tests are updated with some leak examples.
1488 * DumpRenderTree/mac/DumpRenderTree.mm:
1489 (initializeGlobalsFromCommandLineOptions):
1490 * Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
1491 (ParsedJSONResultsTest):
1492 * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1493 (LayoutTestRunner._annotate_results_with_additional_failures):
1494 (LayoutTestRunner._handle_finished_test_group):
1497 (Worker._do_post_tests_work):
1498 (Worker._finished_test_group):
1499 (Worker._run_test_in_another_thread):
1500 * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
1501 (JSONLayoutResultsGenerator):
1502 * Scripts/webkitpy/layout_tests/models/test_expectations.py:
1503 (TestExpectationParser):
1505 * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
1506 (Base.get_basic_tests):
1507 * Scripts/webkitpy/layout_tests/models/test_failures.py:
1508 (determine_result_type):
1510 (FailureLeak.__init__):
1511 (FailureLeak.message):
1512 (FailureDocumentLeak):
1513 (FailureDocumentLeak.__init__):
1514 (FailureDocumentLeak.message):
1515 * Scripts/webkitpy/layout_tests/models/test_results.py:
1516 (TestResult.convert_to_failure):
1517 * Scripts/webkitpy/layout_tests/models/test_run_results.py:
1518 (TestRunResults.change_result_to_failure):
1519 (_interpret_test_failures):
1520 (summarize_results):
1521 * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
1524 (summarized_results):
1525 * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1527 * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
1529 (RunTest.test_check_for_world_leaks):
1530 * Scripts/webkitpy/port/driver.py:
1531 (DriverPostTestOutput):
1532 (DriverPostTestOutput.__init__):
1533 (Driver.do_post_tests_work):
1534 (Driver._parse_world_leaks_output):
1536 (DriverProxy.do_post_tests_work):
1537 * Scripts/webkitpy/port/test.py:
1539 * WebKitTestRunner/Options.cpp:
1540 (WTR::OptionsHandler::OptionsHandler):
1541 * WebKitTestRunner/TestController.cpp:
1542 (WTR::TestController::checkForWorldLeaks):
1544 2018-08-29 David Kilzer <ddkilzer@apple.com>
1546 Remove empty directories from from svn.webkit.org repository
1547 <https://webkit.org/b/189081>
1549 * DumpRenderTree/TestNetscapePlugIn/unix: Removed.
1550 * WebKitTestRunner/UIScriptContext: Removed.
1552 2018-08-29 Pablo Saavedra <psaavedra@igalia.com>
1554 [GTK][WPE] Add JSCOnly Release bot for Linux ARMv7 Thumb2 SoftFP
1555 https://bugs.webkit.org/show_bug.cgi?id=189077
1557 Reviewed by Michael Catanzaro.
1559 Deployed new bot for WPE Release in Linux ARMv7 Thumb2 SoftFP
1560 This bot (jsconly-linux-igalia-bot-5) will run the 'JSCOnly
1561 Linux ARMv7 Thumb2 SoftFP Release' buildjob.
1563 * BuildSlaveSupport/build.webkit.org-config/config.json:
1564 * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
1566 2018-08-28 Daniel Bates <dabates@apple.com>
1568 lldb-webkit: KeyError thrown for OptionSet
1569 https://bugs.webkit.org/show_bug.cgi?id=189062
1571 Reviewed by Simon Fraser.
1573 For some reason lldb(1) may not retrieve the enumerator names for an enum value
1574 when it calls update() on the synthetic children provider. If this occurs then
1575 bail out as we cannot compute what enumerators are in the set.
1577 * lldb/lldb_webkit.py:
1578 (WTFOptionSetProvider.update):
1580 2018-08-28 Sihui Liu <sihui_liu@apple.com>
1582 Add error information to help debug test failure in WKNavigation.ProcessCrashDuringCallback
1583 https://bugs.webkit.org/show_bug.cgi?id=189037
1585 Reviewed by Chris Dumez.
1587 * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
1590 2018-08-28 David Kilzer <ddkilzer@apple.com>
1592 Fix incorrect use of `sourceTree = "<group>";` for built products and frameworks in Xcode projects
1594 Found by tidy-Xcode-project-file script (see Bug 188754).
1596 * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
1597 (IOKit.framework): Use `sourceTree = "<absolute>";` to match
1598 other frameworks in the project.
1599 * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
1600 (WebKit.framework): Use `sourceTree = BUILT_PRODUCTS_DIR;` for
1601 built product instead of relative build directory path.
1602 * jsc-cli/jsc-cli.xcodeproj/project.pbxproj:
1603 (JavaScriptCore.framework): Ditto.
1604 * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
1605 (libWTF.a): Use `sourceTree = BUILT_PRODUCTS_DIR;` for built
1608 2018-08-28 Alex Christensen <achristensen@webkit.org>
1610 Fix 32-bit Mac build.
1612 * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
1614 2018-08-28 Alex Christensen <achristensen@webkit.org>
1616 REGRESSION (r235391): [iOS] TestWebKitAPI.WebKit.RestoreSessionStateWithoutNavigation is timing out
1617 https://bugs.webkit.org/show_bug.cgi?id=189050
1619 Reviewed by Tim Horton.
1621 * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
1622 This test wasn't run on iOS before. Let's re-introduce the WK_HAVE_C_SPI guard.
1624 2018-08-28 Wenson Hsieh <wenson_hsieh@apple.com>
1626 [iOS] WKAttachmentTests.DropFolderAsAttachmentAndMoveByDragging encounters an exception on iOS simulator
1627 https://bugs.webkit.org/show_bug.cgi?id=189049
1629 Reviewed by Tim Horton.
1631 Wrap an NSURL in a RetainPtr to prevent it from being freed prematurely. It seems this broke when I changed the
1632 load handler from an Objective-C block that captured `folderURL` to a C++ lambda that didn't retain `folderURL`.
1634 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1635 (simulateFolderDragWithURL):
1637 2018-08-27 Wenson Hsieh <wenson_hsieh@apple.com>
1639 [Attachment Support] Remove WebCore::AttachmentDisplayOptions and friends
1640 https://bugs.webkit.org/show_bug.cgi?id=189004
1642 Reviewed by Dan Bernstein.
1644 Move off of deprecated attachment insertion SPI.
1646 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1647 (-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
1648 (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
1649 (-[_WKAttachment synchronouslySetDisplayOptions:error:]): Deleted.
1651 2018-08-27 Simon Fraser <simon.fraser@apple.com>
1653 Teach WebKitTestRunner and DumpRenderTree about detecting world leaks
1654 https://bugs.webkit.org/show_bug.cgi?id=188994
1656 Reviewed by Tim Horton.
1658 This patch adds the notion of a "control command" in the protocol between webkitpy and
1659 WebKitTestRunner/DumpRenderTree. A command is simply an input string starting with a #
1660 that is checked for before trying to parse the input as test URL. For now, just one
1661 commmand is supported, which is "#CHECK FOR WORLD LEAKS".
1663 In response to the command, the tool dumps an output block in the usual pseudo-MIME-style,
1664 with a trailing "#EOF". Future patches will add support to webkitpy to parse this output.
1666 DumpRenderTree stubs out the command, returning an empty block.
1668 WebKitTestRunner responds to the command by dumping the list of live documents, if it was
1669 run with the --check-for-world-leaks option.
1671 When run with --check-for-world-leaks, WebKitTestRunner gets the list of live documents via
1672 WKBundleGetLiveDocumentURLs() after every test (this allows it to detect the first test
1673 that leaked a document), and keeps them in a map of document identifier to test and live document URL.
1674 Then when it receives the "#CHECK FOR WORLD LEAKS" command, it calls into the bundle to
1675 clear the page and memory caches, runs a GC, then posts a task (in the Document::postTaks() sense)
1676 after which it requests the list of live documents for a final time, excluding any that are loaded
1677 in live Frames (thus omitting the about:blank that will be loaded at this point). Documents in this
1678 list are therefore leaked (or abandoned).
1680 Future patches will hook up webkitpy reporting for leaked documents.
1682 * DumpRenderTree/mac/DumpRenderTree.mm:
1683 (initializeGlobalsFromCommandLineOptions):
1684 (handleControlCommand):
1685 (runTestingServerLoop):
1686 * DumpRenderTree/win/DumpRenderTree.cpp:
1687 (handleControlCommand):
1689 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1691 (WTR::InjectedBundle::reportLiveDocuments):
1692 (WTR::InjectedBundle::didReceiveMessageToPage):
1693 * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
1694 * WebKitTestRunner/Options.cpp:
1695 (WTR::handleOptionCheckForWorldLeaks):
1696 (WTR::OptionsHandler::OptionsHandler):
1697 * WebKitTestRunner/Options.h:
1698 * WebKitTestRunner/TestController.cpp:
1699 (WTR::AsyncTask::run):
1700 (WTR::AsyncTask::currentTask):
1701 (WTR::TestController::initialize):
1702 (WTR::TestController::ensureViewSupportsOptionsForTest):
1703 (WTR::TestController::resetStateToConsistentValues):
1704 (WTR::TestController::updateLiveDocumentsAfterTest):
1705 (WTR::TestController::checkForWorldLeaks):
1706 (WTR::TestController::findAndDumpWorldLeaks):
1707 (WTR::TestController::willDestroyWebView):
1708 (WTR::parseInputLine):
1709 (WTR::TestController::waitForCompletion):
1710 (WTR::TestController::handleControlCommand):
1711 (WTR::TestController::runTestingServerLoop):
1712 (WTR::TestController::run):
1713 (WTR::TestController::didReceiveLiveDocumentsList):
1714 (WTR::TestController::didReceiveMessageFromInjectedBundle):
1715 * WebKitTestRunner/TestController.h:
1716 (WTR::AsyncTask::AsyncTask):
1717 (WTR::AsyncTask::taskComplete):
1718 (WTR::TestController::AbandonedDocumentInfo::AbandonedDocumentInfo):
1719 * WebKitTestRunner/TestInvocation.cpp:
1720 (WTR::TestInvocation::invoke):
1721 * WebKitTestRunner/TestOptions.h:
1722 (WTR::TestOptions::hasSameInitializationOptions const):
1724 2018-08-27 Alex Christensen <achristensen@webkit.org>
1726 Fix API test after r235398
1727 https://bugs.webkit.org/show_bug.cgi?id=188997
1729 * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
1730 (TestWebKitAPI::setPageLoaderClient):
1731 (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
1732 willGoToBackForwardListItem is unused and unsupported. Removing its check.
1734 2018-08-27 Daniel Bates <dabates@apple.com>
1736 Partial revert of r235376
1737 https://bugs.webkit.org/show_bug.cgi?id=189011
1739 For now revert the unit tests added in r235376 as the following tests are failing on Apple Sierra
1740 Debug and Apple High Sierra Debug bots:
1742 lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSetProvider_simple
1743 lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple
1745 Will investigate offline.
1747 * lldb/lldbWebKitTester/main.cpp:
1748 (testSummaryProviders):
1749 * lldb/lldb_webkit_unittest.py:
1750 (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
1751 (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty): Deleted.
1752 (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple): Deleted.
1753 (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty): Deleted.
1754 (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple): Deleted.
1756 2018-08-27 Aditya Keerthi <akeerthi@apple.com>
1758 Consolidate ENABLE_INPUT_TYPE_COLOR and ENABLE_INPUT_TYPE_COLOR_POPOVER
1759 https://bugs.webkit.org/show_bug.cgi?id=188931
1761 Reviewed by Wenson Hsieh.
1763 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER.
1765 2018-08-27 Justin Fan <justin_fan@apple.com>
1767 Add Justin Fan to list of WebKit contributors
1768 https://bugs.webkit.org/show_bug.cgi?id=184431
1770 * Scripts/webkitpy/common/config/contributors.json:
1772 2018-08-27 Simon Fraser <simon.fraser@apple.com>
1774 Convert timeout values in WebKitTestRunner to WTF::Seconds
1775 https://bugs.webkit.org/show_bug.cgi?id=188987
1777 Reviewed by Ryosuke Niwa.
1779 Replace various 'int' timeout values with WTF::Seconds. The timeout argument
1780 comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
1781 using integers, convert to and from milliseconds.
1783 Also do some #pragma once, and initializer cleanup.
1785 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1786 (WTR::InjectedBundle::didReceiveMessageToPage):
1787 (WTR::InjectedBundle::beginTesting):
1788 (WTR::InjectedBundle::InjectedBundle): Deleted.
1789 * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
1790 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1791 (WTR::TestRunner::timeout):
1792 (WTR::TestRunner::setCustomTimeout):
1793 * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
1794 (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1795 * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
1796 (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
1797 (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1798 * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
1799 (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1800 * WebKitTestRunner/TestController.cpp:
1801 (WTR::TestController::TestController):
1802 (WTR::parseInputLine):
1803 (WTR::TestController::runTest):
1804 (WTR::TestController::runUntil):
1805 (WTR::TestController::didReceiveMessageFromInjectedBundle):
1806 * WebKitTestRunner/TestController.h:
1807 * WebKitTestRunner/TestInvocation.cpp:
1808 (WTR::TestInvocation::shortTimeout const):
1809 (WTR::TestInvocation::createTestSettingsDictionary):
1810 * WebKitTestRunner/TestInvocation.h:
1811 * WebKitTestRunner/TestOptions.h:
1812 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1813 (WTR::TestController::platformRunUntil):
1814 * WebKitTestRunner/gtk/TestControllerGtk.cpp:
1815 (WTR::TestController::platformRunUntil):
1816 * WebKitTestRunner/wpe/TestControllerWPE.cpp:
1817 (WTR::TestController::platformRunUntil):
1819 2018-08-27 Simon Fraser <simon.fraser@apple.com>
1821 Convert timeout values in WebKitTestRunner to WTF::Seconds
1822 https://bugs.webkit.org/show_bug.cgi?id=188987
1824 Reviewed by Ryosuke Niwa.
1826 Replace various 'int' timeout values with WTF::Seconds. The timeout argument
1827 comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
1828 using integers, convert to and from milliseconds.
1830 Also do some #pragma once, and initializer cleanup.
1832 * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1833 (WTR::InjectedBundle::didReceiveMessageToPage):
1834 (WTR::InjectedBundle::beginTesting):
1835 (WTR::InjectedBundle::InjectedBundle): Deleted.
1836 * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
1837 * WebKitTestRunner/InjectedBundle/TestRunner.h:
1838 (WTR::TestRunner::timeout):
1839 (WTR::TestRunner::setCustomTimeout):
1840 * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
1841 (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1842 * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
1843 (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
1844 (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1845 * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
1846 (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
1847 * WebKitTestRunner/TestController.cpp:
1848 (WTR::TestController::TestController):
1849 (WTR::parseInputLine):
1850 (WTR::TestController::runTest):
1851 (WTR::TestController::runUntil):
1852 (WTR::TestController::didReceiveMessageFromInjectedBundle):
1853 * WebKitTestRunner/TestController.h:
1854 * WebKitTestRunner/TestInvocation.cpp:
1855 (WTR::TestInvocation::shortTimeout const):
1856 (WTR::TestInvocation::createTestSettingsDictionary):
1857 * WebKitTestRunner/TestInvocation.h:
1858 * WebKitTestRunner/TestOptions.h:
1859 * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1860 (WTR::TestController::platformRunUntil):
1861 * WebKitTestRunner/gtk/TestControllerGtk.cpp:
1862 (WTR::TestController::platformRunUntil):
1863 * WebKitTestRunner/wpe/TestControllerWPE.cpp:
1864 (WTR::TestController::platformRunUntil):
1866 2018-08-27 Alex Christensen <achristensen@webkit.org>
1868 REGRESSION(r234985/r234989) WKPageLoadHTMLString with a 16-bit String has the wrong encoding
1869 https://bugs.webkit.org/show_bug.cgi?id=189002
1871 Reviewed by Tim Horton.
1873 * TestWebKitAPI/Tests/WebKit/WillLoad.cpp:
1874 (TestWebKitAPI::TEST_F):
1876 2018-08-27 Wenson Hsieh <wenson_hsieh@apple.com>
1878 [Cocoa] Exception (fileType 'dyn.agq8u' is not a valid UTI) raised when dragging an attachment whose file wrapper is a directory
1879 https://bugs.webkit.org/show_bug.cgi?id=188903
1880 <rdar://problem/43702993>
1882 Reviewed by Tim Horton.
1884 Add two API tests and adjust existing WKAttachment API tests. The new tests exercise the following scenarios, in
1886 • Dropping a folder as an attachment element, and then moving that attachment element in the document by
1887 dragging and dropping.
1888 • Using WKWebView SPI to insert a folder and a file with an unknown extension, and then using more
1889 _WKAttachment SPI to swap the attachments' backing file wrappers.
1891 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1892 (runTestWithTemporaryFolder):
1894 Add a helper function to run a test with a new folder path, created in the temporary directory and populated
1895 with some sample content. This folder is deleted after running the test.
1897 (simulateFolderDragWithURL):
1899 Add a helper function to prepare a given DragAndDropSimulator for simulating a dragged folder from a source
1900 external to the web view.
1902 (platformCopyRichTextWithMultipleAttachments):
1903 (platformCopyRichTextWithImage):
1905 (TestWebKitAPI::TEST):
1907 Add new API tests, and adjust existing tests to reflect new -setFileWrapper:…: behavior. Specifically,
1908 ChangeAttachmentDataAndFileInformation previously required that changing a _WKAttachment's NSFileWrapper would
1909 preserve the previous NSFileWrapper's preferred name if the new file wrapper does not have a preferred name, but
1910 this quirk is no longer supported.
1912 Also add a few bridging casts for the eventual transition of TestWebKitAPI to ARC.
1914 * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
1916 Add a new hook to clear any external drag information on an existing DragAndDropSimulator. This is convenient
1917 when using the same DragAndDropSimulator to perform multiple drags in a single test.
1919 * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
1920 (-[DragAndDropSimulator clearExternalDragInformation]):
1921 * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
1922 (-[DragAndDropSimulator clearExternalDragInformation]):
1924 2018-08-27 Alex Christensen <achristensen@webkit.org>
1926 Translate 4 tests using WKPageLoaderClient to ObjC
1927 https://bugs.webkit.org/show_bug.cgi?id=188827
1929 Reviewed by Tim Horton.
1931 They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
1932 Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
1933 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
1934 bundle functionality any more.
1936 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1937 * TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
1938 * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
1939 * TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
1940 * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
1941 * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
1942 * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
1943 (-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
1944 (-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
1945 (TestWebKitAPI::TEST):
1947 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1948 (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
1949 (TestWebKitAPI::setPageLoaderClient): Deleted.
1950 * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
1951 (-[ResponsivenessDelegate webView:didFinishNavigation:]):
1952 (-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
1953 (TestWebKitAPI::TEST):
1954 (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
1955 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1956 (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
1957 (TestWebKitAPI::setInjectedBundleClient): Deleted.
1958 (TestWebKitAPI::setPageLoaderClient): Deleted.
1959 * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
1960 (-[SessionStateDelegate webView:didFinishNavigation:]):
1961 (-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
1962 (TestWebKitAPI::createSessionStateData):
1963 (TestWebKitAPI::TEST):
1964 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1965 (TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
1966 (TestWebKitAPI::setPageLoaderClient): Deleted.
1967 * TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
1968 (-[BackForwardClient webView:didFinishNavigation:]):
1969 (-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
1970 (TestWebKitAPI::TEST):
1971 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1972 (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
1973 (TestWebKitAPI::setPageLoaderClient): Deleted.
1975 2018-08-27 Wenson Hsieh <wenson_hsieh@apple.com>
1977 [Cocoa] "video.html" appears at the top level of the TestWebKitAPI Xcode project
1978 https://bugs.webkit.org/show_bug.cgi?id=188989
1980 Reviewed by Andy Estes.
1982 Move this into the Tests/WebKit/Resources group in the project.
1984 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1986 2018-08-27 Thomas Denney <tdenney@apple.com>
1988 Avoid an exception in the interactive interpreter
1989 https://bugs.webkit.org/show_bug.cgi?id=188991
1991 Reviewed by Myles C. Maxfield.
1993 * WebGPUShadingLanguageRI/index.html: Corrects a typo in the name of a
1996 2018-08-27 Thomas Denney <tdenney@apple.com>
1998 Allow new vector types to work with the interactive interpreter
1999 https://bugs.webkit.org/show_bug.cgi?id=188988
2001 Reviewed by Myles C. Maxfield.
2003 * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
2004 (FlattenedStructOffsetGatherer.prototype.visitTypeRef): Do not
2005 unncessarily visit the type arguments of a TypeRef, as by this point
2006 there are none that are relevant.
2007 * WebGPUShadingLanguageRI/Intrinsics.js:
2008 (Intrinsics): Treat VectorType as a primitive type.
2010 2018-08-27 Keith Rollin <krollin@apple.com>
2012 Build system support for LTO
2013 https://bugs.webkit.org/show_bug.cgi?id=187785
2014 <rdar://problem/42353132>
2016 Reviewed by Dan Bernstein.
2018 Add tools/scripts support for controlling LTO builds.
2020 * Scripts/build-webkit: Add --lto-mode={none,thin,full}.
2021 * Scripts/set-webkit-configuration: Add support for saving LTO
2022 configuration to WebKitBuild/LTO.
2023 * Scripts/webkitdirs.pm: Add support for reading configuration from
2024 WebKitBuild/LTO and providing it to xcodebuild.
2029 2018-08-27 Daniel Bates <dabates@apple.com>
2031 lldb-webkit: Pretty-print OptionSet
2032 https://bugs.webkit.org/show_bug.cgi?id=188936
2034 Reviewed by Simon Fraser.
2036 Add LLDB formatters to pretty-print an OptionSet.
2038 * lldb/lldbWebKitTester/main.cpp:
2039 (testSummaryProviders):
2040 * lldb/lldb_webkit.py:
2041 (__lldb_init_module):
2042 (__lldb_init_module.lldb_webkit):
2043 (WTFOptionSet_SummaryProvider):
2044 (WTFOptionSetProvider):
2045 (WTFOptionSetProvider.__init__):
2046 (WTFOptionSetProvider.has_children):
2047 (WTFOptionSetProvider.num_children):
2048 (WTFOptionSetProvider.get_child_index):
2049 (WTFOptionSetProvider.get_child_at_index):
2050 (WTFOptionSetProvider.update):
2051 * lldb/lldb_webkit_unittest.py:
2052 (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
2053 (TestSummaryProviders):
2054 (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty):
2055 (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple):
2056 (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty):
2057 (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple):
2059 2018-08-27 Wenson Hsieh <wenson_hsieh@apple.com>
2061 [Attachment Support] [WK2] Images copied from Mail message view paste with the wrong file name in compose
2062 https://bugs.webkit.org/show_bug.cgi?id=188957
2063 <rdar://problem/43737715>
2065 Reviewed by Darin Adler.
2067 Add a new API test to verify that pasting a web archive containing several image elements with alt attributes
2068 generates _WKAttachments whose names reflect those alt attributes.
2070 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2073 (TestWebKitAPI::TEST):
2075 2018-08-27 Alex Christensen <achristensen@webkit.org>
2077 Unreviewed, rolling out r235367.
2083 "Translate 4 tests using WKPageLoaderClient to ObjC"
2084 https://bugs.webkit.org/show_bug.cgi?id=188827
2085 https://trac.webkit.org/changeset/235367
2087 2018-08-27 Alex Christensen <achristensen@webkit.org>
2091 * TestWebKitAPI/CMakeLists.txt:
2093 2018-08-27 Alex Christensen <achristensen@webkit.org>
2097 * TestWebKitAPI/PlatformWebView.h:
2099 2018-08-27 Alex Christensen <achristensen@webkit.org>
2101 Translate 4 tests using WKPageLoaderClient to ObjC
2102 https://bugs.webkit.org/show_bug.cgi?id=188827
2104 Reviewed by Tim Horton.
2106 They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
2107 Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
2108 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
2109 bundle functionality any more.
2111 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2112 * TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
2113 * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
2114 * TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
2115 * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
2116 * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
2117 * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
2118 (-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
2119 (-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2120 (TestWebKitAPI::TEST):
2122 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2123 (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2124 (TestWebKitAPI::setPageLoaderClient): Deleted.
2125 * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
2126 (-[ResponsivenessDelegate webView:didFinishNavigation:]):
2127 (-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2128 (TestWebKitAPI::TEST):
2129 (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
2130 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2131 (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2132 (TestWebKitAPI::setInjectedBundleClient): Deleted.
2133 (TestWebKitAPI::setPageLoaderClient): Deleted.
2134 * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
2135 (-[SessionStateDelegate webView:didFinishNavigation:]):
2136 (-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
2137 (TestWebKitAPI::createSessionStateData):
2138 (TestWebKitAPI::TEST):
2139 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2140 (TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
2141 (TestWebKitAPI::setPageLoaderClient): Deleted.
2142 * TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
2143 (-[BackForwardClient webView:didFinishNavigation:]):
2144 (-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
2145 (TestWebKitAPI::TEST):
2146 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2147 (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
2148 (TestWebKitAPI::setPageLoaderClient): Deleted.
2150 2018-08-27 Keith Miller <keith_miller@apple.com>
2152 test262-runner -s --test-only should replace test results
2153 https://bugs.webkit.org/show_bug.cgi?id=188450
2155 Reviewed by Michael Saboff.
2157 * Scripts/test262/Runner.pm:
2159 (SetFailureForTest):
2162 2018-08-26 Sam Weinig <sam@webkit.org>
2164 Using _WKRemoteObjectInterface with a protocol that inherits from a non-NSObject protocol crashes
2165 https://bugs.webkit.org/show_bug.cgi?id=188958
2167 Reviewed by Anders Carlsson.
2169 * TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
2170 Update test protocol to have inheritance.
2172 2018-08-26 Wenson Hsieh <wenson_hsieh@apple.com>
2174 [Attachment Support] Dropping and pasting images should insert inline image elements with _WKAttachments
2175 https://bugs.webkit.org/show_bug.cgi?id=188933
2176 <rdar://problem/43699724>
2178 Reviewed by Darin Adler.
2180 Rebaseline existing API tests that involve dropping or pasting image files, and additionally write some new
2181 tests. These new tests exercise the following cases:
2182 • Inserting and removing newlines before an inline image with an attachment element does not cause new
2183 _WKAttachments to be created and destroyed.
2184 • Pasting an image, cutting it, and then pasting it again propagates an attachment update to the UI
2185 process with the original _WKAttachment.
2186 • A pasted attachment in the document can be moved around by dragging, and doing so does not cause us to
2187 lose a _WKAttachment.
2189 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2190 (-[TestWKWebView expectElementCount:tagName:]):
2191 (TestWebKitAPI::TEST):
2193 Add the new tests described above, and also adjust existing tests to check that images are dropped or pasted
2194 as image elements, but still have associated attachment elements whose attachment identifiers (observed via
2195 script) match that of the corresponding _WKAttachment's uniqueIdentifier in the UI process.
2197 * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2198 (-[DragAndDropSimulator runFrom:to:]):
2199 (-[DragAndDropSimulator continueDragSession]):
2200 (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
2202 Teach DragAndDropSimulator on macOS to wait until the drop has been handled by the web process before returning
2203 execution to the caller. This ensures that tests which involve dropping promised files as attachments aren't
2204 flaky, due to how the promised data is retrieved asynchronously when performing the drop.
2206 (-[DragAndDropSimulator _webView:didPerformDragOperation:]):
2208 2018-08-26 Lucas Forschler <lforschler@apple.com>
2210 Open svn.webkit.org for commits.
2212 2018-08-24 Myles C. Maxfield <mmaxfield@apple.com>
2214 Unreviewed test fix after r235249
2215 https://bugs.webkit.org/show_bug.cgi?id=178981
2217 * WebGPUShadingLanguageRI/Test.js:
2219 2018-08-24 Alex Christensen <achristensen@webkit.org>
2221 Introduce _WKInspector
2222 https://bugs.webkit.org/show_bug.cgi?id=188923
2223 <rdar://problem/34657861>
2225 Reviewed by Brian Burg.
2227 * MiniBrowser/mac/WK2BrowserWindowController.m:
2228 (-[WK2BrowserWindowController validateMenuItem:]):
2229 (-[WK2BrowserWindowController showHideWebInspector:]):
2231 2018-08-24 Jonathan Bedard <jbedard@apple.com>
2233 Fix handling of iOS minor versions in default_baseline_search_path
2234 https://bugs.webkit.org/show_bug.cgi?id=188902
2236 Reviewed by Aakash Jain.
2238 * Scripts/webkitpy/port/ios.py:
2239 (IOSPort.default_baseline_search_path): When the major version matches the major version of the CURRENT_VERSION, treat
2240 it as a the CURRENT_VERSION.
2242 2018-08-24 Antti Koivisto <antti@apple.com>
2244 Allow creating WeakPtrs to const objects
2245 https://bugs.webkit.org/show_bug.cgi?id=188785
2247 Reviewed by Geoff Garen.
2249 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
2250 (TestWebKitAPI::Base::weakPtrFactory const):
2251 (TestWebKitAPI::TEST):
2252 (TestWebKitAPI::Base::weakPtrFactory): Deleted.
2254 2018-08-23 Carlos Garcia Campos <cgarcia@igalia.com>
2256 [GTK][WPE] Add API to inject/register user content in isolated worlds
2257 https://bugs.webkit.org/show_bug.cgi?id=188883
2259 Reviewed by Michael Catanzaro.
2261 Add test cases for the new API.
2263 * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
2264 (isStyleSheetInjectedForURLAtPath):
2265 (isScriptInjectedForURLAtPath):
2266 (testUserContentManagerInjectedStyleSheet):
2267 (testUserContentManagerInjectedScript):
2268 (UserScriptMessageTest::registerHandler):
2269 (UserScriptMessageTest::unregisterHandler):
2270 (UserScriptMessageTest::postMessageAndWaitUntilReceived):
2271 (testUserContentManagerScriptMessageInWorldReceived):
2274 2018-08-23 Simon Fraser <simon.fraser@apple.com>
2276 Add support for dumping GC heap snapshots, and a viewer
2277 https://bugs.webkit.org/show_bug.cgi?id=186416
2279 Reviewed by Joseph Pecoraro.
2281 Add a viewer for GC heap snapshots. A snapshot JSON file can be dragged into this
2282 page for inspection (or set via the 'filename' URL parameter).
2284 For now, this page shows all objects, all roots, and the shortest path from a root
2285 to all HTMLDocuments and Windows.
2287 * GCHeapInspector/gc-heap-inspector.html: Added.
2288 * GCHeapInspector/heap-analysis/HeapSnapshot.js: Copied from Source/WebInspectorUI/UserInterface/Workers/HeapSnapshot/HeapSnapshot.js.
2289 * GCHeapInspector/script/interface.js: Added.
2291 2018-08-23 Alex Christensen <achristensen@webkit.org>
2293 Add new _webViewRequestPointerLock SPI with a completionHandler
2294 https://bugs.webkit.org/show_bug.cgi?id=188907
2295 <rdar://problem/35871109>
2297 Reviewed by Andy Estes.
2299 * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2300 (-[PointerLockDelegate _webViewRequestPointerLock:completionHandler:]):
2301 (-[PointerLockDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2304 2018-08-23 David Fenton <david_fenton@apple.com>
2306 Unreviewed, rolling out r235129.
2308 broke internal builds
2312 "Allow creating WeakPtrs to const objects"
2313 https://bugs.webkit.org/show_bug.cgi?id=188785
2314 https://trac.webkit.org/changeset/235129
2316 2018-08-23 Jonathan Bedard <jbedard@apple.com>
2318 API tests should output json results
2319 https://bugs.webkit.org/show_bug.cgi?id=188869
2320 <rdar://problem/43615652>
2322 Reviewed by Aakash Jain.
2324 JSON output for API tests is of the form:
2326 "Failed": [{"name": <test name>, "output": <test log>}],
2331 Tests which are successful are not displayed in the json output.
2333 * Scripts/webkitpy/api_tests/manager.py:
2334 (Manager.run): Print test results to provided file as a json dictionary.
2335 * Scripts/webkitpy/api_tests/run_api_tests.py:
2336 (run): Pass json option.
2337 (parse_args): Add --json-output flag.
2339 2018-08-23 Andy Estes <aestes@apple.com>
2341 [Apple Pay] Introduce Apple Pay JS v4 on iOS 12 and macOS Mojave
2342 https://bugs.webkit.org/show_bug.cgi?id=188829
2344 Reviewed by Tim Horton.
2346 * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2348 2018-08-23 Myles C. Maxfield <mmaxfield@apple.com>
2350 [WSL] Ternary expressions appear to be unimplemented
2351 https://bugs.webkit.org/show_bug.cgi?id=178981
2353 Reviewed by Saam Barati.
2355 Implement ternary statements. These can be both lvalues and rvalues. (a ? b : c ? d : e)
2356 is parsed as (a ? b : (c ? d : e)).
2358 * WebGPUShadingLanguageRI/All.js:
2359 * WebGPUShadingLanguageRI/Checker.js:
2360 (Checker.prototype.visitTernaryExpression):
2361 * WebGPUShadingLanguageRI/Evaluator.js:
2362 (Evaluator.prototype.visitTernaryExpression):
2363 * WebGPUShadingLanguageRI/NormalUsePropertyResolver.js:
2364 (NormalUsePropertyResolver.prototype.visitTernaryExpression):
2365 (NormalUsePropertyResolver):
2366 * WebGPUShadingLanguageRI/Parse.js:
2367 (parsePossibleTernaryConditional):
2368 * WebGPUShadingLanguageRI/PropertyResolver.js:
2369 (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitTernaryExpression):
2370 (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
2371 (PropertyResolver.prototype._visitRValuesWithinLValue):
2372 * WebGPUShadingLanguageRI/Rewriter.js:
2373 (Rewriter.prototype.visitTernaryExpression):
2374 * WebGPUShadingLanguageRI/SPIRV.html:
2375 * WebGPUShadingLanguageRI/Test.html:
2376 * WebGPUShadingLanguageRI/Test.js:
2377 * WebGPUShadingLanguageRI/Visitor.js:
2378 (Visitor.prototype.visitProtocolDecl):
2379 * WebGPUShadingLanguageRI/index.html:
2381 2018-08-22 Ryosuke Niwa <rniwa@webkit.org>
2383 Assert in NetworkBlobRegistry::unregisterBlobURL after network process had terminated
2384 https://bugs.webkit.org/show_bug.cgi?id=188880
2386 Reviewed by Saam Barati.
2388 Fixed the bug that testRunner's terminateNetworkProcess, terminateServiceWorkerProcess, and terminateStorageProcess
2389 were asynchronously terminating respective processes. Do so synchronously so that we can deterministically
2390 test WebKit's behavior in layout tests.
2392 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2393 (WTR::TestRunner::terminateNetworkProcess):
2394 (WTR::TestRunner::terminateServiceWorkerProcess):
2395 (WTR::TestRunner::terminateStorageProcess):
2396 * WebKitTestRunner/TestInvocation.cpp:
2397 (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2398 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2400 2018-08-23 Myles C. Maxfield <mmaxfield@apple.com>
2402 [WHLSL] Allow native types to have type arguments (like "vector<float, 4>")
2403 https://bugs.webkit.org/show_bug.cgi?id=188773
2405 Reviewed by Filip Pizlo.
2407 Before this patch, it was impossible to represent "native typedef vector<float, 4>" because NativeTypes couldn't have
2410 Previously, the way to identify a type was strictly by name, which was represented by a string. Therefore, when something like
2411 "vector<int, 3>" was parsed, it would produce a TypeRef with the name "vector" and typeArguments [TypeRef, IntLiteral]. Then,
2412 there was a pass to convert the TypeRef to have the name "int3" and no typeArguments. After this transformation, each type could
2413 be uniquely identified by name. That name was then matched to the string-only NativeType name.
2415 This is okay for vectors and matrices, but it is unfortunate for textures (e.g. Texture2D<float4>) because they don't have any
2416 natural string-only name. In addition, the canonicalization would have to be made aware of the fact that Texture2D<float4> is
2417 the same as Texture2D<vector<float, 4>>. Similarly, an author may wish to typedef float4 to a different name.
2419 It would be possible to mangle the names of the texture types to something unique, but then we lose information about the inner
2420 type. For example, if we did this, Visitor wouldn't recurse into the float4 when encountering Texture2D<float4> because that
2421 information would be lost. This could potentially make operations like programWithUnnecessaryThingsRemoved() more difficult to
2422 implement in the future.
2424 So, it would be better to have each type uniquely identified by (name, typeArguments). TypeRef will therefore also have
2425 typeArguments which are used to determine which type it is referencing. After this analysis is done to determine what each
2426 TypeRef is referencing, subsequent passes shouldn't care about the typeArguments and should only care about the .type field
2427 which had been set - this was true even before this patch.
2429 This means that NameContext has to aggregate types that accept typeArguments into arrays, where each array holds all the Types
2430 that have the same name but different typeArguments. Then, when we need to match a TypeRef with a Type, we can ask the
2431 NameContext for the appropriate array. This is the same way that function resolution works.
2433 We can use Node.unify() to determine whether a TypeRef matches a NativeType. Eventually, this will go away, but for now, this is
2434 an okay start. This works just about the same way that function overload resolution works.
2436 * WebGPUShadingLanguageRI/All.js:
2437 * WebGPUShadingLanguageRI/CallExpression.js:
2438 (CallExpression.prototype.resolve):
2439 * WebGPUShadingLanguageRI/CheckTypesWithArguments.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js. After types
2440 have been resolved, there should be no TypeRefs with name "vector" that don't have type arguments. This is just a sanity check.
2441 (checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
2442 (checkTypesWithArguments.TypeWithArgumentsChecker):
2443 (checkTypesWithArguments):
2444 * WebGPUShadingLanguageRI/Checker.js:
2445 (Checker.prototype.visitProgram): Program.types mirrors NameContext: it's a Map that maps strings to types. Because types with
2446 typeArguments share names, this has to be updated to map strings to arrays for these types.
2447 (Checker.prototype.visitTypeRef):
2448 * WebGPUShadingLanguageRI/InferTypesForCall.js:
2449 (inferTypesForCall): Don't know why this was here.
2450 (inferTypesForTypeArguments): Same as inferTypesForCall, but this one is for matching type arguments.
2451 * WebGPUShadingLanguageRI/Intrinsics.js: Adding the types. This patch also adds some scalar types like half, char, etc, but they
2452 don't have any functions which accept them. Those will be tested in my next patch which adds math functions for these types. This
2453 moves in the direction of matching the standard library in the spec.
2455 (Intrinsics.bitwiseCast):
2456 (Intrinsics.castToHalf):
2459 * WebGPUShadingLanguageRI/NameContext.js: Aggregate types with typeArguments into arrays.
2460 (NameContext.prototype.add):
2461 (NameContext.prototype.get let):
2462 (NameContext.underlyingThings.prototype.else):
2463 (NameContext.prototype.Symbol.iterator):
2465 * WebGPUShadingLanguageRI/NameResolver.js:
2466 (NameResolver.prototype.visitTypeRef): Call TypeRef.resolve().
2467 (NameResolver.prototype.visitCallExpression):
2469 (NameResolver.prototype.visitVectorType): Deleted.
2470 * WebGPUShadingLanguageRI/NativeType.js: NativeTypes can have type arguments now.
2472 (NativeType.prototype.get typeArguments):
2473 (NativeType.prototype.toString):
2474 (NativeType.create):
2475 * WebGPUShadingLanguageRI/Prepare.js:
2477 * WebGPUShadingLanguageRI/Program.js: Update to work with types aggregated into arrays.
2478 (Program.prototype.add):
2479 (Program.prototype.toString):
2481 * WebGPUShadingLanguageRI/RemoveTypeArguments.js: Removed.
2482 * WebGPUShadingLanguageRI/ResolveNames.js: Update to work with types aggregated into arrays.
2483 (resolveNamesInTypes):
2484 * WebGPUShadingLanguageRI/ResolveOverloadImpl.js: Resolve the type overload for types with typeArguments.
2485 * WebGPUShadingLanguageRI/ResolveTypeDefs.js: Update to work with types aggregated into arrays.
2486 (resolveTypeDefsInTypes):
2487 * WebGPUShadingLanguageRI/Rewriter.js: TypeRefs and Native/Vector types can have typeArguments.
2488 (Rewriter.prototype.visitTypeRef):
2489 (Rewriter.prototype.visitVectorType):
2491 * WebGPUShadingLanguageRI/SPIRV.html:
2492 * WebGPUShadingLanguageRI/StandardLibrary.js: Matches Intrinsics.
2494 * WebGPUShadingLanguageRI/StatementCloner.js: Native types can have typeArguments.
2495 (StatementCloner.prototype.visitNativeType):
2496 * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Vector types need constructors too.
2497 (synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitVectorType):
2498 (synthesizeDefaultConstructorOperator.FindAllTypes):
2499 (synthesizeDefaultConstructorOperator):
2500 * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: No reason to distinguish between wrapping and instantiating a TypeRef.
2501 (synthesizeStructAccessors.createTypeRef):
2502 * WebGPUShadingLanguageRI/Test.html:
2503 * WebGPUShadingLanguageRI/Test.js:
2504 * WebGPUShadingLanguageRI/TypeOverloadResolutionFailure.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js.
2505 (TypeOverloadResolutionFailure):
2506 (TypeOverloadResolutionFailure.prototype.get type):
2507 (TypeOverloadResolutionFailure.prototype.get reason):
2508 (TypeOverloadResolutionFailure.prototype.toString):
2509 * WebGPUShadingLanguageRI/TypeRef.js:
2511 (TypeRef.prototype.resolve): Figure out which item in the possibleOverloads array matches this.
2512 (TypeRef.prototype.toString):
2514 (TypeRef.instantiate): Deleted.
2515 * WebGPUShadingLanguageRI/UnificationContext.js: We need to give literals a chance to assume their preferred type. This
2516 adds this facility back into the compiler (it was previously deleted).
2517 (UnificationContext.prototype.verify):
2518 * WebGPUShadingLanguageRI/VectorType.js: Vector types have type arguments.
2520 (VectorType.prototype.get elementType):
2521 (VectorType.prototype.get numElements):
2522 (VectorType.prototype.get numElementsValue):
2523 (VectorType.prototype.toString):
2524 * WebGPUShadingLanguageRI/Visitor.js: Iterate over the typeArguments.
2525 (Visitor.prototype.visitTypeRef):
2526 (Visitor.prototype.visitNativeType):
2527 (Visitor.prototype.visitVectorType):
2529 * WebGPUShadingLanguageRI/index.html:
2531 2018-08-23 Wenson Hsieh <wenson_hsieh@apple.com>
2533 [Attachment Support] Attachment elements don't appear in drag images on macOS
2534 https://bugs.webkit.org/show_bug.cgi?id=188823
2535 <rdar://problem/43616378>
2537 Reviewed by Tim Horton.
2539 Adjusts a couple of existing tests to additionally verify that the drag image generated when dragging an
2540 attachment element in macOS is not completely transparent.
2542 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2543 (isCompletelyTransparent):
2544 (TestWebKitAPI::TEST):
2546 2018-08-23 Jonathan Bedard <jbedard@apple.com>
2548 Explain test name matching in run-api-tests help
2549 https://bugs.webkit.org/show_bug.cgi?id=188280
2551 Reviewed by Ryosuke Niwa.
2553 Improve the run-api-tests help message to explain how test
2554 name matching works.
2556 * Scripts/webkitpy/api_tests/run_api_tests.py:
2558 * Scripts/webkitpy/port/base.py:
2560 (Port.path_to_api_test_binaries): Make binary names a globally accessible array.
2561 * Scripts/webkitpy/port/win.py:
2563 (WinPort.path_to_api_test_binaries): Ditto.
2565 2018-08-23 Youenn Fablet <youenn@apple.com>
2567 Use "wpt serve" to launch WPT server
2568 https://bugs.webkit.org/show_bug.cgi?id=188848
2570 Reviewed by Ryosuke Niwa.
2572 Use "wpt serve" provided by WPT instead of using our custom launcher.
2573 This simplifies things and will avoid future breakage.
2574 Further simplify web_platform_test_server.py by removing no longer needed actions.
2575 - Do not copy files but use alias
2576 - Do not kill main pid, which leaves subprocesses alive, use interrupt instead.
2577 - Stop enumerating subprocess pids.
2579 * Scripts/webkitpy/common/system/executive_mock.py:
2580 (MockExecutive.interrupt):
2581 * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py: Removed.
2582 * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
2583 (WebPlatformTestServer.__init__):
2584 (WebPlatformTestServer.ports_to_forward):
2585 (WebPlatformTestServer._prepare_config):
2586 (WebPlatformTestServer._spawn_process):
2587 (WebPlatformTestServer._stop_running_server):
2589 2018-08-23 Jonathan Bedard <jbedard@apple.com>
2591 run-api-tests: Add --webkit-only, --webcore-only and --webkit-legacy-only options to run WebKit, WebCore and WebKitLegacy tests
2592 https://bugs.webkit.org/show_bug.cgi?id=188262
2594 Reviewed by Ryosuke Niwa.
2596 * Scripts/webkitpy/api_tests/run_api_tests.py:
2599 2018-08-22 Wenson Hsieh <wenson_hsieh@apple.com>
2601 [Attachment Support] Support dragging attachment elements out as files on macOS
2602 https://bugs.webkit.org/show_bug.cgi?id=181294
2603 <rdar://problem/36298801>
2605 Reviewed by Tim Horton.
2607 Add DragAndDropSimulator support for intercepting calls to -beginDraggingSessionWithitems:event:source:. This
2608 enables us to write API tests for macOS that exercise the attachment SPI in combination with dragging attachment
2611 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2612 (-[TestWKWebView attachmentElementMidPoint]):
2614 Add a helper method local to this test suite that grabs the midpoint (in client coordinates) or the first
2615 attachment element in the document.
2617 (TestWebKitAPI::TEST):
2619 Add a new API test to verify that dragging an attachment element on macOS produces file providers which may be
2620 used to write attachment data to a path on disk. Additionally, refactor an existing API test,
2621 MoveAttachmentElementAsIconByDragging, so that it runs on both iOS and macOS, to test the ability to move
2622 attachment elements around in a document by using drag and drop.
2624 * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
2625 * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2626 (-[DragAndDropTestWKWebView beginDraggingSessionWithItems:event:source:]):
2627 (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
2628 (-[DragAndDropSimulator dealloc]):
2629 (-[DragAndDropSimulator runFrom:to:]):
2630 (-[DragAndDropSimulator beginDraggingSessionInWebView:withItems:source:]):
2632 Begin a drag session and kick off the -continueDragSession loop. Unlike -performDragInWebView:…, which spins
2633 the main runloop until dragging ends, this version returns execution to the web view and schedules dragging
2634 updates asynchronously. This matches AppKit behavior.
2636 (-[DragAndDropSimulator continueDragSession]):
2638 Increment the dragging progress amount, send a drag update to the web view, and continue scheduling calls to
2639 itself until the progress reaches 1.
2641 (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
2642 (-[DragAndDropSimulator initializeDraggingInfo:dragImage:source:]):
2644 Pull out common logic for creating a new TestDraggingInfo after starting a drag.
2646 (-[DragAndDropSimulator insertedAttachments]):
2647 (-[DragAndDropSimulator removedAttachments]):
2648 (-[DragAndDropSimulator draggingSession]):
2649 (-[DragAndDropSimulator receivePromisedFiles]):
2651 Helper method to save promised files written to the pasteboard after a drag to the temporary directory. These
2652 files are tracked by DragAndDropSimulator and automatically cleaned up after the test finishes.
2654 (-[DragAndDropSimulator endDataTransfer]):
2656 Add a method stub on macOS, so that MoveAttachmentElementAsIconByDragging can be made cross-platform.
2658 (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
2659 (-[DragAndDropSimulator _webView:didRemoveAttachment:]):
2661 Implement method stubs to keep track of inserted or removed attachments while simulating a drag.
2663 2018-08-22 Aditya Keerthi <akeerthi@apple.com>
2665 [iOS] Add support for the inputmode attribute
2666 https://bugs.webkit.org/show_bug.cgi?id=183621
2668 Reviewed by Tim Horton.
2670 Added an API test to verify that the correct UIKeyboardType is set depending on
2671 the type, inputmode, and pattern specified for an input field.
2673 * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
2674 (TestWebKitAPI::TEST):
2675 * TestWebKitAPI/ios/UIKitSPI.h:
2677 2018-08-22 Alex Christensen <achristensen@webkit.org>
2679 Fix API test on Sierra after r235139
2680 https://bugs.webkit.org/show_bug.cgi?id=188810
2682 * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
2685 2018-08-22 David Kilzer <ddkilzer@apple.com>
2687 Move files in WebCore project to match Xcode folder structure
2688 <https://webkit.org/b/188851>
2690 Reviewed by Tim Horton.
2692 * Scripts/extract-localizable-strings:
2693 * Scripts/update-webkit-localizable-strings:
2694 - Update to match new location of extract-localizable-strings.pl.
2696 2018-08-21 Alex Christensen <achristensen@webkit.org>
2698 Roll out r235139 and r235146
2699 https://bugs.webkit.org/show_bug.cgi?id=188805
2701 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2702 * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
2704 2018-08-21 Wenson Hsieh <wenson_hsieh@apple.com>
2706 [Attachment Support] Remove _WKAttachments and notify the UI client upon mainframe navigation
2707 https://bugs.webkit.org/show_bug.cgi?id=188715
2708 <rdar://problem/43541790>
2710 Reviewed by Tim Horton.
2712 Adds API tests to exercises cases where (1) the UI client is notified of attachment removal upon mainframe
2713 navigation, and (2) the UI client is notified of attachment removal upon web content process termination.
2715 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2716 (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
2717 (TestWebKitAPI::TEST):
2719 2018-08-21 Alex Christensen <achristensen@webkit.org>
2721 Transition ResizeReversePaginatedWebView API test from WKPageLoaderClient to WKPageNavigationClient
2722 https://bugs.webkit.org/show_bug.cgi?id=188821
2724 Reviewed by Simon Fraser.
2726 * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
2727 (TestWebKitAPI::didLayout):
2728 (TestWebKitAPI::TEST):
2730 2018-08-21 Myles C. Maxfield <mmaxfield@apple.com>
2732 [WHLSL] Call expressions shouldn't have type arguments
2733 https://bugs.webkit.org/show_bug.cgi?id=188770
2735 Reviewed by Filip Pizlo.
2737 Call expressions only had type arguments for casts, becuase native types can have type arguments.
2738 However, instead of putting those type arguments on the CallExpression, we should parse the casted
2739 type as a real type and not as an identifier, which puts the type arguments in the TypeRef.
2743 * WebGPUShadingLanguageRI/CallExpression.js:
2745 (CallExpression.prototype.get name):
2746 (CallExpression.resolve):
2747 (CallExpression.prototype.get typeArguments): Deleted.
2748 (CallExpression.prototype.becomeCast): Deleted.
2749 * WebGPUShadingLanguageRI/NameResolver.js:
2750 (NameResolver.prototype.visitCallExpression):
2751 * WebGPUShadingLanguageRI/Parse.js:
2754 (parseLeftOperatorCall):
2755 (parseCallExpression.let.parseArguments):
2756 (parsePossiblePrefix):
2757 (parsePossibleRelationalEquality):
2758 (parseLeftLogicalExpression):
2763 * WebGPUShadingLanguageRI/RemoveTypeArguments.js:
2764 * WebGPUShadingLanguageRI/Rewriter.js:
2765 (Rewriter.prototype.visitCallExpression):
2767 2018-08-21 Alex Christensen <achristensen@webkit.org>
2769 Translate WebKit.LimitTitleSize API test into ObjC
2770 https://bugs.webkit.org/show_bug.cgi?id=188810
2772 Reviewed by Andy Estes.
2774 It uses WKPageLoaderClient.didReceiveTitleForFrame which has been replaced by KVO.
2775 I'm translating the test into ObjC rather than introducing a new callback to WKPageNavigationClient.
2777 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2778 * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp: Removed.
2779 * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
2781 (-[LimitTitleSizeTestObserver observeValueForKeyPath:ofObject:change:context:]):
2782 (TestWebKitAPI::TEST): Deleted.
2784 2018-08-21 Alex Christensen <achristensen@webkit.org>
2786 Remove unused shouldKeepCurrentBackForwardListItemInList check
2787 https://bugs.webkit.org/show_bug.cgi?id=188805
2789 Reviewed by Andy Estes.
2791 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2792 * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp: Removed.
2794 2018-08-21 Alex Christensen <achristensen@webkit.org>
2796 Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
2797 https://bugs.webkit.org/show_bug.cgi?id=188813
2799 Reviewed by Andy Estes.
2801 * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp:
2802 (TestWebKitAPI::didLayout):
2803 (TestWebKitAPI::setPageLoaderClient):
2804 * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
2805 (TestWebKitAPI::didFinishNavigation):
2806 (TestWebKitAPI::didLayout):
2807 (TestWebKitAPI::setPageLoaderClient):
2808 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2809 * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
2810 (TestWebKitAPI::didLayout):
2811 (TestWebKitAPI::setPageLoaderClient):
2813 2018-08-21 Wenson Hsieh <wenson_hsieh@apple.com>
2815 [Attachment Support] Augment _WKAttachment SPI to handle NSFileWrappers in addition to NSData
2816 https://bugs.webkit.org/show_bug.cgi?id=188496
2817 <rdar://problem/43216836>
2819 Reviewed by Tim Horton.
2821 Adjusts existing attachment API tests. See below for more detail.
2823 * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2824 (-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
2825 (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
2826 (-[_WKAttachment synchronouslySetData:newContentType:newFilename:error:]):
2827 (-[_WKAttachment synchronouslySetFileWrapper:newContentType:error:]):
2829 Move off of deprecated attachment SPI, and add new helper functions to synchronously insert a new attachment or
2830 update an existing attachment with a file wrapper.
2832 (-[_WKAttachment expectRequestedDataToBe:]):
2833 (TestWebKitAPI::TEST):
2835 Add a new test to verify that file-URL-backed NSFileWrappers can be used to insert and update attachment data.
2836 Also augment an existing test to check that an attachment element which has been copied and pasted within the
2837 same document has a different _WKAttachment wrapper object than its duplicate, but both _WKAttachments are
2838 backed by the same NSFileWrapper that was originally used to insert the attachment.
2840 Additionally, add another macOS test to verify that dropping promised files in an attachment-element-enabled
2841 editable area inserts attachment elements into the document and notifies the UI client with the inserted
2844 (-[_WKAttachment synchronouslyRequestInfo:]): Deleted.
2845 (-[_WKAttachment synchronouslyRequestData:]): Deleted.
2846 * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
2847 (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
2849 Move off of -_webView:didInsertAttachment:.
2851 (-[DragAndDropSimulator _webView:didInsertAttachment:]): Deleted.
2853 2018-08-21 David Kilzer <ddkilzer@apple.com>
2855 sort-Xcode-project-file: top-level files and folders are sorted unintentionally when `mainGroup` has no name
2856 <https://webkit.org/b/188755>
2858 Reviewed by Andy Estes.
2860 * Scripts/sort-Xcode-project-file: Fix regular expression to
2861 make `mainGroup` name optional.
2863 2018-08-21 Andy VanWagoner <andy@vanwagoner.family>
2865 Unreviewed, add myself to committers list.
2867 * Scripts/webkitpy/common/config/contributors.json:
2869 2018-08-21 Antti Koivisto <antti@apple.com>
2871 Allow creating WeakPtrs to const objects
2872 https://bugs.webkit.org/show_bug.cgi?id=188785
2874 Reviewed by Geoffrey Garen.
2876 * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
2877 (TestWebKitAPI::Base::weakPtrFactory const):
2878 (TestWebKitAPI::TEST):
2879 (TestWebKitAPI::Base::weakPtrFactory): Deleted.
2881 2018-08-21 Per Arne Vollan <pvollan@apple.com>
2883 [WebGL] Contexts are not updated when display configuration changed.
2884 https://bugs.webkit.org/show_bug.cgi?id=188750
2886 Reviewed by Brent Fulgham.
2888 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2889 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2890 (WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting):
2891 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2892 * WebKitTestRunner/TestController.cpp:
2893 (WTR::TestController::sendDisplayConfigurationChangedMessageForTesting):
2894 * WebKitTestRunner/TestController.h:
2895 * WebKitTestRunner/TestInvocation.cpp:
2896 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2898 2018-08-21 John Wilander <wilander@apple.com>
2900 Make ResourceLoadObserver::logWebSocketLoading() handle websockets in detached frames
2901 https://bugs.webkit.org/show_bug.cgi?id=188757
2902 <rdar://problem/38713390>
2904 Reviewed by Alex Christensen.
2906 These changes add the new WebKitTestRunner function
2907 isStatisticsRegisteredAsSubresourceUnder().
2909 * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2910 * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2911 (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
2912 * WebKitTestRunner/InjectedBundle/TestRunner.h:
2913 * WebKitTestRunner/TestController.cpp:
2914 (WTR::TestController::isStatisticsRegisteredAsSubresourceUnder):
2915 * WebKitTestRunner/TestController.h:
2916 * WebKitTestRunner/TestInvocation.cpp:
2917 (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2919 2018-08-21 Alex Christensen <achristensen@webkit.org>
2921 Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
2922 https://bugs.webkit.org/show_bug.cgi?id=188797
2924 Reviewed by Tim Horton.
2926 * TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp:
2927 (TestWebKitAPI::didFinishNavigation):
2928 (TestWebKitAPI::TEST):
2929 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2930 * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
2931 (TestWebKitAPI::didSameDocumentNavigation):
2932 (TestWebKitAPI::TEST):
2933 (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
2934 * TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
2935 (TestWebKitAPI::didFailProvisionalNavigation):
2936 (TestWebKitAPI::TEST):
2937 (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
2938 * TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
2939 (TestWebKitAPI::didStartProvisionalNavigation):
2940 (TestWebKitAPI::didCommitNavigation):
2941 (TestWebKitAPI::didFinishNavigation):
2942 (TestWebKitAPI::TEST):
2943 (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
2944 (TestWebKitAPI::didCommitLoadForFrame): Deleted.
2945 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2946 * TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
2947 (TestWebKitAPI::didStartProvisionalNavigation):
2948 (TestWebKitAPI::didCommitNavigation):
2949 (TestWebKitAPI::didFinishNavigation):
2950 (TestWebKitAPI::TEST):
2951 (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
2952 (TestWebKitAPI::didCommitLoadForFrame): Deleted.
2953 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2954 * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
2955 (TestWebKitAPI::renderingProgressDidChange):
2956 (TestWebKitAPI::TEST):
2957 (TestWebKitAPI::didLayout): Deleted.
2958 * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
2959 (TestWebKitAPI::didFinishNavigation):
2960 (TestWebKitAPI::renderingProgressDidChange):
2961 (TestWebKitAPI::setPageLoaderClient):
2962 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2963 (TestWebKitAPI::didLayout): Deleted.
2964 * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
2965 (TestWebKitAPI::State::State):
2966 (TestWebKitAPI::didStartProvisionalNavigation):
2967 (TestWebKitAPI::didCommitNavigation):
2968 (TestWebKitAPI::didFinishNavigation):
2969 (TestWebKitAPI::decidePolicyForNavigationAction):
2970 (TestWebKitAPI::decidePolicyForResponse):
2971 (TestWebKitAPI::TEST):
2972 (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
2973 (TestWebKitAPI::didCommitLoadForFrame): Deleted.
2974 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2975 (TestWebKitAPI::decidePolicyForNewWindowAction): Deleted.
2976 * TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
2977 (TestWebKitAPI::didSameDocumentNavigation):
2978 (TestWebKitAPI::TEST):
2979 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2980 (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
2981 * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
2982 (TestWebKitAPI::TEST):
2983 (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
2984 * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
2985 (TestWebKitAPI::didFinishLoad):
2986 (TestWebKitAPI::TEST):
2987 * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp:
2988 (TestWebKitAPI::didFinishNavigation):
2989 (TestWebKitAPI::TEST):
2990 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2991 * TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
2992 (TestWebKitAPI::didFinishLoad):
2993 (TestWebKitAPI::TEST):
2994 * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
2995 (WebKit2_CommandBackForwardTestWKView::SetUp):
2996 (WebKit2_CommandBackForwardTestWKView::didFinishLoadForFrame): Deleted.
2998 2018-08-20 Alex Christensen <achristensen@webkit.org>
3000 Replace WKPageLoaderClient with WKPageNavigationClient in many API tests
3001 https://bugs.webkit.org/show_bug.cgi?id=188771
3003 Reviewed by Tim Horton.
3005 * TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
3006 (TestWebKitAPI::didFinishNavigation):
3007 (TestWebKitAPI::TEST):
3008 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3009 * TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
3010 (TestWebKitAPI::didFinishNavigation):
3011 (TestWebKitAPI::TEST):
3012 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3013 * TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm:
3014 (TestWebKitAPI::didFinishNavigation):
3015 (TestWebKitAPI::setPageLoaderClient):
3016 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3017 * TestWebKitAPI/Tests/WebKit/DidNotHandleKeyDown.cpp:
3018 (TestWebKitAPI::TEST):
3019 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3020 * TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache.cpp:
3021 (TestWebKitAPI::didFinishNavigation):
3022 (TestWebKitAPI::setPageLoaderClient):
3023 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3024 * TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
3025 (TestWebKitAPI::didFinishNavigation):
3026 (TestWebKitAPI::setClients):
3027 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3028 * TestWebKitAPI/Tests/WebKit/Find.cpp:
3029 (TestWebKitAPI::didFinishNavigation):
3030 (TestWebKitAPI::TEST):
3031 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3032 * TestWebKitAPI/Tests/WebKit/FindMatches.mm:
3033 (TestWebKitAPI::didFinishNavigation):
3034 (TestWebKitAPI::TEST):
3035 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3036 * TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
3037 (TestWebKitAPI::didFinishNavigation):
3038 (TestWebKitAPI::TEST):
3039 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3040 * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
3041 (TestWebKitAPI::didFinishNavigation):
3042 (TestWebKitAPI::TEST):
3043 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3044 * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
3045 (TestWebKitAPI::didFinishNavigation):
3046 (TestWebKitAPI::TEST):
3047 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3048 * TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle.cpp:
3049 (TestWebKitAPI::didFinishNavigation):
3050 (TestWebKitAPI::setPageLoaderClient):
3051 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3052 * TestWebKitAPI/Tests/WebKit/InjectedBundleBasic.cpp:
3053 (TestWebKitAPI::didFinishNavigation):
3054 (TestWebKitAPI::TEST):
3055 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3056 * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp:
3057 (TestWebKitAPI::didFinishLoadForFrame):
3058 * TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
3059 (TestWebKitAPI::didFinishNavigation):
3060 (TestWebKitAPI::loadAlternateHTMLString):
3061 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3062 * TestWebKitAPI/Tests/WebKit/LoadCanceledNoServerRedirectCallback.cpp:
3063 (TestWebKitAPI::didFinishNavigation):
3064 (TestWebKitAPI::TEST):
3065 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3066 * TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp:
3067 (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
3068 (TestWebKitAPI::didFinishLoad):
3069 * TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp:
3070 (TestWebKitAPI::didFinishNavigation):
3071 (TestWebKitAPI::setPageLoaderClient):
3072 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3073 * TestWebKitAPI/Tests/WebKit/MouseMoveAfterCrash.cpp:
3074 (TestWebKitAPI::didFinishNavigation):
3075 (TestWebKitAPI::setPageLoaderClient):
3076 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3077 * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
3078 (TestWebKitAPI::didFinishLoadForFrame):
3079 * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
3080 (TestWebKitAPI::TEST):
3081 * TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp:
3082 (TestWebKitAPI::TEST):
3083 * TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp:
3084 (TestWebKitAPI::didFinishLoad):
3085 (TestWebKitAPI::TEST):
3086 * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
3087 (TestWebKitAPI::didFinishNavigation):
3088 (TestWebKitAPI::setPageLoaderClient):
3089 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3090 * TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp:
3091 (TestWebKitAPI::didFinishNavigation):
3092 (TestWebKitAPI::setPageLoaderClient):
3093 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3094 * TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp:
3095 (TestWebKitAPI::didFinishNavigation):
3096 (TestWebKitAPI::TEST):
3097 (TestWebKitAPI::didFinishDocumentLoadForFrame): Deleted.
3098 * TestWebKitAPI/Tests/WebKit/SpacebarScrolling.cpp:
3099 (TestWebKitAPI::didFinishNavigation):
3100 (TestWebKitAPI::TEST):
3101 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3102 * TestWebKitAPI/Tests/WebKit/StopLoadingDuringDidFailProvisionalLoad.cpp:
3103 (TestWebKitAPI::didFailProvisionalNavigation):
3104 (TestWebKitAPI::TEST):
3105 (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
3106 * TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp:
3107 (TestWebKitAPI::didFinishNavigation):
3108 (TestWebKitAPI::TEST):
3109 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3110 * TestWebKitAPI/Tests/WebKit/TextFieldDidBeginAndEndEditing.cpp:
3111 (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishNavigation):
3112 (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::setPageLoaderClient):
3113 (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishLoadForFrame): Deleted.
3114 * TestWebKitAPI/Tests/WebKit/UserMessage.cpp:
3115 (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishNavigation):
3116 (TestWebKitAPI::WebKit2UserMessageRoundTripTest::setPageLoaderClient):
3117 (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishLoadForFrame): Deleted.
3118 * TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp:
3119 (TestWebKitAPI::didFinishNavigation):
3120 (TestWebKitAPI::setPageLoaderClient):
3121 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3122 * TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp:
3123 (TestWebKitAPI::didFinishNavigation):
3124 (TestWebKitAPI::setPageLoaderClient):
3125 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3126 * TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp:
3127 (TestWebKitAPI::didFinishNavigation):
3128 (TestWebKitAPI::setPageLoaderClient):
3129 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3130 * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp:
3131 (TestWebKitAPI::didFinishNavigation):
3132 (TestWebKitAPI::setUpClients):
3133 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3134 * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
3135 (TestWebKitAPI::didFinishNavigation):
3136 (TestWebKitAPI::setPageLoaderClient):
3137 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3138 * TestWebKitAPI/Tests/WebKit/WebArchive.cpp:
3139 (TestWebKitAPI::didFinishNavigation):
3140 (TestWebKitAPI::TEST):
3141 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3142 * TestWebKitAPI/Tests/WebKit/mac/AttributedSubstringForProposedRangeWithImage.mm:
3143 (TestWebKitAPI::didFinishNavigation):
3144 (TestWebKitAPI::TEST):
3145 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3146 * TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
3147 (TestWebKitAPI::didFinishNavigation):
3148 (TestWebKitAPI::TEST):
3149 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3150 * TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm:
3151 (TestWebKitAPI::didFinishNavigation):
3152 (TestWebKitAPI::TEST):
3153 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3154 * TestWebKitAPI/Tests/WebKit/mac/EditorCommands.mm:
3155 (TestWebKitAPI::didFinishNavigation):
3156 (TestWebKitAPI::TEST):
3157 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3158 * TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp:
3159 (TestWebKitAPI::didFinishNavigation):
3160 (TestWebKitAPI::TEST):
3161 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3162 * TestWebKitAPI/Tests/WebKit/mac/InjectedBundleAppleEvent.cpp:
3163 (TestWebKitAPI::didFinishNavigation):
3164 (TestWebKitAPI::TEST):
3165 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3166 * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
3167 (didFinishNavigation):
3168 (TestWebKitAPI::TEST):
3169 (didFinishLoadForFrame): Deleted.
3170 * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
3171 (didFinishNavigation):
3172 (TestWebKitAPI::TEST):
3173 (didFinishLoadForFrame): Deleted.
3174 * TestWebKitAPI/Tests/mac/FirstResponderScrollingPosition.mm:
3175 (TestWebKitAPI::didFinishNavigation):
3176 (TestWebKitAPI::TEST):
3177 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3178 * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
3179 (TestWebKitAPI::didFinishNavigation):
3180 (TestWebKitAPI::setPageLoaderClient):
3181 (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3183 2018-08-21 Adrian Perez de Castro <aperez@igalia.com>
3185 [WPE] Update to use libwpe-1.0.0 and WPEBackend-fdo-1.0.0
3186 https://bugs.webkit.org/show_bug.cgi?id=188782
3188 Reviewed by Michael Catanzaro.
3190 Make the build depend on wpe-0.2, and change the Flatpak and JHBuild development
3191 environments to use version 1.0.0 of libwpe and WPEBackend-fdo.
3193 * flatpak/org.webkit.WPE.yaml: Update to use libwpe and WPEBackend-fdo version 1.0.0 from
3194 release tarballs, and removed the (now unneeded) Lua and LuaJIT modules.
3195 * wpe/jhbuild.modules: Ditto.
3197 2018-08-21 Michael Catanzaro <mcatanzaro@igalia.com>
3199 [Flatpak] Update to GNOME master runtime
3200 https://bugs.webkit.org/show_bug.cgi?id=188731
3202 Reviewed by Philippe Normand.
3204 The 3.28 runtime is pretty stale at this point. We could wait a couple weeks for the 3.30
3205 runtime, but I don't think there's any need to stick with the stable runtime when we have
3206 the ability to pin to a particular version of the master runtime. There are also several
3207 advantages to switching to the master runtime.
3209 * flatpak/files/httpd-autogen.sh: Removed.
3210 * flatpak/flatpakutils.py:
3211 (WebkitFlatpak.clean_args):
3212 * flatpak/org.webkit.GTK.yaml:
3213 * flatpak/org.webkit.WebKit.yaml:
3214 * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Removed.
3215 * flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Removed.
3217 2018-08-20 Jonathan Bedard <jbedard@apple.com>
3219 WebKitTestRunner: Add watchOS entitlements
3220 https://bugs.webkit.org/show_bug.cgi?id=188758
3222 Reviewed by Tim Horton.
3224 watchOS needs an additional entitlement to open up a socket for on-device testing.
3226 * WebKitTestRunner/Configurations/WebKitTestRunnerApp-watchOS.entitlements: Added.
3227 * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
3228 * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
3230 2018-08-20 Thomas Denney <tdenney@apple.com>
3232 [WHLSL] Remove generics from the interpreter
3233 https://bugs.webkit.org/show_bug.cgi?id=187988
3235 Reviewed by Myles C. Maxfield.
3237 This patch completely removes generic and protocol support from WHLSL
3238 whilst adding back any features that were originally implemented with
3241 Many of the changes in this patch just remove occurrences of type
3242 arguments and type parameters --- although there are some cases where
3243 they have been deliberately left in --- as well as removing tests only
3244 relevant to those features. These changes are not listed below.
3246 * WebGPUShadingLanguageRI/All.js: Add/remove JS dependencies
3247 * WebGPUShadingLanguageRI/AutoWrapper.js:
3248 (AutoWrapper.prototype.visitConstexprTypeParameter): Deleted.
3249 * WebGPUShadingLanguageRI/BuiltinVectorCasts.js: Added. The built-in
3250 vectors have many constructors for different scalar and vector types.
3251 These were originally implemented with generics.
3252 * WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Adds the
3253 equality operator for built-in vectors, again this was removed with
3255 * WebGPUShadingLanguageRI/BuiltinVectorGetter.js: Added, as above.
3256 Built-in vectors only support the getter and setter, and not the ander.
3257 * WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js: Added.
3258 * WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js: Added.
3259 * WebGPUShadingLanguageRI/BuiltinVectorSetter.js: Added.
3260 * WebGPUShadingLanguageRI/CallExpression.js: Adds support for
3261 instantiating functions which cannot be discovered earlier in
3262 preparation because their types are absent (specifically support for the
3263 operator &[] for array references and the length operator for array
3264 references). Previously support for these was implemented with generics.
3265 (CallExpression.resolve):
3266 (CallExpression.prototype.resolve):
3267 (CallExpression.prototype._resolveByInstantiation):
3268 (CallExpression.prototype._resolveToOperatorAnderIndexer):
3269 (CallExpression.prototype._resolveToOperatorLength):
3270 (CallExpression.prototype.resolveToOverload):
3271 (CallExpression.prototype.becomeCast):
3272 (CallExpression.prototype.toString):
3274 * WebGPUShadingLanguageRI/CallExpressionTypeArgumentResolver.js: Added.
3275 We support syntax like vector<int, 2>(a, b) for constructing vectors;
3276 this new preparation step resolves them to specific constructors.
3277 * WebGPUShadingLanguageRI/CallFunction.js:
3278 * WebGPUShadingLanguageRI/Checker.js:
3279 * WebGPUShadingLanguageRI/ConstexprFolder.js:
3280 * WebGPUShadingLanguageRI/CreateLiteralType.js:
3281 * WebGPUShadingLanguageRI/ExpressionFinder.js:
3282 * WebGPUShadingLanguageRI/FlattenProtocolExtends.js: Removed.
3283 * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
3284 * WebGPUShadingLanguageRI/Func.js:
3285 * WebGPUShadingLanguageRI/FuncDef.js:
3286 * WebGPUShadingLanguageRI/FuncInstantiator.js: Deleted.
3287 * WebGPUShadingLanguageRI/InferTypesForCall.js: Removed usage of type arguments.
3288 * WebGPUShadingLanguageRI/Inline.js: Remove use of FuncInstantiator.
3289 * WebGPUShadingLanguageRI/Inliner.js: Ditto.
3290 * WebGPUShadingLanguageRI/Intrinsics.js:
3291 * WebGPUShadingLanguageRI/Lexer.js:
3292 * WebGPUShadingLanguageRI/LiteralTypeChecker.js:
3293 * WebGPUShadingLanguageRI/NameContext.js:
3294 (NameContext.prototype.add):
3295 (NameContext.prototype.get let):
3296 (NameContext.underlyingThings.prototype.else):
3297 (NameContext.prototype.resolveFuncOverload):
3298 * WebGPUShadingLanguageRI/NameFinder.js:
3299 * WebGPUShadingLanguageRI/NameResolver.js:
3300 (NameResolver.prototype.visitFunc):
3301 (NameResolver.prototype.visitFuncDef):
3302 (NameResolver.prototype.visitTypeDef):
3303 (NameResolver.prototype.visitStructType):
3304 (NameResolver.prototype.visitTypeRef):
3305 (NameResolver.prototype.visitCallExpression):
3306 (NameResolver.prototype.visitVectorType):
3308 (NameResolver.prototype._visitTypeParametersAndBuildNameContext): Deleted.
3309 (NameResolver.prototype.visitProtocolDecl): Deleted.
3310 * WebGPUShadingLanguageRI/NativeFunc.js:
3312 * WebGPUShadingLanguageRI/NativeFuncInstance.js: Deleted.
3313 * WebGPUShadingLanguageRI/NativeType.js:
3315 (NativeType.prototype.get name):
3316 (NativeType.prototype.toString):
3317 (NativeType.prototype.get typeParameters): Deleted.
3318 (NativeType.prototype.instantiate): Deleted.
3319 * WebGPUShadingLanguageRI/Node.js:
3320 (Node.prototype.commit):
3322 (Node.prototype.substitute): Deleted.
3323 (Node.prototype.substituteToUnification): Deleted.
3324 * WebGPUShadingLanguageRI/OperatorAnderIndex.js: Added, previously
3325 implemented with generics.
3326 * WebGPUShadingLanguageRI/OperatorArrayRefLength.js: Ditto.
3327 * WebGPUShadingLanguageRI/OperatorBool.js: Ditto.
3328 * WebGPUShadingLanguageRI/Parse.js: Removed everything related to
3329 generics and protocols.
3330 * WebGPUShadingLanguageRI/Prepare.js: Added new stages.
3331 * WebGPUShadingLanguageRI/Program.js:
3333 (Program.prototype.get types):
3334 (Program.prototype.add):
3335 (Program.prototype.get protocols): Deleted.
3336 * WebGPUShadingLanguageRI/ProtocolDecl.js: Removed.
3337 * WebGPUShadingLanguageRI/ProtocolRef.js: Removed.
3338 * WebGPUShadingLanguageRI/RecursiveTypeChecker.js:
3339 * WebGPUShadingLanguageRI/ResolveCallExpressionsWithTypeArguments.js: Added.
3340 * WebGPUShadingLanguageRI/ResolveNames.js:
3341 * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
3342 * WebGPUShadingLanguageRI/ResolveTypeDefs.js:
3343 (resolveTypeDefsInProtocols): Deleted.
3344 * WebGPUShadingLanguageRI/Rewriter.js: Changes for new classes.
3345 * WebGPUShadingLanguageRI/SPIRV.html:
3346 * WebGPUShadingLanguageRI/SPIRVCodegen.js:
3347 * WebGPUShadingLanguageRI/StandardLibrary.js: Replace old generic features.
3348 * WebGPUShadingLanguageRI/StatementCloner.js: Changes for new classes.
3349 (StructLayoutBuilder):
3350 * WebGPUShadingLanguageRI/StructType.js:
3351 * WebGPUShadingLanguageRI/SwizzleOp.js:
3353 (SwizzleOp.prototype.get baseTypeName):
3354 (SwizzleOp.prototype.toString):
3355 (SwizzleOp.functions.):
3356 (SwizzleOp.functions):
3357 (SwizzleOp.prototype.instantiateImplementation):
3358 (SwizzleOp.allSwizzleOperators.): Deleted.
3359 (SwizzleOp.allSwizzleOperators): Deleted.
3360 * WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js: Added,
3361 previously implemented with generics.
3362 * WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js: Ditto.
3363 * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Ditto.
3364 * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Ditto.
3365 * WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Ditto.
3366 * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
3367 (synthesizeStructAccessors.setupImplementationData):
3368 (synthesizeStructAccessors.createFieldType):
3369 (synthesizeStructAccessors.createTypeRef):
3370 (synthesizeStructAccessors.setupAnder):
3371 (synthesizeStructAccessors):
3372 (synthesizeStructAccessors.createTypeParameters): Deleted.
3373 (synthesizeStructAccessors.): Deleted.
3374 * WebGPUShadingLanguageRI/Test.html:
3375 * WebGPUShadingLanguageRI/Test.js: Removed redundant tests and added new
3376 tests for changed language features.
3377 * WebGPUShadingLanguageRI/Type.js:
3378 * WebGPUShadingLanguageRI/TypeDef.js:
3379 * WebGPUShadingLanguageRI/TypeDefResolver.js:
3380 * WebGPUShadingLanguageRI/TypeParameterRewriter.js: Removed.
3381 * WebGPUShadingLanguageRI/TypeRef.js:
3382 * WebGPUShadingLanguageRI/TypeVariable.js: Removed.
3383 * WebGPUShadingLanguageRI/UnificationContext.js:
3384 * WebGPUShadingLanguageRI/VectorType.js: Added.
3385 * WebGPUShadingLanguageRI/Visitor.js: Changes for new classes.
3386 * WebGPUShadingLanguageRI/WSL.md: Removed description of
3388 * WebGPUShadingLanguageRI/WrapChecker.js:
3390 (WrapChecker.visitConstexprTypeParameter): Deleted.
3391 (WrapChecker.prototype.visitFuncParameter): Deleted.
3392 (WrapChecker.prototype.visitTypeVariable): Deleted.
3393 * WebGPUShadingLanguageRI/index.html:
3395 2018-08-20 Thomas Denney <tdenney@apple.com>
3397 Added Thomas Denney to contributors.json.
3398 https://bugs.webkit.org/show_bug.cgi?id=188525
3400 Reviewed by Myles C. Maxfield.
3402 * Scripts/webkitpy/common/config/contributors.json:
3404 2018-08-20 Bernhard M. Wiedemann <bwiedemann@suse.de>
3406 [GTK] Sort inspector GResource manifest to ensure reproducible builds
3407 https://bugs.webkit.org/show_bug.cgi?id=188738
3409 Reviewed by Michael Catanzaro.
3411 * glib/generate-inspector-gresource-manifest.py:
3412 (get_filenames): sort list of input files
3414 2018-08-20 Wenson Hsieh <wenson_hsieh@apple.com>
3416 [iOS] Paste is missing from callout bar when pasteboard only contains custom data
3417 https://bugs.webkit.org/show_bug.cgi?id=184271
3418 <rdar://problem/39256708>
3420 Reviewed by Andy Estes.
3422 This API test is failing when run against older macOS builds, where custom pasteboard
3423 data is not enabled by default.
3425 * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
3426 (TestWebKitAPI::TEST):
3428 2018-08-20 Claudio Saavedra <csaavedra@igalia.com>
3430 Add WPE Debug configuration to the flakiness dashboard
3431 https://bugs.webkit.org/show_bug.cgi?id=188743
3433 Reviewed by Michael Catanzaro.
3435 * TestResultServer/static-dashboards/builders.jsonp:
3436 * TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
3438 2018-08-19 Carlos Garcia Campos <cgarcia@igalia.com>
3440 [GLIB] Add API to throw exceptions using printf formatted strings
3441 https://bugs.webkit.org/show_bug.cgi?id=188698
3443 Reviewed by Michael Catanzaro.
3445 Add cases to test the new API.
3447 * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
3448 (createFormattedError):
3449 (createCustomFormattedError):
3450 (testJSCExceptions):
3452 2018-08-19 Carlos Garcia Campos <cgarcia@igalia.com>
3454 [GLIB] Complete the JSCException API
3455 https://bugs.webkit.org/show_bug.cgi?id=188695
3457 Reviewed by Michael Catanzaro.
3459 Add cases to test the new API.
3461 * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
3462 (testJSCCheckSyntax):
3463 (createCustomError):
3464 (testJSCExceptions):
3466 2018-08-18 Wenson Hsieh <wenson_hsieh@apple.com>
3468 [iOS] Paste is missing from callout bar when pasteboard only contains custom data
3469 https://bugs.webkit.org/show_bug.cgi?id=184271
3470 <rdar://problem/39256708>
3472 Reviewed by Ryosuke Niwa.
3474 Add a new API test to verify that on both iOS and macOS, copied custom pasteboard data can only be pasted in a
3475 matching origin. Additionally verify that on iOS, the web view is capable of performing the "paste:" selector.
3477 * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
3478 (TestWebKitAPI::TEST):
3479 (imagePath): Deleted.
3480 (writeTypesAndDataToPasteboard): Deleted.
3481 (setUpWebView): Deleted.
3482 (markupString): Deleted.
3484 Make this test file no longer exclusive to macOS.
3486 * TestWebKitAPI/cocoa/TestWKWebView.h:
3487 * TestWebKitAPI/cocoa/TestWKWebView.mm:
3488 (-[TestWKWebView synchronouslyLoadHTMLString:baseURL:]):
3490 Tweak this helper to also take in a `baseURL`. Defaults to using the TestWebKitAPI bundle resource URL.
3492 (-[TestWKWebView synchronouslyLoadHTMLString:]):
3494 2018-08-17 Jonathan Bedard <jbedard@apple.com>
3496 Add back --wtf-only to run-api-tests
3497 https://bugs.webkit.org/show_bug.cgi?id=187893
3498 <rdar://problem/42483983>
3500 Reviewed by Aakash Jain.
3502 When doing WTF development, it is not necessary to build or run all of the API
3503 tests. Generally, if a user has specified a specific binary (or binaries) that
3504 they are interested in testing, it is not necessary to check all API test binaries.
3506 * Scripts/webkitpy/api_tests/manager.py:
3507 (Manager._collect_tests): Only use the binaries matching the program arguments
3508 when collecting tests.
3509 (Manager._binaries_for_arguments): Generate a list of binaries which match the
3511 (Manager.run): Pass a list binaries to check.
3512 * Scripts/webkitpy/api_tests/run_api_tests.py:
3514 * Scripts/webkitpy/port/base.py:
3515 (Port.check_api_test_build): If the caller specifies which API test binaries it
3516 requires, only check the ones specified.
3517 (Port.path_to_api_test_binaries): Allow the caller to only build the WTF API tests.
3518 (Port._build_api_tests): Allow the caller to only build the WTF API tests.
3519 * Scripts/webkitpy/port/win.py:
3520 (WinPort.path_to_api_test_binaries):
3522 2018-08-17 Jer Noble <jer.noble@apple.com>
3524 REGRESSION (234743) Timeouts in TestWebKitAPI.PreferredAudioBufferSize.AudioWithWebAudio and TestWebKitAPI.PreferredAudioBufferSize.WebAudio
3525 https://bugs.webkit.org/show_bug.cgi?id=188470
3526 <rdar://problem/43144969>
3528 Reviewed by Alex Christensen.
3530 On a loaded server, the WebContent process may send the "playing" message before the
3531 UIProcess has a chance to register a listener for that message. Restructure the tests
3532 so that the listener is registered before the page is loaded.
3534 * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
3535 (PreferredAudioBufferSize::runPlayingTestWithPageNamed):
3538 2018-08-16 Wenson Hsieh <wenson_hsieh@apple.com>
3540 [macOS] [WK2] Add infrastructure to test receiving file promises on drop
3541 https://bugs.webkit.org/show_bug.cgi?id=188583
3543 Reviewed by Andy Estes.
3545 Enable testing file promise drop handling on the WebKit2 port of macOS by introducing a subclass of
3546 NSFilePromiseReceiver and implementing `-enumerateDraggingItemsWithOptions:forView:…` on TestDraggingInfo (the
3547 concrete NSDraggingInfo implementation used by DragAndDropSimulator) using the mock file receiver. Also
3548 introduces 3 new macOS tests. See below for more details.
3550 A large portion of this logic is ported over from DumpRenderTree testing infrastructure added in r229297. In a
3551 future patch, we should introduce a way to write code common to both API tests, WebKitTestRunner and
3552 DumpRenderTree, and make this code shared among all three testing harnesses.
3554 Tests: DragAndDropTests.DragImageElementIntoFileUpload
3555 DragAndDropTests.DragPromisedImageFileIntoFileUpload
3556 DragAndDropTests.DragImageFileIntoFileUpload
3558 * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3559 * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
3562 Drive-by fix: Replace NSMakePoint with CGPointMake.