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