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