[WTF] Add Markable<T, Traits>
[WebKit-https.git] / Tools / ChangeLog
1 2018-09-10  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
2
3         [WTF] Add Markable<T, Traits>
4         https://bugs.webkit.org/show_bug.cgi?id=189231
5
6         Reviewed by Sam Weinig.
7
8         Add tests for Markable.
9
10         * TestWebKitAPI/CMakeLists.txt:
11         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
12         * TestWebKitAPI/Tests/WTF/Markable.cpp: Added.
13         (TestWebKitAPI::TEST):
14
15 2018-09-10  Simon Fraser  <simon.fraser@apple.com>
16
17         Before tracking Document leaks, clear all caches
18         https://bugs.webkit.org/show_bug.cgi?id=189459
19
20         Reviewed by Sam Weinig.
21
22         It's not enough to clear the page and memory caches; font caches can reference Documents (for SVG fonts),
23         so just call WebCore::releaseMemory(), which empties caches including the page and memory caches, and
24         does the GC that we need to happen.
25
26         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
27         (WTR::InjectedBundle::didReceiveMessageToPage):
28
29 2018-09-07  Matt Rajca  <mrajca@apple.com>
30
31         https://bugs.webkit.org/show_bug.cgi?id=189433
32         <rdar://problem/44186498> Touch Bar displays an active PIP button for audio elements (and it doesn't do anything)
33
34         Reviewed by Eric Carlson.
35
36         An API test has been added that checks the value of the canTogglePictureInPicture and ensures it
37         is NO when audio elements are playing.
38
39         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
40         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.html:
41         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
42         (TestWebKitAPI::TEST):
43         * TestWebKitAPI/Tests/WebKitCocoa/audio-with-controls.html: Added.
44
45 2018-09-09  Commit Queue  <commit-queue@webkit.org>
46
47         Unreviewed, rolling out r235832.
48         https://bugs.webkit.org/show_bug.cgi?id=189464
49
50         Broke WebKit2 tests (Requested by ap on #webkit).
51
52         Reverted changeset:
53
54         "[Cocoa] Turn on ARC for WebKitTestRunner"
55         https://bugs.webkit.org/show_bug.cgi?id=189228
56         https://trac.webkit.org/changeset/235832
57
58 2018-09-08  Simon Fraser  <simon.fraser@apple.com>
59
60         accessibility/notification-listeners.html abandons a document
61         https://bugs.webkit.org/show_bug.cgi?id=188724
62
63         Reviewed by Darin Adler.
64         
65         AccessibilityControllerMac leaked m_globalNotificationHandler, which leaks a JSValueProtect'd function,
66         which leaks a Document. Fix by using adoptNS().
67
68         * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
69         (WTR::AccessibilityController::addNotificationListener):
70
71 2018-09-08  Wenson Hsieh  <wenson_hsieh@apple.com>
72
73         [Cocoa] Use more bridging casts in TestWebKitAPI
74         https://bugs.webkit.org/show_bug.cgi?id=189457
75
76         Reviewed by Darin Adler.
77
78         Adds some bridging casts to TestWebKitAPI, when converting betweeen several common types of objects, including:
79         CFStringRef <=> NSString
80         CFURLRef <=> NSURL
81         WKPreferences <=> WKPreferencesRef
82         CFDataRef <=> NSData
83
84         * TestWebKitAPI/Tests/WebCore/cocoa/SharedBuffer.mm:
85         (TestWebKitAPI::TEST_F):
86         * TestWebKitAPI/Tests/WebKitCocoa/CopyHTML.mm:
87         (readHTMLFromPasteboard):
88         (createWebViewWithCustomPasteboardDataEnabled):
89         * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
90         (createWebViewWithCustomPasteboardDataEnabled):
91         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
92         (TEST):
93         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
94         (writeHTMLToPasteboard):
95         (createWebViewWithCustomPasteboardDataSetting):
96         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
97         (TEST):
98         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
99         (TestWebKitAPI::setUpWebView):
100         (TestWebKitAPI::TEST):
101         * TestWebKitAPI/Tests/WebKitCocoa/PasteRTFD.mm:
102         (writeRTFToPasteboard):
103         (writeRTFDToPasteboard):
104         (createWebViewWithCustomPasteboardDataEnabled):
105         (TEST):
106         * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
107         (createWebViewWithCustomPasteboardDataEnabled):
108         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
109         (TestWebKitAPI::TEST):
110         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
111         (webViewForTestingAttachments):
112         * TestWebKitAPI/Tests/WebKitLegacy/mac/AccessingPastedImage.mm:
113         (writeRTFDToPasteboard):
114         (TestWebKitAPI::TEST):
115         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
116         (TestWebKitAPI::TEST):
117         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
118         (checkRichTextTypePrecedesPlainTextType):
119         (TestWebKitAPI::TEST):
120         (TestWebKitAPI::setUpTestWebViewForDataTransferItems):
121         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
122         (TestWebKitAPI::TEST):
123         * TestWebKitAPI/mac/PlatformUtilitiesMac.mm:
124         (TestWebKitAPI::Util::createInjectedBundlePath):
125         (TestWebKitAPI::Util::createURLForResource):
126         (TestWebKitAPI::Util::URLForNonExistentResource):
127         (TestWebKitAPI::Util::MIMETypeForWKURLResponse):
128         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
129         (TestWebKitAPI::WebKitAgnosticTest::loadURL):
130
131 2018-09-02  Darin Adler  <darin@apple.com>
132
133         [Cocoa] Turn on ARC for WebKitTestRunner
134         https://bugs.webkit.org/show_bug.cgi?id=189228
135
136         Reviewed by Sam Weinig.
137
138         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
139         (+[EventSerializer dictionaryForEvent:relativeToTime:]): Removed autorelease.
140
141         * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
142         (-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Removed autorelease.
143
144         * WebKitTestRunner/Configurations/Base.xcconfig: Added CLANG_ENABLE_OBJC_ARC.
145
146         * WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
147         (WTR::AccessibilityController::accessibleElementById): Use a __bridge cast.
148         * WebKitTestRunner/InjectedBundle/ios/AccessibilityTextMarkerIOS.mm:
149         (WTR::AccessibilityTextMarker::isEqual): Ditto.
150
151         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
152         (WTR::AccessibilityUIElement::AccessibilityUIElement): Removed retain.
153         (WTR::AccessibilityUIElement::~AccessibilityUIElement): Removed release.
154         (WTR::AccessibilityUIElement::removeNotificationListener): Removed release.
155         (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use a __bridge cast.
156         (WTR::AccessibilityUIElement::textMarkerRangeForElement): Ditto.
157         (WTR::AccessibilityUIElement::textMarkerRangeLength): Ditto.
158         (WTR::AccessibilityUIElement::previousTextMarker): Ditto.
159         (WTR::AccessibilityUIElement::nextTextMarker): Ditto.
160         (WTR::AccessibilityUIElement::stringForTextMarkerRange): Ditto.
161         (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
162         (WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
163         (WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
164         (WTR::AccessibilityUIElement::accessibilityElementForTextMarker): Ditto.
165         (WTR::AccessibilityUIElement::textMarkerRangeMatchesTextNearMarkers): Ditto.
166         (WTR::_CGPathEnumerationIteration): Ditto.
167         (WTR::AccessibilityUIElement::pathDescription const): Ditto.
168
169         * WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
170         (-[AccessibilityNotificationHandler dealloc]): Removed [super dealloc].
171
172         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
173         (WTR::AccessibilityUIElement::AccessibilityUIElement): Removed retain.
174         (WTR::AccessibilityUIElement::~AccessibilityUIElement): Removed release.
175         (WTR::AccessibilityUIElement::removeNotificationListener): Removed release.
176         (WTR::createJSStringRef): Removed autorelease.
177
178         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
179         (WTR::initializeWebViewConfiguration): Removed release.
180         (WTR::TestController::cocoaPlatformInitialize): Removed release.
181         (WTR::TestController::platformCreateOtherPage): Removed autorelease.
182
183         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
184         (-[TestRunnerWKWebView dealloc]): Removed [super dealloc] and also many
185         cases of setting properties to nil that were only present for memory
186         management reasons.
187
188         * WebKitTestRunner/ios/GeneratedTouchesDebugWindow.mm:
189         (-[GeneratedTouchesDebugWindow dealloc]): Removed release and [super dealloc].
190
191         * WebKitTestRunner/ios/HIDEventGenerator.mm:
192         (-[HIDEventGenerator dealloc]): Deleted.
193         (-[HIDEventGenerator _sendMarkerHIDEventWithCompletionBlock:]): Removed
194         Block_copy.
195         (-[HIDEventGenerator markerEventReceived:]): Removed Block_release.
196         (-[HIDEventGenerator interpolatedEvents:]): Removed release.
197         (-[HIDEventGenerator sendEventStream:completionBlock:]): Removed autorelease.
198
199         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
200         (-[WebKitTestRunnerWindow dealloc]): Removed [super dealloc].
201         (WTR::PlatformWebView::PlatformWebView): Removed release.
202         (WTR::PlatformWebView::~PlatformWebView): Removed release.
203         (WTR::PlatformWebView::addChromeInputField): Removed release.
204         (WTR::PlatformWebView::removeChromeInputField): Removed release.
205
206         * WebKitTestRunner/ios/TestControllerIOS.mm:
207         (WTR::TestController::initializeInjectedBundlePath): Use __bridge cast.
208         (WTR::TestController::initializeTestPluginDirectory): Ditto.
209
210         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
211         (WTR::UIScriptController::accessibilitySpeakSelectionContent const):
212         Use __bridge cast.
213         (WTR::UIScriptController::enterText): Ditto.
214         (WTR::UIScriptController::selectFormPopoverTitle const): Ditto.
215         (WTR::UIScriptController::textContentType const): Ditto.
216         (WTR::UIScriptController::formInputLabel const): Ditto.
217         (WTR::UIScriptController::scrollingTreeAsText const): Ditto.
218
219         * WebKitTestRunner/mac/PlatformWebViewMac.mm:
220         (WTR::PlatformWebView::~PlatformWebView): Removed release.
221         (WTR::PlatformWebView::addChromeInputField): Removed release.
222
223         * WebKitTestRunner/mac/TestControllerMac.mm:
224         (WTR::allowedFontFamilySet): Removed retain.
225         (WTR::systemHiddenFontFamilySet): Removed retain.
226
227         * WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm:
228         (-[WebKitTestRunnerDraggingInfo draggingDestinationWindow]): Removed retain.
229         (-[WebKitTestRunnerDraggingInfo dealloc]): Deleted.
230
231         * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
232         (+[WebKitTestRunnerPasteboard _pasteboardWithName:]): Removed release.
233         (+[WebKitTestRunnerPasteboard releaseLocalPasteboards]): Removed release.
234         Method name is still OK because setting localPasteboards to nil will
235         still release them.
236         (+[NSPasteboard superAlloc]): Added. Helper so that LocalPasteboard can
237         bypass +[NSPasteboard alloc].
238         (+[NSPasteboard superAllocWithZone:]): Ditto.
239         (+[LocalPasteboard alloc]): Call superAlloc instead of class_createInstance.
240         This is a different way to achieve the "bypass NSPasteboard" behavior we need.
241         (+[LocalPasteboard allocWithZone:]): Added. Calls superAllocWithZone: for the
242         same reason as above. Needed because, at least at this time, +[NSObject alloc]
243         calls +allocWithZone: so we have to override both.
244         (-[LocalPasteboard dealloc]): Deleted.
245         (-[LocalPasteboard addTypes:owner:]): Removed release.
246
247         * WebKitTestRunner/mac/WebKitTestRunnerWindow.mm:
248         (-[WebKitTestRunnerWindow dealloc]): Removed [super dealloc].
249
250         * WebKitTestRunner/mac/main.mm:
251         (disableAppNapInUIProcess): Removed retain.
252
253 2018-09-07  Fujii Hironori  <Hironori.Fujii@sony.com>
254
255         [WinCairo][MiniBrowser][WebKit] REGRESSION(r235398): ASSERTION FAILED: !m_client.didReceiveTitleForFrame
256         https://bugs.webkit.org/show_bug.cgi?id=189336
257
258         Reviewed by Alex Christensen.
259
260         WKPageSetPageLoaderClient is deprecated. Replaced it with
261         WKPageSetPageNavigationClient.
262
263         * MiniBrowser/win/WebKitBrowserWindow.cpp:
264         (WebKitBrowserWindow::WebKitBrowserWindow):
265         Call WKPageSetPageNavigationClient instead of WKPageSetPageLoaderClient.
266         (WebKitBrowserWindow::didFinishNavigation):
267         Copied from didReceiveTitleForFrame. Use WKPageCopyTitle to get the title.
268         (WebKitBrowserWindow::didCommitNavigation):
269         Copied from didCommitLoadForFrame. Use WKPageCopyCommittedURL to get the URL.
270         (WebKitBrowserWindow::didReceiveTitleForFrame): Deleted.
271         (WebKitBrowserWindow::didCommitLoadForFrame): Deleted.
272         * MiniBrowser/win/WebKitBrowserWindow.h: Renamed the class methods.
273
274 2018-09-07  Daniel Bates  <dabates@apple.com>
275
276         [iOS] uiController.typeCharacterUsingHardwareKeyboard("`", ...) dispatches DOM key events for ~
277         https://bugs.webkit.org/show_bug.cgi?id=189325
278
279         Reviewed by Wenson Hsieh.
280
281         Fixes an issue where the test infrastructure would incorrectly synthesized a shift key press followed
282         by a ` key press (i.e. type '~') when instructed to simulate typing a grave accent (`). Typing a
283         grave accent does not require holding the shift key.
284
285         * WebKitTestRunner/ios/HIDEventGenerator.mm:
286         (shouldWrapWithShiftKeyEventForCharacter):
287
288 2018-09-07  Frederic Wang  <fwang@igalia.com>
289
290         [CSSOM View] Handle the scrollingElement in Element::scroll(Left/Top/Width/Height/To)
291         https://bugs.webkit.org/show_bug.cgi?id=182230
292
293         Reviewed by Simon Fraser.
294
295         This patch enables CSSOMViewScrollingAPI during test execution.
296
297         * DumpRenderTree/mac/DumpRenderTree.mm:
298         (enableExperimentalFeatures):
299         (resetWebPreferencesToConsistentValues):
300         * DumpRenderTree/win/DumpRenderTree.cpp:
301         (enableExperimentalFeatures):
302         * WebKitTestRunner/TestController.cpp:
303         (WTR::TestController::resetPreferencesToConsistentValues):
304
305 2018-09-07  Simon Fraser  <simon.fraser@apple.com>
306
307         resultsjsonparser needs to handle leak failures
308         https://bugs.webkit.org/show_bug.cgi?id=189430
309
310         Reviewed by Alexey Proskuryakov.
311         
312         Teach resultsjsonparser how to handle LEAK failures, building a FailureDocumentLeak
313         with a list of the leaked URLs.
314
315         * Scripts/webkitpy/common/net/resultsjsonparser.py:
316         (JSONTestResult._failure_types_from_actual_result):
317         * Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
318         (ParsedJSONResultsTest):
319         (test_basic):
320
321 2018-09-07  Aakash Jain  <aakash_jain@apple.com>
322
323         [ews-build] API tests should output result summary in json
324         https://bugs.webkit.org/show_bug.cgi?id=189417
325
326         Reviewed by Lucas Forschler.
327
328         * BuildSlaveSupport/ews-build/steps.py:
329         (RunAPITests): Passed --json-output parameter to run-api-tests.
330         * BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests.
331
332 2018-09-07  Commit Queue  <commit-queue@webkit.org>
333
334         Unreviewed, rolling out r235784.
335         https://bugs.webkit.org/show_bug.cgi?id=189421
336
337         RunLoopCF does not agree to the fix (Requested by yusukesuzuki
338         on #webkit).
339
340         Reverted changeset:
341
342         "[RunLoopGeneric] OneShotTimer should be inactive when fired."
343         https://bugs.webkit.org/show_bug.cgi?id=189335
344         https://trac.webkit.org/changeset/235784
345
346 2018-09-07  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
347
348         [RunLoopGeneric] OneShotTimer should be inactive when fired.
349         https://bugs.webkit.org/show_bug.cgi?id=189335
350
351         Reviewed by Yusuke Suzuki.
352
353         * TestWebKitAPI/Tests/WTF/RunLoop.cpp:
354         (TestWebKitAPI::TEST):
355
356         Add test expectations about timer's active state.
357
358         Add a new test to restart a one-shot timer within
359         its fired callback.
360
361 2018-09-06  Zalan Bujtas  <zalan@apple.com>
362
363         [LFC] Add support for min/max-height percentage values.
364         https://bugs.webkit.org/show_bug.cgi?id=189391
365
366         Reviewed by Antti Koivisto.
367
368         * LayoutReloaded/misc/LFC-passing-tests.txt:
369
370 2018-09-06  Simon Fraser  <simon.fraser@apple.com>
371
372         Log when leak detection changes the test result
373         https://bugs.webkit.org/show_bug.cgi?id=189293
374
375         Reviewed by Jon Lee.
376         
377         When you have an "Leak" expectation in TestExpectations, it's confusing to see a test unexpectedly pass,
378         but then show up as an expected fail at the end (because leak detection happens at the end of a shard).
379         So log when leak detection changes a test result.
380
381         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
382         (LayoutTestRunner._annotate_results_with_additional_failures):
383         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
384         (TestExpectations):
385
386 2018-09-06  Wenson Hsieh  <wenson_hsieh@apple.com>
387
388         [macOS] [WK2] Support changing attributes for selected text (text shadow, underline, strike-through)
389         https://bugs.webkit.org/show_bug.cgi?id=189356
390         <rdar://problem/44185674>
391
392         Reviewed by Tim Horton.
393
394         Adds a new API test to verify that some font attributes (text shadow, underline, and strike-through) can be
395         added and removed using NSFontPanel.
396
397         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
398         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
399
400         Add the new API test.
401
402         (TestWebKitAPI::TEST):
403         * TestWebKitAPI/cocoa/TestWKWebView.h:
404         * TestWebKitAPI/mac/NSFontPanelTesting.h: Added.
405         * TestWebKitAPI/mac/NSFontPanelTesting.mm: Added.
406
407         Introduce a new file that extends NSFontPanel with some additional testing functionality. This includes the
408         ability to interact with the text shadow toggle button, choose the text shadow blur radius and opacity, and
409         change underline and strike-through styles.
410
411         (findSubviewOfClass):
412         (findMenuItemWithTitle):
413         (-[NSFontPanel fontEffectsBox]):
414
415         NSFontEffectsBox (an internal AppKit class) is the sender in the case where -changeAttributes: is invoked
416         through interaction with the font panel. To simulate this for testing, grab this font effects box and pass it
417         directory to -changeAttributes:.
418
419         (-[NSFontPanel chooseUnderlineMenuItemWithTitle:]):
420         (-[NSFontPanel chooseStrikeThroughMenuItemWithTitle:]):
421
422         The supported values for these menu items are "none" and "single", which adds a single underline or
423         strike-through to selected text. We grab these menu items by asking for the font panel's NSToolbar, and finding
424         the relevant menu items via toolbar item identifiers.
425
426         (-[NSFontPanel _didChangeAttributes]):
427         (-[NSFontPanel shadowBlurSlider]):
428         (-[NSFontPanel shadowOpacitySlider]):
429         (-[NSFontPanel shadowToggleButton]):
430         (-[NSFontPanel toggleShadow]):
431         (-[NSFontPanel shadowOpacity]):
432         (-[NSFontPanel setShadowOpacity:]):
433         (-[NSFontPanel shadowBlur]):
434         (-[NSFontPanel setShadowBlur:]):
435         (-[NSFontPanel _toolbarItemWithIdentifier:]):
436
437 2018-09-06  Simon Fraser  <simon.fraser@apple.com>
438
439         run-webkit-tests prints confusing messages when test expectations list results that are not compatible with the run options
440         https://bugs.webkit.org/show_bug.cgi?id=189219
441
442         Reviewed by Jon Lee.
443         
444         If you call run-webkit-tests without --pixel-tests, and a non-ref test is marked as ImageOnlyFailure,
445         it will be reported as unexpectedly passing. This is more confusing if you run without --world-leaks, yet
446         tests are marked as [ Leak ] in TestExpectations.
447         
448         Fix by filtering out expectations that don't apply given the run options. So without --pixel-tests,
449         a non-ref ImageOnlyFailure becomes a Pass, and without --world-leaks, a Leak becomes a Pass.
450         
451         Add various unit tests to test the various combinations.
452
453         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
454         (LayoutTestRunner._update_summary_with_result):
455         (LayoutTestRunner._annotate_results_with_additional_failures):
456         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
457         (LayoutTestRunnerTests.test_update_summary_with_result):
458         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
459         (TestExpectationsModel.get_expectations_or_pass):
460         (TestExpectationsModel):
461         (TestExpectationsModel.expectations_to_string):
462         (TestExpectationsModel.get_expectations_string):
463         (TestExpectations.filtered_expectations_for_test):
464         (TestExpectations):
465         (TestExpectations.matches_an_expected_result):
466         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
467         * Scripts/webkitpy/layout_tests/models/test_run_results.py:
468         (summarize_results):
469         * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
470         (summarized_results):
471         (SummarizedResultsTest.setUp):
472         (SummarizedResultsTest.test_summarized_results_include_passes):
473         (SummarizedResultsTest):
474         (SummarizedResultsTest.test_summarized_results_world_leaks_disabled):
475         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
476         * Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:
477         (BuildBotPrinterTests.test_print_unexpected_results):
478         (BuildBotPrinterTests.test_print_unexpected_results_with_options):
479         (BuildBotPrinterTests.test_print_results):
480         * Scripts/webkitpy/port/test.py:
481         (unit_test_list):
482
483 2018-09-06  Zalan Bujtas  <zalan@apple.com>
484
485         [LFC][BFC] Add support for min(max)-height
486         https://bugs.webkit.org/show_bug.cgi?id=189377
487
488         Reviewed by Antti Koivisto.
489
490         * LayoutReloaded/misc/LFC-passing-tests.txt:
491
492 2018-09-06  Dewei Zhu  <dewei_zhu@apple.com>
493
494         BenchmarkResults.format should support specifying depth of tests to show.
495         https://bugs.webkit.org/show_bug.cgi?id=189135
496
497         Reviewed by Ryosuke Niwa.
498
499         Added the option to specify the depth of tests to show.
500
501         * Scripts/webkitpy/benchmark_runner/benchmark_results.py:
502         (BenchmarkResults):
503         (BenchmarkResults.format): Added 'max_depth' option.
504         (BenchmarkResults._format_tests): Added unit tests for 'max_depth'.
505
506
507 2018-09-06  Simon Fraser  <simon.fraser@apple.com>
508
509         An EWS run that has leak test failures does not correctly add bugzilla comments showing the failures
510         https://bugs.webkit.org/show_bug.cgi?id=189368
511
512         Reviewed by Alexey Proskuryakov.
513         
514         Include FailureDocumentLeak in ALL_FAILURE_CLASSES (with a fairly redundant test),
515         which should fix EWS showing leaks in Bugzilla.
516
517         * Scripts/webkitpy/layout_tests/models/test_failures.py:
518         (FailureDocumentLeak.__init__):
519         * Scripts/webkitpy/layout_tests/models/test_failures_unittest.py:
520         (TestFailuresTest.test_all_failure_classes):
521
522 2018-09-06  Commit Queue  <commit-queue@webkit.org>
523
524         Unreviewed, rolling out r235755.
525         https://bugs.webkit.org/show_bug.cgi?id=189367
526
527         Didn't address the review comment (Requested by rniwa on
528         #webkit).
529
530         Reverted changeset:
531
532         "BenchmarkResults.format should support specifying depth of
533         tests to show."
534         https://bugs.webkit.org/show_bug.cgi?id=189135
535         https://trac.webkit.org/changeset/235755
536
537 2018-08-29  Dewei Zhu  <dewei_zhu@apple.com>
538
539         BenchmarkResults.format should support specifying depth of tests to show.
540         https://bugs.webkit.org/show_bug.cgi?id=189135
541
542         Reviewed by Ryosuke Niwa.
543
544         Added the option to specify the depth of tests to show.
545
546         * Scripts/webkitpy/benchmark_runner/benchmark_results.py:
547         (BenchmarkResults):
548         (BenchmarkResults.format): Added 'max_depth' option.
549         (BenchmarkResults._format_tests): Added unit tests for 'max_depth'.
550
551 2018-09-06  Thomas Denney  <tdenney@apple.com>
552
553         [WHLSL] Call arguments should be copied as soon as they are evaluated
554         https://bugs.webkit.org/show_bug.cgi?id=189360
555
556         Reviewed by Myles C. Maxfield.
557
558         Previously all call arguments were evaluated and then their results were
559         copied into new buffers for the call. However, the results are not
560         necessarily independent, so the result should be copied immediately
561         after evaluation.
562
563         * WebGPUShadingLanguageRI/Evaluator.js:
564         (Evaluator.prototype.visitCallExpression): Move location of copy.
565         (Evaluator):
566         * WebGPUShadingLanguageRI/Test.js: Add new test to verify correct
567         behavior.
568
569 2018-09-06  Thomas Denney  <tdenney@apple.com>
570
571         [WHLSL] The test suite should log the compile time for the standard library
572         https://bugs.webkit.org/show_bug.cgi?id=189354
573
574         Reviewed by Myles C. Maxfield.
575
576         The test suite previously only logged the time for test execution, and
577         not the compile time for the standard library.
578
579         * WebGPUShadingLanguageRI/Test.js:
580
581 2018-09-06  Wenson Hsieh  <wenson_hsieh@apple.com>
582
583         [macOS] Cannot change font size at selection until font panel is shown
584         https://bugs.webkit.org/show_bug.cgi?id=189295
585         <rdar://problem/35593389>
586
587         Reviewed by Ryosuke Niwa.
588
589         Add API tests to simulate using menu items to increase or decrease font size, and also simulate using
590         NSFontPanel to specify the font family, font size, and other traits.
591
592         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
593         * TestWebKitAPI/Tests/mac/FontManagerTests.mm: Added.
594         (-[TestWKWebView selectedText]):
595         (-[TestWKWebView selectNextWord]):
596         (-[TestWKWebView stylePropertyAtSelectionStart:]):
597         (-[TestWKWebView stylePropertyAtSelectionEnd:]):
598         (webViewForFontManagerTesting):
599         (menuItemCellForFontAction):
600         (TestWebKitAPI::TEST):
601
602 2018-09-06  Zalan Bujtas  <zalan@apple.com>
603
604         [LFC][BFC] Add support for min(max)-width
605         https://bugs.webkit.org/show_bug.cgi?id=189358
606
607         Reviewed by Antti Koivisto.
608
609         * LayoutReloaded/misc/LFC-passing-tests.txt:
610
611 2018-09-06  Myles C. Maxfield  <mmaxfield@apple.com>
612
613         [WHLSL] The parser is too slow
614         https://bugs.webkit.org/show_bug.cgi?id=189014
615
616         Reviewed by Filip Pizlo.
617
618         This patch includes three changes:
619         1. Migrate from using try/catch to simply returning the WSyntaxError. This means that
620            each parser call has to check for this sentinel value. The lexer still can throw if
621            it encounters an unknown token or an unmatched "/*" token (which is rare).
622         2. After removing try/catch, making the sentinel values not inherit from Error (the
623            Error constructor was taking lots of time)
624         3. Previously, every time the parser failed (which is many times per expression) it was
625            running a regex over the entire source text to figure out where the error occurred.
626            Instead, we can preprocess the text string to find these line numbers ahead of time.
627
628         Together, these make the parser 75x faster. Parsing the standard library goes from 2.5
629         hours down to 2 minutes. Because it's now a reasonable length, this patch uncomments
630         the bulk of the standard library.
631
632         * WebGPUShadingLanguageRI/All.js:
633         * WebGPUShadingLanguageRI/Lexer.js:
634         (Lexer):
635         (Lexer.prototype.lineNumberForIndex):
636         * WebGPUShadingLanguageRI/Parse.js:
637         (fail):
638         (backtrackingScope):
639         (testScope):
640         (genericConsume):
641         (consumeEndOfTypeArgs):
642         (parseTerm):
643         (parseConstexpr):
644         (parseTypeArguments):
645         (parseType.getAddressSpace):
646         (parseType):
647         (parseTypeDef):
648         (genericParseLeft):
649         (parseCallExpression.let.parseArguments):
650         (isCallExpression):
651         (parseSuffixOperator):
652         (parsePossibleSuffix):
653         (parsePreIncrement):
654         (parsePossiblePrefix):
655         (parsePossibleTernaryConditional):
656         (parsePossibleAssignment):
657         (parsePostIncrement):
658         (parseEffectfulExpression):
659         (genericParseCommaExpression):
660         (parseEffectfulStatement):
661         (parseReturn):
662         (parseBreak):
663         (parseContinue):
664         (parseIfStatement):
665         (parseWhile):
666         (parseFor):
667         (parseDo):
668         (parseVariableDecls):
669         (parseSwitchCase):
670         (parseSwitchStatement):
671         (parseStatement):
672         (parseBlockBody):
673         (parseBlock):
674         (parseParameter):
675         (parseFuncName):
676         (parseFuncDecl):
677         (parseFuncDef):
678         (parseField):
679         (parseStructType):
680         (parseNativeFunc):
681         (parseNative):
682         (parseRestrictedFuncDef):
683         (parseEnumMember):
684         (parseEnumType):
685         (parse):
686         * WebGPUShadingLanguageRI/SPIRV.html:
687         * WebGPUShadingLanguageRI/StandardLibrary.js:
688         (let.standardLibrary):
689         * WebGPUShadingLanguageRI/Test.html:
690         * WebGPUShadingLanguageRI/Test.js:
691         (checkFail.doPrep): Deleted.
692         * WebGPUShadingLanguageRI/WLexicalError.js: Added.
693         (WLexicalError):
694         * WebGPUShadingLanguageRI/index.html:
695
696 2018-09-06  Xan Lopez  <xan@igalia.com>
697
698         [test262] Do not call keys on a reference
699         https://bugs.webkit.org/show_bug.cgi?id=189301
700
701         Reviewed by Keith Miller.
702
703         * Scripts/test262/Runner.pm:
704         (UpdateResults):
705
706 2018-09-06  David Kilzer  <ddkilzer@apple.com>
707
708         svn-create-patch fails when svn mv is used on directory trees
709         <https://webkit.org/b/14590>
710
711         Reviewed by Daniel Bates.
712
713         * Scripts/VCSUtils.pm: Export parseSvnDiffStartLine() for
714         svn-create-patch.
715         (parseDiffStartLine): Use parseSvnDiffStartLine().
716         (parseGitDiffStartLine): Document a prerequisite.  Fix a bug
717         when parsing Git patches using `git diff --no-prefix` that have
718         non-native line endings.  Found by new tests written for
719         Scripts/webkitperl/VCSUtils_unittest/parseDiffStartLine.pl.
720         (parseSvnDiffStartLine): Add.  Extract logic from
721         parseDiffStartLine() for use with svn-create-patch.
722
723         * Scripts/svn-create-patch: Update copyright and license.
724         (generateDiff): Return early for moved directories since
725         individual files within the directory are handled separately.
726         (generateFileList): Keep track of moved directories in the
727         @additionWithHistoryDirectories array, then process this array
728         in reverse order to create delete/add patches for each file in
729         a moved directory.  This also prevents duplicate patches.
730         (manufacturePatchForAdditionWithHistory): Fix a long-standing
731         bug where the path used to describe property changes contained
732         the original (moved-from) path instead of the new (moved-to)
733         path. This could cause svn-apply to fail mysteriously when
734         trying to apply an empty patch created by the property change
735         containing the moved-from path.
736
737         * Scripts/webkitperl/VCSUtils_unittest/parseDiffStartLine.pl: Add.
738         Tests for parseDiffStartLine(), parseGitDiffStartLine() and
739         parseSvnDiffStartLine().
740
741 2018-09-05  Don Olmstead  <don.olmstead@sony.com>
742
743         [CMake] Allow port specific options on gtest
744         https://bugs.webkit.org/show_bug.cgi?id=189313
745
746         Reviewed by Alex Christensen.
747
748         Use the global property set by the gtest CMake file to add to the
749         compilation definitions for TestWebKitAPI rather than repeating the
750         logic.
751
752         * TestWebKitAPI/CMakeLists.txt:
753
754 2018-09-05  Woodrow Wang  <woodrow_wang@apple.com>
755
756         Add infrastructure to dump resource load statistics
757         https://bugs.webkit.org/show_bug.cgi?id=189213
758
759         Reviewed by Daniel Bates.
760
761         The dumping functionality is not currently used, but will be included in tests for
762         <https://bugs.webkit.org/show_bug.cgi?id=187773>.
763
764         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
765         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
766         (WTR::TestRunner::setDumpResourceLoadStatistics):
767         * WebKitTestRunner/InjectedBundle/TestRunner.h:
768         * WebKitTestRunner/TestController.cpp:
769         (WTR::resourceStatisticsStringResultCallback):
770         (WTR::TestController::dumpResourceLoadStatistics):
771         * WebKitTestRunner/TestController.h:
772         * WebKitTestRunner/TestInvocation.cpp:
773         (WTR::TestInvocation::dumpResults):
774         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
775         (WTR::TestInvocation::setDumpResourceLoadStatistics):
776         * WebKitTestRunner/TestInvocation.h:
777
778 2018-09-05  Wenson Hsieh  <wenson_hsieh@apple.com>
779
780         [macOS] DragAndDropTests.ExposeMultipleURLsInDataTransfer fails on macOS versions prior to Mojave
781         https://bugs.webkit.org/show_bug.cgi?id=189315
782
783         Reviewed by Tim Horton.
784
785         Fix the test failure by explicitly enabling custom pasteboard data.
786
787         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
788         (TEST):
789
790 2018-09-05  Woodrow Wang  <woodrow_wang@apple.com>
791
792         Added runtime feature flag for web API statistics
793         https://bugs.webkit.org/show_bug.cgi?id=189211
794
795         Reviewed by Daniel Bates.
796
797         Added functionality to set the runtime flag with a JavaScript exposed function
798         for testing.
799
800         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
801         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
802         (WTR::TestRunner::setWebAPIStatisticsEnabled):
803         * WebKitTestRunner/InjectedBundle/TestRunner.h:
804
805 2018-09-05  Ross Kirsling  <ross.kirsling@sony.com>
806
807         Add WinCairo to bot watcher's dashboard.
808         https://bugs.webkit.org/show_bug.cgi?id=189273
809
810         Reviewed by Aakash Jain.
811
812         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10.png: Added.
813         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Windows10@2x.png: Added.
814
815         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
816         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
817         (table.queue-grid tr.platform.windows-10 img.logo): Added.
818         (table.queue-grid tr.platform.windows-8 img.logo): Deleted.
819         (table.queue-grid tr.platform.windows-xp img.logo): Deleted.
820         Add Win10 section to dashboard. Remove unused WinXP and Win8 sections.
821
822         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
823         (BubbleQueueServer):
824         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
825         (WebKitBuildbot):
826         Add WinCairo build, test, and EWS bots to Win10 section of dashboard.
827
828 2018-09-05  David Kilzer  <ddkilzer@apple.com>
829
830         REGRESSION (r209470): EditingHistory folder is missing in EditingHistory Xcode project
831
832         Found using `tidy-Xcode-project-file --missing` (see Bug
833         188754).  Fixes were made manually.
834
835         * EditingHistory/EditingHistory.xcodeproj/project.pbxproj:
836         (EditingHistory): Change the path of the folder to
837         "EditingHistory", then remove the now-redundant name.
838         (EditingHistory/Resources/DumpEditingHistory.js): Remove
839         redundant file reference since another file reference exists at
840         the top of the project file list, and that file reference is the
841         one used in the "Copy Bundle Resources" build phase.
842         (EditingHistory/Resources/EditingHistoryUtil.js): Ditto.
843
844 2018-09-05  David Kilzer  <ddkilzer@apple.com>
845
846         REGRESSION (r160736): Bundle folder is missing in MiniBrowser Xcode project
847
848         Found using `tidy-Xcode-project-file --missing` (see Bug
849         188754).  Folder fix was made manually.
850
851         * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj:
852         (Bundle): Change the path of the folder to "mac/Bundle", and set
853         the name back to "Bundle".
854         (Bundle/Info.plist): Change file reference to be relative to its
855         group.  Accomplished using Xcode after fixing the folder path.
856         (Bundle/MiniBrowserBundle_Prefix.pch): Ditto.
857
858 2018-09-05  David Kilzer  <ddkilzer@apple.com>
859
860         REGRESSION (r184033): ContentExtensionTester folder is missing in ContentExtensionTester Xcode project
861
862         Found using `tidy-Xcode-project-file --missing` (see Bug
863         188754).  Fixes were made manually.
864
865         * ContentExtensionTester/ContentExtensionTester.xcodeproj/project.pbxproj:
866         (ContentExtensionTester): Change the path of the folder to map
867         to "." (which exists and is where main.m is located), and then
868         set the folder's name back to "ContentExtensionTester".
869         (main.m): Change file reference to be relative to its group now
870         that the group's path is fixed.
871
872 2018-09-04  Don Olmstead  <don.olmstead@sony.com>
873
874         Add generic entrypoint and run loop in TestWebKitAPI
875         https://bugs.webkit.org/show_bug.cgi?id=189287
876
877         Reviewed by Michael Catanzaro.
878
879         The implementations in jsconly are platform agnostic.
880
881         * TestWebKitAPI/PlatformJSCOnly.cmake:
882         Use the glib implementation of Utilities when using that as a run loop
883         otherwise use the generic implementation.
884
885         * TestWebKitAPI/PlatformUtilities.h:
886         Remove repeated entries from Utilities.h.
887
888         * TestWebKitAPI/PlatformWPE.cmake:
889         Use the generic main.cpp.
890         
891         * TestWebKitAPI/generic/UtilitiesGeneric.cpp: Renamed from Tools/TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp.
892         (TestWebKitAPI::Util::run):
893         (TestWebKitAPI::Util::spinRunLoop):
894         Moved to a generic implementation and added spinRunLoop.
895
896         * TestWebKitAPI/generic/main.cpp: Renamed from Tools/TestWebKitAPI/jsconly/main.cpp.
897         Share between JSCOnly and WPE
898
899         * TestWebKitAPI/wpe/main.cpp: Removed.
900
901 2018-09-04  Don Olmstead  <don.olmstead@sony.com>
902
903         [CMake] Make TestWebKitAPI dependencies explicit
904         https://bugs.webkit.org/show_bug.cgi?id=189282
905
906         Reviewed by Fujii Hironori.
907
908         The config.h file includes files from JSC, WebCore and WebKit which
909         places a dependency on those headers even when just building TestWTF.
910         This makes the depedencies explicit for all CMake ports and shoud
911         remove any race conditions that can be encountered when building tests.
912
913         * TestWebKitAPI/CMakeLists.txt:
914         * TestWebKitAPI/PlatformGTK.cmake:
915         * TestWebKitAPI/PlatformWPE.cmake:
916         * TestWebKitAPI/PlatformWin.cmake:
917
918 2018-09-04  Wenson Hsieh  <wenson_hsieh@apple.com>
919
920         Populate "text/uri-list" with multiple URLs when the pasteboard contains multiple URLs
921         https://bugs.webkit.org/show_bug.cgi?id=188890
922         <rdar://problem/43648605>
923
924         Reviewed by Tim Horton.
925
926         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
927         (-[LocalPasteboard pasteboardItems]):
928
929         Implement this method to avoid crashing when running layout tests that access the pasteboard.
930
931         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
932
933         Add a test to verify that on macOS and iOS, multiple URLs dropped onto the page are accessible via
934         "text/uri-list".
935
936         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
937
938         Add a test that exercises 5 different ways to write one or more URLs to the pasteboard on macOS; in all cases,
939         the URLs written to the pasteboard should be exposed to the page via "text/uri-list". In all of these different
940         cases, the results of using `-[NSPasteboardItem stringForType:]`, `-[NSURL URLFromPasteboard:]` and
941         `-[NSPasteboard stringForType:]` will yield different results, so the purpose of this API test is to ensure that
942         our logic for grabbing a list of URLs from the pasteboard on macOS is robust enough to handle all of these
943         different behaviors.
944
945         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
946
947         Add a test to verify that on iOS, using `-[UIPasteboard setURLs:]` to write to multiple URLs to the pasteboard
948         and then pasting results in "text/uri-list" exposing a list of all the URLs written to the pasteboard.
949
950         * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
951         (-[LocalPasteboard pasteboardItems]):
952
953         Implement this method to avoid crashing when running layout tests that access the pasteboard.
954
955 2018-09-04  Simon Fraser  <simon.fraser@apple.com>
956
957         REGRESSION(r235408): GTK bots exiting early
958         https://bugs.webkit.org/show_bug.cgi?id=189063
959
960         Reviewed by Michael Catanzaro.
961         
962         WebKitTestRunner was running the world leak checks even when run without --world-leaks,
963         causing GTK bot timeouts. So guard updateLiveDocumentsAfterTest(), checkForWorldLeaks()
964         and findAndDumpWorldLeaks() with m_checkForWorldLeaks checks, and in
965         TestController::handleControlCommand() print a message if the control script sends the
966         "#CHECK FOR WORLD LEAKS" command if WTR was not run with --world-leaks.
967         
968         I tested that running with --world-leaks still works.
969
970         * WebKitTestRunner/TestController.cpp:
971         (WTR::TestController::resetStateToConsistentValues):
972         (WTR::TestController::updateLiveDocumentsAfterTest):
973         (WTR::TestController::checkForWorldLeaks):
974         (WTR::TestController::findAndDumpWorldLeaks):
975         (WTR::TestController::handleControlCommand):
976         (WTR::TestController::run):
977
978 2018-09-04  Myles C. Maxfield  <mmaxfield@apple.com>
979
980         Unreviewed follow-up to r235635
981         https://bugs.webkit.org/show_bug.cgi?id=188940
982
983         Use "let" variables instead of "var" variables.
984
985         * WebGPUShadingLanguageRI/StandardLibrary.js:
986         (let.standardLibrary):
987
988 2018-09-04  Myles C. Maxfield  <mmaxfield@apple.com>
989
990         [WHLSL] Implement texture types
991         https://bugs.webkit.org/show_bug.cgi?id=188940
992
993         Rubber-stamped by Dean Jackson.
994
995         Implement the texture types and operations. This includes Sample(), Load(), Store(), Gather(), and GetDimensions().
996         These functions were implemented according to section 15 of the Vulkan 1.1.83 spec, which lists each operation
997         and how to compute its results.
998
999         * WebGPUShadingLanguageRI/All.js:
1000         * WebGPUShadingLanguageRI/Casts.js: Moved from Intrinsics. The texture operations need to cast too, so these are
1001         moved into a common location.
1002         (cast):
1003         (bitwiseCast):
1004         (castToUchar):
1005         (castToUshort):
1006         (castToUint):
1007         (castToChar):
1008         (castToShort):
1009         (castToInt):
1010         (castToHalf):
1011         (castToFloat):
1012         * WebGPUShadingLanguageRI/Intrinsics.js: Use Casts.js and call into TextureOperations.js.
1013         (Intrinsics.):
1014         (Intrinsics.checkFalse):
1015         (Intrinsics.boxVector):
1016         (Intrinsics.unboxVector):
1017         (Intrinsics):
1018         (Intrinsics.cast): Deleted.
1019         (Intrinsics.bitwiseCast): Deleted.
1020         (Intrinsics.castToHalf): Deleted.
1021         * WebGPUShadingLanguageRI/SPIRV.html:
1022         * WebGPUShadingLanguageRI/Sampler.js: Added. Represent the Sampler type. 
1023         (Sampler):
1024         (Sampler.prototype.get rAddressMode):
1025         (Sampler.prototype.get sAddressMode):
1026         (Sampler.prototype.get tAddressMode):
1027         (Sampler.prototype.get minFilter):
1028         (Sampler.prototype.get magFilter):
1029         (Sampler.prototype.get mipmapFilter):
1030         (Sampler.prototype.get lodMinClamp):
1031         (Sampler.prototype.get lodMaxClamp):
1032         (Sampler.prototype.get maxAnisotropy):
1033         (Sampler.prototype.get compareFunction):
1034         (Sampler.prototype.get borderColor):
1035         (Sampler.prototype.calculateBorderColor.computeValues):
1036         (Sampler.prototype.calculateBorderColor):
1037         * WebGPUShadingLanguageRI/StandardLibrary.js: Update the standard library. Some of the functions were
1038         either missing or wrong.
1039         (let.standardLibrary):
1040         * WebGPUShadingLanguageRI/Test.html:
1041         * WebGPUShadingLanguageRI/Test.js: Test many, many combinations of the texture operations.
1042         (makeSampler):
1043         (make1DTexture):
1044         (make1DTextureArray):
1045         (make2DTexture):
1046         (make2DTextureArray):
1047         (make3DTexture):
1048         (makeTextureCube):
1049         (makeRW1DTexture):
1050         (makeRW1DTextureArray):
1051         (makeRW2DTexture):
1052         (makeRW2DTextureArray):
1053         (makeRW3DTexture):
1054         (make2DDepthTexture):
1055         (make2DDepthTextureArray):
1056         (makeDepthTextureCube):
1057         (makeRW2DDepthTexture):
1058         (makeRW2DDepthTextureArray):
1059         (checkFloat4):
1060         * WebGPUShadingLanguageRI/Texture.js: Added. Represents each of the texture types.
1061         (Texture):
1062         (Texture.prototype.get dimension):
1063         (Texture.prototype.get width):
1064         (Texture.prototype.get height):
1065         (Texture.prototype.get depth):
1066         (Texture.prototype.get levelCount):
1067         (Texture.prototype.get layerCount):
1068         (Texture.prototype.get innerType):
1069         (Texture.prototype.get data):
1070         (Texture.prototype.elementChecked):
1071         (Texture.prototype.setElementChecked):
1072         (Texture1D):
1073         (Texture1D.prototype.widthAtLevel):
1074         (Texture1D.prototype.heightAtLevel):
1075         (Texture1D.prototype.depthAtLevel):
1076         (Texture1D.prototype.element):
1077         (Texture1D.prototype.setElement):
1078         (Texture1DArray):
1079         (Texture1DArray.prototype.widthAtLevel):
1080         (Texture1DArray.prototype.heightAtLevel):
1081         (Texture1DArray.prototype.depthAtLevel):
1082         (Texture1DArray.prototype.element):
1083         (Texture1DArray.prototype.setElement):
1084         (Texture2D):
1085         (Texture2D.prototype.widthAtLevel):
1086         (Texture2D.prototype.heightAtLevel):
1087         (Texture2D.prototype.depthAtLevel):
1088         (Texture2D.prototype.element):
1089         (Texture2D.prototype.setElement):
1090         (Texture2DArray):
1091         (Texture2DArray.prototype.widthAtLevel):
1092         (Texture2DArray.prototype.heightAtLevel):
1093         (Texture2DArray.prototype.depthAtLevel):
1094         (Texture2DArray.prototype.element):
1095         (Texture2DArray.prototype.setElement):
1096         (Texture3D):
1097         (Texture3D.prototype.widthAtLevel):
1098         (Texture3D.prototype.heightAtLevel):
1099         (Texture3D.prototype.depthAtLevel):
1100         (Texture3D.prototype.element):
1101         (Texture3D.prototype.setElement):
1102         (TextureCube):
1103         (TextureCube.prototype.widthAtLevel):
1104         (TextureCube.prototype.heightAtLevel):
1105         (TextureCube.prototype.depthAtLevel):
1106         (TextureCube.prototype.element):
1107         (TextureCube.prototype.setElement):
1108         (Texture1DRW):
1109         (Texture1DRW.prototype.widthAtLevel):
1110         (Texture1DRW.prototype.heightAtLevel):
1111         (Texture1DRW.prototype.depthAtLevel):
1112         (Texture1DRW.prototype.element):
1113         (Texture1DRW.prototype.setElement):
1114         (Texture1DArrayRW):
1115         (Texture1DArrayRW.prototype.widthAtLevel):
1116         (Texture1DArrayRW.prototype.heightAtLevel):
1117         (Texture1DArrayRW.prototype.depthAtLevel):
1118         (Texture1DArrayRW.prototype.element):
1119         (Texture1DArrayRW.prototype.setElement):
1120         (Texture2DRW):
1121         (Texture2DRW.prototype.widthAtLevel):
1122         (Texture2DRW.prototype.heightAtLevel):
1123         (Texture2DRW.prototype.depthAtLevel):
1124         (Texture2DRW.prototype.element):
1125         (Texture2DRW.prototype.setElement):
1126         (Texture2DArrayRW):
1127         (Texture2DArrayRW.prototype.widthAtLevel):
1128         (Texture2DArrayRW.prototype.heightAtLevel):
1129         (Texture2DArrayRW.prototype.depthAtLevel):
1130         (Texture2DArrayRW.prototype.element):
1131         (Texture2DArrayRW.prototype.setElement):
1132         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW):
1133         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.widthAtLevel):
1134         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.heightAtLevel):
1135         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.depthAtLevel):
1136         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.element):
1137         (let.TextureDepth2DArrayRW.Texture2DArrayRW.Texture3DRW.prototype.setElement):
1138         * WebGPUShadingLanguageRI/TextureOperations.js: Added. This implements the texture operations
1139         as described in section 15 of the Vulkan 1.1.83 spec.
1140         (depthCompareOperation):
1141         (conversionToRGBA):
1142         (projectionOperation):
1143         (cubeMapFaceSelection):
1144         (cubeMapCoordinateTransformation):
1145         (cubeMapDerivativeTransformation):
1146         (scaleFactorOperation):
1147         (levelOfDetailOperation):
1148         (nearest):
1149         (imageLevelSelection):
1150         (strqaToUVWATransformation):
1151         (rne):
1152         (uvwaToIJKLNTransformationAndArrayLayerSelection):
1153         (integerTexelCoordinateOperations):
1154         (mirror):
1155         (transform):
1156         (wrappingOperation):
1157         (calculateLambda):
1158         (shouldBeBorder):
1159         (accessColor):
1160         (computeTau):
1161         (reduce):
1162         (texelGathering):
1163         (computeColorFromLevel):
1164         (texelFiltering):
1165         (castToInnerTypeForGather):
1166         (gatherTexture):
1167         (castToInnerType):
1168         (sampleTexture):
1169         * WebGPUShadingLanguageRI/index.html:
1170
1171 2018-09-04  Alexey Proskuryakov  <ap@apple.com>
1172
1173         Removing an accidentally committed debugging print.
1174
1175         * Scripts/run-leaks: (runLeaks)
1176
1177 2018-09-04  Alexey Proskuryakov  <ap@apple.com>
1178
1179         run-leaks should run leaks with --list (on Mojave)
1180         https://bugs.webkit.org/show_bug.cgi?id=187716
1181         <rdar://problem/42261676>
1182
1183         Reviewed by Lucas Forschler.
1184
1185         Also enabled dumping memgraphs. We'll be pruning these aggressively, as they take
1186         significant space.
1187
1188         * Scripts/run-leaks:
1189         (main): Added an option to store memgraphs.
1190         (runLeaks): As there is no way to test whether the new format is supported in advance,
1191         we have to try with --list first, and retry if that fails. Also, made leaks operate
1192         on a memgraph file if we are saving it anyway.
1193
1194         * Scripts/webkitpy/port/leakdetector.py:
1195         (LeakDetector._leaks_args): Pass --memgraph-file to run-leaks.
1196         (LeakDetector.leaks_file_name): Removed an incorrect comment.
1197         (LeakDetector.memgraph_file_name): Added.
1198         (LeakDetector.check_for_leaks): Changed how arguments are passed to _leaks_args.
1199         It is a bit ugly that leaks path ends up being computed twice, but this is the least
1200         ugly approach that I could find.
1201
1202         * Scripts/webkitpy/port/leakdetector_unittest.py: Updated for _leaks_args changes.
1203
1204 2018-09-04  Chris Dumez  <cdumez@apple.com>
1205
1206         Add process pool configuration flag to turn on automatic process pre-warming
1207         https://bugs.webkit.org/show_bug.cgi?id=189263
1208         <rdar://problem/44101941>
1209
1210         Reviewed by Antti Koivisto.
1211
1212         Add API test coverage.
1213
1214         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1215         * TestWebKitAPI/Tests/WebKitCocoa/ProcessPreWarming.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm.
1216         (TEST):
1217         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1218         * TestWebKitAPI/Tests/WebKitCocoa/SetMaximumPrewarmedProcessCount.mm: Removed.
1219
1220 2018-09-04  Keith Miller  <keith_miller@apple.com>
1221
1222         Perl doesn't like calling keys on a reference
1223         https://bugs.webkit.org/show_bug.cgi?id=189261
1224
1225         Reviewed by Michael Saboff.
1226
1227         * Scripts/test262/Runner.pm:
1228         (UpdateResults):
1229
1230 2018-09-04  Jer Noble  <jer.noble@apple.com>
1231
1232         REGRESSION (r234081): TestWebKitAPI.VideoControlsManager.VideoControlsManagerAudioElementFollowingUserInteraction is a flaky timeout
1233         https://bugs.webkit.org/show_bug.cgi?id=187972
1234         <rdar://problem/42667737>
1235
1236         Reviewed by Darin Adler.
1237
1238         Ensure that listeners are added in time to catch messages broadcast at them.
1239
1240         * TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
1241         (TestWebKitAPI::TEST):
1242
1243 2018-09-04  Ross Kirsling  <ross.kirsling@sony.com>
1244
1245         Update googletest
1246         https://bugs.webkit.org/show_bug.cgi?id=175722
1247
1248         Reviewed by Brent Fulgham.
1249
1250         * TestWebKitAPI/config.h:
1251         Instead of modifying the gtest source, add the necessary WTF includes here.
1252
1253         * TestWebKitAPI/Configurations/Base.xcconfig
1254         Remove obsoleted definitions GTEST_HAS_TR1_TUPLE=0 and GTEST_HAS_RTTI=0.
1255
1256 2018-09-03  Pablo Saavedra  <psaavedra@igalia.com>
1257
1258         [WPE] Add more WPE bots to dashboard
1259         https://bugs.webkit.org/show_bug.cgi?id=189245
1260
1261         Reviewed by Daniel Bates.
1262
1263         There are two missing bots which are not listed in the dashboard for
1264         a while: WPE Linux 64-bit Debug (Build) and WPE Linux 64-bit Debug (Tests)
1265
1266         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1267         (WebKitBuildbot):
1268
1269 2018-09-01  Michael Catanzaro  <mcatanzaro@igalia.com>
1270
1271         [WPE] 2.21.91 fails to build with ENABLE_MINIBROWSER
1272         https://bugs.webkit.org/show_bug.cgi?id=189006
1273
1274         Reviewed by Darin Adler.
1275
1276         The MiniBrowser source code is missing from the tarball. Oops! Add it.
1277
1278         * wpe/manifest.txt.in:
1279
1280 2018-09-01  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
1281
1282         [WinCairo] Add CryptoDigestOpenSSL
1283         https://bugs.webkit.org/show_bug.cgi?id=188978
1284
1285         Reviewed by Darin Adler.
1286
1287         Add API tests for the PAL::CryptoDigest class.
1288
1289         * TestWebKitAPI/PlatformWin.cmake:
1290         Add CryptoDigest.cpp to TestWebCoreLib_Sources.
1291
1292         Define -DSTATICALLY_LINKED_WITH_PAL=1 to avoid warnings since
1293         without the definition the functions marked with PAL_EXPORT are supposed to be
1294         imported from another shared library, but as it is, TestWebCoreLib
1295         links PAL statically.
1296
1297         * TestWebKitAPI/Tests/WebCore/CryptoDigest.cpp: Added.
1298         (TestWebKitAPI::toHex):
1299         (TestWebKitAPI::expect):
1300         (TestWebKitAPI::expectSHA1):
1301         (TestWebKitAPI::expectSHA224):
1302         (TestWebKitAPI::expectSHA256):
1303         (TestWebKitAPI::expectSHA384):
1304         (TestWebKitAPI::expectSHA512):
1305         (TestWebKitAPI::TEST):
1306
1307 2018-09-01  Dan Bernstein  <mitz@apple.com>
1308
1309         [Cocoa] Crash using KVO for 'serverTrust' property of WKWebView - "this class is not key value coding-compliant for the key serverTrust"
1310         https://bugs.webkit.org/show_bug.cgi?id=189222
1311         <rdar://problem/33283179>
1312
1313         Reviewed by Sam Weinig.
1314
1315         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1316         * TestWebKitAPI/Tests/WebKitCocoa/WKWebViewServerTrustKVC.mm: Added.
1317         (TEST):
1318
1319 2018-08-31  Aditya Keerthi  <akeerthi@apple.com>
1320
1321         Unreviewed, add an alternate email for Aditya Keerthi.
1322
1323         * Scripts/webkitpy/common/config/contributors.json:
1324
1325 2018-08-31  Wenson Hsieh  <wenson_hsieh@apple.com>
1326
1327         [iOS] Consolidate the implementations of readString, stringForType, and readURL in PlatformPasteboardIOS.mm
1328         https://bugs.webkit.org/show_bug.cgi?id=189054
1329         <rdar://problem/43819779>
1330
1331         Reviewed by Tim Horton.
1332
1333         See WebCore/ChangeLog for more detail.
1334
1335         * TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:
1336         (createWebViewWithCustomPasteboardDataEnabled):
1337
1338 2018-08-31  Commit Queue  <commit-queue@webkit.org>
1339
1340         Unreviewed, rolling out r235565.
1341         https://bugs.webkit.org/show_bug.cgi?id=189212
1342
1343         Broke the WHLSL build (Requested by litherum on #webkit).
1344
1345         Reverted changeset:
1346
1347         "[WHLSL] Remove useless code in NameResolver"
1348         https://bugs.webkit.org/show_bug.cgi?id=189176
1349         https://trac.webkit.org/changeset/235565
1350
1351 2018-08-31  Myles C. Maxfield  <mmaxfield@apple.com>
1352
1353         [WHLSL] Remove useless code in NameResolver
1354         https://bugs.webkit.org/show_bug.cgi?id=189176
1355
1356         Reviewed by Dean Jackson and Thomas Denney.
1357
1358         The check will always pass becase the standard library contains at least one function with the correct name.
1359
1360         * WebGPUShadingLanguageRI/NameResolver.js:
1361         (NameResolver.prototype.visitDotExpression):
1362         (NameResolver.prototype._handlePropertyAccess): Deleted.
1363         (NameResolver.prototype.visitIndexExpression): Deleted.
1364
1365 2018-08-31  Simon Fraser  <simon.fraser@apple.com>
1366
1367         Make it possible to mark tests as leaks in TestExpectations
1368         https://bugs.webkit.org/show_bug.cgi?id=189088
1369
1370         Reviewed by Jon Lee.
1371         
1372         Have webkitpy parse out "Leak" expectations in TestExpectations, and do the right
1373         thing if the test run did not use --world-leaks. Add unit tests for leaks combined
1374         with various other result combinations.
1375
1376         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1377         (LayoutTestRunner._update_summary_with_result):
1378         (LayoutTestRunner._annotate_results_with_additional_failures):
1379         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
1380         (TestExpectationParser):
1381         (TestExpectations): The 'Leak' line was duplicated here, so remove a copy.
1382         (TestExpectations.remove_leak_failures):
1383         (TestExpectations.matches_an_expected_result):
1384         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
1385         (Base.get_basic_tests):
1386         * Scripts/webkitpy/port/test.py:
1387         (TestList.add_reftest):
1388         (unit_test_list):
1389
1390 2018-08-31  Zalan Bujtas  <zalan@apple.com>
1391
1392         [LFC] Add margin box verification back now that Display::Box has non-computed horizontal margin.
1393         https://bugs.webkit.org/show_bug.cgi?id=189193
1394
1395         Reviewed by Antti Koivisto.
1396
1397         * LayoutReloaded/misc/LFC-passing-tests.txt:
1398
1399 2018-08-31  Antti Koivisto  <antti@apple.com>
1400
1401         Replace OptionSet |= and -= operators with add() and remove() functions
1402         https://bugs.webkit.org/show_bug.cgi?id=189169
1403
1404         Reviewed by Anders Carlsson.
1405
1406         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
1407         (TestWebKitAPI::TEST):
1408
1409 2018-08-31  Daniel Bates  <dabates@apple.com>
1410
1411         lldb-webkit: KeyError thrown for OptionSet with invalid value
1412         https://bugs.webkit.org/show_bug.cgi?id=189070
1413
1414         Update comment to explain that we return early and do not compute the set of enumerators in the
1415         OptionSet when the underlying value of the set is an invalid value.
1416
1417         Additionally, update the change log entry for r235482 to reflect the updated title for the bug
1418         and to better describe the change that was made.
1419
1420         * lldb/lldb_webkit.py:
1421         (WTFOptionSetProvider.update):
1422
1423 2018-08-31  David Kilzer  <ddkilzer@apple.com>
1424
1425         WebKitLauncher: Move WebKitLauncher.entitlements into Configurations directory
1426
1427         This makes the Configurations folder in the Xcode project match
1428         what's in the Configurations directory on disk.  Found by
1429         tidy-Xcode-project-file (see Bug 188754).
1430
1431         * WebKitLauncher/Configurations/WebKitLauncher.entitlements: Rename from Tools/WebKitLauncher/WebKitLauncher.entitlements.
1432         * WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
1433         - Update project for file move.
1434
1435 2018-08-31  David Kilzer  <ddkilzer@apple.com>
1436
1437         WebKitLauncher: Fix build failures
1438
1439         * WebKitLauncher/Configurations/Base.xcconfig:
1440         (ARCHS): Use $(ARCHS_STANDARD_32_64_BIT).
1441         (MACOSX_DEPLOYMENT_TARGET): Update from Snow Leopard to Sierra.
1442
1443         * WebKitLauncher/WebKitNightlyEnabler.m:
1444         (myApplicationWillFinishLaunching):
1445         * WebKitLauncher/main.m:
1446         (displayErrorAndQuit):
1447         (locateSafariBundle):
1448         - Use pragma to ignore deprecation warnings.
1449
1450 2018-08-31  David Kilzer  <ddkilzer@apple.com>
1451
1452         MobileMiniBrowser: Move test2s.mp4 into Resources directory
1453
1454         This makes the Resources folder in the Xcode project match
1455         what's in the Resources directory on disk.  Found by
1456         tidy-Xcode-project-file (see Bug 188754).
1457
1458         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
1459         - Update project for file move.
1460         * MobileMiniBrowser/MobileMiniBrowserFramework/Resources/test2s.mp4: Rename from Tools/MobileMiniBrowser/MobileMiniBrowserFramework/test2s.mp4.
1461
1462 2018-08-31  Frederic Wang  <fwang@igalia.com>
1463
1464         Bug 182053 - [CSSOM View] Implement standard behavior for scrollingElement
1465         https://bugs.webkit.org/show_bug.cgi?id=182053
1466
1467         Reviewed by Simon Fraser.
1468
1469         Add FIXMEs comments to add the new developer flag in the future and  disable it for now.
1470
1471         * DumpRenderTree/mac/DumpRenderTree.mm:
1472         (enableExperimentalFeatures):
1473         (resetWebPreferencesToConsistentValues):
1474         * DumpRenderTree/win/DumpRenderTree.cpp:
1475         (enableExperimentalFeatures):
1476         * WebKitTestRunner/TestController.cpp:
1477         (WTR::TestController::resetPreferencesToConsistentValues):
1478
1479 2018-08-30  Thomas Denney  <tdenney@apple.com>
1480
1481         [WHLSL] Fix array indexing behavior
1482         https://bugs.webkit.org/show_bug.cgi?id=189175
1483
1484         Array, pointer, and array ref types are now parsed and then constructed
1485         in reverse so that the declaration order matches the indexing order, as
1486         in C/C++.
1487
1488         Reviewed by Myles C. Maxfield.
1489
1490         * WebGPUShadingLanguageRI/Parse.js:
1491         (parseType):
1492         * WebGPUShadingLanguageRI/Test.js:
1493
1494 2018-08-30  Wenson Hsieh  <wenson_hsieh@apple.com>
1495
1496         Followup to [iOS] TestWebKitAPI.PasteImage tests are flaky failures
1497         https://bugs.webkit.org/show_bug.cgi?id=185965
1498
1499         Reviewed by Andy Estes.
1500
1501         The first attempt to fix these flaky tests on iOS caused timeouts on macOS while waiting for a "loaded" message
1502         from the page. To (hopefully) fix this across both platforms, make sure that we first register our script
1503         message handlers in the UI process *before* evaluating script that could propagate the script message.
1504
1505         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
1506         (-[TestWKWebView waitForMessage:afterEvaluatingScript:]):
1507         (TEST):
1508
1509 2018-08-30  Thomas Denney  <tdenney@apple.com>
1510
1511         [WHLSL] Implement tests to verify array indexing order matches our desires
1512         https://bugs.webkit.org/show_bug.cgi?id=189099
1513
1514         Reviewed by Myles C. Maxfield.
1515
1516         * WebGPUShadingLanguageRI/Test.js: Add new test for array indexing order
1517         and the option to explicitly disable tests (this test is disabled by
1518         default).
1519         * WebGPUShadingLanguageRI/TypeRef.js:
1520         (TypeRef.wrap): Fixes  typo.
1521
1522 2018-08-30  Sihui Liu  <sihui_liu@apple.com>
1523
1524         WKNavigation.ProcessCrashDuringCallback is failing on iOS
1525         https://bugs.webkit.org/show_bug.cgi?id=189148
1526
1527         Reviewed by Chris Dumez.
1528
1529         We should not deference WebView or we may get WKErrorWebViewInvalidated error, because 
1530         WebView could be destroyed before Web Process termination is noticed.
1531
1532         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
1533         (TEST):
1534
1535 2018-08-30  Zalan Bujtas  <zalan@apple.com>
1536
1537         [LFC][Floating] Formatting context roots avoid floats.
1538         https://bugs.webkit.org/show_bug.cgi?id=189150
1539
1540         Reviewed by Antti Koivisto.
1541
1542         * LayoutReloaded/misc/LFC-passing-tests.txt:
1543
1544 2018-08-30  Wenson Hsieh  <wenson_hsieh@apple.com>
1545
1546         [iOS] TestWebKitAPI.PasteImage tests are flaky failures
1547         https://bugs.webkit.org/show_bug.cgi?id=185965
1548
1549         Reviewed by Andy Estes.
1550
1551         These tests pass reliably when run locally, but sometimes fail in automation when checking that the image
1552         element with its "src" attribute set to a new blob URL has an empty size. It's possible that this is happening
1553         because we're checking the size of the image element prior to image load after setting the blob URL; we can fix
1554         this by waiting for the "load" event (which is also done in some of the other tests in this file).
1555
1556         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
1557         (TEST):
1558
1559 2018-08-30  Michael Catanzaro  <mcatanzaro@igalia.com>
1560
1561         Unreviewed, rolling out r235114.
1562
1563         ostree server deleted our commits?
1564
1565         Reverted changeset:
1566
1567         "[Flatpak] Update to GNOME master runtime"
1568         https://bugs.webkit.org/show_bug.cgi?id=188731
1569         https://trac.webkit.org/changeset/235114
1570
1571 2018-08-29  Myles C. Maxfield  <mmaxfield@apple.com>
1572
1573         [WHLSL] Test row-majorness of matrices
1574         https://bugs.webkit.org/show_bug.cgi?id=189101
1575
1576         The matrix multiplication functions are temporarily commented out of the standard library,
1577         so I've temporarily copy/pasted them into the test. Matrix multiplication is not
1578         commutative, so it requires the right indexing order.
1579
1580         Reviewed by Dean Jackson and Thomas Denney.
1581
1582         * WebGPUShadingLanguageRI/Intrinsics.js:
1583         * WebGPUShadingLanguageRI/StandardLibrary.js:
1584         (let.standardLibrary):
1585         * WebGPUShadingLanguageRI/Test.js:
1586
1587 2018-08-29  Jer Noble  <jer.noble@apple.com>
1588
1589         Unreviewed test gardening; NowPlayingTest API tests require High Sierra.
1590
1591         * TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:
1592
1593 2018-08-29  Youenn Fablet  <youenn@apple.com>
1594
1595         Remove WebRTC legacy API implementation
1596         https://bugs.webkit.org/show_bug.cgi?id=189040
1597
1598         Reviewed by Eric Carlson.
1599
1600         * DumpRenderTree/mac/DumpRenderTree.mm:
1601         (enableExperimentalFeatures):
1602         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1603         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1604         (WTR::TestRunner::setWebRTCLegacyAPIEnabled): Deleted.
1605         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1606         * WebKitTestRunner/TestController.cpp:
1607         (WTR::TestController::resetPreferencesToConsistentValues):
1608
1609 2018-08-29  Daniel Bates  <dabates@apple.com>
1610
1611         lldb-webkit: KeyError thrown for OptionSet with invalid value
1612         https://bugs.webkit.org/show_bug.cgi?id=189070
1613
1614         Reviewed by Simon Fraser.
1615
1616         Do not compute what enumerators are in an OptionSet with an invalid value. A local OptionSet
1617         variable is only considered valid when execution passes over its assignment/constructor.
1618
1619         The LLDB Python API does not provide a way to determine whether a variable has a valid
1620         value (SBValue.IsValid() does not seem to check if the actual bit pattern in memory for
1621         a variable represents a valid value). So, we use a simple heuristic: when the value of
1622         the OptionSet is greater than the value of the bitmask with all enumerators set then we
1623         consider the OptionSet to be invalid. When the variable obtains a valid value then LLDB
1624         will notify us to update our state.
1625
1626         * lldb/lldb_webkit.py:
1627         (WTFOptionSetProvider.update):
1628
1629 2018-08-29  Chris Dumez  <cdumez@apple.com>
1630
1631         [PSON] We should only process-swap when eTLD+1 changes on navigation
1632         https://bugs.webkit.org/show_bug.cgi?id=189090
1633         <rdar://problem/43799225>
1634
1635         Reviewed by Geoffrey Garen.
1636
1637         Update existing PSON API tests to use different registrable domains instead of different
1638         protocols, as we now only process-swap when the eTLD+1 (aka "registrable domain") changes.
1639
1640         Add test coverage to make sure that we do not process swap when eTLD+1 does not change.
1641
1642         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1643
1644 2018-08-29  Youenn Fablet  <youenn@apple.com>
1645
1646         Add a runtime flag for WebRTC unified plan
1647         https://bugs.webkit.org/show_bug.cgi?id=189068
1648
1649         Reviewed by Eric Carlson.
1650
1651         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1652         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1653         (WTR::TestRunner::setWebRTCUnifiedPlanEnabled):
1654         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1655
1656 2018-08-29  Don Olmstead  <don.olmstead@sony.com>
1657
1658         [CMake] Split Tools/CMakeLists.txt into platform files
1659         https://bugs.webkit.org/show_bug.cgi?id=189093
1660
1661         Reviewed by Michael Catanzaro.
1662
1663         * CMakeLists.txt:
1664         * PlatformGTK.cmake: Added.
1665         * PlatformMac.cmake: Added.
1666         * PlatformWPE.cmake: Added.
1667         * PlatformWin.cmake: Added.
1668
1669 2018-08-29  Jer Noble  <jer.noble@apple.com>
1670
1671         Muted elements do not have their Now Playing status updated when unmuted.
1672         https://bugs.webkit.org/show_bug.cgi?id=189069
1673
1674         Reviewed by Eric Carlson.
1675
1676         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1677         * TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm: Added.
1678         (userInfoHasNowPlayingApplicationPID):
1679         (getNowPlayingClient):
1680         (getNowPlayingClientPid):
1681         (NowPlayingTest::webView):
1682         (NowPlayingTest::configuration):
1683         (NowPlayingTest::webViewPid):
1684         (NowPlayingTest::loadPage):
1685         (NowPlayingTest::runScriptWithUserGesture):
1686         (NowPlayingTest::runScriptWithoutUserGesture):
1687         (NowPlayingTest::executeAndWaitForPlaying):
1688         (NowPlayingTest::executeAndWaitForWebViewToBecomeNowPlaying):
1689         (NowPlayingTest::observers):
1690         (NowPlayingTest::addObserver):
1691         (NowPlayingTest::removeObserver):
1692         (NowPlayingTest::notificationCallback):
1693         (NowPlayingTest::receivedNotification):
1694         (NowPlayingTest::performAfterReceivingNotification):
1695         (TEST_F):
1696         * TestWebKitAPI/Tests/WebKitCocoa/now-playing.html: Added.
1697
1698 2018-08-29  Thomas Denney  <tdenney@apple.com>
1699
1700         [WHLSL] Ensure that isLValue is copied by the rewriter
1701         https://bugs.webkit.org/show_bug.cgi?id=189083
1702
1703         The value of isLValue was not propagated when new TernaryExpressions are
1704         created in Rewriter.
1705
1706         Reviewed by Myles C. Maxfield.
1707
1708         * WebGPUShadingLanguageRI/Rewriter.js:
1709         (Rewriter.prototype.visitTernaryExpression):
1710         * WebGPUShadingLanguageRI/Test.js: Add new test to verify the value is
1711         propagated.
1712
1713 2018-08-29  Myles C. Maxfield  <mmaxfield@apple.com>
1714
1715         [WHLSL] Add more functions to the standard library
1716         https://bugs.webkit.org/show_bug.cgi?id=188873
1717
1718         Reviewed by Filip Pizlo.
1719
1720         This patch adds the rest of the standard library to StandardLibrary.js, and updates the compiler to be able to compile it.
1721
1722         There are a few major pieces:
1723         1. Swizzle operators are now implemented in the language, instead of as native functions
1724         2. Vector constructors are now implemented in the language, instead of as native functions
1725         3. The matrix type is implemented
1726         4. Vector operator&[] is illegal, and is removed from the compiler
1727         5. Vector index setters & index getters are now implemented in the language, instead of as native functions
1728         6. Vector and matrix equality operators are implemented in the language, instead of as native functions
1729         7. Casting a scalar to a boolean is implemented in the language, instead of as native functions
1730         8. Casting a vector to a boolean is not part of the language, and is removed from the compiler
1731         9. Half-precision floating point types are implemented
1732
1733         * WebGPUShadingLanguageRI/All.js:
1734         * WebGPUShadingLanguageRI/BuiltinMatrixGetter.js: Copied from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.
1735         (BuiltinMatrixGetter):
1736         (BuiltinMatrixGetter.prototype.get height):
1737         (BuiltinMatrixGetter.prototype.get width):
1738         (BuiltinMatrixGetter.prototype.toString):
1739         (BuiltinMatrixGetter.functions):
1740         (BuiltinMatrixGetter.prototype.instantiateImplementation):
1741         * WebGPUShadingLanguageRI/BuiltinMatrixSetter.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.
1742         (BuiltinMatrixSetter):
1743         (BuiltinMatrixSetter.prototype.get height):
1744         (BuiltinMatrixSetter.prototype.get width):
1745         (BuiltinMatrixSetter.prototype.toString):
1746         (BuiltinMatrixSetter.functions):
1747         (BuiltinMatrixSetter.prototype.instantiateImplementation):
1748         * WebGPUShadingLanguageRI/BuiltinVectorConstructors.js: Removed.
1749         * WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Removed.
1750         * WebGPUShadingLanguageRI/BuiltinVectorGetter.js:
1751         (BuiltinVectorGetter.prototype.instantiateImplementation):
1752         (BuiltinVectorGetter):
1753         * WebGPUShadingLanguageRI/BuiltinVectorSetter.js:
1754         (BuiltinVectorSetter.functions):
1755         (BuiltinVectorSetter.prototype.instantiateImplementation):
1756         (BuiltinVectorSetter):
1757         * WebGPUShadingLanguageRI/CallExpression.js:
1758         (CallExpression.prototype.resolve):
1759         * WebGPUShadingLanguageRI/CheckTypesWithArguments.js:
1760         (checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
1761         (checkTypesWithArguments.TypeWithArgumentsChecker):
1762         (checkTypesWithArguments):
1763         * WebGPUShadingLanguageRI/Checker.js:
1764         (Checker.prototype.visitVectorType):
1765         (Checker.prototype.visitMatrixType):
1766         * WebGPUShadingLanguageRI/ConstexprFolder.js:
1767         (ConstexprFolder.prototype.visitCallExpression):
1768         (ConstexprFolder):
1769         * WebGPUShadingLanguageRI/Evaluator.js:
1770         (Evaluator.prototype.visitTernaryExpression):
1771         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
1772         (FlattenedStructOffsetGatherer.prototype.visitMatrixType):
1773         (FlattenedStructOffsetGatherer):
1774         * WebGPUShadingLanguageRI/Intrinsics.js:
1775         (Intrinsics.):
1776         (Intrinsics):
1777         * WebGPUShadingLanguageRI/MatrixType.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js.
1778         (MatrixType):
1779         (MatrixType.prototype.get elementType):
1780         (MatrixType.prototype.get numRows):
1781         (MatrixType.prototype.get numColumns):
1782         (MatrixType.prototype.get numRowsValue):
1783         (MatrixType.prototype.get numColumnsValue):
1784         (MatrixType.prototype.get size):
1785         (MatrixType.prototype.unifyImpl):
1786         (MatrixType.prototype.populateDefaultValue):
1787         (MatrixType.prototype.toString):
1788         * WebGPUShadingLanguageRI/NameContext.js:
1789         (NameContext.prototype.add):
1790         * WebGPUShadingLanguageRI/NativeType.js:
1791         (NativeType.create):
1792         (NativeType):
1793         * WebGPUShadingLanguageRI/OperatorAnderIndexer.js: Renamed from Tools/WebGPUShadingLanguageRI/OperatorAnderIndex.js.
1794         (OperatorAnderIndexer):
1795         * WebGPUShadingLanguageRI/OperatorBool.js: Removed.
1796         * WebGPUShadingLanguageRI/Prepare.js:
1797         (let.prepare):
1798         * WebGPUShadingLanguageRI/Program.js:
1799         (Program.prototype.add):
1800         * WebGPUShadingLanguageRI/Rewriter.js:
1801         (Rewriter.prototype.visitMatrixType):
1802         (Rewriter):
1803         * WebGPUShadingLanguageRI/SPIRV.html:
1804         * WebGPUShadingLanguageRI/StandardLibrary.js:
1805         (operator.bool):
1806         (bool.operator):
1807         (uchar.operator):
1808         (ushort.operator):
1809         (char.operator):
1810         (short.operator):
1811         (uint.operator):
1812         (int.operator):
1813         (half.operator):
1814         (float.operator):
1815         (uchar2.operator):
1816         (uchar3.operator):
1817         (uchar4.operator):
1818         (ushort2.operator):
1819         (ushort3.operator):
1820         (ushort4.operator):
1821         (uint2.operator):
1822         (uint3.operator):
1823         (uint4.operator):
1824         (char2.operator):
1825         (char3.operator):
1826         (char4.operator):
1827         (short2.operator):
1828         (short3.operator):
1829         (short4.operator):
1830         (int2.operator):
1831         (int3.operator):
1832         (int4.operator):
1833         (half2.operator):
1834         (half3.operator):
1835         (half4.operator):
1836         (float2.operator):
1837         (float3.operator):
1838         (float4.operator):
1839         (half2x2.operator):
1840         (half2x3.operator):
1841         (half2x4.operator):
1842         (half3x2.operator):
1843         (half3x3.operator):
1844         (half3x4.operator):
1845         (half4x2.operator):
1846         (half4x3.operator):
1847         (half4x4.operator):
1848         (float2x2.operator):
1849         (float2x3.operator):
1850         (float2x4.operator):
1851         (float3x2.operator):
1852         (float3x3.operator):
1853         (float3x4.operator):
1854         (float4x2.operator):
1855         (float4x3.operator):
1856         (float4x4.operator):
1857         (operator.bool2):
1858         (operator.bool3):
1859         (operator.bool4):
1860         (uint.operator.length):
1861         (operator.uchar2):
1862         (operator.uchar3):
1863         (operator.uchar4):
1864         (operator.ushort2):
1865         (operator.ushort3):
1866         (operator.ushort4):
1867         (operator.uint2):
1868         (operator.uint3):
1869         (operator.uint4):
1870         (operator.char2):
1871         (operator.char3):
1872         (operator.char4):
1873         (operator.short2):
1874         (operator.short3):
1875         (operator.short4):
1876         (operator.int2):
1877         (operator.int3):
1878         (operator.int4):
1879         (operator.half2):
1880         (operator.half3):
1881         (operator.half4):
1882         (operator.float2):
1883         (operator.float3):
1884         (operator.float4):
1885         (bool2.operator):
1886         (bool3.operator):
1887         (bool4.operator):
1888         (allVectorTypeNames):
1889         * WebGPUShadingLanguageRI/SwizzleOp.js: Removed.
1890         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js:
1891         (synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitMatrixType):
1892         (synthesizeDefaultConstructorOperator.FindAllTypes):
1893         (synthesizeDefaultConstructorOperator):
1894         * WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Removed.
1895         * WebGPUShadingLanguageRI/Test.html:
1896         * WebGPUShadingLanguageRI/Test.js:
1897         (makeHalf):
1898         (checkHalf):
1899         * WebGPUShadingLanguageRI/Visitor.js:
1900         (Visitor.prototype.visitMatrixType):
1901         (Visitor):
1902         * WebGPUShadingLanguageRI/index.html:
1903
1904 2018-08-29  Simon Fraser  <simon.fraser@apple.com>
1905
1906         Teach webkitpy how to check leaks and treat leaks as test failures
1907         https://bugs.webkit.org/show_bug.cgi?id=189067
1908
1909         Reviewed by Darin Adler.
1910         
1911         Add a new "--world-leaks" argument to run-webkit-tests. When enabled, DRT/WTR are launched
1912         with a --world-leaks argument (which is renamed in this patch for consistency). This enables the
1913         behavior added in r235408, namely that they check for leaked documents after each test, and at
1914         the end of one (if --run-singly) or a set of tests run in a single DRT/WTR instance handle the
1915         "#CHECK FOR WORLD LEAKS" command to get still-live documents.
1916         
1917         LayoutTestRunner in webkitpy now has the notion of doing "post-tests work", called via _finished_test_group(),
1918         and here it sends the "#CHECK FOR WORLD LEAKS" command to the runner and parses the resulting output block.
1919         If this results block includes leaks, we convert an existing TestResult into a LEAK failure
1920         in TestRunResults.change_result_to_failure(). Leaks are then added to the ouput JSON for display in results.html
1921
1922         Unit tests are updated with some leak examples.
1923
1924         * DumpRenderTree/mac/DumpRenderTree.mm:
1925         (initializeGlobalsFromCommandLineOptions):
1926         * Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
1927         (ParsedJSONResultsTest):
1928         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
1929         (LayoutTestRunner._annotate_results_with_additional_failures):
1930         (LayoutTestRunner._handle_finished_test_group):
1931         (Worker.handle):
1932         (Worker._run_test):
1933         (Worker._do_post_tests_work):
1934         (Worker._finished_test_group):
1935         (Worker._run_test_in_another_thread):
1936         * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
1937         (JSONLayoutResultsGenerator):
1938         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
1939         (TestExpectationParser):
1940         (TestExpectations):
1941         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
1942         (Base.get_basic_tests):
1943         * Scripts/webkitpy/layout_tests/models/test_failures.py:
1944         (determine_result_type):
1945         (FailureLeak):
1946         (FailureLeak.__init__):
1947         (FailureLeak.message):
1948         (FailureDocumentLeak):
1949         (FailureDocumentLeak.__init__):
1950         (FailureDocumentLeak.message):
1951         * Scripts/webkitpy/layout_tests/models/test_results.py:
1952         (TestResult.convert_to_failure):
1953         * Scripts/webkitpy/layout_tests/models/test_run_results.py:
1954         (TestRunResults.change_result_to_failure):
1955         (_interpret_test_failures):
1956         (summarize_results):
1957         * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
1958         (get_result):
1959         (run_results):
1960         (summarized_results):
1961         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1962         (parse_args):
1963         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
1964         (parse_args):
1965         (RunTest.test_check_for_world_leaks):
1966         * Scripts/webkitpy/port/driver.py:
1967         (DriverPostTestOutput):
1968         (DriverPostTestOutput.__init__):
1969         (Driver.do_post_tests_work):
1970         (Driver._parse_world_leaks_output):
1971         (Driver.cmd_line):
1972         (DriverProxy.do_post_tests_work):
1973         * Scripts/webkitpy/port/test.py:
1974         (unit_test_list):
1975         * WebKitTestRunner/Options.cpp:
1976         (WTR::OptionsHandler::OptionsHandler):
1977         * WebKitTestRunner/TestController.cpp:
1978         (WTR::TestController::checkForWorldLeaks):
1979
1980 2018-08-29  David Kilzer  <ddkilzer@apple.com>
1981
1982         Remove empty directories from from svn.webkit.org repository
1983         <https://webkit.org/b/189081>
1984
1985         * DumpRenderTree/TestNetscapePlugIn/unix: Removed.
1986         * WebKitTestRunner/UIScriptContext: Removed.
1987
1988 2018-08-29  Pablo Saavedra  <psaavedra@igalia.com>
1989
1990         [GTK][WPE] Add JSCOnly Release bot for Linux ARMv7 Thumb2 SoftFP
1991         https://bugs.webkit.org/show_bug.cgi?id=189077
1992
1993         Reviewed by Michael Catanzaro.
1994
1995         Deployed new bot for WPE Release in Linux ARMv7 Thumb2 SoftFP
1996         This bot (jsconly-linux-igalia-bot-5) will run the 'JSCOnly
1997         Linux ARMv7 Thumb2 SoftFP Release' buildjob.
1998
1999         * BuildSlaveSupport/build.webkit.org-config/config.json:
2000         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2001
2002 2018-08-28  Daniel Bates  <dabates@apple.com>
2003
2004         lldb-webkit: KeyError thrown for OptionSet
2005         https://bugs.webkit.org/show_bug.cgi?id=189062
2006
2007         Reviewed by Simon Fraser.
2008
2009         For some reason lldb(1) may not retrieve the enumerator names for an enum value
2010         when it calls update() on the synthetic children provider. If this occurs then
2011         bail out as we cannot compute what enumerators are in the set.
2012
2013         * lldb/lldb_webkit.py:
2014         (WTFOptionSetProvider.update):
2015
2016 2018-08-28  Sihui Liu  <sihui_liu@apple.com>
2017
2018         Add error information to help debug test failure in WKNavigation.ProcessCrashDuringCallback
2019         https://bugs.webkit.org/show_bug.cgi?id=189037
2020
2021         Reviewed by Chris Dumez.
2022
2023         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
2024         (TEST):
2025
2026 2018-08-28  David Kilzer  <ddkilzer@apple.com>
2027
2028         Fix incorrect use of `sourceTree = "<group>";` for built products and frameworks in Xcode projects
2029
2030         Found by tidy-Xcode-project-file script (see Bug 188754).
2031
2032         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2033         (IOKit.framework): Use `sourceTree = "<absolute>";` to match
2034         other frameworks in the project.
2035         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
2036         (WebKit.framework): Use `sourceTree = BUILT_PRODUCTS_DIR;` for
2037         built product instead of relative build directory path.
2038         * jsc-cli/jsc-cli.xcodeproj/project.pbxproj:
2039         (JavaScriptCore.framework): Ditto.
2040         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
2041         (libWTF.a): Use `sourceTree = BUILT_PRODUCTS_DIR;` for built
2042         product.
2043
2044 2018-08-28  Alex Christensen  <achristensen@webkit.org>
2045
2046         Fix 32-bit Mac build.
2047
2048         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
2049
2050 2018-08-28  Alex Christensen  <achristensen@webkit.org>
2051
2052         REGRESSION (r235391): [iOS] TestWebKitAPI.WebKit.RestoreSessionStateWithoutNavigation is timing out
2053         https://bugs.webkit.org/show_bug.cgi?id=189050
2054
2055         Reviewed by Tim Horton.
2056
2057         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
2058         This test wasn't run on iOS before.  Let's re-introduce the WK_HAVE_C_SPI guard.
2059
2060 2018-08-28  Wenson Hsieh  <wenson_hsieh@apple.com>
2061
2062         [iOS] WKAttachmentTests.DropFolderAsAttachmentAndMoveByDragging encounters an exception on iOS simulator
2063         https://bugs.webkit.org/show_bug.cgi?id=189049
2064
2065         Reviewed by Tim Horton.
2066
2067         Wrap an NSURL in a RetainPtr to prevent it from being freed prematurely. It seems this broke when I changed the
2068         load handler from an Objective-C block that captured `folderURL` to a C++ lambda that didn't retain `folderURL`.
2069
2070         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2071         (simulateFolderDragWithURL):
2072
2073 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2074
2075         [Attachment Support] Remove WebCore::AttachmentDisplayOptions and friends
2076         https://bugs.webkit.org/show_bug.cgi?id=189004
2077
2078         Reviewed by Dan Bernstein.
2079
2080         Move off of deprecated attachment insertion SPI.
2081
2082         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2083         (-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
2084         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
2085         (-[_WKAttachment synchronouslySetDisplayOptions:error:]): Deleted.
2086
2087 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
2088
2089         Teach WebKitTestRunner and DumpRenderTree about detecting world leaks
2090         https://bugs.webkit.org/show_bug.cgi?id=188994
2091
2092         Reviewed by Tim Horton.
2093         
2094         This patch adds the notion of a "control command" in the protocol between webkitpy and 
2095         WebKitTestRunner/DumpRenderTree. A command is simply an input string starting with a #
2096         that is checked for before trying to parse the input as test URL. For now, just one
2097         commmand is supported, which is "#CHECK FOR WORLD LEAKS".
2098         
2099         In response to the command, the tool dumps an output block in the usual pseudo-MIME-style,
2100         with a trailing "#EOF". Future patches will add support to webkitpy to parse this output.
2101         
2102         DumpRenderTree stubs out the command, returning an empty block.
2103         
2104         WebKitTestRunner responds to the command by dumping the list of live documents, if it was
2105         run with the --check-for-world-leaks option.
2106         
2107         When run with --check-for-world-leaks, WebKitTestRunner gets the list of live documents via
2108         WKBundleGetLiveDocumentURLs() after every test (this allows it to detect the first test
2109         that leaked a document), and keeps them in a map of document identifier to test and live document URL.
2110         Then when it receives the "#CHECK FOR WORLD LEAKS" command, it calls into the bundle to
2111         clear the page and memory caches, runs a GC, then posts a task (in the Document::postTaks() sense)
2112         after which it requests the list of live documents for a final time, excluding any that are loaded
2113         in live Frames (thus omitting the about:blank that will be loaded at this point). Documents in this
2114         list are therefore leaked (or abandoned).
2115         
2116         Future patches will hook up webkitpy reporting for leaked documents.
2117
2118         * DumpRenderTree/mac/DumpRenderTree.mm:
2119         (initializeGlobalsFromCommandLineOptions):
2120         (handleControlCommand):
2121         (runTestingServerLoop):
2122         * DumpRenderTree/win/DumpRenderTree.cpp:
2123         (handleControlCommand):
2124         (main):
2125         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2126         (WTR::postGCTask):
2127         (WTR::InjectedBundle::reportLiveDocuments):
2128         (WTR::InjectedBundle::didReceiveMessageToPage):
2129         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2130         * WebKitTestRunner/Options.cpp:
2131         (WTR::handleOptionCheckForWorldLeaks):
2132         (WTR::OptionsHandler::OptionsHandler):
2133         * WebKitTestRunner/Options.h:
2134         * WebKitTestRunner/TestController.cpp:
2135         (WTR::AsyncTask::run):
2136         (WTR::AsyncTask::currentTask):
2137         (WTR::TestController::initialize):
2138         (WTR::TestController::ensureViewSupportsOptionsForTest):
2139         (WTR::TestController::resetStateToConsistentValues):
2140         (WTR::TestController::updateLiveDocumentsAfterTest):
2141         (WTR::TestController::checkForWorldLeaks):
2142         (WTR::TestController::findAndDumpWorldLeaks):
2143         (WTR::TestController::willDestroyWebView):
2144         (WTR::parseInputLine):
2145         (WTR::TestController::waitForCompletion):
2146         (WTR::TestController::handleControlCommand):
2147         (WTR::TestController::runTestingServerLoop):
2148         (WTR::TestController::run):
2149         (WTR::TestController::didReceiveLiveDocumentsList):
2150         (WTR::TestController::didReceiveMessageFromInjectedBundle):
2151         * WebKitTestRunner/TestController.h:
2152         (WTR::AsyncTask::AsyncTask):
2153         (WTR::AsyncTask::taskComplete):
2154         (WTR::TestController::AbandonedDocumentInfo::AbandonedDocumentInfo):
2155         * WebKitTestRunner/TestInvocation.cpp:
2156         (WTR::TestInvocation::invoke):
2157         * WebKitTestRunner/TestOptions.h:
2158         (WTR::TestOptions::hasSameInitializationOptions const):
2159
2160 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2161
2162         Fix API test after r235398
2163         https://bugs.webkit.org/show_bug.cgi?id=188997
2164
2165         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
2166         (TestWebKitAPI::setPageLoaderClient):
2167         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
2168         willGoToBackForwardListItem is unused and unsupported.  Removing its check.
2169
2170 2018-08-27  Daniel Bates  <dabates@apple.com>
2171
2172         Partial revert of r235376
2173         https://bugs.webkit.org/show_bug.cgi?id=189011
2174
2175         For now revert the unit tests added in r235376 as the following tests are failing on Apple Sierra
2176         Debug and Apple High Sierra Debug bots:
2177
2178             lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSetProvider_simple
2179             lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple
2180
2181         Will investigate offline.
2182
2183         * lldb/lldbWebKitTester/main.cpp:
2184         (testSummaryProviders):
2185         * lldb/lldb_webkit_unittest.py:
2186         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
2187         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty): Deleted.
2188         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple): Deleted.
2189         (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty): Deleted.
2190         (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple): Deleted.
2191
2192 2018-08-27  Aditya Keerthi  <akeerthi@apple.com>
2193
2194         Consolidate ENABLE_INPUT_TYPE_COLOR and ENABLE_INPUT_TYPE_COLOR_POPOVER
2195         https://bugs.webkit.org/show_bug.cgi?id=188931
2196
2197         Reviewed by Wenson Hsieh.
2198
2199         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER.
2200
2201 2018-08-27  Justin Fan  <justin_fan@apple.com>
2202
2203         Add Justin Fan to list of WebKit contributors
2204         https://bugs.webkit.org/show_bug.cgi?id=184431
2205
2206         * Scripts/webkitpy/common/config/contributors.json:
2207
2208 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
2209
2210         Convert timeout values in WebKitTestRunner to WTF::Seconds
2211         https://bugs.webkit.org/show_bug.cgi?id=188987
2212
2213         Reviewed by Ryosuke Niwa.
2214         
2215         Replace various 'int' timeout values with WTF::Seconds. The timeout argument
2216         comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
2217         using integers, convert to and from milliseconds.
2218         
2219         Also do some #pragma once, and initializer cleanup.
2220
2221         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2222         (WTR::InjectedBundle::didReceiveMessageToPage):
2223         (WTR::InjectedBundle::beginTesting):
2224         (WTR::InjectedBundle::InjectedBundle): Deleted.
2225         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2226         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2227         (WTR::TestRunner::timeout):
2228         (WTR::TestRunner::setCustomTimeout):
2229         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
2230         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2231         * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
2232         (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
2233         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2234         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
2235         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2236         * WebKitTestRunner/TestController.cpp:
2237         (WTR::TestController::TestController):
2238         (WTR::parseInputLine):
2239         (WTR::TestController::runTest):
2240         (WTR::TestController::runUntil):
2241         (WTR::TestController::didReceiveMessageFromInjectedBundle):
2242         * WebKitTestRunner/TestController.h:
2243         * WebKitTestRunner/TestInvocation.cpp:
2244         (WTR::TestInvocation::shortTimeout const):
2245         (WTR::TestInvocation::createTestSettingsDictionary):
2246         * WebKitTestRunner/TestInvocation.h:
2247         * WebKitTestRunner/TestOptions.h:
2248         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2249         (WTR::TestController::platformRunUntil):
2250         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
2251         (WTR::TestController::platformRunUntil):
2252         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
2253         (WTR::TestController::platformRunUntil):
2254
2255 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
2256
2257         Convert timeout values in WebKitTestRunner to WTF::Seconds
2258         https://bugs.webkit.org/show_bug.cgi?id=188987
2259
2260         Reviewed by Ryosuke Niwa.
2261         
2262         Replace various 'int' timeout values with WTF::Seconds. The timeout argument
2263         comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
2264         using integers, convert to and from milliseconds.
2265         
2266         Also do some #pragma once, and initializer cleanup.
2267
2268         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2269         (WTR::InjectedBundle::didReceiveMessageToPage):
2270         (WTR::InjectedBundle::beginTesting):
2271         (WTR::InjectedBundle::InjectedBundle): Deleted.
2272         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
2273         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2274         (WTR::TestRunner::timeout):
2275         (WTR::TestRunner::setCustomTimeout):
2276         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
2277         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2278         * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
2279         (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
2280         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2281         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
2282         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2283         * WebKitTestRunner/TestController.cpp:
2284         (WTR::TestController::TestController):
2285         (WTR::parseInputLine):
2286         (WTR::TestController::runTest):
2287         (WTR::TestController::runUntil):
2288         (WTR::TestController::didReceiveMessageFromInjectedBundle):
2289         * WebKitTestRunner/TestController.h:
2290         * WebKitTestRunner/TestInvocation.cpp:
2291         (WTR::TestInvocation::shortTimeout const):
2292         (WTR::TestInvocation::createTestSettingsDictionary):
2293         * WebKitTestRunner/TestInvocation.h:
2294         * WebKitTestRunner/TestOptions.h:
2295         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2296         (WTR::TestController::platformRunUntil):
2297         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
2298         (WTR::TestController::platformRunUntil):
2299         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
2300         (WTR::TestController::platformRunUntil):
2301
2302 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2303
2304         REGRESSION(r234985/r234989) WKPageLoadHTMLString with a 16-bit String has the wrong encoding
2305         https://bugs.webkit.org/show_bug.cgi?id=189002
2306
2307         Reviewed by Tim Horton.
2308
2309         * TestWebKitAPI/Tests/WebKit/WillLoad.cpp:
2310         (TestWebKitAPI::TEST_F):
2311
2312 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2313
2314         [Cocoa] Exception (fileType 'dyn.agq8u' is not a valid UTI) raised when dragging an attachment whose file wrapper is a directory
2315         https://bugs.webkit.org/show_bug.cgi?id=188903
2316         <rdar://problem/43702993>
2317
2318         Reviewed by Tim Horton.
2319
2320         Add two API tests and adjust existing WKAttachment API tests. The new tests exercise the following scenarios, in
2321         both iOS and macOS:
2322         •       Dropping a folder as an attachment element, and then moving that attachment element in the document by
2323                 dragging and dropping.
2324         •       Using WKWebView SPI to insert a folder and a file with an unknown extension, and then using more
2325                 _WKAttachment SPI to swap the attachments' backing file wrappers.
2326
2327         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2328         (runTestWithTemporaryFolder):
2329
2330         Add a helper function to run a test with a new folder path, created in the temporary directory and populated
2331         with some sample content. This folder is deleted after running the test.
2332
2333         (simulateFolderDragWithURL):
2334
2335         Add a helper function to prepare a given DragAndDropSimulator for simulating a dragged folder from a source
2336         external to the web view.
2337
2338         (platformCopyRichTextWithMultipleAttachments):
2339         (platformCopyRichTextWithImage):
2340         (platformCopyPNG):
2341         (TestWebKitAPI::TEST):
2342
2343         Add new API tests, and adjust existing tests to reflect new -setFileWrapper:…: behavior. Specifically,
2344         ChangeAttachmentDataAndFileInformation previously required that changing a _WKAttachment's NSFileWrapper would
2345         preserve the previous NSFileWrapper's preferred name if the new file wrapper does not have a preferred name, but
2346         this quirk is no longer supported.
2347
2348         Also add a few bridging casts for the eventual transition of TestWebKitAPI to ARC.
2349
2350         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
2351
2352         Add a new hook to clear any external drag information on an existing DragAndDropSimulator. This is convenient
2353         when using the same DragAndDropSimulator to perform multiple drags in a single test.
2354
2355         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
2356         (-[DragAndDropSimulator clearExternalDragInformation]):
2357         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2358         (-[DragAndDropSimulator clearExternalDragInformation]):
2359
2360 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2361
2362         Translate 4 tests using WKPageLoaderClient to ObjC
2363         https://bugs.webkit.org/show_bug.cgi?id=188827
2364
2365         Reviewed by Tim Horton.
2366
2367         They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
2368         Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
2369         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
2370         bundle functionality any more.
2371
2372         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2373         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
2374         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
2375         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
2376         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
2377         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
2378         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
2379         (-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
2380         (-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2381         (TestWebKitAPI::TEST):
2382         (): Deleted.
2383         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2384         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2385         (TestWebKitAPI::setPageLoaderClient): Deleted.
2386         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
2387         (-[ResponsivenessDelegate webView:didFinishNavigation:]):
2388         (-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2389         (TestWebKitAPI::TEST):
2390         (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
2391         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2392         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2393         (TestWebKitAPI::setInjectedBundleClient): Deleted.
2394         (TestWebKitAPI::setPageLoaderClient): Deleted.
2395         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
2396         (-[SessionStateDelegate webView:didFinishNavigation:]):
2397         (-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
2398         (TestWebKitAPI::createSessionStateData):
2399         (TestWebKitAPI::TEST):
2400         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2401         (TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
2402         (TestWebKitAPI::setPageLoaderClient): Deleted.
2403         * TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
2404         (-[BackForwardClient webView:didFinishNavigation:]):
2405         (-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
2406         (TestWebKitAPI::TEST):
2407         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2408         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
2409         (TestWebKitAPI::setPageLoaderClient): Deleted.
2410
2411 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2412
2413         [Cocoa] "video.html" appears at the top level of the TestWebKitAPI Xcode project
2414         https://bugs.webkit.org/show_bug.cgi?id=188989
2415
2416         Reviewed by Andy Estes.
2417
2418         Move this into the Tests/WebKit/Resources group in the project.
2419
2420         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2421
2422 2018-08-27  Thomas Denney  <tdenney@apple.com>
2423
2424         Avoid an exception in the interactive interpreter
2425         https://bugs.webkit.org/show_bug.cgi?id=188991
2426
2427         Reviewed by Myles C. Maxfield.
2428
2429         * WebGPUShadingLanguageRI/index.html: Corrects a typo in the name of a
2430         local variable
2431
2432 2018-08-27  Thomas Denney  <tdenney@apple.com>
2433
2434         Allow new vector types to work with the interactive interpreter
2435         https://bugs.webkit.org/show_bug.cgi?id=188988
2436
2437         Reviewed by Myles C. Maxfield.
2438
2439         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
2440         (FlattenedStructOffsetGatherer.prototype.visitTypeRef): Do not
2441         unncessarily visit the type arguments of a TypeRef, as by this point
2442         there are none that are relevant.
2443         * WebGPUShadingLanguageRI/Intrinsics.js:
2444         (Intrinsics): Treat VectorType as a primitive type.
2445
2446 2018-08-27  Keith Rollin  <krollin@apple.com>
2447
2448         Build system support for LTO
2449         https://bugs.webkit.org/show_bug.cgi?id=187785
2450         <rdar://problem/42353132>
2451
2452         Reviewed by Dan Bernstein.
2453
2454         Add tools/scripts support for controlling LTO builds.
2455
2456         * Scripts/build-webkit: Add --lto-mode={none,thin,full}.
2457         * Scripts/set-webkit-configuration: Add support for saving LTO
2458         configuration to WebKitBuild/LTO.
2459         * Scripts/webkitdirs.pm: Add support for reading configuration from
2460         WebKitBuild/LTO and providing it to xcodebuild.
2461         (determineLTOMode):
2462         (ltoMode):
2463         (XcodeOptions):
2464
2465 2018-08-27  Daniel Bates  <dabates@apple.com>
2466
2467         lldb-webkit: Pretty-print OptionSet
2468         https://bugs.webkit.org/show_bug.cgi?id=188936
2469
2470         Reviewed by Simon Fraser.
2471
2472         Add LLDB formatters to pretty-print an OptionSet.
2473
2474         * lldb/lldbWebKitTester/main.cpp:
2475         (testSummaryProviders):
2476         * lldb/lldb_webkit.py:
2477         (__lldb_init_module):
2478         (__lldb_init_module.lldb_webkit):
2479         (WTFOptionSet_SummaryProvider):
2480         (WTFOptionSetProvider):
2481         (WTFOptionSetProvider.__init__):
2482         (WTFOptionSetProvider.has_children):
2483         (WTFOptionSetProvider.num_children):
2484         (WTFOptionSetProvider.get_child_index):
2485         (WTFOptionSetProvider.get_child_at_index):
2486         (WTFOptionSetProvider.update):
2487         * lldb/lldb_webkit_unittest.py:
2488         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
2489         (TestSummaryProviders):
2490         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty):
2491         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple):
2492         (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty):
2493         (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple):
2494
2495 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2496
2497         [Attachment Support] [WK2] Images copied from Mail message view paste with the wrong file name in compose
2498         https://bugs.webkit.org/show_bug.cgi?id=188957
2499         <rdar://problem/43737715>
2500
2501         Reviewed by Darin Adler.
2502
2503         Add a new API test to verify that pasting a web archive containing several image elements with alt attributes
2504         generates _WKAttachments whose names reflect those alt attributes.
2505
2506         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2507         (testGIFFileURL):
2508         (testGIFData):
2509         (TestWebKitAPI::TEST):
2510
2511 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2512
2513         Unreviewed, rolling out r235367.
2514
2515         Broke iOS build.
2516
2517         Reverted changeset:
2518
2519         "Translate 4 tests using WKPageLoaderClient to ObjC"
2520         https://bugs.webkit.org/show_bug.cgi?id=188827
2521         https://trac.webkit.org/changeset/235367
2522
2523 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2524
2525         Fix GTK build.
2526
2527         * TestWebKitAPI/CMakeLists.txt:
2528
2529 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2530
2531         Fix iOS build.
2532
2533         * TestWebKitAPI/PlatformWebView.h:
2534
2535 2018-08-27  Alex Christensen  <achristensen@webkit.org>
2536
2537         Translate 4 tests using WKPageLoaderClient to ObjC
2538         https://bugs.webkit.org/show_bug.cgi?id=188827
2539
2540         Reviewed by Tim Horton.
2541
2542         They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
2543         Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
2544         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
2545         bundle functionality any more.
2546
2547         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2548         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
2549         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
2550         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
2551         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
2552         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
2553         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
2554         (-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
2555         (-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2556         (TestWebKitAPI::TEST):
2557         (): Deleted.
2558         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2559         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2560         (TestWebKitAPI::setPageLoaderClient): Deleted.
2561         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
2562         (-[ResponsivenessDelegate webView:didFinishNavigation:]):
2563         (-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
2564         (TestWebKitAPI::TEST):
2565         (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
2566         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2567         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
2568         (TestWebKitAPI::setInjectedBundleClient): Deleted.
2569         (TestWebKitAPI::setPageLoaderClient): Deleted.
2570         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
2571         (-[SessionStateDelegate webView:didFinishNavigation:]):
2572         (-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
2573         (TestWebKitAPI::createSessionStateData):
2574         (TestWebKitAPI::TEST):
2575         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2576         (TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
2577         (TestWebKitAPI::setPageLoaderClient): Deleted.
2578         * TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
2579         (-[BackForwardClient webView:didFinishNavigation:]):
2580         (-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
2581         (TestWebKitAPI::TEST):
2582         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
2583         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
2584         (TestWebKitAPI::setPageLoaderClient): Deleted.
2585
2586 2018-08-27  Keith Miller  <keith_miller@apple.com>
2587
2588         test262-runner -s --test-only should replace test results
2589         https://bugs.webkit.org/show_bug.cgi?id=188450
2590
2591         Reviewed by Michael Saboff.
2592
2593         * Scripts/test262/Runner.pm:
2594         (main):
2595         (SetFailureForTest):
2596         (UpdateResults):
2597
2598 2018-08-26  Sam Weinig  <sam@webkit.org>
2599
2600         Using _WKRemoteObjectInterface with a protocol that inherits from a non-NSObject protocol crashes
2601         https://bugs.webkit.org/show_bug.cgi?id=188958
2602
2603         Reviewed by Anders Carlsson.
2604
2605         * TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
2606         Update test protocol to have inheritance.
2607
2608 2018-08-26  Wenson Hsieh  <wenson_hsieh@apple.com>
2609
2610         [Attachment Support] Dropping and pasting images should insert inline image elements with _WKAttachments
2611         https://bugs.webkit.org/show_bug.cgi?id=188933
2612         <rdar://problem/43699724>
2613
2614         Reviewed by Darin Adler.
2615
2616         Rebaseline existing API tests that involve dropping or pasting image files, and additionally write some new
2617         tests. These new tests exercise the following cases:
2618         •       Inserting and removing newlines before an inline image with an attachment element does not cause new
2619                 _WKAttachments to be created and destroyed.
2620         •       Pasting an image, cutting it, and then pasting it again propagates an attachment update to the UI
2621                 process with the original _WKAttachment.
2622         •       A pasted attachment in the document can be moved around by dragging, and doing so does not cause us to
2623                 lose a _WKAttachment.
2624
2625         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2626         (-[TestWKWebView expectElementCount:tagName:]):
2627         (TestWebKitAPI::TEST):
2628
2629         Add the new tests described above, and also adjust existing tests to check that images are dropped or pasted
2630         as image elements, but still have associated attachment elements whose attachment identifiers (observed via
2631         script) match that of the corresponding _WKAttachment's uniqueIdentifier in the UI process.
2632
2633         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2634         (-[DragAndDropSimulator runFrom:to:]):
2635         (-[DragAndDropSimulator continueDragSession]):
2636         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
2637
2638         Teach DragAndDropSimulator on macOS to wait until the drop has been handled by the web process before returning
2639         execution to the caller. This ensures that tests which involve dropping promised files as attachments aren't
2640         flaky, due to how the promised data is retrieved asynchronously when performing the drop.
2641
2642         (-[DragAndDropSimulator _webView:didPerformDragOperation:]):
2643
2644 2018-08-26  Lucas Forschler  <lforschler@apple.com>
2645
2646         Open svn.webkit.org for commits.
2647
2648 2018-08-24  Myles C. Maxfield  <mmaxfield@apple.com>
2649
2650         Unreviewed test fix after r235249
2651         https://bugs.webkit.org/show_bug.cgi?id=178981
2652
2653         * WebGPUShadingLanguageRI/Test.js:
2654
2655 2018-08-24  Alex Christensen  <achristensen@webkit.org>
2656
2657         Introduce _WKInspector
2658         https://bugs.webkit.org/show_bug.cgi?id=188923
2659         <rdar://problem/34657861>
2660
2661         Reviewed by Brian Burg.
2662
2663         * MiniBrowser/mac/WK2BrowserWindowController.m:
2664         (-[WK2BrowserWindowController validateMenuItem:]):
2665         (-[WK2BrowserWindowController showHideWebInspector:]):
2666
2667 2018-08-24  Jonathan Bedard  <jbedard@apple.com>
2668
2669         Fix handling of iOS minor versions in default_baseline_search_path
2670         https://bugs.webkit.org/show_bug.cgi?id=188902
2671
2672         Reviewed by Aakash Jain.
2673
2674         * Scripts/webkitpy/port/ios.py:
2675         (IOSPort.default_baseline_search_path): When the major version matches the major version of the CURRENT_VERSION, treat
2676         it as a the CURRENT_VERSION.
2677
2678 2018-08-24  Antti Koivisto  <antti@apple.com>
2679
2680         Allow creating WeakPtrs to const objects
2681         https://bugs.webkit.org/show_bug.cgi?id=188785
2682
2683         Reviewed by Geoff Garen.
2684
2685         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
2686         (TestWebKitAPI::Base::weakPtrFactory const):
2687         (TestWebKitAPI::TEST):
2688         (TestWebKitAPI::Base::weakPtrFactory): Deleted.
2689
2690 2018-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
2691
2692         [GTK][WPE] Add API to inject/register user content in isolated worlds
2693         https://bugs.webkit.org/show_bug.cgi?id=188883
2694
2695         Reviewed by Michael Catanzaro.
2696
2697         Add test cases for the new API.
2698
2699         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
2700         (isStyleSheetInjectedForURLAtPath):
2701         (isScriptInjectedForURLAtPath):
2702         (testUserContentManagerInjectedStyleSheet):
2703         (testUserContentManagerInjectedScript):
2704         (UserScriptMessageTest::registerHandler):
2705         (UserScriptMessageTest::unregisterHandler):
2706         (UserScriptMessageTest::postMessageAndWaitUntilReceived):
2707         (testUserContentManagerScriptMessageInWorldReceived):
2708         (beforeAll):
2709
2710 2018-08-23  Simon Fraser  <simon.fraser@apple.com>
2711
2712         Add support for dumping GC heap snapshots, and a viewer
2713         https://bugs.webkit.org/show_bug.cgi?id=186416
2714
2715         Reviewed by Joseph Pecoraro.
2716
2717         Add a viewer for GC heap snapshots. A snapshot JSON file can be dragged into this
2718         page for inspection (or set via the 'filename' URL parameter).
2719
2720         For now, this page shows all objects, all roots, and the shortest path from a root
2721         to all HTMLDocuments and Windows.
2722
2723         * GCHeapInspector/gc-heap-inspector.html: Added.
2724         * GCHeapInspector/heap-analysis/HeapSnapshot.js: Copied from Source/WebInspectorUI/UserInterface/Workers/HeapSnapshot/HeapSnapshot.js.
2725         * GCHeapInspector/script/interface.js: Added.
2726
2727 2018-08-23  Alex Christensen  <achristensen@webkit.org>
2728
2729         Add new _webViewRequestPointerLock SPI with a completionHandler
2730         https://bugs.webkit.org/show_bug.cgi?id=188907
2731         <rdar://problem/35871109>
2732
2733         Reviewed by Andy Estes.
2734
2735         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
2736         (-[PointerLockDelegate _webViewRequestPointerLock:completionHandler:]):
2737         (-[PointerLockDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
2738         (TEST):
2739
2740 2018-08-23  David Fenton  <david_fenton@apple.com>
2741
2742         Unreviewed, rolling out r235129.
2743
2744         broke internal builds
2745
2746         Reverted changeset:
2747
2748         "Allow creating WeakPtrs to const objects"
2749         https://bugs.webkit.org/show_bug.cgi?id=188785
2750         https://trac.webkit.org/changeset/235129
2751
2752 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
2753
2754         API tests should output json results
2755         https://bugs.webkit.org/show_bug.cgi?id=188869
2756         <rdar://problem/43615652>
2757
2758         Reviewed by Aakash Jain.
2759
2760         JSON output for API tests is of the form:
2761             {
2762                 "Failed": [{"name": <test name>, "output": <test log>}],
2763                 "Timedout": [...],
2764                 "Skipped": [...],
2765                 "Crashed": [...]
2766             }
2767         Tests which are successful are not displayed in the json output.
2768
2769         * Scripts/webkitpy/api_tests/manager.py:
2770         (Manager.run): Print test results to provided file as a json dictionary.
2771         * Scripts/webkitpy/api_tests/run_api_tests.py:
2772         (run): Pass json option.
2773         (parse_args): Add --json-output flag.
2774
2775 2018-08-23  Andy Estes  <aestes@apple.com>
2776
2777         [Apple Pay] Introduce Apple Pay JS v4 on iOS 12 and macOS Mojave
2778         https://bugs.webkit.org/show_bug.cgi?id=188829
2779
2780         Reviewed by Tim Horton.
2781
2782         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2783
2784 2018-08-23  Myles C. Maxfield  <mmaxfield@apple.com>
2785
2786         [WSL] Ternary expressions appear to be unimplemented
2787         https://bugs.webkit.org/show_bug.cgi?id=178981
2788
2789         Reviewed by Saam Barati.
2790
2791         Implement ternary statements. These can be both lvalues and rvalues. (a ? b : c ? d : e)
2792         is parsed as (a ? b : (c ? d : e)).
2793
2794         * WebGPUShadingLanguageRI/All.js:
2795         * WebGPUShadingLanguageRI/Checker.js:
2796         (Checker.prototype.visitTernaryExpression):
2797         * WebGPUShadingLanguageRI/Evaluator.js:
2798         (Evaluator.prototype.visitTernaryExpression):
2799         * WebGPUShadingLanguageRI/NormalUsePropertyResolver.js:
2800         (NormalUsePropertyResolver.prototype.visitTernaryExpression):
2801         (NormalUsePropertyResolver):
2802         * WebGPUShadingLanguageRI/Parse.js:
2803         (parsePossibleTernaryConditional):
2804         * WebGPUShadingLanguageRI/PropertyResolver.js:
2805         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitTernaryExpression):
2806         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
2807         (PropertyResolver.prototype._visitRValuesWithinLValue):
2808         * WebGPUShadingLanguageRI/Rewriter.js:
2809         (Rewriter.prototype.visitTernaryExpression):
2810         * WebGPUShadingLanguageRI/SPIRV.html:
2811         * WebGPUShadingLanguageRI/Test.html:
2812         * WebGPUShadingLanguageRI/Test.js:
2813         * WebGPUShadingLanguageRI/Visitor.js:
2814         (Visitor.prototype.visitProtocolDecl):
2815         * WebGPUShadingLanguageRI/index.html:
2816
2817 2018-08-22  Ryosuke Niwa  <rniwa@webkit.org>
2818
2819         Assert in NetworkBlobRegistry::unregisterBlobURL after network process had terminated
2820         https://bugs.webkit.org/show_bug.cgi?id=188880
2821
2822         Reviewed by Saam Barati.
2823
2824         Fixed the bug that testRunner's terminateNetworkProcess, terminateServiceWorkerProcess, and terminateStorageProcess
2825         were asynchronously terminating respective processes. Do so synchronously so that we can deterministically
2826         test WebKit's behavior in layout tests.
2827
2828         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2829         (WTR::TestRunner::terminateNetworkProcess):
2830         (WTR::TestRunner::terminateServiceWorkerProcess):
2831         (WTR::TestRunner::terminateStorageProcess):
2832         * WebKitTestRunner/TestInvocation.cpp:
2833         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2834         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2835
2836 2018-08-23  Myles C. Maxfield  <mmaxfield@apple.com>
2837
2838         [WHLSL] Allow native types to have type arguments (like "vector<float, 4>")
2839         https://bugs.webkit.org/show_bug.cgi?id=188773
2840
2841         Reviewed by Filip Pizlo.
2842
2843         Before this patch, it was impossible to represent "native typedef vector<float, 4>" because NativeTypes couldn't have
2844         typeArguments.
2845
2846         Previously, the way to identify a type was strictly by name, which was represented by a string. Therefore, when something like
2847         "vector<int, 3>" was parsed, it would produce a TypeRef with the name "vector" and typeArguments [TypeRef, IntLiteral]. Then,
2848         there was a pass to convert the TypeRef to have the name "int3" and no typeArguments. After this transformation, each type could
2849         be uniquely identified by name. That name was then matched to the string-only NativeType name.
2850
2851         This is okay for vectors and matrices, but it is unfortunate for textures (e.g. Texture2D<float4>) because they don't have any
2852         natural string-only name. In addition, the canonicalization would have to be made aware of the fact that Texture2D<float4> is
2853         the same as Texture2D<vector<float, 4>>. Similarly, an author may wish to typedef float4 to a different name.
2854
2855         It would be possible to mangle the names of the texture types to something unique, but then we lose information about the inner
2856         type. For example, if we did this, Visitor wouldn't recurse into the float4 when encountering Texture2D<float4> because that
2857         information would be lost. This could potentially make operations like programWithUnnecessaryThingsRemoved() more difficult to
2858         implement in the future.
2859
2860         So, it would be better to have each type uniquely identified by (name, typeArguments). TypeRef will therefore also have
2861         typeArguments which are used to determine which type it is referencing. After this analysis is done to determine what each
2862         TypeRef is referencing, subsequent passes shouldn't care about the typeArguments and should only care about the .type field
2863         which had been set - this was true even before this patch.
2864
2865         This means that NameContext has to aggregate types that accept typeArguments into arrays, where each array holds all the Types
2866         that have the same name but different typeArguments. Then, when we need to match a TypeRef with a Type, we can ask the
2867         NameContext for the appropriate array. This is the same way that function resolution works.
2868
2869         We can use Node.unify() to determine whether a TypeRef matches a NativeType. Eventually, this will go away, but for now, this is
2870         an okay start. This works just about the same way that function overload resolution works. 
2871
2872         * WebGPUShadingLanguageRI/All.js:
2873         * WebGPUShadingLanguageRI/CallExpression.js:
2874         (CallExpression.prototype.resolve):
2875         * WebGPUShadingLanguageRI/CheckTypesWithArguments.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js. After types
2876         have been resolved, there should be no TypeRefs with name "vector" that don't have type arguments. This is just a sanity check.
2877         (checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
2878         (checkTypesWithArguments.TypeWithArgumentsChecker):
2879         (checkTypesWithArguments):
2880         * WebGPUShadingLanguageRI/Checker.js:
2881         (Checker.prototype.visitProgram): Program.types mirrors NameContext: it's a Map that maps strings to types. Because types with
2882         typeArguments share names, this has to be updated to map strings to arrays for these types.
2883         (Checker.prototype.visitTypeRef):
2884         * WebGPUShadingLanguageRI/InferTypesForCall.js:
2885         (inferTypesForCall): Don't know why this was here.
2886         (inferTypesForTypeArguments): Same as inferTypesForCall, but this one is for matching type arguments.
2887         * WebGPUShadingLanguageRI/Intrinsics.js: Adding the types. This patch also adds some scalar types like half, char, etc, but they
2888         don't have any functions which accept them. Those will be tested in my next patch which adds math functions for these types. This
2889         moves in the direction of matching the standard library in the spec.
2890         (Intrinsics.cast):
2891         (Intrinsics.bitwiseCast):
2892         (Intrinsics.castToHalf):
2893         (Intrinsics.):
2894         (Intrinsics):
2895         * WebGPUShadingLanguageRI/NameContext.js: Aggregate types with typeArguments into arrays.
2896         (NameContext.prototype.add):
2897         (NameContext.prototype.get let):
2898         (NameContext.underlyingThings.prototype.else):
2899         (NameContext.prototype.Symbol.iterator):
2900         (NameContext):
2901         * WebGPUShadingLanguageRI/NameResolver.js:
2902         (NameResolver.prototype.visitTypeRef): Call TypeRef.resolve().
2903         (NameResolver.prototype.visitCallExpression):
2904         (NameResolver):
2905         (NameResolver.prototype.visitVectorType): Deleted.
2906         * WebGPUShadingLanguageRI/NativeType.js: NativeTypes can have type arguments now.
2907         (NativeType):
2908         (NativeType.prototype.get typeArguments):
2909         (NativeType.prototype.toString):
2910         (NativeType.create):
2911         * WebGPUShadingLanguageRI/Prepare.js:
2912         (let.prepare):
2913         * WebGPUShadingLanguageRI/Program.js: Update to work with types aggregated into arrays.
2914         (Program.prototype.add):
2915         (Program.prototype.toString):
2916         (Program):
2917         * WebGPUShadingLanguageRI/RemoveTypeArguments.js: Removed.
2918         * WebGPUShadingLanguageRI/ResolveNames.js: Update to work with types aggregated into arrays.
2919         (resolveNamesInTypes):
2920         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js: Resolve the type overload for types with typeArguments.
2921         * WebGPUShadingLanguageRI/ResolveTypeDefs.js: Update to work with types aggregated into arrays.
2922         (resolveTypeDefsInTypes):
2923         * WebGPUShadingLanguageRI/Rewriter.js: TypeRefs and Native/Vector types can have typeArguments.
2924         (Rewriter.prototype.visitTypeRef):
2925         (Rewriter.prototype.visitVectorType):
2926         (Rewriter):
2927         * WebGPUShadingLanguageRI/SPIRV.html:
2928         * WebGPUShadingLanguageRI/StandardLibrary.js: Matches Intrinsics.
2929         (bool.operator):
2930         * WebGPUShadingLanguageRI/StatementCloner.js: Native types can have typeArguments.
2931         (StatementCloner.prototype.visitNativeType):
2932         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Vector types need constructors too.
2933         (synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitVectorType):
2934         (synthesizeDefaultConstructorOperator.FindAllTypes):
2935         (synthesizeDefaultConstructorOperator):
2936         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: No reason to distinguish between wrapping and instantiating a TypeRef.
2937         (synthesizeStructAccessors.createTypeRef):
2938         * WebGPUShadingLanguageRI/Test.html:
2939         * WebGPUShadingLanguageRI/Test.js:
2940         * WebGPUShadingLanguageRI/TypeOverloadResolutionFailure.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js.
2941         (TypeOverloadResolutionFailure):
2942         (TypeOverloadResolutionFailure.prototype.get type):
2943         (TypeOverloadResolutionFailure.prototype.get reason):
2944         (TypeOverloadResolutionFailure.prototype.toString):
2945         * WebGPUShadingLanguageRI/TypeRef.js:
2946         (TypeRef.wrap):
2947         (TypeRef.prototype.resolve): Figure out which item in the possibleOverloads array matches this.
2948         (TypeRef.prototype.toString):
2949         (TypeRef):
2950         (TypeRef.instantiate): Deleted.
2951         * WebGPUShadingLanguageRI/UnificationContext.js: We need to give literals a chance to assume their preferred type. This
2952         adds this facility back into the compiler (it was previously deleted).
2953         (UnificationContext.prototype.verify):
2954         * WebGPUShadingLanguageRI/VectorType.js: Vector types have type arguments.
2955         (VectorType):
2956         (VectorType.prototype.get elementType):
2957         (VectorType.prototype.get numElements):
2958         (VectorType.prototype.get numElementsValue):
2959         (VectorType.prototype.toString):
2960         * WebGPUShadingLanguageRI/Visitor.js: Iterate over the typeArguments.
2961         (Visitor.prototype.visitTypeRef):
2962         (Visitor.prototype.visitNativeType):
2963         (Visitor.prototype.visitVectorType):
2964         (Visitor):
2965         * WebGPUShadingLanguageRI/index.html:
2966
2967 2018-08-23  Wenson Hsieh  <wenson_hsieh@apple.com>
2968
2969         [Attachment Support] Attachment elements don't appear in drag images on macOS
2970         https://bugs.webkit.org/show_bug.cgi?id=188823
2971         <rdar://problem/43616378>
2972
2973         Reviewed by Tim Horton.
2974
2975         Adjusts a couple of existing tests to additionally verify that the drag image generated when dragging an
2976         attachment element in macOS is not completely transparent.
2977
2978         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2979         (isCompletelyTransparent):
2980         (TestWebKitAPI::TEST):
2981
2982 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
2983
2984         Explain test name matching in run-api-tests help
2985         https://bugs.webkit.org/show_bug.cgi?id=188280
2986
2987         Reviewed by Ryosuke Niwa.
2988
2989         Improve the run-api-tests help message to explain how test
2990         name matching works.
2991
2992         * Scripts/webkitpy/api_tests/run_api_tests.py:
2993         (parse_args):
2994         * Scripts/webkitpy/port/base.py:
2995         (Port):
2996         (Port.path_to_api_test_binaries): Make binary names a globally accessible array.
2997         * Scripts/webkitpy/port/win.py:
2998         (WinPort):
2999         (WinPort.path_to_api_test_binaries): Ditto.
3000
3001 2018-08-23  Youenn Fablet  <youenn@apple.com>
3002
3003         Use "wpt serve" to launch WPT server
3004         https://bugs.webkit.org/show_bug.cgi?id=188848
3005
3006         Reviewed by Ryosuke Niwa.
3007
3008         Use "wpt serve" provided by WPT instead of using our custom launcher.
3009         This simplifies things and will avoid future breakage.
3010         Further simplify web_platform_test_server.py by removing no longer needed actions.
3011         - Do not copy files but use alias
3012         - Do not kill main pid, which leaves subprocesses alive, use interrupt instead.
3013         - Stop enumerating subprocess pids.
3014
3015         * Scripts/webkitpy/common/system/executive_mock.py:
3016         (MockExecutive.interrupt):
3017         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py: Removed.
3018         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
3019         (WebPlatformTestServer.__init__):
3020         (WebPlatformTestServer.ports_to_forward):
3021         (WebPlatformTestServer._prepare_config):
3022         (WebPlatformTestServer._spawn_process):
3023         (WebPlatformTestServer._stop_running_server):
3024
3025 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
3026
3027         run-api-tests: Add --webkit-only, --webcore-only and --webkit-legacy-only options to run WebKit, WebCore and WebKitLegacy tests 
3028         https://bugs.webkit.org/show_bug.cgi?id=188262
3029
3030         Reviewed by Ryosuke Niwa.
3031
3032         * Scripts/webkitpy/api_tests/run_api_tests.py:
3033         (parse_args):
3034
3035 2018-08-22  Wenson Hsieh  <wenson_hsieh@apple.com>
3036
3037         [Attachment Support] Support dragging attachment elements out as files on macOS
3038         https://bugs.webkit.org/show_bug.cgi?id=181294
3039         <rdar://problem/36298801>
3040
3041         Reviewed by Tim Horton.
3042
3043         Add DragAndDropSimulator support for intercepting calls to -beginDraggingSessionWithitems:event:source:. This
3044         enables us to write API tests for macOS that exercise the attachment SPI in combination with dragging attachment
3045         elements.
3046
3047         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3048         (-[TestWKWebView attachmentElementMidPoint]):
3049
3050         Add a helper method local to this test suite that grabs the midpoint (in client coordinates) or the first
3051         attachment element in the document.
3052
3053         (TestWebKitAPI::TEST):
3054
3055         Add a new API test to verify that dragging an attachment element on macOS produces file providers which may be
3056         used to write attachment data to a path on disk. Additionally, refactor an existing API test,
3057         MoveAttachmentElementAsIconByDragging, so that it runs on both iOS and macOS, to test the ability to move
3058         attachment elements around in a document by using drag and drop.
3059
3060         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
3061         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
3062         (-[DragAndDropTestWKWebView beginDraggingSessionWithItems:event:source:]):
3063         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
3064         (-[DragAndDropSimulator dealloc]):
3065         (-[DragAndDropSimulator runFrom:to:]):
3066         (-[DragAndDropSimulator beginDraggingSessionInWebView:withItems:source:]):
3067
3068         Begin a drag session and kick off the -continueDragSession loop. Unlike -performDragInWebView:…, which spins
3069         the main runloop until dragging ends, this version returns execution to the web view and schedules dragging
3070         updates asynchronously. This matches AppKit behavior.
3071
3072         (-[DragAndDropSimulator continueDragSession]):
3073
3074         Increment the dragging progress amount, send a drag update to the web view, and continue scheduling calls to
3075         itself until the progress reaches 1.
3076
3077         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
3078         (-[DragAndDropSimulator initializeDraggingInfo:dragImage:source:]):
3079
3080         Pull out common logic for creating a new TestDraggingInfo after starting a drag.
3081
3082         (-[DragAndDropSimulator insertedAttachments]):
3083         (-[DragAndDropSimulator removedAttachments]):
3084         (-[DragAndDropSimulator draggingSession]):
3085         (-[DragAndDropSimulator receivePromisedFiles]):
3086
3087         Helper method to save promised files written to the pasteboard after a drag to the temporary directory. These
3088         files are tracked by DragAndDropSimulator and automatically cleaned up after the test finishes.
3089
3090         (-[DragAndDropSimulator endDataTransfer]):
3091
3092         Add a method stub on macOS, so that MoveAttachmentElementAsIconByDragging can be made cross-platform.
3093
3094         (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
3095         (-[DragAndDropSimulator _webView:didRemoveAttachment:]):
3096
3097         Implement method stubs to keep track of inserted or removed attachments while simulating a drag.
3098
3099 2018-08-22  Aditya Keerthi  <akeerthi@apple.com>
3100
3101         [iOS] Add support for the inputmode attribute
3102         https://bugs.webkit.org/show_bug.cgi?id=183621
3103
3104         Reviewed by Tim Horton.
3105
3106         Added an API test to verify that the correct UIKeyboardType is set depending on
3107         the type, inputmode, and pattern specified for an input field.
3108
3109         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
3110         (TestWebKitAPI::TEST):
3111         * TestWebKitAPI/ios/UIKitSPI.h:
3112
3113 2018-08-22  Alex Christensen  <achristensen@webkit.org>
3114
3115         Fix API test on Sierra after r235139
3116         https://bugs.webkit.org/show_bug.cgi?id=188810
3117
3118         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
3119         (TEST):
3120
3121 2018-08-22  David Kilzer  <ddkilzer@apple.com>
3122
3123         Move files in WebCore project to match Xcode folder structure
3124         <https://webkit.org/b/188851>
3125
3126         Reviewed by Tim Horton.
3127
3128         * Scripts/extract-localizable-strings:
3129         * Scripts/update-webkit-localizable-strings:
3130         - Update to match new location of extract-localizable-strings.pl.
3131
3132 2018-08-21  Alex Christensen  <achristensen@webkit.org>
3133
3134         Roll out r235139 and r235146
3135         https://bugs.webkit.org/show_bug.cgi?id=188805
3136
3137         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3138         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
3139
3140 2018-08-21  Wenson Hsieh  <wenson_hsieh@apple.com>
3141
3142         [Attachment Support] Remove _WKAttachments and notify the UI client upon mainframe navigation
3143         https://bugs.webkit.org/show_bug.cgi?id=188715
3144         <rdar://problem/43541790>
3145
3146         Reviewed by Tim Horton.
3147
3148         Adds API tests to exercises cases where (1) the UI client is notified of attachment removal upon mainframe
3149         navigation, and (2) the UI client is notified of attachment removal upon web content process termination.
3150
3151         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3152         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
3153         (TestWebKitAPI::TEST):
3154
3155 2018-08-21  Alex Christensen  <achristensen@webkit.org>
3156
3157         Transition ResizeReversePaginatedWebView API test from WKPageLoaderClient to WKPageNavigationClient
3158         https://bugs.webkit.org/show_bug.cgi?id=188821
3159
3160         Reviewed by Simon Fraser.
3161
3162         * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
3163         (TestWebKitAPI::didLayout):
3164         (TestWebKitAPI::TEST):
3165
3166 2018-08-21  Myles C. Maxfield  <mmaxfield@apple.com>
3167
3168         [WHLSL] Call expressions shouldn't have type arguments
3169         https://bugs.webkit.org/show_bug.cgi?id=188770
3170
3171         Reviewed by Filip Pizlo.
3172
3173         Call expressions only had type arguments for casts, becuase native types can have type arguments.
3174         However, instead of putting those type arguments on the CallExpression, we should parse the casted
3175         type as a real type and not as an identifier, which puts the type arguments in the TypeRef.
3176
3177         Test: casts
3178
3179         * WebGPUShadingLanguageRI/CallExpression.js:
3180         (CallExpression):
3181         (CallExpression.prototype.get name):
3182         (CallExpression.resolve):
3183         (CallExpression.prototype.get typeArguments): Deleted.
3184         (CallExpression.prototype.becomeCast): Deleted.
3185         * WebGPUShadingLanguageRI/NameResolver.js:
3186         (NameResolver.prototype.visitCallExpression):
3187         * WebGPUShadingLanguageRI/Parse.js:
3188         (parseConstexpr):
3189         (parseTypeDef):
3190         (parseLeftOperatorCall):
3191         (parseCallExpression.let.parseArguments):
3192         (parsePossiblePrefix):
3193         (parsePossibleRelationalEquality):
3194         (parseLeftLogicalExpression):
3195         (parseIfStatement):
3196         (parseWhile):
3197         (parseFor):
3198         (parseDo):
3199         * WebGPUShadingLanguageRI/RemoveTypeArguments.js:
3200         * WebGPUShadingLanguageRI/Rewriter.js:
3201         (Rewriter.prototype.visitCallExpression):
3202
3203 2018-08-21  Alex Christensen  <achristensen@webkit.org>
3204
3205         Translate WebKit.LimitTitleSize API test into ObjC
3206         https://bugs.webkit.org/show_bug.cgi?id=188810
3207
3208         Reviewed by Andy Estes.
3209
3210         It uses WKPageLoaderClient.didReceiveTitleForFrame which has been replaced by KVO.
3211         I'm translating the test into ObjC rather than introducing a new callback to WKPageNavigationClient.
3212
3213         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3214         * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp: Removed.
3215         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
3216         (TEST):
3217         (-[LimitTitleSizeTestObserver observeValueForKeyPath:ofObject:change:context:]):
3218         (TestWebKitAPI::TEST): Deleted.
3219
3220 2018-08-21  Alex Christensen  <achristensen@webkit.org>
3221
3222         Remove unused shouldKeepCurrentBackForwardListItemInList check
3223         https://bugs.webkit.org/show_bug.cgi?id=188805
3224
3225         Reviewed by Andy Estes.
3226
3227         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3228         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp: Removed.
3229
3230 2018-08-21  Alex Christensen  <achristensen@webkit.org>
3231
3232         Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
3233         https://bugs.webkit.org/show_bug.cgi?id=188813
3234
3235         Reviewed by Andy Estes.
3236
3237         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp:
3238         (TestWebKitAPI::didLayout):
3239         (TestWebKitAPI::setPageLoaderClient):
3240         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
3241         (TestWebKitAPI::didFinishNavigation):
3242         (TestWebKitAPI::didLayout):
3243         (TestWebKitAPI::setPageLoaderClient):
3244         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3245         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
3246         (TestWebKitAPI::didLayout):
3247         (TestWebKitAPI::setPageLoaderClient):
3248
3249 2018-08-21  Wenson Hsieh  <wenson_hsieh@apple.com>
3250
3251         [Attachment Support] Augment _WKAttachment SPI to handle NSFileWrappers in addition to NSData
3252         https://bugs.webkit.org/show_bug.cgi?id=188496
3253         <rdar://problem/43216836>
3254
3255         Reviewed by Tim Horton.
3256
3257         Adjusts existing attachment API tests. See below for more detail.
3258
3259         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3260         (-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
3261         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
3262         (-[_WKAttachment synchronouslySetData:newContentType:newFilename:error:]):
3263         (-[_WKAttachment synchronouslySetFileWrapper:newContentType:error:]):
3264
3265         Move off of deprecated attachment SPI, and add new helper functions to synchronously insert a new attachment or
3266         update an existing attachment with a file wrapper.
3267
3268         (-[_WKAttachment expectRequestedDataToBe:]):
3269         (TestWebKitAPI::TEST):
3270
3271         Add a new test to verify that file-URL-backed NSFileWrappers can be used to insert and update attachment data.
3272         Also augment an existing test to check that an attachment element which has been copied and pasted within the
3273         same document has a different _WKAttachment wrapper object than its duplicate, but both _WKAttachments are
3274         backed by the same NSFileWrapper that was originally used to insert the attachment.
3275
3276         Additionally, add another macOS test to verify that dropping promised files in an attachment-element-enabled
3277         editable area inserts attachment elements into the document and notifies the UI client with the inserted
3278         attachment data.
3279
3280         (-[_WKAttachment synchronouslyRequestInfo:]): Deleted.
3281         (-[_WKAttachment synchronouslyRequestData:]): Deleted.
3282         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
3283         (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
3284
3285         Move off of -_webView:didInsertAttachment:.
3286
3287         (-[DragAndDropSimulator _webView:didInsertAttachment:]): Deleted.
3288
3289 2018-08-21  David Kilzer  <ddkilzer@apple.com>
3290
3291         sort-Xcode-project-file: top-level files and folders are sorted unintentionally when `mainGroup` has no name
3292         <https://webkit.org/b/188755>
3293
3294         Reviewed by Andy Estes.
3295
3296         * Scripts/sort-Xcode-project-file: Fix regular expression to
3297         make `mainGroup` name optional.
3298
3299 2018-08-21  Andy VanWagoner  <andy@vanwagoner.family>
3300
3301         Unreviewed, add myself to committers list.
3302
3303         * Scripts/webkitpy/common/config/contributors.json:
3304
3305 2018-08-21  Antti Koivisto  <antti@apple.com>
3306
3307         Allow creating WeakPtrs to const objects
3308         https://bugs.webkit.org/show_bug.cgi?id=188785
3309
3310         Reviewed by Geoffrey Garen.
3311
3312         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
3313         (TestWebKitAPI::Base::weakPtrFactory const):
3314         (TestWebKitAPI::TEST):
3315         (TestWebKitAPI::Base::weakPtrFactory): Deleted.
3316
3317 2018-08-21  Per Arne Vollan  <pvollan@apple.com>
3318
3319         [WebGL] Contexts are not updated when display configuration changed.
3320         https://bugs.webkit.org/show_bug.cgi?id=188750
3321
3322         Reviewed by Brent Fulgham.
3323
3324         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3325         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3326         (WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting):
3327         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3328         * WebKitTestRunner/TestController.cpp:
3329         (WTR::TestController::sendDisplayConfigurationChangedMessageForTesting):
3330         * WebKitTestRunner/TestController.h:
3331         * WebKitTestRunner/TestInvocation.cpp:
3332         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3333
3334 2018-08-21  John Wilander  <wilander@apple.com>
3335
3336         Make ResourceLoadObserver::logWebSocketLoading() handle websockets in detached frames
3337         https://bugs.webkit.org/show_bug.cgi?id=188757
3338         <rdar://problem/38713390>
3339
3340         Reviewed by Alex Christensen.
3341
3342         These changes add the new WebKitTestRunner function
3343         isStatisticsRegisteredAsSubresourceUnder().
3344
3345         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3346         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3347         (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
3348         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3349         * WebKitTestRunner/TestController.cpp:
3350         (WTR::TestController::isStatisticsRegisteredAsSubresourceUnder):
3351         * WebKitTestRunner/TestController.h:
3352         * WebKitTestRunner/TestInvocation.cpp:
3353         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3354
3355 2018-08-21  Alex Christensen  <achristensen@webkit.org>
3356
3357         Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
3358         https://bugs.webkit.org/show_bug.cgi?id=188797
3359
3360         Reviewed by Tim Horton.
3361
3362         * TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp:
3363         (TestWebKitAPI::didFinishNavigation):
3364         (TestWebKitAPI::TEST):
3365         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3366         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
3367         (TestWebKitAPI::didSameDocumentNavigation):
3368         (TestWebKitAPI::TEST):
3369         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
3370         * TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
3371         (TestWebKitAPI::didFailProvisionalNavigation):
3372         (TestWebKitAPI::TEST):
3373         (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
3374         * TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
3375         (TestWebKitAPI::didStartProvisionalNavigation):
3376         (TestWebKitAPI::didCommitNavigation):
3377         (TestWebKitAPI::didFinishNavigation):
3378         (TestWebKitAPI::TEST):
3379         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
3380         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
3381         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3382         * TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
3383         (TestWebKitAPI::didStartProvisionalNavigation):
3384         (TestWebKitAPI::didCommitNavigation):
3385         (TestWebKitAPI::didFinishNavigation):
3386         (TestWebKitAPI::TEST):
3387         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
3388         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
3389         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3390         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
3391         (TestWebKitAPI::renderingProgressDidChange):
3392         (TestWebKitAPI::TEST):
3393         (TestWebKitAPI::didLayout): Deleted.
3394         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
3395         (TestWebKitAPI::didFinishNavigation):
3396         (TestWebKitAPI::renderingProgressDidChange):
3397         (TestWebKitAPI::setPageLoaderClient):
3398         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3399         (TestWebKitAPI::didLayout): Deleted.
3400         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
3401         (TestWebKitAPI::State::State):
3402         (TestWebKitAPI::didStartProvisionalNavigation):
3403         (TestWebKitAPI::didCommitNavigation):
3404         (TestWebKitAPI::didFinishNavigation):
3405         (TestWebKitAPI::decidePolicyForNavigationAction):
3406         (TestWebKitAPI::decidePolicyForResponse):
3407         (TestWebKitAPI::TEST):
3408         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
3409         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
3410         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3411         (TestWebKitAPI::decidePolicyForNewWindowAction): Deleted.
3412         * TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
3413         (TestWebKitAPI::didSameDocumentNavigation):
3414         (TestWebKitAPI::TEST):
3415         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3416         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
3417         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
3418         (TestWebKitAPI::TEST):
3419         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
3420         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
3421         (TestWebKitAPI::didFinishLoad):
3422         (TestWebKitAPI::TEST):
3423         * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp:
3424         (TestWebKitAPI::didFinishNavigation):
3425         (TestWebKitAPI::TEST):
3426         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3427         * TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
3428         (TestWebKitAPI::didFinishLoad):
3429         (TestWebKitAPI::TEST):
3430         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
3431         (WebKit2_CommandBackForwardTestWKView::SetUp):
3432         (WebKit2_CommandBackForwardTestWKView::didFinishLoadForFrame): Deleted.
3433
3434 2018-08-20  Alex Christensen  <achristensen@webkit.org>
3435
3436         Replace WKPageLoaderClient with WKPageNavigationClient in many API tests
3437         https://bugs.webkit.org/show_bug.cgi?id=188771
3438
3439         Reviewed by Tim Horton.
3440
3441         * TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
3442         (TestWebKitAPI::didFinishNavigation):
3443         (TestWebKitAPI::TEST):
3444         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3445         * TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
3446         (TestWebKitAPI::didFinishNavigation):
3447         (TestWebKitAPI::TEST):
3448         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3449         * TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm:
3450         (TestWebKitAPI::didFinishNavigation):
3451         (TestWebKitAPI::setPageLoaderClient):
3452         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3453         * TestWebKitAPI/Tests/WebKit/DidNotHandleKeyDown.cpp:
3454         (TestWebKitAPI::TEST):
3455         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3456         * TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache.cpp:
3457         (TestWebKitAPI::didFinishNavigation):
3458         (TestWebKitAPI::setPageLoaderClient):
3459         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3460         * TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
3461         (TestWebKitAPI::didFinishNavigation):
3462         (TestWebKitAPI::setClients):
3463         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3464         * TestWebKitAPI/Tests/WebKit/Find.cpp:
3465         (TestWebKitAPI::didFinishNavigation):
3466         (TestWebKitAPI::TEST):
3467         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3468         * TestWebKitAPI/Tests/WebKit/FindMatches.mm:
3469         (TestWebKitAPI::didFinishNavigation):
3470         (TestWebKitAPI::TEST):
3471         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3472         * TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
3473         (TestWebKitAPI::didFinishNavigation):
3474         (TestWebKitAPI::TEST):
3475         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3476         * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
3477         (TestWebKitAPI::didFinishNavigation):
3478         (TestWebKitAPI::TEST):
3479         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3480         * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
3481         (TestWebKitAPI::didFinishNavigation):
3482         (TestWebKitAPI::TEST):
3483         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3484         * TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle.cpp:
3485         (TestWebKitAPI::didFinishNavigation):
3486         (TestWebKitAPI::setPageLoaderClient):
3487         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3488         * TestWebKitAPI/Tests/WebKit/InjectedBundleBasic.cpp:
3489         (TestWebKitAPI::didFinishNavigation):
3490         (TestWebKitAPI::TEST):
3491         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3492         * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp:
3493         (TestWebKitAPI::didFinishLoadForFrame):
3494         * TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
3495         (TestWebKitAPI::didFinishNavigation):
3496         (TestWebKitAPI::loadAlternateHTMLString):
3497         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3498         * TestWebKitAPI/Tests/WebKit/LoadCanceledNoServerRedirectCallback.cpp:
3499         (TestWebKitAPI::didFinishNavigation):
3500         (TestWebKitAPI::TEST):
3501         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3502         * TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp:
3503         (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
3504         (TestWebKitAPI::didFinishLoad):
3505         * TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp:
3506         (TestWebKitAPI::didFinishNavigation):
3507         (TestWebKitAPI::setPageLoaderClient):
3508         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3509         * TestWebKitAPI/Tests/WebKit/MouseMoveAfterCrash.cpp:
3510         (TestWebKitAPI::didFinishNavigation):
3511         (TestWebKitAPI::setPageLoaderClient):
3512         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3513         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
3514         (TestWebKitAPI::didFinishLoadForFrame):
3515         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
3516         (TestWebKitAPI::TEST):
3517         * TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp:
3518         (TestWebKitAPI::TEST):
3519         * TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp:
3520         (TestWebKitAPI::didFinishLoad):
3521         (TestWebKitAPI::TEST):
3522         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
3523         (TestWebKitAPI::didFinishNavigation):
3524         (TestWebKitAPI::setPageLoaderClient):
3525         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3526         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp:
3527         (TestWebKitAPI::didFinishNavigation):
3528         (TestWebKitAPI::setPageLoaderClient):
3529         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3530         * TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp:
3531         (TestWebKitAPI::didFinishNavigation):
3532         (TestWebKitAPI::TEST):
3533         (TestWebKitAPI::didFinishDocumentLoadForFrame): Deleted.
3534         * TestWebKitAPI/Tests/WebKit/SpacebarScrolling.cpp:
3535         (TestWebKitAPI::didFinishNavigation):
3536         (TestWebKitAPI::TEST):
3537         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3538         * TestWebKitAPI/Tests/WebKit/StopLoadingDuringDidFailProvisionalLoad.cpp:
3539         (TestWebKitAPI::didFailProvisionalNavigation):
3540         (TestWebKitAPI::TEST):
3541         (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
3542         * TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp:
3543         (TestWebKitAPI::didFinishNavigation):
3544         (TestWebKitAPI::TEST):
3545         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3546         * TestWebKitAPI/Tests/WebKit/TextFieldDidBeginAndEndEditing.cpp:
3547         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishNavigation):
3548         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::setPageLoaderClient):
3549         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishLoadForFrame): Deleted.
3550         * TestWebKitAPI/Tests/WebKit/UserMessage.cpp:
3551         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishNavigation):
3552         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::setPageLoaderClient):
3553         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishLoadForFrame): Deleted.
3554         * TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp:
3555         (TestWebKitAPI::didFinishNavigation):
3556         (TestWebKitAPI::setPageLoaderClient):
3557         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3558         * TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp:
3559         (TestWebKitAPI::didFinishNavigation):
3560         (TestWebKitAPI::setPageLoaderClient):
3561         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3562         * TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp:
3563         (TestWebKitAPI::didFinishNavigation):
3564         (TestWebKitAPI::setPageLoaderClient):
3565         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3566         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp:
3567         (TestWebKitAPI::didFinishNavigation):
3568         (TestWebKitAPI::setUpClients):
3569         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
3570         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
3571         (TestWebKitAPI::didFinishNavigation):
3572         (TestWebKitAPI::setPageLoaderClient):
3573