Teach webkitpy how to check leaks and treat leaks as test failures
[WebKit-https.git] / Tools / ChangeLog
1 2018-08-29  Simon Fraser  <simon.fraser@apple.com>
2
3         Teach webkitpy how to check leaks and treat leaks as test failures
4         https://bugs.webkit.org/show_bug.cgi?id=189067
5
6         Reviewed by Darin Adler.
7         
8         Add a new "--world-leaks" argument to run-webkit-tests. When enabled, DRT/WTR are launched
9         with a --world-leaks argument (which is renamed in this patch for consistency). This enables the
10         behavior added in r235408, namely that they check for leaked documents after each test, and at
11         the end of one (if --run-singly) or a set of tests run in a single DRT/WTR instance handle the
12         "#CHECK FOR WORLD LEAKS" command to get still-live documents.
13         
14         LayoutTestRunner in webkitpy now has the notion of doing "post-tests work", called via _finished_test_group(),
15         and here it sends the "#CHECK FOR WORLD LEAKS" command to the runner and parses the resulting output block.
16         If this results block includes leaks, we convert an existing TestResult into a LEAK failure
17         in TestRunResults.change_result_to_failure(). Leaks are then added to the ouput JSON for display in results.html
18
19         Unit tests are updated with some leak examples.
20
21         * DumpRenderTree/mac/DumpRenderTree.mm:
22         (initializeGlobalsFromCommandLineOptions):
23         * Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
24         (ParsedJSONResultsTest):
25         * Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
26         (LayoutTestRunner._annotate_results_with_additional_failures):
27         (LayoutTestRunner._handle_finished_test_group):
28         (Worker.handle):
29         (Worker._run_test):
30         (Worker._do_post_tests_work):
31         (Worker._finished_test_group):
32         (Worker._run_test_in_another_thread):
33         * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
34         (JSONLayoutResultsGenerator):
35         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
36         (TestExpectationParser):
37         (TestExpectations):
38         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
39         (Base.get_basic_tests):
40         * Scripts/webkitpy/layout_tests/models/test_failures.py:
41         (determine_result_type):
42         (FailureLeak):
43         (FailureLeak.__init__):
44         (FailureLeak.message):
45         (FailureDocumentLeak):
46         (FailureDocumentLeak.__init__):
47         (FailureDocumentLeak.message):
48         * Scripts/webkitpy/layout_tests/models/test_results.py:
49         (TestResult.convert_to_failure):
50         * Scripts/webkitpy/layout_tests/models/test_run_results.py:
51         (TestRunResults.change_result_to_failure):
52         (_interpret_test_failures):
53         (summarize_results):
54         * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
55         (get_result):
56         (run_results):
57         (summarized_results):
58         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
59         (parse_args):
60         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
61         (parse_args):
62         (RunTest.test_check_for_world_leaks):
63         * Scripts/webkitpy/port/driver.py:
64         (DriverPostTestOutput):
65         (DriverPostTestOutput.__init__):
66         (Driver.do_post_tests_work):
67         (Driver._parse_world_leaks_output):
68         (Driver.cmd_line):
69         (DriverProxy.do_post_tests_work):
70         * Scripts/webkitpy/port/test.py:
71         (unit_test_list):
72         * WebKitTestRunner/Options.cpp:
73         (WTR::OptionsHandler::OptionsHandler):
74         * WebKitTestRunner/TestController.cpp:
75         (WTR::TestController::checkForWorldLeaks):
76
77 2018-08-29  David Kilzer  <ddkilzer@apple.com>
78
79         Remove empty directories from from svn.webkit.org repository
80         <https://webkit.org/b/189081>
81
82         * DumpRenderTree/TestNetscapePlugIn/unix: Removed.
83         * WebKitTestRunner/UIScriptContext: Removed.
84
85 2018-08-29  Pablo Saavedra  <psaavedra@igalia.com>
86
87         [GTK][WPE] Add JSCOnly Release bot for Linux ARMv7 Thumb2 SoftFP
88         https://bugs.webkit.org/show_bug.cgi?id=189077
89
90         Reviewed by Michael Catanzaro.
91
92         Deployed new bot for WPE Release in Linux ARMv7 Thumb2 SoftFP
93         This bot (jsconly-linux-igalia-bot-5) will run the 'JSCOnly
94         Linux ARMv7 Thumb2 SoftFP Release' buildjob.
95
96         * BuildSlaveSupport/build.webkit.org-config/config.json:
97         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
98
99 2018-08-28  Daniel Bates  <dabates@apple.com>
100
101         lldb-webkit: KeyError thrown for OptionSet
102         https://bugs.webkit.org/show_bug.cgi?id=189062
103
104         Reviewed by Simon Fraser.
105
106         For some reason lldb(1) may not retrieve the enumerator names for an enum value
107         when it calls update() on the synthetic children provider. If this occurs then
108         bail out as we cannot compute what enumerators are in the set.
109
110         * lldb/lldb_webkit.py:
111         (WTFOptionSetProvider.update):
112
113 2018-08-28  Sihui Liu  <sihui_liu@apple.com>
114
115         Add error information to help debug test failure in WKNavigation.ProcessCrashDuringCallback
116         https://bugs.webkit.org/show_bug.cgi?id=189037
117
118         Reviewed by Chris Dumez.
119
120         * TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:
121         (TEST):
122
123 2018-08-28  David Kilzer  <ddkilzer@apple.com>
124
125         Fix incorrect use of `sourceTree = "<group>";` for built products and frameworks in Xcode projects
126
127         Found by tidy-Xcode-project-file script (see Bug 188754).
128
129         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
130         (IOKit.framework): Use `sourceTree = "<absolute>";` to match
131         other frameworks in the project.
132         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
133         (WebKit.framework): Use `sourceTree = BUILT_PRODUCTS_DIR;` for
134         built product instead of relative build directory path.
135         * jsc-cli/jsc-cli.xcodeproj/project.pbxproj:
136         (JavaScriptCore.framework): Ditto.
137         * lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:
138         (libWTF.a): Use `sourceTree = BUILT_PRODUCTS_DIR;` for built
139         product.
140
141 2018-08-28  Alex Christensen  <achristensen@webkit.org>
142
143         Fix 32-bit Mac build.
144
145         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
146
147 2018-08-28  Alex Christensen  <achristensen@webkit.org>
148
149         REGRESSION (r235391): [iOS] TestWebKitAPI.WebKit.RestoreSessionStateWithoutNavigation is timing out
150         https://bugs.webkit.org/show_bug.cgi?id=189050
151
152         Reviewed by Tim Horton.
153
154         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
155         This test wasn't run on iOS before.  Let's re-introduce the WK_HAVE_C_SPI guard.
156
157 2018-08-28  Wenson Hsieh  <wenson_hsieh@apple.com>
158
159         [iOS] WKAttachmentTests.DropFolderAsAttachmentAndMoveByDragging encounters an exception on iOS simulator
160         https://bugs.webkit.org/show_bug.cgi?id=189049
161
162         Reviewed by Tim Horton.
163
164         Wrap an NSURL in a RetainPtr to prevent it from being freed prematurely. It seems this broke when I changed the
165         load handler from an Objective-C block that captured `folderURL` to a C++ lambda that didn't retain `folderURL`.
166
167         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
168         (simulateFolderDragWithURL):
169
170 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
171
172         [Attachment Support] Remove WebCore::AttachmentDisplayOptions and friends
173         https://bugs.webkit.org/show_bug.cgi?id=189004
174
175         Reviewed by Dan Bernstein.
176
177         Move off of deprecated attachment insertion SPI.
178
179         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
180         (-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
181         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
182         (-[_WKAttachment synchronouslySetDisplayOptions:error:]): Deleted.
183
184 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
185
186         Teach WebKitTestRunner and DumpRenderTree about detecting world leaks
187         https://bugs.webkit.org/show_bug.cgi?id=188994
188
189         Reviewed by Tim Horton.
190         
191         This patch adds the notion of a "control command" in the protocol between webkitpy and 
192         WebKitTestRunner/DumpRenderTree. A command is simply an input string starting with a #
193         that is checked for before trying to parse the input as test URL. For now, just one
194         commmand is supported, which is "#CHECK FOR WORLD LEAKS".
195         
196         In response to the command, the tool dumps an output block in the usual pseudo-MIME-style,
197         with a trailing "#EOF". Future patches will add support to webkitpy to parse this output.
198         
199         DumpRenderTree stubs out the command, returning an empty block.
200         
201         WebKitTestRunner responds to the command by dumping the list of live documents, if it was
202         run with the --check-for-world-leaks option.
203         
204         When run with --check-for-world-leaks, WebKitTestRunner gets the list of live documents via
205         WKBundleGetLiveDocumentURLs() after every test (this allows it to detect the first test
206         that leaked a document), and keeps them in a map of document identifier to test and live document URL.
207         Then when it receives the "#CHECK FOR WORLD LEAKS" command, it calls into the bundle to
208         clear the page and memory caches, runs a GC, then posts a task (in the Document::postTaks() sense)
209         after which it requests the list of live documents for a final time, excluding any that are loaded
210         in live Frames (thus omitting the about:blank that will be loaded at this point). Documents in this
211         list are therefore leaked (or abandoned).
212         
213         Future patches will hook up webkitpy reporting for leaked documents.
214
215         * DumpRenderTree/mac/DumpRenderTree.mm:
216         (initializeGlobalsFromCommandLineOptions):
217         (handleControlCommand):
218         (runTestingServerLoop):
219         * DumpRenderTree/win/DumpRenderTree.cpp:
220         (handleControlCommand):
221         (main):
222         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
223         (WTR::postGCTask):
224         (WTR::InjectedBundle::reportLiveDocuments):
225         (WTR::InjectedBundle::didReceiveMessageToPage):
226         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
227         * WebKitTestRunner/Options.cpp:
228         (WTR::handleOptionCheckForWorldLeaks):
229         (WTR::OptionsHandler::OptionsHandler):
230         * WebKitTestRunner/Options.h:
231         * WebKitTestRunner/TestController.cpp:
232         (WTR::AsyncTask::run):
233         (WTR::AsyncTask::currentTask):
234         (WTR::TestController::initialize):
235         (WTR::TestController::ensureViewSupportsOptionsForTest):
236         (WTR::TestController::resetStateToConsistentValues):
237         (WTR::TestController::updateLiveDocumentsAfterTest):
238         (WTR::TestController::checkForWorldLeaks):
239         (WTR::TestController::findAndDumpWorldLeaks):
240         (WTR::TestController::willDestroyWebView):
241         (WTR::parseInputLine):
242         (WTR::TestController::waitForCompletion):
243         (WTR::TestController::handleControlCommand):
244         (WTR::TestController::runTestingServerLoop):
245         (WTR::TestController::run):
246         (WTR::TestController::didReceiveLiveDocumentsList):
247         (WTR::TestController::didReceiveMessageFromInjectedBundle):
248         * WebKitTestRunner/TestController.h:
249         (WTR::AsyncTask::AsyncTask):
250         (WTR::AsyncTask::taskComplete):
251         (WTR::TestController::AbandonedDocumentInfo::AbandonedDocumentInfo):
252         * WebKitTestRunner/TestInvocation.cpp:
253         (WTR::TestInvocation::invoke):
254         * WebKitTestRunner/TestOptions.h:
255         (WTR::TestOptions::hasSameInitializationOptions const):
256
257 2018-08-27  Alex Christensen  <achristensen@webkit.org>
258
259         Fix API test after r235398
260         https://bugs.webkit.org/show_bug.cgi?id=188997
261
262         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
263         (TestWebKitAPI::setPageLoaderClient):
264         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
265         willGoToBackForwardListItem is unused and unsupported.  Removing its check.
266
267 2018-08-27  Daniel Bates  <dabates@apple.com>
268
269         Partial revert of r235376
270         https://bugs.webkit.org/show_bug.cgi?id=189011
271
272         For now revert the unit tests added in r235376 as the following tests are failing on Apple Sierra
273         Debug and Apple High Sierra Debug bots:
274
275             lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSetProvider_simple
276             lldb_webkit_unittest.TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple
277
278         Will investigate offline.
279
280         * lldb/lldbWebKitTester/main.cpp:
281         (testSummaryProviders):
282         * lldb/lldb_webkit_unittest.py:
283         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
284         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty): Deleted.
285         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple): Deleted.
286         (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty): Deleted.
287         (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple): Deleted.
288
289 2018-08-27  Aditya Keerthi  <akeerthi@apple.com>
290
291         Consolidate ENABLE_INPUT_TYPE_COLOR and ENABLE_INPUT_TYPE_COLOR_POPOVER
292         https://bugs.webkit.org/show_bug.cgi?id=188931
293
294         Reviewed by Wenson Hsieh.
295
296         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Removed ENABLE_INPUT_TYPE_COLOR_POPOVER.
297
298 2018-08-27  Justin Fan  <justin_fan@apple.com>
299
300         Add Justin Fan to list of WebKit contributors
301         https://bugs.webkit.org/show_bug.cgi?id=184431
302
303         * Scripts/webkitpy/common/config/contributors.json:
304
305 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
306
307         Convert timeout values in WebKitTestRunner to WTF::Seconds
308         https://bugs.webkit.org/show_bug.cgi?id=188987
309
310         Reviewed by Ryosuke Niwa.
311         
312         Replace various 'int' timeout values with WTF::Seconds. The timeout argument
313         comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
314         using integers, convert to and from milliseconds.
315         
316         Also do some #pragma once, and initializer cleanup.
317
318         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
319         (WTR::InjectedBundle::didReceiveMessageToPage):
320         (WTR::InjectedBundle::beginTesting):
321         (WTR::InjectedBundle::InjectedBundle): Deleted.
322         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
323         * WebKitTestRunner/InjectedBundle/TestRunner.h:
324         (WTR::TestRunner::timeout):
325         (WTR::TestRunner::setCustomTimeout):
326         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
327         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
328         * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
329         (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
330         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
331         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
332         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
333         * WebKitTestRunner/TestController.cpp:
334         (WTR::TestController::TestController):
335         (WTR::parseInputLine):
336         (WTR::TestController::runTest):
337         (WTR::TestController::runUntil):
338         (WTR::TestController::didReceiveMessageFromInjectedBundle):
339         * WebKitTestRunner/TestController.h:
340         * WebKitTestRunner/TestInvocation.cpp:
341         (WTR::TestInvocation::shortTimeout const):
342         (WTR::TestInvocation::createTestSettingsDictionary):
343         * WebKitTestRunner/TestInvocation.h:
344         * WebKitTestRunner/TestOptions.h:
345         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
346         (WTR::TestController::platformRunUntil):
347         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
348         (WTR::TestController::platformRunUntil):
349         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
350         (WTR::TestController::platformRunUntil):
351
352 2018-08-27  Simon Fraser  <simon.fraser@apple.com>
353
354         Convert timeout values in WebKitTestRunner to WTF::Seconds
355         https://bugs.webkit.org/show_bug.cgi?id=188987
356
357         Reviewed by Ryosuke Niwa.
358         
359         Replace various 'int' timeout values with WTF::Seconds. The timeout argument
360         comes in as milliseconds, so convert on input. When sending messages to the InjectedBundle
361         using integers, convert to and from milliseconds.
362         
363         Also do some #pragma once, and initializer cleanup.
364
365         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
366         (WTR::InjectedBundle::didReceiveMessageToPage):
367         (WTR::InjectedBundle::beginTesting):
368         (WTR::InjectedBundle::InjectedBundle): Deleted.
369         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
370         * WebKitTestRunner/InjectedBundle/TestRunner.h:
371         (WTR::TestRunner::timeout):
372         (WTR::TestRunner::setCustomTimeout):
373         * WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp:
374         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
375         * WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm:
376         (WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
377         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
378         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
379         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
380         * WebKitTestRunner/TestController.cpp:
381         (WTR::TestController::TestController):
382         (WTR::parseInputLine):
383         (WTR::TestController::runTest):
384         (WTR::TestController::runUntil):
385         (WTR::TestController::didReceiveMessageFromInjectedBundle):
386         * WebKitTestRunner/TestController.h:
387         * WebKitTestRunner/TestInvocation.cpp:
388         (WTR::TestInvocation::shortTimeout const):
389         (WTR::TestInvocation::createTestSettingsDictionary):
390         * WebKitTestRunner/TestInvocation.h:
391         * WebKitTestRunner/TestOptions.h:
392         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
393         (WTR::TestController::platformRunUntil):
394         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
395         (WTR::TestController::platformRunUntil):
396         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
397         (WTR::TestController::platformRunUntil):
398
399 2018-08-27  Alex Christensen  <achristensen@webkit.org>
400
401         REGRESSION(r234985/r234989) WKPageLoadHTMLString with a 16-bit String has the wrong encoding
402         https://bugs.webkit.org/show_bug.cgi?id=189002
403
404         Reviewed by Tim Horton.
405
406         * TestWebKitAPI/Tests/WebKit/WillLoad.cpp:
407         (TestWebKitAPI::TEST_F):
408
409 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
410
411         [Cocoa] Exception (fileType 'dyn.agq8u' is not a valid UTI) raised when dragging an attachment whose file wrapper is a directory
412         https://bugs.webkit.org/show_bug.cgi?id=188903
413         <rdar://problem/43702993>
414
415         Reviewed by Tim Horton.
416
417         Add two API tests and adjust existing WKAttachment API tests. The new tests exercise the following scenarios, in
418         both iOS and macOS:
419         •       Dropping a folder as an attachment element, and then moving that attachment element in the document by
420                 dragging and dropping.
421         •       Using WKWebView SPI to insert a folder and a file with an unknown extension, and then using more
422                 _WKAttachment SPI to swap the attachments' backing file wrappers.
423
424         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
425         (runTestWithTemporaryFolder):
426
427         Add a helper function to run a test with a new folder path, created in the temporary directory and populated
428         with some sample content. This folder is deleted after running the test.
429
430         (simulateFolderDragWithURL):
431
432         Add a helper function to prepare a given DragAndDropSimulator for simulating a dragged folder from a source
433         external to the web view.
434
435         (platformCopyRichTextWithMultipleAttachments):
436         (platformCopyRichTextWithImage):
437         (platformCopyPNG):
438         (TestWebKitAPI::TEST):
439
440         Add new API tests, and adjust existing tests to reflect new -setFileWrapper:…: behavior. Specifically,
441         ChangeAttachmentDataAndFileInformation previously required that changing a _WKAttachment's NSFileWrapper would
442         preserve the previous NSFileWrapper's preferred name if the new file wrapper does not have a preferred name, but
443         this quirk is no longer supported.
444
445         Also add a few bridging casts for the eventual transition of TestWebKitAPI to ARC.
446
447         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
448
449         Add a new hook to clear any external drag information on an existing DragAndDropSimulator. This is convenient
450         when using the same DragAndDropSimulator to perform multiple drags in a single test.
451
452         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
453         (-[DragAndDropSimulator clearExternalDragInformation]):
454         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
455         (-[DragAndDropSimulator clearExternalDragInformation]):
456
457 2018-08-27  Alex Christensen  <achristensen@webkit.org>
458
459         Translate 4 tests using WKPageLoaderClient to ObjC
460         https://bugs.webkit.org/show_bug.cgi?id=188827
461
462         Reviewed by Tim Horton.
463
464         They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
465         Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
466         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
467         bundle functionality any more.
468
469         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
470         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
471         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
472         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
473         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
474         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
475         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
476         (-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
477         (-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
478         (TestWebKitAPI::TEST):
479         (): Deleted.
480         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
481         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
482         (TestWebKitAPI::setPageLoaderClient): Deleted.
483         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
484         (-[ResponsivenessDelegate webView:didFinishNavigation:]):
485         (-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
486         (TestWebKitAPI::TEST):
487         (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
488         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
489         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
490         (TestWebKitAPI::setInjectedBundleClient): Deleted.
491         (TestWebKitAPI::setPageLoaderClient): Deleted.
492         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
493         (-[SessionStateDelegate webView:didFinishNavigation:]):
494         (-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
495         (TestWebKitAPI::createSessionStateData):
496         (TestWebKitAPI::TEST):
497         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
498         (TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
499         (TestWebKitAPI::setPageLoaderClient): Deleted.
500         * TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
501         (-[BackForwardClient webView:didFinishNavigation:]):
502         (-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
503         (TestWebKitAPI::TEST):
504         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
505         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
506         (TestWebKitAPI::setPageLoaderClient): Deleted.
507
508 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
509
510         [Cocoa] "video.html" appears at the top level of the TestWebKitAPI Xcode project
511         https://bugs.webkit.org/show_bug.cgi?id=188989
512
513         Reviewed by Andy Estes.
514
515         Move this into the Tests/WebKit/Resources group in the project.
516
517         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
518
519 2018-08-27  Thomas Denney  <tdenney@apple.com>
520
521         Avoid an exception in the interactive interpreter
522         https://bugs.webkit.org/show_bug.cgi?id=188991
523
524         Reviewed by Myles C. Maxfield.
525
526         * WebGPUShadingLanguageRI/index.html: Corrects a typo in the name of a
527         local variable
528
529 2018-08-27  Thomas Denney  <tdenney@apple.com>
530
531         Allow new vector types to work with the interactive interpreter
532         https://bugs.webkit.org/show_bug.cgi?id=188988
533
534         Reviewed by Myles C. Maxfield.
535
536         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
537         (FlattenedStructOffsetGatherer.prototype.visitTypeRef): Do not
538         unncessarily visit the type arguments of a TypeRef, as by this point
539         there are none that are relevant.
540         * WebGPUShadingLanguageRI/Intrinsics.js:
541         (Intrinsics): Treat VectorType as a primitive type.
542
543 2018-08-27  Keith Rollin  <krollin@apple.com>
544
545         Build system support for LTO
546         https://bugs.webkit.org/show_bug.cgi?id=187785
547         <rdar://problem/42353132>
548
549         Reviewed by Dan Bernstein.
550
551         Add tools/scripts support for controlling LTO builds.
552
553         * Scripts/build-webkit: Add --lto-mode={none,thin,full}.
554         * Scripts/set-webkit-configuration: Add support for saving LTO
555         configuration to WebKitBuild/LTO.
556         * Scripts/webkitdirs.pm: Add support for reading configuration from
557         WebKitBuild/LTO and providing it to xcodebuild.
558         (determineLTOMode):
559         (ltoMode):
560         (XcodeOptions):
561
562 2018-08-27  Daniel Bates  <dabates@apple.com>
563
564         lldb-webkit: Pretty-print OptionSet
565         https://bugs.webkit.org/show_bug.cgi?id=188936
566
567         Reviewed by Simon Fraser.
568
569         Add LLDB formatters to pretty-print an OptionSet.
570
571         * lldb/lldbWebKitTester/main.cpp:
572         (testSummaryProviders):
573         * lldb/lldb_webkit.py:
574         (__lldb_init_module):
575         (__lldb_init_module.lldb_webkit):
576         (WTFOptionSet_SummaryProvider):
577         (WTFOptionSetProvider):
578         (WTFOptionSetProvider.__init__):
579         (WTFOptionSetProvider.has_children):
580         (WTFOptionSetProvider.num_children):
581         (WTFOptionSetProvider.get_child_index):
582         (WTFOptionSetProvider.get_child_at_index):
583         (WTFOptionSetProvider.update):
584         * lldb/lldb_webkit_unittest.py:
585         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
586         (TestSummaryProviders):
587         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty):
588         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple):
589         (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty):
590         (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple):
591
592 2018-08-27  Wenson Hsieh  <wenson_hsieh@apple.com>
593
594         [Attachment Support] [WK2] Images copied from Mail message view paste with the wrong file name in compose
595         https://bugs.webkit.org/show_bug.cgi?id=188957
596         <rdar://problem/43737715>
597
598         Reviewed by Darin Adler.
599
600         Add a new API test to verify that pasting a web archive containing several image elements with alt attributes
601         generates _WKAttachments whose names reflect those alt attributes.
602
603         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
604         (testGIFFileURL):
605         (testGIFData):
606         (TestWebKitAPI::TEST):
607
608 2018-08-27  Alex Christensen  <achristensen@webkit.org>
609
610         Unreviewed, rolling out r235367.
611
612         Broke iOS build.
613
614         Reverted changeset:
615
616         "Translate 4 tests using WKPageLoaderClient to ObjC"
617         https://bugs.webkit.org/show_bug.cgi?id=188827
618         https://trac.webkit.org/changeset/235367
619
620 2018-08-27  Alex Christensen  <achristensen@webkit.org>
621
622         Fix GTK build.
623
624         * TestWebKitAPI/CMakeLists.txt:
625
626 2018-08-27  Alex Christensen  <achristensen@webkit.org>
627
628         Fix iOS build.
629
630         * TestWebKitAPI/PlatformWebView.h:
631
632 2018-08-27  Alex Christensen  <achristensen@webkit.org>
633
634         Translate 4 tests using WKPageLoaderClient to ObjC
635         https://bugs.webkit.org/show_bug.cgi?id=188827
636
637         Reviewed by Tim Horton.
638
639         They use processDidBecomeUnresponsive, didChangeBackForwardList, or willGoToBackForwardListItem.
640         Rather than introduce these to WKPageNavigationClient, I just translated the tests to use WKNavigationDelegate, which already have equivalent callbacks.
641         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
642         bundle functionality any more.
643
644         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
645         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp: Removed.
646         * TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
647         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp: Removed.
648         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp: Removed.
649         * TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
650         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimer.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimer.cpp.
651         (-[ResponsivenessTimerDelegate webView:didFinishNavigation:]):
652         (-[ResponsivenessTimerDelegate _webViewWebProcessDidBecomeUnresponsive:]):
653         (TestWebKitAPI::TEST):
654         (): Deleted.
655         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
656         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
657         (TestWebKitAPI::setPageLoaderClient): Deleted.
658         * TestWebKitAPI/Tests/WebKitCocoa/ResponsivenessTimerDoesntFireEarly.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ResponsivenessTimerDoesntFireEarly.cpp.
659         (-[ResponsivenessDelegate webView:didFinishNavigation:]):
660         (-[ResponsivenessDelegate _webViewWebProcessDidBecomeUnresponsive:]):
661         (TestWebKitAPI::TEST):
662         (TestWebKitAPI::didReceiveMessageFromInjectedBundle): Deleted.
663         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
664         (TestWebKitAPI::processDidBecomeUnresponsive): Deleted.
665         (TestWebKitAPI::setInjectedBundleClient): Deleted.
666         (TestWebKitAPI::setPageLoaderClient): Deleted.
667         * TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/RestoreSessionStateWithoutNavigation.cpp.
668         (-[SessionStateDelegate webView:didFinishNavigation:]):
669         (-[SessionStateDelegate _webView:backForwardListItemAdded:removed:]):
670         (TestWebKitAPI::createSessionStateData):
671         (TestWebKitAPI::TEST):
672         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
673         (TestWebKitAPI::didChangeBackForwardListForPage): Deleted.
674         (TestWebKitAPI::setPageLoaderClient): Deleted.
675         * TestWebKitAPI/Tests/WebKitCocoa/ShouldGoToBackForwardListItem.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit/ShouldGoToBackForwardListItem.cpp.
676         (-[BackForwardClient webView:didFinishNavigation:]):
677         (-[BackForwardClient _webView:willGoToBackForwardListItem:inPageCache:]):
678         (TestWebKitAPI::TEST):
679         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
680         (TestWebKitAPI::willGoToBackForwardListItem): Deleted.
681         (TestWebKitAPI::setPageLoaderClient): Deleted.
682
683 2018-08-27  Keith Miller  <keith_miller@apple.com>
684
685         test262-runner -s --test-only should replace test results
686         https://bugs.webkit.org/show_bug.cgi?id=188450
687
688         Reviewed by Michael Saboff.
689
690         * Scripts/test262/Runner.pm:
691         (main):
692         (SetFailureForTest):
693         (UpdateResults):
694
695 2018-08-26  Sam Weinig  <sam@webkit.org>
696
697         Using _WKRemoteObjectInterface with a protocol that inherits from a non-NSObject protocol crashes
698         https://bugs.webkit.org/show_bug.cgi?id=188958
699
700         Reviewed by Anders Carlsson.
701
702         * TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
703         Update test protocol to have inheritance.
704
705 2018-08-26  Wenson Hsieh  <wenson_hsieh@apple.com>
706
707         [Attachment Support] Dropping and pasting images should insert inline image elements with _WKAttachments
708         https://bugs.webkit.org/show_bug.cgi?id=188933
709         <rdar://problem/43699724>
710
711         Reviewed by Darin Adler.
712
713         Rebaseline existing API tests that involve dropping or pasting image files, and additionally write some new
714         tests. These new tests exercise the following cases:
715         •       Inserting and removing newlines before an inline image with an attachment element does not cause new
716                 _WKAttachments to be created and destroyed.
717         •       Pasting an image, cutting it, and then pasting it again propagates an attachment update to the UI
718                 process with the original _WKAttachment.
719         •       A pasted attachment in the document can be moved around by dragging, and doing so does not cause us to
720                 lose a _WKAttachment.
721
722         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
723         (-[TestWKWebView expectElementCount:tagName:]):
724         (TestWebKitAPI::TEST):
725
726         Add the new tests described above, and also adjust existing tests to check that images are dropped or pasted
727         as image elements, but still have associated attachment elements whose attachment identifiers (observed via
728         script) match that of the corresponding _WKAttachment's uniqueIdentifier in the UI process.
729
730         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
731         (-[DragAndDropSimulator runFrom:to:]):
732         (-[DragAndDropSimulator continueDragSession]):
733         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
734
735         Teach DragAndDropSimulator on macOS to wait until the drop has been handled by the web process before returning
736         execution to the caller. This ensures that tests which involve dropping promised files as attachments aren't
737         flaky, due to how the promised data is retrieved asynchronously when performing the drop.
738
739         (-[DragAndDropSimulator _webView:didPerformDragOperation:]):
740
741 2018-08-26  Lucas Forschler  <lforschler@apple.com>
742
743         Open svn.webkit.org for commits.
744
745 2018-08-24  Myles C. Maxfield  <mmaxfield@apple.com>
746
747         Unreviewed test fix after r235249
748         https://bugs.webkit.org/show_bug.cgi?id=178981
749
750         * WebGPUShadingLanguageRI/Test.js:
751
752 2018-08-24  Alex Christensen  <achristensen@webkit.org>
753
754         Introduce _WKInspector
755         https://bugs.webkit.org/show_bug.cgi?id=188923
756         <rdar://problem/34657861>
757
758         Reviewed by Brian Burg.
759
760         * MiniBrowser/mac/WK2BrowserWindowController.m:
761         (-[WK2BrowserWindowController validateMenuItem:]):
762         (-[WK2BrowserWindowController showHideWebInspector:]):
763
764 2018-08-24  Jonathan Bedard  <jbedard@apple.com>
765
766         Fix handling of iOS minor versions in default_baseline_search_path
767         https://bugs.webkit.org/show_bug.cgi?id=188902
768
769         Reviewed by Aakash Jain.
770
771         * Scripts/webkitpy/port/ios.py:
772         (IOSPort.default_baseline_search_path): When the major version matches the major version of the CURRENT_VERSION, treat
773         it as a the CURRENT_VERSION.
774
775 2018-08-24  Antti Koivisto  <antti@apple.com>
776
777         Allow creating WeakPtrs to const objects
778         https://bugs.webkit.org/show_bug.cgi?id=188785
779
780         Reviewed by Geoff Garen.
781
782         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
783         (TestWebKitAPI::Base::weakPtrFactory const):
784         (TestWebKitAPI::TEST):
785         (TestWebKitAPI::Base::weakPtrFactory): Deleted.
786
787 2018-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
788
789         [GTK][WPE] Add API to inject/register user content in isolated worlds
790         https://bugs.webkit.org/show_bug.cgi?id=188883
791
792         Reviewed by Michael Catanzaro.
793
794         Add test cases for the new API.
795
796         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
797         (isStyleSheetInjectedForURLAtPath):
798         (isScriptInjectedForURLAtPath):
799         (testUserContentManagerInjectedStyleSheet):
800         (testUserContentManagerInjectedScript):
801         (UserScriptMessageTest::registerHandler):
802         (UserScriptMessageTest::unregisterHandler):
803         (UserScriptMessageTest::postMessageAndWaitUntilReceived):
804         (testUserContentManagerScriptMessageInWorldReceived):
805         (beforeAll):
806
807 2018-08-23  Simon Fraser  <simon.fraser@apple.com>
808
809         Add support for dumping GC heap snapshots, and a viewer
810         https://bugs.webkit.org/show_bug.cgi?id=186416
811
812         Reviewed by Joseph Pecoraro.
813
814         Add a viewer for GC heap snapshots. A snapshot JSON file can be dragged into this
815         page for inspection (or set via the 'filename' URL parameter).
816
817         For now, this page shows all objects, all roots, and the shortest path from a root
818         to all HTMLDocuments and Windows.
819
820         * GCHeapInspector/gc-heap-inspector.html: Added.
821         * GCHeapInspector/heap-analysis/HeapSnapshot.js: Copied from Source/WebInspectorUI/UserInterface/Workers/HeapSnapshot/HeapSnapshot.js.
822         * GCHeapInspector/script/interface.js: Added.
823
824 2018-08-23  Alex Christensen  <achristensen@webkit.org>
825
826         Add new _webViewRequestPointerLock SPI with a completionHandler
827         https://bugs.webkit.org/show_bug.cgi?id=188907
828         <rdar://problem/35871109>
829
830         Reviewed by Andy Estes.
831
832         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
833         (-[PointerLockDelegate _webViewRequestPointerLock:completionHandler:]):
834         (-[PointerLockDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
835         (TEST):
836
837 2018-08-23  David Fenton  <david_fenton@apple.com>
838
839         Unreviewed, rolling out r235129.
840
841         broke internal builds
842
843         Reverted changeset:
844
845         "Allow creating WeakPtrs to const objects"
846         https://bugs.webkit.org/show_bug.cgi?id=188785
847         https://trac.webkit.org/changeset/235129
848
849 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
850
851         API tests should output json results
852         https://bugs.webkit.org/show_bug.cgi?id=188869
853         <rdar://problem/43615652>
854
855         Reviewed by Aakash Jain.
856
857         JSON output for API tests is of the form:
858             {
859                 "Failed": [{"name": <test name>, "output": <test log>}],
860                 "Timedout": [...],
861                 "Skipped": [...],
862                 "Crashed": [...]
863             }
864         Tests which are successful are not displayed in the json output.
865
866         * Scripts/webkitpy/api_tests/manager.py:
867         (Manager.run): Print test results to provided file as a json dictionary.
868         * Scripts/webkitpy/api_tests/run_api_tests.py:
869         (run): Pass json option.
870         (parse_args): Add --json-output flag.
871
872 2018-08-23  Andy Estes  <aestes@apple.com>
873
874         [Apple Pay] Introduce Apple Pay JS v4 on iOS 12 and macOS Mojave
875         https://bugs.webkit.org/show_bug.cgi?id=188829
876
877         Reviewed by Tim Horton.
878
879         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
880
881 2018-08-23  Myles C. Maxfield  <mmaxfield@apple.com>
882
883         [WSL] Ternary expressions appear to be unimplemented
884         https://bugs.webkit.org/show_bug.cgi?id=178981
885
886         Reviewed by Saam Barati.
887
888         Implement ternary statements. These can be both lvalues and rvalues. (a ? b : c ? d : e)
889         is parsed as (a ? b : (c ? d : e)).
890
891         * WebGPUShadingLanguageRI/All.js:
892         * WebGPUShadingLanguageRI/Checker.js:
893         (Checker.prototype.visitTernaryExpression):
894         * WebGPUShadingLanguageRI/Evaluator.js:
895         (Evaluator.prototype.visitTernaryExpression):
896         * WebGPUShadingLanguageRI/NormalUsePropertyResolver.js:
897         (NormalUsePropertyResolver.prototype.visitTernaryExpression):
898         (NormalUsePropertyResolver):
899         * WebGPUShadingLanguageRI/Parse.js:
900         (parsePossibleTernaryConditional):
901         * WebGPUShadingLanguageRI/PropertyResolver.js:
902         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder.prototype.visitTernaryExpression):
903         (PropertyResolver.prototype._visitRValuesWithinLValue.RValueFinder):
904         (PropertyResolver.prototype._visitRValuesWithinLValue):
905         * WebGPUShadingLanguageRI/Rewriter.js:
906         (Rewriter.prototype.visitTernaryExpression):
907         * WebGPUShadingLanguageRI/SPIRV.html:
908         * WebGPUShadingLanguageRI/Test.html:
909         * WebGPUShadingLanguageRI/Test.js:
910         * WebGPUShadingLanguageRI/Visitor.js:
911         (Visitor.prototype.visitProtocolDecl):
912         * WebGPUShadingLanguageRI/index.html:
913
914 2018-08-22  Ryosuke Niwa  <rniwa@webkit.org>
915
916         Assert in NetworkBlobRegistry::unregisterBlobURL after network process had terminated
917         https://bugs.webkit.org/show_bug.cgi?id=188880
918
919         Reviewed by Saam Barati.
920
921         Fixed the bug that testRunner's terminateNetworkProcess, terminateServiceWorkerProcess, and terminateStorageProcess
922         were asynchronously terminating respective processes. Do so synchronously so that we can deterministically
923         test WebKit's behavior in layout tests.
924
925         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
926         (WTR::TestRunner::terminateNetworkProcess):
927         (WTR::TestRunner::terminateServiceWorkerProcess):
928         (WTR::TestRunner::terminateStorageProcess):
929         * WebKitTestRunner/TestInvocation.cpp:
930         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
931         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
932
933 2018-08-23  Myles C. Maxfield  <mmaxfield@apple.com>
934
935         [WHLSL] Allow native types to have type arguments (like "vector<float, 4>")
936         https://bugs.webkit.org/show_bug.cgi?id=188773
937
938         Reviewed by Filip Pizlo.
939
940         Before this patch, it was impossible to represent "native typedef vector<float, 4>" because NativeTypes couldn't have
941         typeArguments.
942
943         Previously, the way to identify a type was strictly by name, which was represented by a string. Therefore, when something like
944         "vector<int, 3>" was parsed, it would produce a TypeRef with the name "vector" and typeArguments [TypeRef, IntLiteral]. Then,
945         there was a pass to convert the TypeRef to have the name "int3" and no typeArguments. After this transformation, each type could
946         be uniquely identified by name. That name was then matched to the string-only NativeType name.
947
948         This is okay for vectors and matrices, but it is unfortunate for textures (e.g. Texture2D<float4>) because they don't have any
949         natural string-only name. In addition, the canonicalization would have to be made aware of the fact that Texture2D<float4> is
950         the same as Texture2D<vector<float, 4>>. Similarly, an author may wish to typedef float4 to a different name.
951
952         It would be possible to mangle the names of the texture types to something unique, but then we lose information about the inner
953         type. For example, if we did this, Visitor wouldn't recurse into the float4 when encountering Texture2D<float4> because that
954         information would be lost. This could potentially make operations like programWithUnnecessaryThingsRemoved() more difficult to
955         implement in the future.
956
957         So, it would be better to have each type uniquely identified by (name, typeArguments). TypeRef will therefore also have
958         typeArguments which are used to determine which type it is referencing. After this analysis is done to determine what each
959         TypeRef is referencing, subsequent passes shouldn't care about the typeArguments and should only care about the .type field
960         which had been set - this was true even before this patch.
961
962         This means that NameContext has to aggregate types that accept typeArguments into arrays, where each array holds all the Types
963         that have the same name but different typeArguments. Then, when we need to match a TypeRef with a Type, we can ask the
964         NameContext for the appropriate array. This is the same way that function resolution works.
965
966         We can use Node.unify() to determine whether a TypeRef matches a NativeType. Eventually, this will go away, but for now, this is
967         an okay start. This works just about the same way that function overload resolution works. 
968
969         * WebGPUShadingLanguageRI/All.js:
970         * WebGPUShadingLanguageRI/CallExpression.js:
971         (CallExpression.prototype.resolve):
972         * WebGPUShadingLanguageRI/CheckTypesWithArguments.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js. After types
973         have been resolved, there should be no TypeRefs with name "vector" that don't have type arguments. This is just a sanity check.
974         (checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
975         (checkTypesWithArguments.TypeWithArgumentsChecker):
976         (checkTypesWithArguments):
977         * WebGPUShadingLanguageRI/Checker.js:
978         (Checker.prototype.visitProgram): Program.types mirrors NameContext: it's a Map that maps strings to types. Because types with
979         typeArguments share names, this has to be updated to map strings to arrays for these types.
980         (Checker.prototype.visitTypeRef):
981         * WebGPUShadingLanguageRI/InferTypesForCall.js:
982         (inferTypesForCall): Don't know why this was here.
983         (inferTypesForTypeArguments): Same as inferTypesForCall, but this one is for matching type arguments.
984         * WebGPUShadingLanguageRI/Intrinsics.js: Adding the types. This patch also adds some scalar types like half, char, etc, but they
985         don't have any functions which accept them. Those will be tested in my next patch which adds math functions for these types. This
986         moves in the direction of matching the standard library in the spec.
987         (Intrinsics.cast):
988         (Intrinsics.bitwiseCast):
989         (Intrinsics.castToHalf):
990         (Intrinsics.):
991         (Intrinsics):
992         * WebGPUShadingLanguageRI/NameContext.js: Aggregate types with typeArguments into arrays.
993         (NameContext.prototype.add):
994         (NameContext.prototype.get let):
995         (NameContext.underlyingThings.prototype.else):
996         (NameContext.prototype.Symbol.iterator):
997         (NameContext):
998         * WebGPUShadingLanguageRI/NameResolver.js:
999         (NameResolver.prototype.visitTypeRef): Call TypeRef.resolve().
1000         (NameResolver.prototype.visitCallExpression):
1001         (NameResolver):
1002         (NameResolver.prototype.visitVectorType): Deleted.
1003         * WebGPUShadingLanguageRI/NativeType.js: NativeTypes can have type arguments now.
1004         (NativeType):
1005         (NativeType.prototype.get typeArguments):
1006         (NativeType.prototype.toString):
1007         (NativeType.create):
1008         * WebGPUShadingLanguageRI/Prepare.js:
1009         (let.prepare):
1010         * WebGPUShadingLanguageRI/Program.js: Update to work with types aggregated into arrays.
1011         (Program.prototype.add):
1012         (Program.prototype.toString):
1013         (Program):
1014         * WebGPUShadingLanguageRI/RemoveTypeArguments.js: Removed.
1015         * WebGPUShadingLanguageRI/ResolveNames.js: Update to work with types aggregated into arrays.
1016         (resolveNamesInTypes):
1017         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js: Resolve the type overload for types with typeArguments.
1018         * WebGPUShadingLanguageRI/ResolveTypeDefs.js: Update to work with types aggregated into arrays.
1019         (resolveTypeDefsInTypes):
1020         * WebGPUShadingLanguageRI/Rewriter.js: TypeRefs and Native/Vector types can have typeArguments.
1021         (Rewriter.prototype.visitTypeRef):
1022         (Rewriter.prototype.visitVectorType):
1023         (Rewriter):
1024         * WebGPUShadingLanguageRI/SPIRV.html:
1025         * WebGPUShadingLanguageRI/StandardLibrary.js: Matches Intrinsics.
1026         (bool.operator):
1027         * WebGPUShadingLanguageRI/StatementCloner.js: Native types can have typeArguments.
1028         (StatementCloner.prototype.visitNativeType):
1029         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Vector types need constructors too.
1030         (synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitVectorType):
1031         (synthesizeDefaultConstructorOperator.FindAllTypes):
1032         (synthesizeDefaultConstructorOperator):
1033         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: No reason to distinguish between wrapping and instantiating a TypeRef.
1034         (synthesizeStructAccessors.createTypeRef):
1035         * WebGPUShadingLanguageRI/Test.html:
1036         * WebGPUShadingLanguageRI/Test.js:
1037         * WebGPUShadingLanguageRI/TypeOverloadResolutionFailure.js: Copied from Tools/WebGPUShadingLanguageRI/ResolveTypeDefs.js.
1038         (TypeOverloadResolutionFailure):
1039         (TypeOverloadResolutionFailure.prototype.get type):
1040         (TypeOverloadResolutionFailure.prototype.get reason):
1041         (TypeOverloadResolutionFailure.prototype.toString):
1042         * WebGPUShadingLanguageRI/TypeRef.js:
1043         (TypeRef.wrap):
1044         (TypeRef.prototype.resolve): Figure out which item in the possibleOverloads array matches this.
1045         (TypeRef.prototype.toString):
1046         (TypeRef):
1047         (TypeRef.instantiate): Deleted.
1048         * WebGPUShadingLanguageRI/UnificationContext.js: We need to give literals a chance to assume their preferred type. This
1049         adds this facility back into the compiler (it was previously deleted).
1050         (UnificationContext.prototype.verify):
1051         * WebGPUShadingLanguageRI/VectorType.js: Vector types have type arguments.
1052         (VectorType):
1053         (VectorType.prototype.get elementType):
1054         (VectorType.prototype.get numElements):
1055         (VectorType.prototype.get numElementsValue):
1056         (VectorType.prototype.toString):
1057         * WebGPUShadingLanguageRI/Visitor.js: Iterate over the typeArguments.
1058         (Visitor.prototype.visitTypeRef):
1059         (Visitor.prototype.visitNativeType):
1060         (Visitor.prototype.visitVectorType):
1061         (Visitor):
1062         * WebGPUShadingLanguageRI/index.html:
1063
1064 2018-08-23  Wenson Hsieh  <wenson_hsieh@apple.com>
1065
1066         [Attachment Support] Attachment elements don't appear in drag images on macOS
1067         https://bugs.webkit.org/show_bug.cgi?id=188823
1068         <rdar://problem/43616378>
1069
1070         Reviewed by Tim Horton.
1071
1072         Adjusts a couple of existing tests to additionally verify that the drag image generated when dragging an
1073         attachment element in macOS is not completely transparent.
1074
1075         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1076         (isCompletelyTransparent):
1077         (TestWebKitAPI::TEST):
1078
1079 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
1080
1081         Explain test name matching in run-api-tests help
1082         https://bugs.webkit.org/show_bug.cgi?id=188280
1083
1084         Reviewed by Ryosuke Niwa.
1085
1086         Improve the run-api-tests help message to explain how test
1087         name matching works.
1088
1089         * Scripts/webkitpy/api_tests/run_api_tests.py:
1090         (parse_args):
1091         * Scripts/webkitpy/port/base.py:
1092         (Port):
1093         (Port.path_to_api_test_binaries): Make binary names a globally accessible array.
1094         * Scripts/webkitpy/port/win.py:
1095         (WinPort):
1096         (WinPort.path_to_api_test_binaries): Ditto.
1097
1098 2018-08-23  Youenn Fablet  <youenn@apple.com>
1099
1100         Use "wpt serve" to launch WPT server
1101         https://bugs.webkit.org/show_bug.cgi?id=188848
1102
1103         Reviewed by Ryosuke Niwa.
1104
1105         Use "wpt serve" provided by WPT instead of using our custom launcher.
1106         This simplifies things and will avoid future breakage.
1107         Further simplify web_platform_test_server.py by removing no longer needed actions.
1108         - Do not copy files but use alias
1109         - Do not kill main pid, which leaves subprocesses alive, use interrupt instead.
1110         - Stop enumerating subprocess pids.
1111
1112         * Scripts/webkitpy/common/system/executive_mock.py:
1113         (MockExecutive.interrupt):
1114         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py: Removed.
1115         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
1116         (WebPlatformTestServer.__init__):
1117         (WebPlatformTestServer.ports_to_forward):
1118         (WebPlatformTestServer._prepare_config):
1119         (WebPlatformTestServer._spawn_process):
1120         (WebPlatformTestServer._stop_running_server):
1121
1122 2018-08-23  Jonathan Bedard  <jbedard@apple.com>
1123
1124         run-api-tests: Add --webkit-only, --webcore-only and --webkit-legacy-only options to run WebKit, WebCore and WebKitLegacy tests 
1125         https://bugs.webkit.org/show_bug.cgi?id=188262
1126
1127         Reviewed by Ryosuke Niwa.
1128
1129         * Scripts/webkitpy/api_tests/run_api_tests.py:
1130         (parse_args):
1131
1132 2018-08-22  Wenson Hsieh  <wenson_hsieh@apple.com>
1133
1134         [Attachment Support] Support dragging attachment elements out as files on macOS
1135         https://bugs.webkit.org/show_bug.cgi?id=181294
1136         <rdar://problem/36298801>
1137
1138         Reviewed by Tim Horton.
1139
1140         Add DragAndDropSimulator support for intercepting calls to -beginDraggingSessionWithitems:event:source:. This
1141         enables us to write API tests for macOS that exercise the attachment SPI in combination with dragging attachment
1142         elements.
1143
1144         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1145         (-[TestWKWebView attachmentElementMidPoint]):
1146
1147         Add a helper method local to this test suite that grabs the midpoint (in client coordinates) or the first
1148         attachment element in the document.
1149
1150         (TestWebKitAPI::TEST):
1151
1152         Add a new API test to verify that dragging an attachment element on macOS produces file providers which may be
1153         used to write attachment data to a path on disk. Additionally, refactor an existing API test,
1154         MoveAttachmentElementAsIconByDragging, so that it runs on both iOS and macOS, to test the ability to move
1155         attachment elements around in a document by using drag and drop.
1156
1157         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
1158         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
1159         (-[DragAndDropTestWKWebView beginDraggingSessionWithItems:event:source:]):
1160         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
1161         (-[DragAndDropSimulator dealloc]):
1162         (-[DragAndDropSimulator runFrom:to:]):
1163         (-[DragAndDropSimulator beginDraggingSessionInWebView:withItems:source:]):
1164
1165         Begin a drag session and kick off the -continueDragSession loop. Unlike -performDragInWebView:…, which spins
1166         the main runloop until dragging ends, this version returns execution to the web view and schedules dragging
1167         updates asynchronously. This matches AppKit behavior.
1168
1169         (-[DragAndDropSimulator continueDragSession]):
1170
1171         Increment the dragging progress amount, send a drag update to the web view, and continue scheduling calls to
1172         itself until the progress reaches 1.
1173
1174         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
1175         (-[DragAndDropSimulator initializeDraggingInfo:dragImage:source:]):
1176
1177         Pull out common logic for creating a new TestDraggingInfo after starting a drag.
1178
1179         (-[DragAndDropSimulator insertedAttachments]):
1180         (-[DragAndDropSimulator removedAttachments]):
1181         (-[DragAndDropSimulator draggingSession]):
1182         (-[DragAndDropSimulator receivePromisedFiles]):
1183
1184         Helper method to save promised files written to the pasteboard after a drag to the temporary directory. These
1185         files are tracked by DragAndDropSimulator and automatically cleaned up after the test finishes.
1186
1187         (-[DragAndDropSimulator endDataTransfer]):
1188
1189         Add a method stub on macOS, so that MoveAttachmentElementAsIconByDragging can be made cross-platform.
1190
1191         (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
1192         (-[DragAndDropSimulator _webView:didRemoveAttachment:]):
1193
1194         Implement method stubs to keep track of inserted or removed attachments while simulating a drag.
1195
1196 2018-08-22  Aditya Keerthi  <akeerthi@apple.com>
1197
1198         [iOS] Add support for the inputmode attribute
1199         https://bugs.webkit.org/show_bug.cgi?id=183621
1200
1201         Reviewed by Tim Horton.
1202
1203         Added an API test to verify that the correct UIKeyboardType is set depending on
1204         the type, inputmode, and pattern specified for an input field.
1205
1206         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
1207         (TestWebKitAPI::TEST):
1208         * TestWebKitAPI/ios/UIKitSPI.h:
1209
1210 2018-08-22  Alex Christensen  <achristensen@webkit.org>
1211
1212         Fix API test on Sierra after r235139
1213         https://bugs.webkit.org/show_bug.cgi?id=188810
1214
1215         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
1216         (TEST):
1217
1218 2018-08-22  David Kilzer  <ddkilzer@apple.com>
1219
1220         Move files in WebCore project to match Xcode folder structure
1221         <https://webkit.org/b/188851>
1222
1223         Reviewed by Tim Horton.
1224
1225         * Scripts/extract-localizable-strings:
1226         * Scripts/update-webkit-localizable-strings:
1227         - Update to match new location of extract-localizable-strings.pl.
1228
1229 2018-08-21  Alex Christensen  <achristensen@webkit.org>
1230
1231         Roll out r235139 and r235146
1232         https://bugs.webkit.org/show_bug.cgi?id=188805
1233
1234         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1235         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp:
1236
1237 2018-08-21  Wenson Hsieh  <wenson_hsieh@apple.com>
1238
1239         [Attachment Support] Remove _WKAttachments and notify the UI client upon mainframe navigation
1240         https://bugs.webkit.org/show_bug.cgi?id=188715
1241         <rdar://problem/43541790>
1242
1243         Reviewed by Tim Horton.
1244
1245         Adds API tests to exercises cases where (1) the UI client is notified of attachment removal upon mainframe
1246         navigation, and (2) the UI client is notified of attachment removal upon web content process termination.
1247
1248         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1249         (TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectAttachmentUpdates):
1250         (TestWebKitAPI::TEST):
1251
1252 2018-08-21  Alex Christensen  <achristensen@webkit.org>
1253
1254         Transition ResizeReversePaginatedWebView API test from WKPageLoaderClient to WKPageNavigationClient
1255         https://bugs.webkit.org/show_bug.cgi?id=188821
1256
1257         Reviewed by Simon Fraser.
1258
1259         * TestWebKitAPI/Tests/WebKit/ResizeReversePaginatedWebView.cpp:
1260         (TestWebKitAPI::didLayout):
1261         (TestWebKitAPI::TEST):
1262
1263 2018-08-21  Myles C. Maxfield  <mmaxfield@apple.com>
1264
1265         [WHLSL] Call expressions shouldn't have type arguments
1266         https://bugs.webkit.org/show_bug.cgi?id=188770
1267
1268         Reviewed by Filip Pizlo.
1269
1270         Call expressions only had type arguments for casts, becuase native types can have type arguments.
1271         However, instead of putting those type arguments on the CallExpression, we should parse the casted
1272         type as a real type and not as an identifier, which puts the type arguments in the TypeRef.
1273
1274         Test: casts
1275
1276         * WebGPUShadingLanguageRI/CallExpression.js:
1277         (CallExpression):
1278         (CallExpression.prototype.get name):
1279         (CallExpression.resolve):
1280         (CallExpression.prototype.get typeArguments): Deleted.
1281         (CallExpression.prototype.becomeCast): Deleted.
1282         * WebGPUShadingLanguageRI/NameResolver.js:
1283         (NameResolver.prototype.visitCallExpression):
1284         * WebGPUShadingLanguageRI/Parse.js:
1285         (parseConstexpr):
1286         (parseTypeDef):
1287         (parseLeftOperatorCall):
1288         (parseCallExpression.let.parseArguments):
1289         (parsePossiblePrefix):
1290         (parsePossibleRelationalEquality):
1291         (parseLeftLogicalExpression):
1292         (parseIfStatement):
1293         (parseWhile):
1294         (parseFor):
1295         (parseDo):
1296         * WebGPUShadingLanguageRI/RemoveTypeArguments.js:
1297         * WebGPUShadingLanguageRI/Rewriter.js:
1298         (Rewriter.prototype.visitCallExpression):
1299
1300 2018-08-21  Alex Christensen  <achristensen@webkit.org>
1301
1302         Translate WebKit.LimitTitleSize API test into ObjC
1303         https://bugs.webkit.org/show_bug.cgi?id=188810
1304
1305         Reviewed by Andy Estes.
1306
1307         It uses WKPageLoaderClient.didReceiveTitleForFrame which has been replaced by KVO.
1308         I'm translating the test into ObjC rather than introducing a new callback to WKPageNavigationClient.
1309
1310         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1311         * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp: Removed.
1312         * TestWebKitAPI/Tests/mac/LimitTitleSize.mm:
1313         (TEST):
1314         (-[LimitTitleSizeTestObserver observeValueForKeyPath:ofObject:change:context:]):
1315         (TestWebKitAPI::TEST): Deleted.
1316
1317 2018-08-21  Alex Christensen  <achristensen@webkit.org>
1318
1319         Remove unused shouldKeepCurrentBackForwardListItemInList check
1320         https://bugs.webkit.org/show_bug.cgi?id=188805
1321
1322         Reviewed by Andy Estes.
1323
1324         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1325         * TestWebKitAPI/Tests/WebKit/ShouldKeepCurrentBackForwardListItemInList.cpp: Removed.
1326
1327 2018-08-21  Alex Christensen  <achristensen@webkit.org>
1328
1329         Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
1330         https://bugs.webkit.org/show_bug.cgi?id=188813
1331
1332         Reviewed by Andy Estes.
1333
1334         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayout.cpp:
1335         (TestWebKitAPI::didLayout):
1336         (TestWebKitAPI::setPageLoaderClient):
1337         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
1338         (TestWebKitAPI::didFinishNavigation):
1339         (TestWebKitAPI::didLayout):
1340         (TestWebKitAPI::setPageLoaderClient):
1341         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1342         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
1343         (TestWebKitAPI::didLayout):
1344         (TestWebKitAPI::setPageLoaderClient):
1345
1346 2018-08-21  Wenson Hsieh  <wenson_hsieh@apple.com>
1347
1348         [Attachment Support] Augment _WKAttachment SPI to handle NSFileWrappers in addition to NSData
1349         https://bugs.webkit.org/show_bug.cgi?id=188496
1350         <rdar://problem/43216836>
1351
1352         Reviewed by Tim Horton.
1353
1354         Adjusts existing attachment API tests. See below for more detail.
1355
1356         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1357         (-[TestWKWebView synchronouslyInsertAttachmentWithFileWrapper:contentType:]):
1358         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
1359         (-[_WKAttachment synchronouslySetData:newContentType:newFilename:error:]):
1360         (-[_WKAttachment synchronouslySetFileWrapper:newContentType:error:]):
1361
1362         Move off of deprecated attachment SPI, and add new helper functions to synchronously insert a new attachment or
1363         update an existing attachment with a file wrapper.
1364
1365         (-[_WKAttachment expectRequestedDataToBe:]):
1366         (TestWebKitAPI::TEST):
1367
1368         Add a new test to verify that file-URL-backed NSFileWrappers can be used to insert and update attachment data.
1369         Also augment an existing test to check that an attachment element which has been copied and pasted within the
1370         same document has a different _WKAttachment wrapper object than its duplicate, but both _WKAttachments are
1371         backed by the same NSFileWrapper that was originally used to insert the attachment.
1372
1373         Additionally, add another macOS test to verify that dropping promised files in an attachment-element-enabled
1374         editable area inserts attachment elements into the document and notifies the UI client with the inserted
1375         attachment data.
1376
1377         (-[_WKAttachment synchronouslyRequestInfo:]): Deleted.
1378         (-[_WKAttachment synchronouslyRequestData:]): Deleted.
1379         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
1380         (-[DragAndDropSimulator _webView:didInsertAttachment:withSource:]):
1381
1382         Move off of -_webView:didInsertAttachment:.
1383
1384         (-[DragAndDropSimulator _webView:didInsertAttachment:]): Deleted.
1385
1386 2018-08-21  David Kilzer  <ddkilzer@apple.com>
1387
1388         sort-Xcode-project-file: top-level files and folders are sorted unintentionally when `mainGroup` has no name
1389         <https://webkit.org/b/188755>
1390
1391         Reviewed by Andy Estes.
1392
1393         * Scripts/sort-Xcode-project-file: Fix regular expression to
1394         make `mainGroup` name optional.
1395
1396 2018-08-21  Andy VanWagoner  <andy@vanwagoner.family>
1397
1398         Unreviewed, add myself to committers list.
1399
1400         * Scripts/webkitpy/common/config/contributors.json:
1401
1402 2018-08-21  Antti Koivisto  <antti@apple.com>
1403
1404         Allow creating WeakPtrs to const objects
1405         https://bugs.webkit.org/show_bug.cgi?id=188785
1406
1407         Reviewed by Geoffrey Garen.
1408
1409         * TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
1410         (TestWebKitAPI::Base::weakPtrFactory const):
1411         (TestWebKitAPI::TEST):
1412         (TestWebKitAPI::Base::weakPtrFactory): Deleted.
1413
1414 2018-08-21  Per Arne Vollan  <pvollan@apple.com>
1415
1416         [WebGL] Contexts are not updated when display configuration changed.
1417         https://bugs.webkit.org/show_bug.cgi?id=188750
1418
1419         Reviewed by Brent Fulgham.
1420
1421         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1422         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1423         (WTR::TestRunner::sendDisplayConfigurationChangedMessageForTesting):
1424         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1425         * WebKitTestRunner/TestController.cpp:
1426         (WTR::TestController::sendDisplayConfigurationChangedMessageForTesting):
1427         * WebKitTestRunner/TestController.h:
1428         * WebKitTestRunner/TestInvocation.cpp:
1429         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1430
1431 2018-08-21  John Wilander  <wilander@apple.com>
1432
1433         Make ResourceLoadObserver::logWebSocketLoading() handle websockets in detached frames
1434         https://bugs.webkit.org/show_bug.cgi?id=188757
1435         <rdar://problem/38713390>
1436
1437         Reviewed by Alex Christensen.
1438
1439         These changes add the new WebKitTestRunner function
1440         isStatisticsRegisteredAsSubresourceUnder().
1441
1442         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1443         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1444         (WTR::TestRunner::isStatisticsRegisteredAsSubresourceUnder):
1445         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1446         * WebKitTestRunner/TestController.cpp:
1447         (WTR::TestController::isStatisticsRegisteredAsSubresourceUnder):
1448         * WebKitTestRunner/TestController.h:
1449         * WebKitTestRunner/TestInvocation.cpp:
1450         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1451
1452 2018-08-21  Alex Christensen  <achristensen@webkit.org>
1453
1454         Transition more API tests from WKPageLoaderClient to WKPageNavigationClient
1455         https://bugs.webkit.org/show_bug.cgi?id=188797
1456
1457         Reviewed by Tim Horton.
1458
1459         * TestWebKitAPI/Tests/WebKit/AboutBlankLoad.cpp:
1460         (TestWebKitAPI::didFinishNavigation):
1461         (TestWebKitAPI::TEST):
1462         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1463         * TestWebKitAPI/Tests/WebKit/EphemeralSessionPushStateNoHistoryCallback.cpp:
1464         (TestWebKitAPI::didSameDocumentNavigation):
1465         (TestWebKitAPI::TEST):
1466         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
1467         * TestWebKitAPI/Tests/WebKit/FailedLoad.cpp:
1468         (TestWebKitAPI::didFailProvisionalNavigation):
1469         (TestWebKitAPI::TEST):
1470         (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
1471         * TestWebKitAPI/Tests/WebKit/FrameMIMETypeHTML.cpp:
1472         (TestWebKitAPI::didStartProvisionalNavigation):
1473         (TestWebKitAPI::didCommitNavigation):
1474         (TestWebKitAPI::didFinishNavigation):
1475         (TestWebKitAPI::TEST):
1476         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
1477         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
1478         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1479         * TestWebKitAPI/Tests/WebKit/FrameMIMETypePNG.cpp:
1480         (TestWebKitAPI::didStartProvisionalNavigation):
1481         (TestWebKitAPI::didCommitNavigation):
1482         (TestWebKitAPI::didFinishNavigation):
1483         (TestWebKitAPI::TEST):
1484         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
1485         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
1486         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1487         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
1488         (TestWebKitAPI::renderingProgressDidChange):
1489         (TestWebKitAPI::TEST):
1490         (TestWebKitAPI::didLayout): Deleted.
1491         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
1492         (TestWebKitAPI::didFinishNavigation):
1493         (TestWebKitAPI::renderingProgressDidChange):
1494         (TestWebKitAPI::setPageLoaderClient):
1495         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1496         (TestWebKitAPI::didLayout): Deleted.
1497         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
1498         (TestWebKitAPI::State::State):
1499         (TestWebKitAPI::didStartProvisionalNavigation):
1500         (TestWebKitAPI::didCommitNavigation):
1501         (TestWebKitAPI::didFinishNavigation):
1502         (TestWebKitAPI::decidePolicyForNavigationAction):
1503         (TestWebKitAPI::decidePolicyForResponse):
1504         (TestWebKitAPI::TEST):
1505         (TestWebKitAPI::didStartProvisionalLoadForFrame): Deleted.
1506         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
1507         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1508         (TestWebKitAPI::decidePolicyForNewWindowAction): Deleted.
1509         * TestWebKitAPI/Tests/WebKit/PageLoadDidChangeLocationWithinPageForFrame.cpp:
1510         (TestWebKitAPI::didSameDocumentNavigation):
1511         (TestWebKitAPI::TEST):
1512         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1513         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
1514         * TestWebKitAPI/Tests/WebKit/PrivateBrowsingPushStateNoHistoryCallback.cpp:
1515         (TestWebKitAPI::TEST):
1516         (TestWebKitAPI::didSameDocumentNavigationForFrame): Deleted.
1517         * TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:
1518         (TestWebKitAPI::didFinishLoad):
1519         (TestWebKitAPI::TEST):
1520         * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp:
1521         (TestWebKitAPI::didFinishNavigation):
1522         (TestWebKitAPI::TEST):
1523         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1524         * TestWebKitAPI/Tests/WebKit/mac/RestoreStateAfterTermination.mm:
1525         (TestWebKitAPI::didFinishLoad):
1526         (TestWebKitAPI::TEST):
1527         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
1528         (WebKit2_CommandBackForwardTestWKView::SetUp):
1529         (WebKit2_CommandBackForwardTestWKView::didFinishLoadForFrame): Deleted.
1530
1531 2018-08-20  Alex Christensen  <achristensen@webkit.org>
1532
1533         Replace WKPageLoaderClient with WKPageNavigationClient in many API tests
1534         https://bugs.webkit.org/show_bug.cgi?id=188771
1535
1536         Reviewed by Tim Horton.
1537
1538         * TestWebKitAPI/Tests/WebKit/CloseThenTerminate.cpp:
1539         (TestWebKitAPI::didFinishNavigation):
1540         (TestWebKitAPI::TEST):
1541         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1542         * TestWebKitAPI/Tests/WebKit/CookieManager.cpp:
1543         (TestWebKitAPI::didFinishNavigation):
1544         (TestWebKitAPI::TEST):
1545         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1546         * TestWebKitAPI/Tests/WebKit/DeferredViewInWindowStateChange.mm:
1547         (TestWebKitAPI::didFinishNavigation):
1548         (TestWebKitAPI::setPageLoaderClient):
1549         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1550         * TestWebKitAPI/Tests/WebKit/DidNotHandleKeyDown.cpp:
1551         (TestWebKitAPI::TEST):
1552         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1553         * TestWebKitAPI/Tests/WebKit/DidRemoveFrameFromHiearchyInPageCache.cpp:
1554         (TestWebKitAPI::didFinishNavigation):
1555         (TestWebKitAPI::setPageLoaderClient):
1556         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1557         * TestWebKitAPI/Tests/WebKit/EventModifiers.cpp:
1558         (TestWebKitAPI::didFinishNavigation):
1559         (TestWebKitAPI::setClients):
1560         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1561         * TestWebKitAPI/Tests/WebKit/Find.cpp:
1562         (TestWebKitAPI::didFinishNavigation):
1563         (TestWebKitAPI::TEST):
1564         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1565         * TestWebKitAPI/Tests/WebKit/FindMatches.mm:
1566         (TestWebKitAPI::didFinishNavigation):
1567         (TestWebKitAPI::TEST):
1568         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1569         * TestWebKitAPI/Tests/WebKit/ForceRepaint.cpp:
1570         (TestWebKitAPI::didFinishNavigation):
1571         (TestWebKitAPI::TEST):
1572         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1573         * TestWebKitAPI/Tests/WebKit/FrameHandle.cpp:
1574         (TestWebKitAPI::didFinishNavigation):
1575         (TestWebKitAPI::TEST):
1576         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1577         * TestWebKitAPI/Tests/WebKit/Geolocation.cpp:
1578         (TestWebKitAPI::didFinishNavigation):
1579         (TestWebKitAPI::TEST):
1580         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1581         * TestWebKitAPI/Tests/WebKit/HitTestResultNodeHandle.cpp:
1582         (TestWebKitAPI::didFinishNavigation):
1583         (TestWebKitAPI::setPageLoaderClient):
1584         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1585         * TestWebKitAPI/Tests/WebKit/InjectedBundleBasic.cpp:
1586         (TestWebKitAPI::didFinishNavigation):
1587         (TestWebKitAPI::TEST):
1588         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1589         * TestWebKitAPI/Tests/WebKit/LimitTitleSize.cpp:
1590         (TestWebKitAPI::didFinishLoadForFrame):
1591         * TestWebKitAPI/Tests/WebKit/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
1592         (TestWebKitAPI::didFinishNavigation):
1593         (TestWebKitAPI::loadAlternateHTMLString):
1594         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1595         * TestWebKitAPI/Tests/WebKit/LoadCanceledNoServerRedirectCallback.cpp:
1596         (TestWebKitAPI::didFinishNavigation):
1597         (TestWebKitAPI::TEST):
1598         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1599         * TestWebKitAPI/Tests/WebKit/LoadPageOnCrash.cpp:
1600         (TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):
1601         (TestWebKitAPI::didFinishLoad):
1602         * TestWebKitAPI/Tests/WebKit/MenuTypesForMouseEvents.cpp:
1603         (TestWebKitAPI::didFinishNavigation):
1604         (TestWebKitAPI::setPageLoaderClient):
1605         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1606         * TestWebKitAPI/Tests/WebKit/MouseMoveAfterCrash.cpp:
1607         (TestWebKitAPI::didFinishNavigation):
1608         (TestWebKitAPI::setPageLoaderClient):
1609         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1610         * TestWebKitAPI/Tests/WebKit/NewFirstVisuallyNonEmptyLayoutFails.cpp:
1611         (TestWebKitAPI::didFinishLoadForFrame):
1612         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
1613         (TestWebKitAPI::TEST):
1614         * TestWebKitAPI/Tests/WebKit/PendingAPIRequestURL.cpp:
1615         (TestWebKitAPI::TEST):
1616         * TestWebKitAPI/Tests/WebKit/ResizeWindowAfterCrash.cpp:
1617         (TestWebKitAPI::didFinishLoad):
1618         (TestWebKitAPI::TEST):
1619         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
1620         (TestWebKitAPI::didFinishNavigation):
1621         (TestWebKitAPI::setPageLoaderClient):
1622         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1623         * TestWebKitAPI/Tests/WebKit/RestoreSessionStateContainingFormData.cpp:
1624         (TestWebKitAPI::didFinishNavigation):
1625         (TestWebKitAPI::setPageLoaderClient):
1626         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1627         * TestWebKitAPI/Tests/WebKit/ScrollPinningBehaviors.cpp:
1628         (TestWebKitAPI::didFinishNavigation):
1629         (TestWebKitAPI::TEST):
1630         (TestWebKitAPI::didFinishDocumentLoadForFrame): Deleted.
1631         * TestWebKitAPI/Tests/WebKit/SpacebarScrolling.cpp:
1632         (TestWebKitAPI::didFinishNavigation):
1633         (TestWebKitAPI::TEST):
1634         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1635         * TestWebKitAPI/Tests/WebKit/StopLoadingDuringDidFailProvisionalLoad.cpp:
1636         (TestWebKitAPI::didFailProvisionalNavigation):
1637         (TestWebKitAPI::TEST):
1638         (TestWebKitAPI::didFailProvisionalLoadWithErrorForFrame): Deleted.
1639         * TestWebKitAPI/Tests/WebKit/TerminateTwice.cpp:
1640         (TestWebKitAPI::didFinishNavigation):
1641         (TestWebKitAPI::TEST):
1642         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1643         * TestWebKitAPI/Tests/WebKit/TextFieldDidBeginAndEndEditing.cpp:
1644         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishNavigation):
1645         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::setPageLoaderClient):
1646         (TestWebKitAPI::WebKit2TextFieldBeginAndEditEditingTest::didFinishLoadForFrame): Deleted.
1647         * TestWebKitAPI/Tests/WebKit/UserMessage.cpp:
1648         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishNavigation):
1649         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::setPageLoaderClient):
1650         (TestWebKitAPI::WebKit2UserMessageRoundTripTest::didFinishLoadForFrame): Deleted.
1651         * TestWebKitAPI/Tests/WebKit/WKPageConfiguration.cpp:
1652         (TestWebKitAPI::didFinishNavigation):
1653         (TestWebKitAPI::setPageLoaderClient):
1654         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1655         * TestWebKitAPI/Tests/WebKit/WKPageCopySessionStateWithFiltering.cpp:
1656         (TestWebKitAPI::didFinishNavigation):
1657         (TestWebKitAPI::setPageLoaderClient):
1658         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1659         * TestWebKitAPI/Tests/WebKit/WKPageGetScaleFactorNotZero.cpp:
1660         (TestWebKitAPI::didFinishNavigation):
1661         (TestWebKitAPI::setPageLoaderClient):
1662         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1663         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp:
1664         (TestWebKitAPI::didFinishNavigation):
1665         (TestWebKitAPI::setUpClients):
1666         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1667         * TestWebKitAPI/Tests/WebKit/WKThumbnailView.mm:
1668         (TestWebKitAPI::didFinishNavigation):
1669         (TestWebKitAPI::setPageLoaderClient):
1670         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1671         * TestWebKitAPI/Tests/WebKit/WebArchive.cpp:
1672         (TestWebKitAPI::didFinishNavigation):
1673         (TestWebKitAPI::TEST):
1674         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1675         * TestWebKitAPI/Tests/WebKit/mac/AttributedSubstringForProposedRangeWithImage.mm:
1676         (TestWebKitAPI::didFinishNavigation):
1677         (TestWebKitAPI::TEST):
1678         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1679         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
1680         (TestWebKitAPI::didFinishNavigation):
1681         (TestWebKitAPI::TEST):
1682         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1683         * TestWebKitAPI/Tests/WebKit/mac/CustomBundleParameter.mm:
1684         (TestWebKitAPI::didFinishNavigation):
1685         (TestWebKitAPI::TEST):
1686         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1687         * TestWebKitAPI/Tests/WebKit/mac/EditorCommands.mm:
1688         (TestWebKitAPI::didFinishNavigation):
1689         (TestWebKitAPI::TEST):
1690         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1691         * TestWebKitAPI/Tests/WebKit/mac/GetPIDAfterAbortedProcessLaunch.cpp:
1692         (TestWebKitAPI::didFinishNavigation):
1693         (TestWebKitAPI::TEST):
1694         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1695         * TestWebKitAPI/Tests/WebKit/mac/InjectedBundleAppleEvent.cpp:
1696         (TestWebKitAPI::didFinishNavigation):
1697         (TestWebKitAPI::TEST):
1698         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1699         * TestWebKitAPI/Tests/WebKitCocoa/FullscreenDelegate.mm:
1700         (didFinishNavigation):
1701         (TestWebKitAPI::TEST):
1702         (didFinishLoadForFrame): Deleted.
1703         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
1704         (didFinishNavigation):
1705         (TestWebKitAPI::TEST):
1706         (didFinishLoadForFrame): Deleted.
1707         * TestWebKitAPI/Tests/mac/FirstResponderScrollingPosition.mm:
1708         (TestWebKitAPI::didFinishNavigation):
1709         (TestWebKitAPI::TEST):
1710         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1711         * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
1712         (TestWebKitAPI::didFinishNavigation):
1713         (TestWebKitAPI::setPageLoaderClient):
1714         (TestWebKitAPI::didFinishLoadForFrame): Deleted.
1715
1716 2018-08-21  Adrian Perez de Castro  <aperez@igalia.com>
1717
1718         [WPE] Update to use libwpe-1.0.0 and WPEBackend-fdo-1.0.0
1719         https://bugs.webkit.org/show_bug.cgi?id=188782
1720
1721         Reviewed by Michael Catanzaro.
1722
1723         Make the build depend on wpe-0.2, and change the Flatpak and JHBuild development
1724         environments to use version 1.0.0 of libwpe and WPEBackend-fdo.
1725
1726         * flatpak/org.webkit.WPE.yaml: Update to use libwpe and WPEBackend-fdo version 1.0.0 from
1727         release tarballs, and removed the (now unneeded) Lua and LuaJIT modules.
1728         * wpe/jhbuild.modules: Ditto.
1729
1730 2018-08-21  Michael Catanzaro  <mcatanzaro@igalia.com>
1731
1732         [Flatpak] Update to GNOME master runtime
1733         https://bugs.webkit.org/show_bug.cgi?id=188731
1734
1735         Reviewed by Philippe Normand.
1736
1737         The 3.28 runtime is pretty stale at this point. We could wait a couple weeks for the 3.30
1738         runtime, but I don't think there's any need to stick with the stable runtime when we have
1739         the ability to pin to a particular version of the master runtime. There are also several
1740         advantages to switching to the master runtime.
1741
1742         * flatpak/files/httpd-autogen.sh: Removed.
1743         * flatpak/flatpakutils.py:
1744         (WebkitFlatpak.clean_args):
1745         * flatpak/org.webkit.GTK.yaml:
1746         * flatpak/org.webkit.WebKit.yaml:
1747         * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Removed.
1748         * flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Removed.
1749
1750 2018-08-20  Jonathan Bedard  <jbedard@apple.com>
1751
1752         WebKitTestRunner: Add watchOS entitlements
1753         https://bugs.webkit.org/show_bug.cgi?id=188758
1754
1755         Reviewed by Tim Horton.
1756
1757         watchOS needs an additional entitlement to open up a socket for on-device testing.
1758
1759         * WebKitTestRunner/Configurations/WebKitTestRunnerApp-watchOS.entitlements: Added.
1760         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
1761         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
1762
1763 2018-08-20  Thomas Denney  <tdenney@apple.com>
1764
1765         [WHLSL] Remove generics from the interpreter
1766         https://bugs.webkit.org/show_bug.cgi?id=187988
1767
1768         Reviewed by Myles C. Maxfield.
1769
1770         This patch completely removes generic and protocol support from WHLSL
1771         whilst adding back any features that were originally implemented with
1772         generics.
1773
1774         Many of the changes in this patch just remove occurrences of type
1775         arguments and type parameters --- although there are some cases where
1776         they have been deliberately left in --- as well as removing tests only
1777         relevant to those features. These changes are not listed below.
1778
1779         * WebGPUShadingLanguageRI/All.js: Add/remove JS dependencies
1780         * WebGPUShadingLanguageRI/AutoWrapper.js:
1781         (AutoWrapper.prototype.visitConstexprTypeParameter): Deleted.
1782         * WebGPUShadingLanguageRI/BuiltinVectorCasts.js: Added. The built-in
1783         vectors have many constructors for different scalar and vector types.
1784         These were originally implemented with generics.
1785         * WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Adds the
1786         equality operator for built-in vectors, again this was removed with
1787         generics.
1788         * WebGPUShadingLanguageRI/BuiltinVectorGetter.js: Added, as above.
1789         Built-in vectors only support the getter and setter, and not the ander.
1790         * WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js: Added.
1791         * WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js: Added.
1792         * WebGPUShadingLanguageRI/BuiltinVectorSetter.js: Added.
1793         * WebGPUShadingLanguageRI/CallExpression.js: Adds support for
1794         instantiating functions which cannot be discovered earlier in
1795         preparation because their types are absent (specifically support for the
1796         operator &[] for array references and the length operator for array
1797         references). Previously support for these was implemented with generics.
1798         (CallExpression.resolve):
1799         (CallExpression.prototype.resolve):
1800         (CallExpression.prototype._resolveByInstantiation):
1801         (CallExpression.prototype._resolveToOperatorAnderIndexer):
1802         (CallExpression.prototype._resolveToOperatorLength):
1803         (CallExpression.prototype.resolveToOverload):
1804         (CallExpression.prototype.becomeCast):
1805         (CallExpression.prototype.toString):
1806         (CallExpression):
1807         * WebGPUShadingLanguageRI/CallExpressionTypeArgumentResolver.js: Added.
1808         We support syntax like vector<int, 2>(a, b) for constructing vectors;
1809         this new preparation step resolves them to specific constructors.
1810         * WebGPUShadingLanguageRI/CallFunction.js:
1811         * WebGPUShadingLanguageRI/Checker.js:
1812         * WebGPUShadingLanguageRI/ConstexprFolder.js:
1813         * WebGPUShadingLanguageRI/CreateLiteralType.js:
1814         * WebGPUShadingLanguageRI/ExpressionFinder.js:
1815         * WebGPUShadingLanguageRI/FlattenProtocolExtends.js: Removed.
1816         * WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:
1817         * WebGPUShadingLanguageRI/Func.js:
1818         * WebGPUShadingLanguageRI/FuncDef.js:
1819         * WebGPUShadingLanguageRI/FuncInstantiator.js: Deleted.
1820         * WebGPUShadingLanguageRI/InferTypesForCall.js: Removed usage of type arguments.
1821         * WebGPUShadingLanguageRI/Inline.js: Remove use of FuncInstantiator.
1822         * WebGPUShadingLanguageRI/Inliner.js: Ditto.
1823         * WebGPUShadingLanguageRI/Intrinsics.js:
1824         * WebGPUShadingLanguageRI/Lexer.js:
1825         * WebGPUShadingLanguageRI/LiteralTypeChecker.js:
1826         * WebGPUShadingLanguageRI/NameContext.js:
1827         (NameContext.prototype.add):
1828         (NameContext.prototype.get let):
1829         (NameContext.underlyingThings.prototype.else):
1830         (NameContext.prototype.resolveFuncOverload):
1831         * WebGPUShadingLanguageRI/NameFinder.js:
1832         * WebGPUShadingLanguageRI/NameResolver.js:
1833         (NameResolver.prototype.visitFunc):
1834         (NameResolver.prototype.visitFuncDef):
1835         (NameResolver.prototype.visitTypeDef):
1836         (NameResolver.prototype.visitStructType):
1837         (NameResolver.prototype.visitTypeRef):
1838         (NameResolver.prototype.visitCallExpression):
1839         (NameResolver.prototype.visitVectorType):
1840         (NameResolver):
1841         (NameResolver.prototype._visitTypeParametersAndBuildNameContext): Deleted.
1842         (NameResolver.prototype.visitProtocolDecl): Deleted.
1843         * WebGPUShadingLanguageRI/NativeFunc.js:
1844         (NativeFunc):
1845         * WebGPUShadingLanguageRI/NativeFuncInstance.js: Deleted.
1846         * WebGPUShadingLanguageRI/NativeType.js:
1847         (NativeType):
1848         (NativeType.prototype.get name):
1849         (NativeType.prototype.toString):
1850         (NativeType.prototype.get typeParameters): Deleted.
1851         (NativeType.prototype.instantiate): Deleted.
1852         * WebGPUShadingLanguageRI/Node.js:
1853         (Node.prototype.commit):
1854         (Node):
1855         (Node.prototype.substitute): Deleted.
1856         (Node.prototype.substituteToUnification): Deleted.
1857         * WebGPUShadingLanguageRI/OperatorAnderIndex.js: Added, previously
1858         implemented with generics.
1859         * WebGPUShadingLanguageRI/OperatorArrayRefLength.js: Ditto.
1860         * WebGPUShadingLanguageRI/OperatorBool.js: Ditto.
1861         * WebGPUShadingLanguageRI/Parse.js: Removed everything related to
1862         generics and protocols.
1863         * WebGPUShadingLanguageRI/Prepare.js: Added new stages.
1864         * WebGPUShadingLanguageRI/Program.js:
1865         (Program):
1866         (Program.prototype.get types):
1867         (Program.prototype.add):
1868         (Program.prototype.get protocols): Deleted.
1869         * WebGPUShadingLanguageRI/ProtocolDecl.js: Removed.
1870         * WebGPUShadingLanguageRI/ProtocolRef.js: Removed.
1871         * WebGPUShadingLanguageRI/RecursiveTypeChecker.js:
1872         * WebGPUShadingLanguageRI/ResolveCallExpressionsWithTypeArguments.js: Added.
1873         * WebGPUShadingLanguageRI/ResolveNames.js:
1874         * WebGPUShadingLanguageRI/ResolveOverloadImpl.js:
1875         * WebGPUShadingLanguageRI/ResolveTypeDefs.js:
1876         (resolveTypeDefsInProtocols): Deleted.
1877         * WebGPUShadingLanguageRI/Rewriter.js: Changes for new classes.
1878         * WebGPUShadingLanguageRI/SPIRV.html:
1879         * WebGPUShadingLanguageRI/SPIRVCodegen.js:
1880         * WebGPUShadingLanguageRI/StandardLibrary.js: Replace old generic features.
1881         * WebGPUShadingLanguageRI/StatementCloner.js: Changes for new classes.
1882         (StructLayoutBuilder):
1883         * WebGPUShadingLanguageRI/StructType.js:
1884         * WebGPUShadingLanguageRI/SwizzleOp.js:
1885         (SwizzleOp):
1886         (SwizzleOp.prototype.get baseTypeName):
1887         (SwizzleOp.prototype.toString):
1888         (SwizzleOp.functions.):
1889         (SwizzleOp.functions):
1890         (SwizzleOp.prototype.instantiateImplementation):
1891         (SwizzleOp.allSwizzleOperators.): Deleted.
1892         (SwizzleOp.allSwizzleOperators): Deleted.
1893         * WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js: Added,
1894         previously implemented with generics.
1895         * WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js: Ditto.
1896         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Ditto.
1897         * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Ditto.
1898         * WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Ditto.
1899         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
1900         (synthesizeStructAccessors.setupImplementationData):
1901         (synthesizeStructAccessors.createFieldType):
1902         (synthesizeStructAccessors.createTypeRef):
1903         (synthesizeStructAccessors.setupAnder):
1904         (synthesizeStructAccessors):
1905         (synthesizeStructAccessors.createTypeParameters): Deleted.
1906         (synthesizeStructAccessors.): Deleted.
1907         * WebGPUShadingLanguageRI/Test.html:
1908         * WebGPUShadingLanguageRI/Test.js: Removed redundant tests and added new
1909         tests for changed language features.
1910         * WebGPUShadingLanguageRI/Type.js:
1911         * WebGPUShadingLanguageRI/TypeDef.js:
1912         * WebGPUShadingLanguageRI/TypeDefResolver.js:
1913         * WebGPUShadingLanguageRI/TypeParameterRewriter.js: Removed.
1914         * WebGPUShadingLanguageRI/TypeRef.js:
1915         * WebGPUShadingLanguageRI/TypeVariable.js: Removed.
1916         * WebGPUShadingLanguageRI/UnificationContext.js:
1917         * WebGPUShadingLanguageRI/VectorType.js: Added.
1918         * WebGPUShadingLanguageRI/Visitor.js: Changes for new classes.
1919         * WebGPUShadingLanguageRI/WSL.md: Removed description of
1920         generics/protocols.
1921         * WebGPUShadingLanguageRI/WrapChecker.js:
1922         (WrapChecker):
1923         (WrapChecker.visitConstexprTypeParameter): Deleted.
1924         (WrapChecker.prototype.visitFuncParameter): Deleted.
1925         (WrapChecker.prototype.visitTypeVariable): Deleted.
1926         * WebGPUShadingLanguageRI/index.html:
1927
1928 2018-08-20  Thomas Denney  <tdenney@apple.com>
1929
1930         Added Thomas Denney to contributors.json.
1931         https://bugs.webkit.org/show_bug.cgi?id=188525
1932
1933         Reviewed by Myles C. Maxfield.
1934
1935         * Scripts/webkitpy/common/config/contributors.json:
1936
1937 2018-08-20  Bernhard M. Wiedemann  <bwiedemann@suse.de>
1938
1939         [GTK] Sort inspector GResource manifest to ensure reproducible builds
1940         https://bugs.webkit.org/show_bug.cgi?id=188738
1941
1942         Reviewed by Michael Catanzaro.
1943
1944         * glib/generate-inspector-gresource-manifest.py:
1945         (get_filenames): sort list of input files
1946
1947 2018-08-20  Wenson Hsieh  <wenson_hsieh@apple.com>
1948
1949         [iOS] Paste is missing from callout bar when pasteboard only contains custom data
1950         https://bugs.webkit.org/show_bug.cgi?id=184271
1951         <rdar://problem/39256708>
1952
1953         Reviewed by Andy Estes.
1954
1955         This API test is failing when run against older macOS builds, where custom pasteboard
1956         data is not enabled by default.
1957
1958         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
1959         (TestWebKitAPI::TEST):
1960
1961 2018-08-20  Claudio Saavedra  <csaavedra@igalia.com>
1962
1963         Add WPE Debug configuration to the flakiness dashboard
1964         https://bugs.webkit.org/show_bug.cgi?id=188743
1965
1966         Reviewed by Michael Catanzaro.
1967
1968         * TestResultServer/static-dashboards/builders.jsonp:
1969         * TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
1970
1971 2018-08-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1972
1973         [GLIB] Add API to throw exceptions using printf formatted strings
1974         https://bugs.webkit.org/show_bug.cgi?id=188698
1975
1976         Reviewed by Michael Catanzaro.
1977
1978         Add cases to test the new API.
1979
1980         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
1981         (createFormattedError):
1982         (createCustomFormattedError):
1983         (testJSCExceptions):
1984
1985 2018-08-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1986
1987         [GLIB] Complete the JSCException API
1988         https://bugs.webkit.org/show_bug.cgi?id=188695
1989
1990         Reviewed by Michael Catanzaro.
1991
1992         Add cases to test the new API.
1993
1994         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
1995         (testJSCCheckSyntax):
1996         (createCustomError):
1997         (testJSCExceptions):
1998
1999 2018-08-18  Wenson Hsieh  <wenson_hsieh@apple.com>
2000
2001         [iOS] Paste is missing from callout bar when pasteboard only contains custom data
2002         https://bugs.webkit.org/show_bug.cgi?id=184271
2003         <rdar://problem/39256708>
2004
2005         Reviewed by Ryosuke Niwa.
2006
2007         Add a new API test to verify that on both iOS and macOS, copied custom pasteboard data can only be pasted in a
2008         matching origin. Additionally verify that on iOS, the web view is capable of performing the "paste:" selector.
2009
2010         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
2011         (TestWebKitAPI::TEST):
2012         (imagePath): Deleted.
2013         (writeTypesAndDataToPasteboard): Deleted.
2014         (setUpWebView): Deleted.
2015         (markupString): Deleted.
2016
2017         Make this test file no longer exclusive to macOS.
2018
2019         * TestWebKitAPI/cocoa/TestWKWebView.h:
2020         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2021         (-[TestWKWebView synchronouslyLoadHTMLString:baseURL:]):
2022
2023         Tweak this helper to also take in a `baseURL`. Defaults to using the TestWebKitAPI bundle resource URL.
2024
2025         (-[TestWKWebView synchronouslyLoadHTMLString:]):
2026
2027 2018-08-17  Jonathan Bedard  <jbedard@apple.com>
2028
2029         Add back --wtf-only to run-api-tests
2030         https://bugs.webkit.org/show_bug.cgi?id=187893
2031         <rdar://problem/42483983>
2032
2033         Reviewed by Aakash Jain.
2034
2035         When doing WTF development, it is not necessary to build or run all of the API
2036         tests. Generally, if a user has specified a specific binary (or binaries) that
2037         they are interested in testing, it is not necessary to check all API test binaries.
2038
2039         * Scripts/webkitpy/api_tests/manager.py:
2040         (Manager._collect_tests): Only use the binaries matching the program arguments
2041         when collecting tests.
2042         (Manager._binaries_for_arguments): Generate a list of binaries which match the
2043         program arguments.
2044         (Manager.run): Pass a list binaries to check.
2045         * Scripts/webkitpy/api_tests/run_api_tests.py:
2046         (parse_args):
2047         * Scripts/webkitpy/port/base.py:
2048         (Port.check_api_test_build): If the caller specifies which API test binaries it
2049         requires, only check the ones specified.
2050         (Port.path_to_api_test_binaries): Allow the caller to only build the WTF API tests.
2051         (Port._build_api_tests): Allow the caller to only build the WTF API tests.
2052         * Scripts/webkitpy/port/win.py:
2053         (WinPort.path_to_api_test_binaries):
2054
2055 2018-08-17  Jer Noble  <jer.noble@apple.com>
2056
2057         REGRESSION (234743) Timeouts in TestWebKitAPI.PreferredAudioBufferSize.AudioWithWebAudio and TestWebKitAPI.PreferredAudioBufferSize.WebAudio
2058         https://bugs.webkit.org/show_bug.cgi?id=188470
2059         <rdar://problem/43144969>
2060
2061         Reviewed by Alex Christensen.
2062
2063         On a loaded server, the WebContent process may send the "playing" message before the
2064         UIProcess has a chance to register a listener for that message. Restructure the tests
2065         so that the listener is registered before the page is loaded.
2066
2067         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
2068         (PreferredAudioBufferSize::runPlayingTestWithPageNamed):
2069         (TEST_F):
2070
2071 2018-08-16  Wenson Hsieh  <wenson_hsieh@apple.com>
2072
2073         [macOS] [WK2] Add infrastructure to test receiving file promises on drop
2074         https://bugs.webkit.org/show_bug.cgi?id=188583
2075
2076         Reviewed by Andy Estes.
2077
2078         Enable testing file promise drop handling on the WebKit2 port of macOS by introducing a subclass of
2079         NSFilePromiseReceiver and implementing `-enumerateDraggingItemsWithOptions:forView:…` on TestDraggingInfo (the
2080         concrete NSDraggingInfo implementation used by DragAndDropSimulator) using the mock file receiver. Also
2081         introduces 3 new macOS tests. See below for more details.
2082
2083         A large portion of this logic is ported over from DumpRenderTree testing infrastructure added in r229297. In a
2084         future patch, we should introduce a way to write code common to both API tests, WebKitTestRunner and
2085         DumpRenderTree, and make this code shared among all three testing harnesses.
2086
2087         Tests:  DragAndDropTests.DragImageElementIntoFileUpload
2088                 DragAndDropTests.DragPromisedImageFileIntoFileUpload
2089                 DragAndDropTests.DragImageFileIntoFileUpload
2090
2091         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2092         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
2093         (TEST):
2094
2095         Drive-by fix: Replace NSMakePoint with CGPointMake.
2096
2097         * TestWebKitAPI/Tests/WebKitCocoa/image-and-file-upload.html:
2098
2099         Add a new test page consisting of an image and a "file upload" area that updates exercises DataTransfer API to
2100         load the dropped image.
2101
2102         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
2103         (waitForConditionWithLogging):
2104
2105         Add a helper function to wait for a condition to evaluate to true. To make failures more informative,
2106         additionally add a mechanism to log a warning message after a given timeout, if the condition has yet to be met.
2107
2108         (TEST):
2109
2110         Add new tests to exercise a few cases of file upload in WebKit, including: (1) dragging from an image element,
2111         (2) dragging files written to the pasteboard as promises, and (3) files written to the pasteboard as file URLs.
2112
2113         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
2114
2115         Surface the new functionality provided by the file promise receiver mock via two new methods on
2116         DragAndDropSimulator to (1) write files as file promises to the pasteboard, and (2) write files as file paths
2117         directly to the pasteboard.
2118
2119         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2120         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
2121         (-[DragAndDropSimulator externalPromisedFiles]):
2122         (getFilePathsAndTypeIdentifiers):
2123         (-[DragAndDropSimulator writePromisedFiles:]):
2124         (-[DragAndDropSimulator writeFiles:]):
2125         * TestWebKitAPI/mac/TestDraggingInfo.h:
2126         * TestWebKitAPI/mac/TestDraggingInfo.mm:
2127         (-[TestDraggingInfo initWithDragAndDropSimulator:]):
2128         (-[TestDraggingInfo filePromiseReceivers]):
2129         (-[TestDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
2130
2131         Implement this by invoking the given block with a TestFilePromiseReceiver. While all other classes are
2132         unhandled by this testing code, WebKit only calls into this with [NSFilePromiseReceiver class], this is
2133         currently sufficient for testing purposes.
2134
2135         * TestWebKitAPI/mac/TestFilePromiseReceiver.h: Copied from Tools/TestWebKitAPI/mac/TestDraggingInfo.h.
2136         * TestWebKitAPI/mac/TestFilePromiseReceiver.mm: Added.
2137         (-[TestFilePromiseReceiver initWithPromisedTypeIdentifiers:dragAndDropSimulator:]):
2138         (-[TestFilePromiseReceiver fileTypes]):
2139         (-[TestFilePromiseReceiver fileNames]):
2140         (-[TestFilePromiseReceiver dealloc]):
2141         (-[TestFilePromiseReceiver draggingSource]):
2142         (-[TestFilePromiseReceiver setDraggingSource:]):
2143         (fileNameWithNumericSuffix):
2144         (copyFile):
2145
2146         Add a helper to copy a file into a destination directory. Used to implement the main functionality of our
2147         NSFilePromiseReceiver subclass, which copies the files specified by test code into the directory determined by
2148         WebKit.
2149
2150         (-[TestFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:]):
2151
2152 2018-08-16  Alex Christensen  <achristensen@webkit.org>
2153
2154         Add entitlement to MiniBrowser to allow it to communicate with com.apple.Safari.SafeBrowsing.Service
2155         https://bugs.webkit.org/show_bug.cgi?id=188677
2156
2157         Reviewed by Tim Horton.
2158
2159         * MiniBrowser/MiniBrowser.entitlements:
2160         SSBLookupContext lookUpURL:completionHandler: fails to communicate with its service without this entitlement
2161         on released operating systems.  See <rdar://problem/42749777>
2162
2163 2018-08-16  Jer Noble  <jer.noble@apple.com>
2164
2165         Add option to run-api-tests to force running of DISABLED tests.
2166         https://bugs.webkit.org/show_bug.cgi?id=188674
2167
2168         Reviewed by Joseph Pecoraro.
2169
2170         * Scripts/webkitpy/api_tests/run_api_tests.py:
2171         (parse_args):
2172         * Scripts/webkitpy/api_tests/runner.py:
2173         (Runner.command_for_port):
2174         (_Worker._run_single_test):
2175
2176 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
2177
2178         [ews-build] Separate queues for Builders and Testers - macOS High Sierra
2179         https://bugs.webkit.org/show_bug.cgi?id=188540
2180
2181         Reviewed by Lucas Forschler.
2182
2183         * BuildSlaveSupport/ews-build/config.json: Splitted few macOS queues into builders and testers. 
2184
2185 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
2186
2187         [ews-build] Add build steps ArchiveTestResults, UploadTestResults and ExtractTestResults
2188         https://bugs.webkit.org/show_bug.cgi?id=188666
2189
2190         Reviewed by Lucas Forschler.
2191
2192         * BuildSlaveSupport/ews-build/steps.py:
2193         (ArchiveTestResults): Build step to Archive the test results.
2194         (UploadTestResults): Build step to upload the archive.
2195         (ExtractTestResults): Build step to unzip the archive on server and generate a link.
2196         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2197         (ExpectMasterShellCommand): Copied from other similar internal code.
2198
2199 2018-08-16  Aakash Jain  <aakash_jain@apple.com>
2200
2201         [ews-build] Separate queues for Builders and Testers - macOS Sierra
2202         https://bugs.webkit.org/show_bug.cgi?id=188516
2203
2204         Reviewed by Lucas Forschler.
2205
2206         * BuildSlaveSupport/ews-build/config.json: Splitted macOS Sierra Release queues into builders and testers.
2207         * BuildSlaveSupport/ews-build/factories.py: Used appropriate base classes for builders and testers.
2208
2209 2018-08-16  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2210
2211         [Win][DumpRenderTree] Remove error message for duplicated tests.
2212         https://bugs.webkit.org/show_bug.cgi?id=188662
2213
2214         Reviewed by Per Arne Vollan.
2215
2216         This was added to track down an issue where the same tests appeared
2217         to be run multiple times. This turned out to not be the case.
2218         See https://bugs.webkit.org/show_bug.cgi?id=166760 .
2219
2220         * DumpRenderTree/win/DumpRenderTree.cpp:
2221         (runTest):
2222
2223 2018-08-16  Alex Christensen  <achristensen@webkit.org>
2224
2225         Re-introduce assertion removed in r234890
2226         https://bugs.webkit.org/show_bug.cgi?id=188611
2227
2228         Reviewed by Geoffrey Garen.
2229
2230         * TestWebKitAPI/Tests/WTF/Vector.cpp:
2231         (TestWebKitAPI::TEST):
2232
2233 2018-08-16  Jer Noble  <jer.noble@apple.com>
2234
2235         Add Experimental Feature support for SourceBuffer.changeType()
2236         https://bugs.webkit.org/show_bug.cgi?id=188626
2237         <rdar://problem/43356021>
2238
2239         Reviewed by Eric Carlson.
2240
2241         * DumpRenderTree/mac/DumpRenderTree.mm:
2242         (enableExperimentalFeatures):
2243         (resetWebPreferencesToConsistentValues):
2244         * WebKitTestRunner/TestController.cpp:
2245         (WTR::TestController::resetPreferencesToConsistentValues):
2246
2247 2018-08-16  Aditya Keerthi  <akeerthi@apple.com>
2248
2249         Support drag-and-drop for input[type=color]
2250         https://bugs.webkit.org/show_bug.cgi?id=188464
2251
2252         Reviewed by Wenson Hsieh.
2253
2254         Added five cross-platform API tests, to verify that dragging and dropping with
2255         color inputs changes the value of the drop target if and only if both inputs are
2256         enabled. Also tests that the change and input events are fired when changing the
2257         value of a color input through drag and drop. 
2258
2259         Additionally, added a macOS-specific test to verify that dropping an item with
2260         NSColorPboardType changes the value of the color input.
2261
2262         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2263         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm:
2264         (TestWebKitAPI::TEST):
2265         * TestWebKitAPI/Tests/WebKitCocoa/color-drop.html: Added.
2266         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:
2267         (TestWebKitAPI::TEST):
2268
2269 2018-08-16  Antti Koivisto  <antti@apple.com>
2270
2271         Use OptionSet for ActivityState::Flags
2272         https://bugs.webkit.org/show_bug.cgi?id=188554
2273
2274         Reviewed by Brent Fulgham.
2275
2276         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
2277         (TestWebKitAPI::TEST):
2278
2279 2018-08-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2280
2281         [GTK] MiniBrowser: web view doesn't get the focus when new window is created
2282         https://bugs.webkit.org/show_bug.cgi?id=188546
2283
2284         Reviewed by Michael Catanzaro.
2285
2286         When a new window is created, the first widget of the windo is getting the focus, the toolbar in this case. We
2287         always want the WebView to grab the focus. In case of new empty tab, we want to the URL bar to be focused
2288         instead. This was causing failures in WebDriver tests that create a popup window with an input element that is
2289         filled with send keys command. The input element is marked as focused in the DOM, but the actual focused widget
2290         is the toolbar, so key events are sent to the toolbar instead of the web view.
2291
2292         * MiniBrowser/gtk/BrowserWindow.c:
2293         (webViewCreate):
2294         (newTabCallback):
2295         (openPrivateWindow):
2296         (browser_window_get_or_create_web_view_for_automation):
2297
2298 2018-08-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2299
2300         Unreviewed. Fix WebDriver tests after r234839.
2301
2302         New pytest requires to autoinstall attrs too.
2303
2304         * Scripts/webkitpy/thirdparty/__init__.py:
2305         (AutoinstallImportHook._install_pytest):
2306
2307 2018-08-15  Ansh Shukla  <ansh_shukla@apple.com>
2308
2309         NSURLAuthenticationMethodOAuth challenges are surfaced to clients in -didReceiveAuthenticationChallenge as NSURLAuthenticationMethodDefault
2310         https://bugs.webkit.org/show_bug.cgi?id=186870
2311         <rdar://problem/41314410>
2312
2313         Reviewed by Alex Christensen.
2314
2315         * WebKitTestRunner/TestController.cpp:
2316         (WTR::toString):
2317         (WTR::TestController::canAuthenticateAgainstProtectionSpace): Expose type of authentication challenge so we can test OAuth.
2318         (WTR::TestController::didReceiveAuthenticationChallenge):
2319
2320 2018-08-15  Ben Richards  <benton_richards@apple.com>
2321
2322         We should cache the compiled sandbox profile in a data vault
2323         https://bugs.webkit.org/show_bug.cgi?id=184991
2324
2325         Reviewed by Ryosuke Niwa.
2326
2327         Added trace points for sandbox initialization
2328
2329         * Tracing/SystemTracePoints.plist:
2330
2331 2018-08-15  Ryan Haddad  <ryanhaddad@apple.com>
2332
2333         Unreviewed, rolling out r234870.
2334
2335         The test introduced with this change is a flaky failure.
2336
2337         Reverted changeset:
2338
2339         "NSURLAuthenticationMethodOAuth challenges are surfaced to
2340         clients in -didReceiveAuthenticationChallenge as
2341         NSURLAuthenticationMethodDefault"
2342         https://bugs.webkit.org/show_bug.cgi?id=186870
2343         https://trac.webkit.org/changeset/234870
2344
2345 2018-08-15  Jonathan Bedard  <jbedard@apple.com>
2346
2347         WebKitTestRunner should support watch devices
2348         https://bugs.webkit.org/show_bug.cgi?id=188570
2349
2350         Reviewed by Alex Christensen.
2351
2352         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
2353
2354 2018-08-15  Wenson Hsieh  <wenson_hsieh@apple.com>
2355
2356         [Attachment SPI] Remove attachment display mode options
2357         https://bugs.webkit.org/show_bug.cgi?id=188596
2358
2359         Reviewed by Dan Bernstein.
2360
2361         Remove API tests and API test helpers for verifying the behavior of in-place media attachment elements.
2362
2363         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
2364         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:]):
2365         (TestWebKitAPI::TEST):
2366         (testVideoData): Deleted.
2367         (displayOptionsWithMode): Deleted.
2368         (-[TestWKWebView synchronouslyInsertAttachmentWithFilename:contentType:data:options:]): Deleted.
2369
2370 2018-08-14  Devin Rousso  <drousso@apple.com>
2371
2372         Unreviewed, change my emails.
2373
2374         * Scripts/webkitpy/common/config/contributors.json:
2375         * Scripts/webkitpy/common/config/watchlist:
2376
2377 2018-08-14  Saam barati  <sbarati@apple.com>
2378
2379         HashMap<Ref<P>, V> asserts when V is not zero for its empty value
2380         https://bugs.webkit.org/show_bug.cgi?id=188582
2381
2382         Reviewed by Sam Weinig.
2383
2384         * TestWebKitAPI/Tests/WTF/HashMap.cpp:
2385         (TestWebKitAPI::TEST):
2386
2387 2018-08-14  Zalan Bujtas  <zalan@apple.com>
2388
2389         [LFC][Floating] Add support for negative clearance.
2390         https://bugs.webkit.org/show_bug.cgi?id=188555
2391
2392         Reviewed by Simon Fraser.
2393
2394         * LayoutReloaded/misc/LFC-passing-tests.txt:
2395
2396 2018-08-14 Sihui Liu <sihui_liu@apple.com>
2397
2398         Crash in WebKit::filterPreloadHSTSEntry via NetworkProcess::getHostNamesWithHSTSCache
2399         https://bugs.webkit.org/show_bug.cgi?id=188576
2400         <rdar://problem/43148977>
2401
2402         Reviewed by Alex Christensen.
2403
2404         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2405         * TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: Added.
2406         (TEST):
2407
2408 2018-08-14  Alex Christensen  <achristensen@webkit.org>
2409
2410         isValidCSSSelector is unsafe to be called from a non-main thread
2411         https://bugs.webkit.org/show_bug.cgi?id=188581
2412         <rdar://problem/40517358>
2413
2414         Reviewed by Sam Weinig.
2415
2416         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
2417         (TestWebKitAPI::InMemoryCompiledContentExtension::create):
2418         (TestWebKitAPI::checkCompilerError):
2419
2420 2018-08-14  Ansh Shukla  <ansh_shukla@apple.com>
2421
2422         NSURLAuthenticationMethodOAuth challenges are surfaced to clients in -didReceiveAuthenticationChallenge as NSURLAuthenticationMethodDefault
2423         https://bugs.webkit.org/show_bug.cgi?id=186870
2424         <rdar://problem/41314410>
2425
2426         Reviewed by Alex Christensen.
2427
2428         * WebKitTestRunner/TestController.cpp:
2429         (WTR::toString):
2430         (WTR::TestController::canAuthenticateAgainstProtectionSpace): Expose type of authentication challenge so we can test OAuth.
2431         (WTR::TestController::didReceiveAuthenticationChallenge):
2432
2433 2018-08-14  Fujii Hironori  <Hironori.Fujii@sony.com>
2434
2435         [webkitpy][Win] LayoutTests: test names should be Unix style, separated by slash not backslash
2436         https://bugs.webkit.org/show_bug.cgi?id=187973
2437
2438         Reviewed by Alex Christensen.
2439
2440         In LayoutTests, test names have been canonicalized in Unix style
2441         since Bug 63597, for example 'fast/css/001.html'. But Bug 179219,
2442         Bug 179572, Bug 180660, and Bug 181814 have changed to use
2443         os.path.seq instead of slash if Windows Python is used.
2444
2445         Revert parts of those changes. Change relative_test_filename to
2446         return a slash-separated test name as chromium_win.py used to do.
2447
2448         This change fixes all 41 test-webkitpy failures in WinCairo port.
2449
2450         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
2451         (TestExpectationParser._parse_line): Do not convert test names with normpath.
2452         * Scripts/webkitpy/port/base.py:
2453         (Port.normalize_test_name): Use TEST_PATH_SEPARATOR instead of os.path.sep.
2454         (Port.relative_test_filename): Replace self.host.filesystem.sep with self.TEST_PATH_SEPARATOR.
2455         (Port.abspath_for_test): Replace self.TEST_PATH_SEPARATOR with self.host.filesystem.sep.
2456         * Scripts/webkitpy/port/driver.py:
2457         (Driver): Use '/' instead of os.sep.
2458         * Scripts/webkitpy/port/win.py:
2459         (WinCairoPort): Do not override TEST_PATH_SEPARATOR.
2460
2461 2018-08-14  Aakash Jain  <aakash_jain@apple.com>
2462
2463         [ews-build] Add build step to run WK1 layout-test
2464         https://bugs.webkit.org/show_bug.cgi?id=188498
2465
2466         Reviewed by Lucas Forschler.
2467
2468         * BuildSlaveSupport/ews-build/steps.py:
2469         (RunWebKit1Tests): Class to run WebKit1Tests.
2470         * BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
2471
2472 2018-08-14  Patrick Griffis  <pgriffis@igalia.com>
2473
2474         [Flatpak] Fix --cmakeargs
2475         https://bugs.webkit.org/show_bug.cgi?id=188567
2476
2477         Reviewed by Michael Catanzaro.
2478
2479         * flatpak/flatpakutils.py:
2480         (WebkitFlatpak.setup_dev_env):
2481
2482 2018-08-14  Darshan Kadu  <dkadu@igalia.com>
2483
2484         Enhancement request: Make export-w3c-test-changes add the PR to "See Also" links
2485         https://bugs.webkit.org/show_bug.cgi?id=186140
2486
2487         Reviewed by Youenn Fablet.
2488
2489         Added an optional parameter see_also to post_comment_to_bug function and used it for adding see_also variable's content in "See Also"
2490         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
2491         (Bugzilla.post_comment_to_bug):
2492         Modified mock for see_also parameter
2493         * Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
2494         (MockBugzilla.post_comment_to_bug):
2495         Made following unit tests to have see_also in bug comment
2496         * Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
2497         * Scripts/webkitpy/tool/bot/sheriff_unittest.py:
2498         (SheriffTest.test_post_blame_comment_on_bug):
2499         * Scripts/webkitpy/tool/commands/applywatchlistlocal_unittest.py:
2500         * Scripts/webkitpy/tool/commands/queues_unittest.py:
2501         * Scripts/webkitpy/tool/commands/upload_unittest.py:
2502         * Scripts/webkitpy/tool/steps/applywatchlist_unittest.py:
2503         * Scripts/webkitpy/w3c/test_exporter.py:
2504         (WebPlatformTestExporter.make_pull_request):
2505         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
2506         (TestExporterTest.MockBugzilla.post_comment_to_bug):
2507         (TestExporterTest.test_export):
2508
2509 2018-08-14  Aakash Jain  <aakash_jain@apple.com>
2510
2511         [ews-build] Add support for max_builds parameter for workers
2512         https://bugs.webkit.org/show_bug.cgi?id=188531
2513
2514         Reviewed by Lucas Forschler.
2515
2516         * BuildSlaveSupport/ews-build/loadConfig.py:
2517         (loadBuilderConfig): Added support for max_builds.
2518
2519 2018-08-14  Zalan Bujtas  <zalan@apple.com>
2520
2521         [LFC][Floating] Adjust vertical position with non-collapsing previous sibling margin.
2522         https://bugs.webkit.org/show_bug.cgi?id=188543
2523
2524         Reviewed by Antti Koivisto.
2525
2526         * LayoutReloaded/misc/LFC-passing-tests.txt:
2527
2528 2018-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2529
2530         Unreviewed. Fix WebDriver tests after r234839.
2531
2532         New pytest requires to autoinstall more_itertools and six too.
2533
2534         * Scripts/webkitpy/thirdparty/__init__.py:
2535         (AutoinstallImportHook._install_pytest):
2536
2537 2018-08-14  Tomas Popela  <tpopela@redhat.com>
2538
2539         [GTK] Minibrowser: Add labels for buttons
2540         https://bugs.webkit.org/show_bug.cgi?id=188549
2541
2542         Reviewed by Carlos Garcia Campos.
2543
2544         So they are accessible easier (i.e. while testing WebKitGTK+ through Minibrowser in Dogtail).
2545
2546         * MiniBrowser/gtk/BrowserWindow.c:
2547         (webViewIsLoadingChanged):
2548         (browserWindowSetupEditorToolbar):
2549         (browser_window_init):
2550
2551 2018-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2552
2553         Unreviewed. Fix WebDriver tests after r234839.
2554
2555         New pytest requires to autoinstall atomicwrites too.
2556
2557         * Scripts/webkitpy/thirdparty/__init__.py:
2558         (AutoinstallImportHook._install_pytest):
2559
2560 2018-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>
2561
2562         Unreviewed. Fix WebDriver tests after r234839.
2563
2564         New pytest requires to autoinstall pluggy and funcsigs too.
2565
2566         * Scripts/webkitpy/thirdparty/__init__.py:
2567         (AutoinstallImportHook._install_pytest):
2568
2569 2018-08-13  Carlos Garcia Campos  <cgarcia@igalia.com>
2570
2571         Unreviewed. Update W3C WebDriver imported tests.
2572
2573         Bump pytest version to 3.6.2.
2574
2575         * Scripts/webkitpy/thirdparty/__init__.py:
2576         (AutoinstallImportHook._install_pytest):
2577
2578 2018-08-13  Thomas Denney  <tdenney@apple.com>
2579
2580         Allow the substring 'me' in contributor names and email addresses
2581         https://bugs.webkit.org/show_bug.cgi?id=188538
2582
2583         Reviewed by Tim Horton.
2584
2585         A test didn't permit the string "me" in email addresses or names of contributors.
2586
2587         * Scripts/webkitpy/common/config/committers_unittest.py:
2588         (CommittersTest.test_contributors_by_fuzzy_match):
2589
2590 2018-08-13  Commit Queue  <commit-queue@webkit.org>
2591
2592         Unreviewed, rolling out r234812.
2593         https://bugs.webkit.org/show_bug.cgi?id=188536
2594
2595         broke the build (Requested by ThomasDenney on #webkit).
2596
2597         Reverted changeset:
2598
2599         "Added Thomas Denney to contributors.json."
2600         https://bugs.webkit.org/show_bug.cgi?id=188525
2601         https://trac.webkit.org/changeset/234812
2602
2603 2018-08-13  Sihui Liu  <sihui_liu@apple.com>
2604
2605         Avoid timeout resulted from calling waitUntilDone when test is not running
2606         https://bugs.webkit.org/show_bug.cgi?id=188389
2607
2608         Reviewed by Chris Dumez.
2609
2610         If test is not running, we should not set the waitUntilDone flag, or it may cause subsequent tests timeout.
2611
2612         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2613         (WTR::TestRunner::waitUntilDone):
2614
2615 2018-08-13  Wenson Hsieh  <wenson_hsieh@apple.com>
2616
2617         [WK2] [macOS] Implement a mechanism to test drag and drop
2618         https://bugs.webkit.org/show_bug.cgi?id=181898
2619         <rdar://problem/39181698>
2620
2621         Reviewed by Simon Fraser.
2622
2623         Implements the currently stubbed DragAndDropSimulator on macOS, and introduces a new API test for r227266. See
2624         comments below for more detail.
2625
2626         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2627         * TestWebKitAPI/Tests/WebKitCocoa/DragAndDropTests.mm: Copied from Tools/TestWebKitAPI/mac/DragAndDropSimulatorMac.mm.
2628
2629         Introduce a file for cross-platform drag and drop tests, currently for iOS and macOS. Additionally add a test
2630         for r227266, which was fixed earlier this year but could not be tested due to a lack of testing mechanism on
2631         macOS in WebKit2.
2632
2633         (TEST):
2634         * TestWebKitAPI/Tests/WebKitCocoa/full-page-dropzone.html: Added.
2635
2636         Minor tweaks to this test page to add "dragover" and "drop" event handlers.
2637
2638         * TestWebKitAPI/Tests/WebKitCocoa/image-in-link-and-input.html:
2639         * TestWebKitAPI/Tests/WebKitCocoa/link-in-iframe-and-input.html: Added.
2640
2641         Add a new test page that includes a link embedded within an iframe below a plain text input.
2642
2643         * TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm: Added.
2644         (TEST):
2645         * TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm: Renamed from Tools/TestWebKitAPI/Tests/mac/DragAndDropPasteboardTests.mm.
2646
2647         Move only existing WebKit2 macOS drag and drop test (DragAndDropPasteboardTests.NumberOfValidItemsForDrop) out
2648         of DragAndDropPasteboardTests.mm and into a new file, DragAndDropTestsMac.mm. Additionally, rename
2649         DragAndDropPasteboardTests to LegacyDragAndDropTests, since it now only contains two legacy WebView tests for
2650         drag and drop.
2651
2652         (+[FrameLoadCompletionListener listenerWithCompletionBlock:]):
2653         (-[FrameLoadCompletionListener initWithCompletionBlock:]):
2654         (-[FrameLoadCompletionListener webView:didFinishLoadForFrame:]):
2655         (-[DragSource draggingSourceOperationMaskForLocal:]):
2656         (-[DragInfo initWithImage:offset:pasteboard:source:destinationWindow:]):
2657         (-[DragInfo lastMousePosition]):
2658         (-[DragInfo setLastMousePosition:]):
2659         (-[DragInfo draggingDestinationWindow]):
2660         (-[DragInfo draggingSourceOperationMask]):
2661         (-[DragInfo draggingLocation]):
2662         (-[DragInfo draggedImageLocation]):
2663         (-[DragInfo draggedImage]):
2664         (-[DragInfo draggingPasteboard]):
2665         (-[DragInfo draggingSource]):
2666         (-[DragInfo draggingSequenceNumber]):
2667         (-[DragInfo slideDraggedImageTo:]):
2668         (-[DragInfo namesOfPromisedFilesDroppedAtDestination:]):
2669         (-[DragInfo draggingFormation]):
2670         (-[DragInfo setDraggingFormation:]):
2671         (-[DragInfo animatesToDestination]):
2672         (-[DragInfo setAnimatesToDestination:]):
2673         (-[DragInfo numberOfValidItemsForDrop]):
2674         (-[DragInfo setNumberOfValidItemsForDrop:]):
2675         (-[DragInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
2676         (-[DragInfo springLoadingHighlight]):
2677         (-[DragInfo resetSpringLoading]):
2678         (TestWebKitAPI::getTestImage):
2679         (TestWebKitAPI::webViewAfterPerformingDragOperation):
2680         (TestWebKitAPI::TEST):
2681         * TestWebKitAPI/Tests/mac/full-page-dropzone.html: Removed.
2682         * TestWebKitAPI/cocoa/DragAndDropSimulator.h:
2683
2684         Flesh out some of the DragAndDropSimulator API for macOS, exposing (among other things) the drag pasteboard,
2685         the current NSDraggingInfo, the initial location of the drag image, and the drag image itself.
2686
2687         * TestWebKitAPI/cocoa/TestWKWebView.h:
2688         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2689         (-[TestWKWebView mouseDownAtPoint:simulatePressure:]):
2690         (-[TestWKWebView mouseUpAtPoint:]):
2691         (-[TestWKWebView mouseMoveToPoint:withFlags:]):
2692         (-[TestWKWebView sendClicksAtPoint:numberOfClicks:]):
2693         (-[TestWKWebView mouseEnterAtPoint:]):
2694         (-[TestWKWebView mouseExitAtPoint:]):
2695         (-[TestWKWebView mouseDragToPoint:]):
2696         (-[TestWKWebView _mouseEventWithType:atLocation:]):
2697         (-[TestWKWebView _mouseEventWithType:atLocation:flags:timestamp:clickCount:]):
2698
2699         Add TestWKWebView helpers to send MouseMove, MouseEnter and MouseDrag NSEvents to the web view. Additionally,
2700         rename parameter names to these helpers to make it more obvious that these locations are all in NSWindow
2701         coordinates.
2702
2703         (-[TestWKWebView typeCharacter:]):
2704
2705         Drive-by style fix: put this opening brace on the beginning of the next line.
2706
2707         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
2708         (-[DragAndDropSimulator initWithWebViewFrame:]):
2709         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
2710         (-[DragAndDropSimulator webView]):
2711
2712         Small iOS DragAndDropSimulator adjustments for new DragAndDropSimulator interfaces.
2713
2714         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
2715         (-[DragAndDropTestWKWebView initWithFrame:configuration:simulator:]):
2716
2717         Introduce a WKWebView subclass for testing drag and drop that overrides `-dragImage:at:offset:…`, and instead
2718         allows DragAndDropSimulator to take over the drag.
2719
2720         (-[DragAndDropTestWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]):
2721
2722         Override this entry point into drag and drop code, and instead call out to the DragAndDropSimulator to
2723         coordinate the drag.
2724
2725         (-[DragAndDropTestWKWebView waitForPendingMouseEvents]):
2726
2727         Helper method to wait for the web process to finish handling all in-flight mouse events.
2728
2729         (defaultExternalDragImage):
2730
2731         Set this image as the default drag image when simulating an incoming drag session from outside of the web view.
2732
2733         (-[DragAndDropSimulator initWithWebViewFrame:]):
2734         (-[DragAndDropSimulator initWithWebViewFrame:configuration:]):
2735         (-[DragAndDropSimulator flipAboutXAxisInHostWindow:]):
2736
2737         Helper method to flip a given point about the X axis of the window.
2738
2739         (-[DragAndDropSimulator locationInViewForCurrentProgress]):
2740
2741         Map a progress value (between 0 and 1) to a drag location.
2742
2743         (-[DragAndDropSimulator initialProgressForMouseDrag]):
2744
2745         Determines the initial progress value when initiation a drag in web content. This is the initial progress
2746         required to ensure that the first mouse drag event exceeds the drag distance hysteresis and causes any drag
2747         (if applicable) to begin.
2748
2749         (-[DragAndDropSimulator runFrom:to:]):
2750         (-[DragAndDropSimulator performDragInWebView:atLocation:withImage:pasteboard:source:]):
2751
2752         Helper to coordinate drag updates in both the cases where we're simulating a drag session entering from outside
2753         of the web view, and in the case where we've initiated a drag from the web view itself.
2754
2755         (-[DragAndDropSimulator webView]):
2756         (-[DragAndDropSimulator setExternalDragPasteboard:]):
2757         (-[DragAndDropSimulator externalDragPasteboard]):
2758
2759         Just like its iOS counterpart (setExternalItemProviders:), setting an external drag pasteboard on macOS puts the
2760         DragAndDropSimulator in a mode that simulates a drag coming in from outside the web view, using the given
2761         pasteboard.
2762
2763         (-[DragAndDropSimulator setExternalDragImage:]):
2764         (-[DragAndDropSimulator externalDragImage]):
2765
2766         May be optionally set when specifying an external drag pasteboard to specify the drag image used. If no external
2767         drag image is specified, falls back to the default image returned by `defaultExternalDragImage()`.
2768
2769         (-[DragAndDropSimulator draggingInfo]):
2770         (-[DragAndDropSimulator willEndDraggingHandler]):
2771         (-[DragAndDropSimulator setWillEndDraggingHandler:]):
2772
2773         Hook to allow tests to run logic right before performing the drop (if the current drag operation is not none) or
2774         ending the drag session without performing a drag operation.
2775
2776         (-[DragAndDropSimulator initWithWebView:]): Deleted.
2777         (-[DragAndDropSimulator dealloc]): Deleted.
2778         (-[DragAndDropSimulator phase]): Deleted.
2779         * TestWebKitAPI/mac/TestDraggingInfo.h: Copied from Tools/TestWebKitAPI/mac/DragAndDropSimulatorMac.mm.
2780         * TestWebKitAPI/mac/TestDraggingInfo.mm: Added.
2781
2782         Mock object conforming to NSDraggingInfo that is passed to WKWebView when invoking -draggingUpdated:,
2783         -draggingEntered: and -draggingExited:.
2784
2785         (-[TestDraggingInfo draggingPasteboard]):
2786         (-[TestDraggingInfo setDraggingPasteboard:]):
2787         (-[TestDraggingInfo draggingSource]):
2788         (-[TestDraggingInfo setDraggingSource:]):
2789         (-[TestDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
2790         (-[TestDraggingInfo draggingDestinationWindow]):
2791         (-[TestDraggingInfo draggedImage]):
2792         (-[TestDraggingInfo setDraggedImage:]):
2793         (-[TestDraggingInfo slideDraggedImageTo:]):
2794         (-[TestDraggingInfo namesOfPromisedFilesDroppedAtDestination:]):
2795         (-[TestDraggingInfo resetSpringLoading]):
2796
2797         Empty method stubs, to be implemented in the future as needed.
2798
2799 2018-08-13  Thomas Denney  <tdenney@apple.com>
2800
2801         Added Thomas Denney to contributors.json.
2802         https://bugs.webkit.org/show_bug.cgi?id=188525
2803
2804         Reviewed by Myles C. Maxfield.
2805
2806         * Scripts/webkitpy/common/config/contributors.json:
2807
2808 2018-08-13  Antti Koivisto  <antti@apple.com>
2809
2810         Meaning of OptionSet::contains is unclear when used with OptionSet argument
2811         https://bugs.webkit.org/show_bug.cgi?id=188501
2812
2813         Reviewed by Anders Carlsson.
2814
2815         * TestWebKitAPI/Tests/WTF/OptionSet.cpp:
2816         (TestWebKitAPI::TEST):
2817
2818 2018-08-13  Commit Queue  <commit-queue@webkit.org>
2819
2820         Unreviewed, rolling out r234747.
2821         https://bugs.webkit.org/show_bug.cgi?id=188524
2822
2823         plugin processes crash on launch (Requested by smfr on
2824         #webkit).
2825
2826         Reverted changeset:
2827
2828         "We should cache the compiled sandbox profile in a data vault"
2829         https://bugs.webkit.org/show_bug.cgi?id=184991
2830         https://trac.webkit.org/changeset/234747
2831
2832 2018-08-13  Wenson Hsieh  <wenson_hsieh@apple.com>
2833
2834         [iOS] Dragging a non-editable text selection into a plain text input inserts HTML markup
2835         https://bugs.webkit.org/show_bug.cgi?id=188485
2836         <rdar://problem/43168784>
2837
2838         Reviewed by Tim Horton.
2839
2840         Add a new API test to verify that dropping selected non-editable rich text into a textarea inserts text as
2841         expected, rather than markup.
2842
2843         It's somewhat interesting to note that this particular use case isn't exercised by any existing tests; the
2844         closest test is DragAndDropTests.ContentEditableToTextarea, which drags a rich text selection from a
2845         contenteditable element to a text area. However, due to logic in `DragController::concludeEditDrag` that handles
2846         drag and drop across editable content differently than drag and drop from non-editable to editable content, the
2847         bug that is fixed here doesn't surface in that existing test.
2848
2849         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2850         * TestWebKitAPI/Tests/WebKitCocoa/selected-text-and-textarea.html: Added.
2851         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
2852         (TestWebKitAPI::TEST):
2853
2854 2018-08-13  Alex Christensen  <achristensen@webkit.org>
2855
2856         Use a 1-byte enum class for TextDirection
2857         https://bugs.webkit.org/show_bug.cgi?id=188350
2858
2859         Reviewed by Simon Fraser.
2860
2861         * TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
2862         (TestWebKitAPI::TEST_F):
2863         * TestWebKitAPI/Tests/WebCore/StringWithDirection.cpp:
2864         (WebCore::operator<<):
2865         (TestWebKitAPI::TEST):
2866         * TestWebKitAPI/Tests/WebKitCocoa/CommandBackForward.mm:
2867         (TEST_F):
2868
2869 2018-08-13  Zalan Bujtas  <zalan@apple.com>
2870
2871         [LFC][Floating] Add basic clearance support
2872         https://bugs.webkit.org/show_bug.cgi?id=188492
2873
2874         Reviewed by Antti Koivisto.
2875
2876         * LayoutReloaded/misc/LFC-passing-tests.txt:
2877
2878 2018-08-12  Zalan Bujtas  <zalan@apple.com>
2879
2880         [LFC] Float prev/next sibling should prevent top/bottom margin collapsing with parent.
2881         https://bugs.webkit.org/show_bug.cgi?id=188487
2882
2883         Reviewed by Antti Koivisto.
2884
2885         * LayoutReloaded/misc/LFC-passing-tests.txt:
2886
2887 2018-08-11  Aakash Jain  <aakash_jain@apple.com>
2888
2889         [ews-build] Separate queues for Builders and Testers - iOS
2890         https://bugs.webkit.org/show_bug.cgi?id=188396
2891
2892         Reviewed by Lucas Forschler.
2893
2894         * BuildSlaveSupport/ews-build/config.json: Splitted iOS queues into builders and testers.
2895         Also added ews121 and ews122 to match with current EWS configuration.
2896         * BuildSlaveSupport/ews-build/factories.py:
2897         (TestsFactory): Base classes for various Test factories.
2898         (TestsFactory.getProduct): Download and extract the archive.
2899
2900 2018-08-10  Daniel Bates  <dabates@apple.com>
2901
2902         webkit-patch setup-git-clone should set Git core editor to commit-log-editor
2903         https://bugs.webkit.org/show_bug.cgi?id=188473
2904
2905         Reviewed by Ryosuke Niwa.
2906
2907         Have "webkit-patch setup-git-clone" set the Git core editor to "perl Tools/Scripts/commit-log-editor --regenerate-log"
2908         so that the Git commit message is generated from the ChangeLog for developers that manually
2909         generate their ChangeLog using prepare-ChangeLog.
2910
2911         * Scripts/webkitpy/tool/commands/setupgitclone.py:
2912         (SetupGitClone.execute):
2913
2914 2018-08-10  Truitt Savell  <tsavell@apple.com>
2915
2916         Unreviewed, rolling out r234749.
2917
2918         Caused all perf tests to fail in Sierra
2919
2920         Reverted changeset:
2921
2922         "[webkitpy][Win] LayoutTests: test names should be Unix style,
2923         separated by slash not backslash"
2924         https://bugs.webkit.org/show_bug.cgi?id=187973
2925         https://trac.webkit.org/changeset/234749
2926
2927 2018-08-10  David Fenton  <david_fenton@apple.com>
2928
2929         Timeouts in TestWebKitAPI.PreferredAudioBufferSize.AudioWithWebAudio and TestWebKitAPI.PreferredAudioBufferSize.WebAudio.
2930         https://bugs.webkit.org/show_bug.cgi?id=188470.
2931
2932         Unreviewed test gardening, disabling the tests.
2933
2934         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
2935         (TEST_F):
2936
2937 2018-08-10  Joseph Pecoraro  <pecoraro@apple.com>
2938
2939         Eliminate remaining instances of "ElCapitan" from LayoutTests / Tools
2940         https://bugs.webkit.org/show_bug.cgi?id=188458
2941
2942         Reviewed by Alex Christensen.
2943
2944         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
2945         (TestExpectationParser):
2946         * TestResultServer/static-dashboards/flakiness_dashboard.js:
2947
2948 2018-08-09  Fujii Hironori  <Hironori.Fujii@sony.com>
2949
2950         [webkitpy][Win] LayoutTests: test names should be Unix style, separated by slash not backslash
2951         https://bugs.webkit.org/show_bug.cgi?id=187973
2952
2953         Reviewed by Alex Christensen.
2954
2955         In LayoutTests, test names have been canonicalized in Unix style
2956         since Bug 63597, for example 'fast/css/001.html'. But, Bug 179219,
2957         Bug 179572, Bug 180660 and Bug 181814 have changed to use
2958         os.path.seq instead of slash if Windows Python is used.
2959
2960         Revert parts of those changes. Change relative_test_filename to
2961         return a slash sperated test name as well as chromium_win.py used
2962         to do.
2963
2964         This change fixes all 41 test-webkitpy failures in WinCairo port.
2965
2966         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
2967         (TestExpectationParser._parse_line): Do not convert a test name by using normpath.
2968         * Scripts/webkitpy/port/base.py:
2969         (Port.normalize_test_name): Use TEST_PATH_SEPARATOR instead of os.path.sep.
2970         (Port.relative_test_filename): Replace self.host.filesystem.sep with self.TEST_PATH_SEPARATOR.
2971         (Port.abspath_for_test): Split test_name with TEST_PATH_SEPARATOR.
2972         * Scripts/webkitpy/port/driver.py:
2973         (Driver): Use '/' instead of os.sep.
2974         * Scripts/webkitpy/port/win.py:
2975         (WinCairoPort): Do not override TEST_PATH_SEPARATOR.
2976
2977 2018-08-09  Thomas Denney  <tdenney@apple.com>
2978
2979         [WHLSL] Add individual test durations to output
2980         https://bugs.webkit.org/show_bug.cgi?id=188448
2981
2982         Reviewed by Myles C. Maxfield.
2983
2984         * WebGPUShadingLanguageRI/Test.js: Add timing output.
2985
2986 2018-08-09  Ben Richards  <benton_richards@apple.com>
2987
2988         We should cache the compiled sandbox profile in a data vault
2989         https://bugs.webkit.org/show_bug.cgi?id=184991
2990
2991         Reviewed by Ryosuke Niwa.
2992
2993         Added trace points for sandbox initialization
2994
2995         * Tracing/SystemTracePoints.plist:
2996
2997 2018-08-09  Jer Noble  <jer.noble@apple.com>
2998
2999         Video playback is using more power
3000         https://bugs.webkit.org/show_bug.cgi?id=188452
3001         <rdar://problem/42298937>
3002
3003         Reviewed by Eric Carlson.
3004
3005         * TestWebKitAPI/Tests/WebKitCocoa/PreferredAudioBufferSize.mm:
3006         (PreferredAudioBufferSize::createView):
3007         (PreferredAudioBufferSize::preferredAudioBufferSize const):
3008         (TEST_F):
3009
3010 2018-08-09  Alex Christensen  <achristensen@webkit.org>
3011
3012         REGRESSION(234640) Loading stalls in environments without SafariSafeBrowsing framework
3013         https://bugs.webkit.org/show_bug.cgi?id=188453
3014         <rdar://problem/43102553>
3015
3016         Reviewed by Chris Dumez
3017
3018         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
3019         (TEST):
3020         (+[NullLookupContext sharedLookupContext]):
3021         (TestWebKitAPI::TEST): Deleted.
3022
3023 2018-08-09  Alex Christensen  <achristensen@webkit.org>
3024
3025         WKURLSchemeHandler crashes when sent errors with sync XHR
3026         https://bugs.webkit.org/show_bug.cgi?id=188358
3027
3028         Reviewed by Chris Dumez.
3029
3030         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
3031         (-[SyncErrorScheme webView:startURLSchemeTask:]):
3032         (-[SyncErrorScheme webView:stopURLSchemeTask:]):
3033         (-[SyncErrorScheme webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
3034
3035 2018-08-09  Per Arne Vollan  <pvollan@apple.com>
3036
3037         REGRESSION(r234652): fast/scrolling/rtl-scrollbars-animation-property.html is failing
3038         https://bugs.webkit.org/show_bug.cgi?id=188397
3039
3040         Reviewed by Tim Horton.
3041
3042         After r234652, [NSScroller preferredScrollerStyle] is called in the UI process, and we need to set the same
3043         user defaults related to scrollbars in the UI process as we do in the WebProcess.
3044
3045         * WebKitTestRunner/mac/main.mm:
3046         (setDefaultsToConsistentValuesForTesting):
3047
3048 2018-08-09  Wenson Hsieh  <wenson_hsieh@apple.com>
3049
3050         [iOS WK2] Rename and refactor DataInteractionTests and DataInteractionSimulator
3051         https://bugs.webkit.org/show_bug.cgi?id=188439
3052
3053         Reviewed by Andy Estes and Megan Gardner.
3054
3055         Refactor DataInteractionSimulator (currently used for drag and drop testing on iOS) so that it exists across
3056         macOS and iOS, and rename it to DragAndDropSimulator. Additionally, rename DataInteractionTests to
3057         DragAndDropTests.
3058
3059         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3060         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
3061         (TestWebKitAPI::TEST):
3062         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: Renamed from Tools/TestWebKitAPI/Tests/ios/DataInteractionTests.mm.
3063         (testIconImage):
3064         (testZIPArchive):
3065         (-[UIItemProvider registerDataRepresentationForTypeIdentifier:withData:]):
3066         (-[TestWKWebView editorContainsImageElement]):
3067         (-[TestWKWebView editorValue]):
3068         (makeCGRectValue):
3069         (checkCGRectIsEqualToCGRectWithLogging):
3070         (checkSelectionRectsWithLogging):
3071         (checkRichTextTypePrecedesPlainTextType):
3072         (checkFirstTypeIsPresentAndSecondTypeIsMissing):
3073         (checkTypeIdentifierIsRegisteredAtIndex):
3074         (checkEstimatedSize):
3075         (checkSuggestedNameAndEstimatedSize):
3076         (checkStringArraysAreEqual):
3077         (checkDragCaretRectIsContainedInRect):
3078         (checkJSONWithLogging):
3079         (testIconImageData):
3080         (runTestWithTemporaryTextFile):
3081         (runTestWithTemporaryFolder):
3082         (TestWebKitAPI::TEST):
3083         (TestWebKitAPI::setUpTestWebViewForDataTransferItems):
3084         (TestWebKitAPI::testDragAndDropOntoTargetElements):
3085         (TestWebKitAPI::testIconImageData):
3086         * TestWebKitAPI/cocoa/DragAndDropSimulator.h: Renamed from Tools/TestWebKitAPI/ios/DataInteractionSimulator.h.
3087         * TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm: Renamed from Tools/TestWebKitAPI/ios/DataInteractionSimulator.mm.
3088         (-[WKWebView dropInteractionDelegate]):
3089         (-[WKWebView dragInteractionDelegate]):
3090         (-[WKWebView dropInteraction]):
3091         (-[WKWebView dragInteraction]):
3092         (-[MockDragDropSession initWithItems:location:window:allowMove:]):
3093         (-[MockDragDropSession allowsMoveOperation]):
3094         (-[MockDragDropSession isRestrictedToDraggingApplication]):
3095         (-[MockDragDropSession hasItemsConformingToTypeIdentifiers:]):
3096         (-[MockDragDropSession canLoadObjectsOfClass:]):
3097         (-[MockDragDropSession canLoadObjectsOfClasses:]):
3098         (-[MockDragDropSession items]):
3099         (-[MockDragDropSession setItems:]):
3100         (-[MockDragDropSession addItems:]):
3101         (-[MockDragDropSession locationInView:]):
3102         (-[MockDropSession initWithProviders:location:window:allowMove:]):
3103         (-[MockDropSession isLocal]):
3104         (-[MockDropSession progress]):
3105         (-[MockDropSession setProgressIndicatorStyle:]):
3106         (-[MockDropSession progressIndicatorStyle]):
3107         (-[MockDropSession operationMask]):
3108         (-[MockDropSession localDragSession]):
3109         (-[MockDropSession hasItemsConformingToTypeIdentifier:]):
3110         (-[MockDropSession canCreateItemsOfClass:]):
3111         (-[MockDropSession loadObjectsOfClass:completion:]):
3112         (-[MockDragSession initWithWindow:allowMove:]):
3113         (-[MockDragSession localOperationMask]):
3114         (-[MockDragSession externalOperationMask]):
3115         (-[MockDragSession session]):
3116         (-[MockDragSession localContext]):
3117         (-[MockDragSession setLocalContext:]):
3118         (dragAndDropEventNames):
3119         (-[DragAndDropSimulatorApplication _cancelAllTouches]):
3120         (-[DragAndDropSimulator initWithWebView:]):
3121         (-[DragAndDropSimulator dealloc]):
3122         (-[DragAndDropSimulator _resetSimulatedState]):
3123         (-[DragAndDropSimulator observedEventNames]):
3124         (-[DragAndDropSimulator simulateAllTouchesCanceled:]):
3125         (-[DragAndDropSimulator runFrom:to:]):
3126         (-[DragAndDropSimulator runFrom:to:additionalItemRequestLocations:]):
3127         (-[DragAndDropSimulator finalSelectionRects]):
3128         (-[DragAndDropSimulator _concludeDropAndPerformOperationIfNecessary]):
3129         (-[DragAndDropSimulator _enqueuePendingAdditionalItemRequestLocations]):
3130         (-[DragAndDropSimulator _sendQueuedAdditionalItemRequest]):
3131         (-[DragAndDropSimulator _advanceProgress]):
3132         (-[DragAndDropSimulator _currentLocation]):
3133         (-[DragAndDropSimulator _scheduleAdvanceProgress]):
3134         (-[DragAndDropSimulator sourceItemProviders]):
3135         (-[DragAndDropSimulator externalItemProviders]):
3136         (-[DragAndDropSimulator setExternalItemProviders:]):
3137         (-[DragAndDropSimulator phase]):
3138         (-[DragAndDropSimulator liftPreviews]):
3139         (-[DragAndDropSimulator lastKnownDragCaretRect]):
3140         (-[DragAndDropSimulator waitForInputSession]):
3141         (-[DragAndDropSimulator insertedAttachments]):
3142         (-[DragAndDropSimulator removedAttachments]):
3143         (-[DragAndDropSimulator endDataTransfer]):
3144         (-[DragAndDropSimulator _webView:dataInteractionOperationWasHandled:forSession:itemProviders:]):
3145         (-[DragAndDropSimulator _webView:willUpdateDataInteractionOperationToOperation:forSession:]):
3146         (-[DragAndDropSimulator _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:]):
3147         (-[DragAndDropSimulator _webView:showCustomSheetForElement:]):
3148         (-[DragAndDropSimulator _webView:willPerformDropWithSession:]):
3149         (-[DragAndDropSimulator _webView:didInsertAttachment:]):
3150         (-[DragAndDropSimulator _webView:didRemoveAttachment:]):
3151         (-[DragAndDropSimulator _webView:focusShouldStartInputSession:]):
3152         (-[DragAndDropSimulator _webView:didStartInputSession:]):
3153         * TestWebKitAPI/ios/UIKitSPI.h:
3154         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm: Added.
3155         (-[DragAndDropSimulator initWithWebView:]):
3156         (-[DragAndDropSimulator dealloc]):
3157         (-[DragAndDropSimulator runFrom:to:]):
3158         (-[DragAndDropSimulator insertedAttachments]):
3159         (-[DragAndDropSimulator removedAttachments]):
3160
3161 2018-08-09  Sihui Liu  <sihui_liu@apple.com>
3162
3163         REGRESSION (r232083): WKWebView loses first-party cookies on iOS
3164         https://bugs.webkit.org/show_bug.cgi?id=188443
3165         <rdar://problem/42991584>
3166
3167         Reviewed by Chris Dumez.
3168
3169         Skip WebKit.WKHTTPCookieStoreWithoutProcessPool on iOS.
3170
3171         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
3172
3173 2018-08-09  Ross Kirsling  <ross.kirsling@sony.com>
3174
3175         Unreviewed follow-up fix for r234720.
3176
3177         * Scripts/webkitpy/bindings/main.py:
3178         (BindingsTests.close_and_remove):
3179         (BindingsTests.main):
3180         Return to the original approach, since this seems to be the simplest cross-platform solution.
3181
3182 2018-08-09  Ali Juma  <ajuma@chromium.org>
3183
3184         Import WPTs for IntersectionObserver
3185         https://bugs.webkit.org/show_bug.cgi?id=188416
3186
3187         Reviewed by Simon Fraser.
3188
3189         Enable IntersectionObserver in DumpRenderTree. 
3190
3191         * DumpRenderTree/mac/DumpRenderTree.mm:
3192         (enableExperimentalFeatures):
3193         (setWebPreferencesForTestOptions):
3194         * WebKitTestRunner/TestController.cpp:
3195         (WTR::TestController::resetPreferencesToConsistentValues):
3196
3197 2018-08-08  Ross Kirsling  <ross.kirsling@sony.com>
3198
3199         run-bindings-tests is not Win32-compatible
3200         https://bugs.webkit.org/show_bug.cgi?id=188424
3201
3202         Reviewed by Fujii Hironori.
3203
3204         * Scripts/webkitpy/bindings/main.py:
3205         (BindingsTests.main):
3206         Stop leaking file descriptors.
3207         (See https://www.logilab.org/blogentry/17873 for details, though the solution here is even simpler.)
3208
3209 2018-08-08  Alex Christensen  <achristensen@webkit.org>
3210
3211         Fix possible null dereference in WebBackForwardList::restoreFromState
3212         https://bugs.webkit.org/show_bug.cgi?id=188418
3213         <rdar://problem/42531726>
3214
3215         Reviewed by Chris Dumez.
3216
3217         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
3218         (TestWebKitAPI::TEST):
3219
3220 2018-08-08  Ross Kirsling  <ross.kirsling@sony.com>
3221
3222         run-builtins-generator-tests does not correctly handle CRLFs from stderr
3223         https://bugs.webkit.org/show_bug.cgi?id=188392
3224
3225         Reviewed by Fujii Hironori.
3226
3227         Background:
3228         file.write converts LF to os.linesep, so if the input string contains CRLF, we end up writing CRCRLF to the file.
3229
3230         * Scripts/webkitpy/common/system/executive.py:
3231         (Executive.run_command):
3232         Normalize CRLF to LF in decoded stdout/stderr data, so that we don't return consumers a platform-specific string.
3233
3234 2018-08-08  Aditya Keerthi  <akeerthi@apple.com>
3235
3236         Unreviewed, add myself to committers list.
3237
3238         * Scripts/webkitpy/common/config/contributors.json:
3239
3240 2018-08-08  Commit Queue  <commit-queue@webkit.org>
3241
3242         Unreviewed, rolling out r234314, r234320, and r234321.
3243         https://bugs.webkit.org/show_bug.cgi?id=188414
3244
3245         Caused email sign in issue (Requested by ryanhaddad on
3246         #webkit).
3247
3248         Reverted changesets:
3249
3250         "Remove unused WKNavigationDelegatePrivate
3251         decidePolicyForNavigationAction SPI"
3252         https://bugs.webkit.org/show_bug.cgi?id=188077
3253         https://trac.webkit.org/changeset/234314
3254
3255         "Fix API tests after r234314"
3256         https://bugs.webkit.org/show_bug.cgi?id=188077
3257         https://trac.webkit.org/changeset/234320
3258
3259         "Fix API tests after r234314"
3260         https://bugs.webkit.org/show_bug.cgi?id=188077
3261         https://trac.webkit.org/changeset/234321
3262
3263 2018-08-08  Wenson Hsieh  <wenson_hsieh@apple.com>
3264
3265         [iOS] fast/events/ios/contenteditable-autocapitalize.html is a flaky failure
3266         https://bugs.webkit.org/show_bug.cgi?id=188401
3267         <rdar://problem/32542300>
3268
3269         Reviewed by Ryosuke Niwa.
3270
3271         When run individually, fast/events/ios/contenteditable-autocapitalize.html passes consistently; however, when
3272         run right after another layout test that finishes while the keyboard is shown, this test sometimes fails. This
3273         is because each of the three steps of this test ends when UIScriptController's `didHideKeyboardCallback` is
3274         invoked, and if the keyboard only begins to dismiss after the previous test completes, we have a race. When the
3275         keyboard finishes dismissing after the UI script is evaluated, it will trigger UI script completion early and
3276         skip over one of the steps in the layout test, resulting in a text diff failure.
3277
3278         To fix this, add a mechanism in WebKitTestRunner to wait until the keyboard is dismissed (with a short timeout)
3279         as a part of resetting test controller state, before moving on to the next layout test.
3280
3281         * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
3282         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
3283         (-[TestRunnerWKWebView didStartFormControlInteraction]):
3284         (-[TestRunnerWKWebView didEndFormControlInteraction]):
3285
3286         Use these hooks to keep track of whether the previous test is presenting any form input UI.
3287
3288         (-[TestRunnerWKWebView isInteractingWithFormControl]):
3289         * WebKitTestRunner/ios/TestControllerIOS.mm:
3290         (WTR::handleKeyboardWillHideNotification):
3291         (WTR::handleKeyboardDidHideNotification):
3292         (WTR::TestController::platformInitialize):
3293         (WTR::TestController::platformDestroy):
3294
3295         Register during initialization (and unregister during teardown) for keyboard hiding notifications, to keep track
3296         of when the keyboard dismissal animation ends.
3297
3298         (WTR::TestController::platformResetStateToConsistentValues):
3299
3300         Make a couple of tweaks here: (1) if form input UI is being shown, tell the web view to resign first responder,
3301         which causes the field to lose focus. (2) If necessary, wait for the current keyboard dismissal animation to
3302         finish. This includes any keyboard dismissal animations triggered as a result of step (1).
3303
3304 2018-08-05  Darin Adler  <darin@apple.com>
3305
3306         [Cocoa] More tweaks and refactoring to prepare for ARC
3307         https://bugs.webkit.org/show_bug.cgi?id=188245
3308
3309         Reviewed by Dan Bernstein.
3310
3311         * DumpRenderTree/TestNetscapePlugIn/PluginObject.h: Use const void* for a
3312         CFTypeRef instead of void*.
3313
3314         * DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm:
3315         (createCoreAnimationLayer): Use CFBridgingRetain.
3316
3317         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
3318         (AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use bridging casts.
3319         (AccessibilityUIElement::textMarkerRangeForElement): Ditto.
3320         (AccessibilityUIElement::selectedTextMarkerRange): Ditto.
3321         (AccessibilityUIElement::textMarkerRangeLength): Ditto.
3322         (AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute): Ditto.
3323         (AccessibilityUIElement::indexForTextMarker): Ditto.
3324         (AccessibilityUIElement::textMarkerForIndex): Ditto.
3325         (AccessibilityUIElement::isTextMarkerValid): Ditto.
3326         (AccessibilityUIElement::previousTextMarker): Ditto.
3327         (AccessibilityUIElement::nextTextMarker): Ditto.
3328         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
3329         (createJSStringRef): Ditto.
3330         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
3331         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
3332         (AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
3333         (AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
3334         (AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
3335         (AccessibilityUIElement::endTextMarkerForBounds): Ditto.
3336         (AccessibilityUIElement::startTextMarkerForBounds): Ditto.
3337         (AccessibilityUIElement::textMarkerForPoint): Ditto.
3338         (AccessibilityUIElement::accessibilityElementForTextMarker): Ditto.
3339         (AccessibilityUIElement::startTextMarker): Ditto.
3340         (AccessibilityUIElement::endTextMarker): Ditto.
3341         (AccessibilityUIElement::setSelectedVisibleTextRange): Ditto.
3342         (AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker): Ditto.
3343         (AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker): Ditto.
3344         (AccessibilityUIElement::previousWordStartTextMarkerForTextMarker): Ditto.
3345         (AccessibilityUIElement::nextWordEndTextMarkerForTextMarker): Ditto.
3346         (AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker): Ditto.
3347         (AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker): Ditto.
3348         (AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker): Ditto.
3349         (AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker): Ditto.
3350         (AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker): Ditto.
3351         (AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker): Ditto.
3352
3353         * DumpRenderTree/mac/DumpRenderTree.mm:
3354         (resetWebPreferencesToConsistentValues): Use bridging cast.
3355         (dumpFramesAsText): Ditto.
3356         (dumpBackForwardListForAllWindows): Use a modern for loop instead of
3357         CFArray functions to iterate the array.
3358         (dump): Use bridging cast.
3359         (runTest): Ditto.
3360
3361         * DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
3362         (+[LocalPasteboard alloc]): Use class_createInstance instead of NSAllocateObject.
3363         (toUTI): Return a RetainPtr<CFStringRef>.
3364         (-[LocalPasteboard types]): Use the above and bridging casts.
3365         (-[LocalPasteboard availableTypeFromArray:]): Ditto.
3366         (-[LocalPasteboard setData:forType:]): Ditto.
3367         (-[LocalPasteboard dataForType:]): Ditto.
3368         (-[LocalPasteboard setPropertyList:forType:]): Use NSPropertyListSerialization
3369         instead of CFPropertyList.
3370         (-[LocalPasteboard setString:forType:]): Use NSString method instead of
3371         CFStringCreateExternalRepresentation.
3372
3373         * DumpRenderTree/mac/MockGeolocationProvider.h: Put CFTypeRef in a HashSet
3374         instead of an Objective-C object pointer type.
3375         * DumpRenderTree/mac/MockGeolocationProvider.mm:
3376         (-[MockGeolocationProvider registerWebView:]): Update for above.
3377         (-[MockGeolocationProvider unregisterWebView:]): Ditto.
3378         (-[MockGeolocationProvider timerFired]): Ditto.
3379
3380         * DumpRenderTree/mac/MockWebNotificationProvider.h: Use CFTypeRef in
3381         HashMap and HashSet instead of an Objective-C object pointer type.
3382         * DumpRenderTree/mac/MockWebNotificationProvider.mm:
3383         (-[MockWebNotificationProvider registerWebView:]): Update for above.
3384         (-[MockWebNotificationProvider unregisterWebView:]): Ditto.
3385         (-[MockWebNotificationProvider showNotification:fromWebView:]): Ditto.
3386         (-[MockWebNotificationProvider cancelNotification:]): Ditto.
3387         (-[MockWebNotificationProvider simulateWebNotificationClick:]): Ditto.
3388
3389         * DumpRenderTree/mac/ObjCPlugin.m:
3390         (-[JSObjC retainObject:]): Use CFRetain instead of -[NSObject retain].
3391
3392         * DumpRenderTree/mac/TestRunnerMac.mm:
3393         (TestRunner::addDisallowedURL): Use bridging cast.
3394         (TestRunner::applicationCacheDiskUsageForOrigin): Ditto.
3395         (TestRunner::clearApplicationCacheForOrigin): Ditto.
3396         (originsArrayToJS): Ditto.
3397         (TestRunner::copyDecodedHostName): Ditto.
3398         (TestRunner::copyEncodedHostName): Ditto.
3399         (TestRunner::queueLoad): Ditto.
3400         (TestRunner::setDomainRelaxationForbiddenForURLScheme): Ditto.
3401         (TestRunner::setMockGeolocationPositionUnavailableError): Ditto.
3402         (TestRunner::setUserStyleSheetLocation): Ditto.
3403         (TestRunner::setValueForUser): Ditto.
3404         (TestRunner::overridePreference): Ditto.
3405         (TestRunner::execCommand): Ditto.
3406         (TestRunner::findString): Ditto.
3407         (TestRunner::isCommandEnabled): Ditto.
3408         (TestRunner::addOriginAccessWhitelistEntry): Ditto.
3409         (TestRunner::removeOriginAccessWhitelistEntry): Ditto.
3410         (TestRunner::addUserScript): Ditto.
3411         (TestRunner::addUserStyleSheet): Ditto.
3412         (TestRunner::evaluateInWebInspector): Ditto.
3413         (TestRunner::evaluateScriptInIsolatedWorld): Ditto.
3414         (TestRunner::authenticateSession): Ditto.
3415         (TestRunner::grantWebNotificationPermission): Ditto.
3416         (TestRunner::denyWebNotificationPermission): Ditto.
3417         * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
3418         (-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Ditto.
3419
3420         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
3421         (WTR::AccessibilityUIElement::lineTextMarkerRangeForTextMarker): Use bridging cast.
3422         (WTR::AccessibilityUIElement::textMarkerRangeForElement): Ditto.
3423         (WTR::AccessibilityUIElement::previousTextMarker): Ditto.
3424         (WTR::AccessibilityUIElement::nextTextMarker): Ditto.
3425         (WTR::AccessibilityUIElement::textMarkerRangeForMarkers): Ditto.
3426         (WTR::AccessibilityUIElement::selectedTextMarkerRange): Ditto.
3427         (WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange): Ditto.
3428         (WTR::AccessibilityUIElement::endTextMarkerForTextMarkerRange): Ditto.
3429         (WTR::AccessibilityUIElement::endTextMarkerForBounds): Ditto.
3430         (WTR::AccessibilityUIElement::startTextMarkerForBounds): Ditto.
3431         (WTR::AccessibilityUIElement::textMarkerForPoint): Ditto.
3432         (WTR::AccessibilityUIElement::textMarkerForIndex): Ditto.
3433         (WTR::AccessibilityUIElement::startTextMarker): Ditto.
3434         (WTR::AccessibilityUIElement::endTextMarker): Ditto.
3435         (WTR::AccessibilityUIElement::leftWordTextMarkerRangeForTextMarker): Ditto.
3436         (WTR::AccessibilityUIElement::rightWordTextMarkerRangeForTextMarker): Ditto.
3437         (WTR::AccessibilityUIElement::previousWordStartTextMarkerForTextMarker): Ditto.
3438         (WTR::AccessibilityUIElement::nextWordEndTextMarkerForTextMarker): Ditto.
3439         (WTR::AccessibilityUIElement::paragraphTextMarkerRangeForTextMarker): Ditto.
3440         (WTR::AccessibilityUIElement::previousParagraphStartTextMarkerForTextMarker): Ditto.
3441         (WTR::AccessibilityUIElement::nextParagraphEndTextMarkerForTextMarker): Ditto.
3442         (WTR::AccessibilityUIElement::sentenceTextMarkerRangeForTextMarker): Ditto.
3443         (WTR::AccessibilityUIElement::previousSentenceStartTextMarkerForTextMarker): Ditto.
3444         (WTR::AccessibilityUIElement::nextSentenceEndTextMarkerForTextMarker): Ditto.
3445
3446         * WebKitTestRunner/PlatformMac.cmake: Added WebKitTestRunnerWindow.h and .mm files.
3447         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Ditto.
3448
3449         * WebKitTestRunner/mac/EventSenderProxy.mm: Add include of WebKitTestRunnerWindow.h
3450         so we can use the type and know it inherits from NSWindow.
3451
3452         * WebKitTestRunner/mac/PlatformWebViewMac.mm: Add include of WebKitTestRunnerWindow.h
3453         so we can use the type and know it inherits from NSWindow. Moved WebKitTestRunnerWindow
3454         class into a separate file.
3455         (WTR::PlatformWebView::keyWindow): Call +[WebKitTestRunnerWindow _WTR_keyWindow]
3456         instead of have a second copy of the implementation.
3457
3458         * WebKitTestRunner/mac/WebKitTestRunnerEvent.mm: Add include of WebKitTestRunnerWindow.h
3459         so we can use the type and know it inherits from NSWindow. Also removed "using namespace".
3460         (+[WebKitTestRunnerEvent mouseLocation]): Updated for above.
3461
3462         * WebKitTestRunner/mac/WebKitTestRunnerPasteboard.mm:
3463         (+[LocalPasteboard alloc]): Use class_createInstance instead of NSAllocateObject.
3464         (-[LocalPasteboard availableTypeFromArray:]): Use modern for loop.
3465         (-[LocalPasteboard setData:forType:]): Reordered method to be a tiny bit more efficient.
3466         (-[LocalPasteboard setPropertyList:forType:]): Use NSPropertyListSerialization
3467         instead of CFPropertyList.
3468         (-[LocalPasteboard setString:forType:]): Use NSString method instead of
3469         CFStringCreateExternalRepresentation.
3470
3471         * WebKitTestRunner/mac/WebKitTestRunnerWindow.h: Moved declaration of
3472         WebKitTestRunnerWindow here so it can be included by files that need to know
3473         what the type is and that it inherits from NSWindow.
3474
3475         * WebKitTestRunner/mac/WebKitTestRunnerWindow.mm: Added. Moved implementation here.
3476         (+[WebKitTestRunnerWindow _WTR_keyWindow]): Use modern for loop instead of the old,
3477         messier implementation.
3478
3479 2018-08-07  Alex Christensen  <achristensen@webkit.org>
3480
3481         Add a test for using SafeBrowsing
3482         https://bugs.webkit.org/show_bug.cgi?id=188290
3483
3484         Reviewed by Chris Dumez.
3485
3486         Swizzle out SSBLookupContext to write tests for how WebKit responds when it responds in different ways.
3487         We don't do anything with its results in WebKit yet, but when we do I'll add the expected behavior to this test.
3488
3489         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3490         * TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm: Added.
3491         (-[SafeBrowsingDelegate webView:didFinishNavigation:]):
3492         (TestWebKitAPI::TEST):
3493
3494 2018-08-07  Lucas Forschler  <lforschler@apple.com>
3495
3496         If there's a Radar in the ChangeLog, webkit-patch upload/create-bug should put the radar in the bug and set InRadar
3497         https://bugs.webkit.org/show_bug.cgi?id=188235
3498
3499         Reviewed by Daniel Bates, Kocsen Chung, and Aakash Jain.
3500
3501         * Scripts/webkitpy/common/checkout/changelog.py: 
3502         (ChangeLogEntry): Teach the ChangeLog tools how to parse a radar_id
3503         * Scripts/webkitpy/common/checkout/changelog_unittest.py: Test out the new _parse_radar_id functionality
3504         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
3505         (Bugzilla.add_keyword_to_bug): Add logic to add keywords using the changeform
3506         * Scripts/webkitpy/tool/commands/upload.py:
3507         (Upload): Teach the upload step how to add radar information when creating a new bug.
3508         * Scripts/webkitpy/tool/steps/__init__.py:
3509         * Scripts/webkitpy/tool/steps/addradar.py: Added.
3510         (AddRadar):
3511         (AddRadar.run): Contains the logic to add the radar information to bugzilla.
3512         * Scripts/webkitpy/tool/steps/createbug.py:
3513         (CreateBug.run): set a "created_new_bug" state when creating a new bugzilla bug.
3514
3515 2018-08-07  Wenson Hsieh  <wenson_hsieh@apple.com>
3516
3517         Post-review feedback after r234614.
3518         https://bugs.webkit.org/show_bug.cgi?id=188322
3519         <rdar://problem/42455270>
3520
3521         Reviewed by Sam Weinig.
3522
3523         Use std::round instead of roundl — there's no reason to go from double to long double precision when rounding.
3524
3525         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
3526         (rounded):
3527
3528 2018-08-07  Don Olmstead  <don.olmstead@sony.com>
3529
3530         [MiniBrowser][Win] Allow selection of recent user agents
3531         https://bugs.webkit.org/show_bug.cgi?id=188371
3532
3533         Reviewed by Fujii Hironori.
3534
3535         Updates the user agent spoofing strings to the latest released
3536         versions and adds Microsoft Edge's user agent.
3537
3538         Moves the menu item selection to the common base class, BrowserWindow
3539         to support user agent spoofing in a WebKitLegacyBrowserWindow and
3540         WebKitBrowserWindow.
3541
3542         * MiniBrowser/win/BrowserWindow.cpp: Added.
3543         (BrowserWindow::setUserAgent):
3544         * MiniBrowser/win/BrowserWindow.h:
3545         * MiniBrowser/win/CMakeLists.txt:
3546         * MiniBrowser/win/MainWindow.cpp:
3547         (MainWindow::toggleMenuItem):
3548         * MiniBrowser/win/MiniBrowserLib.rc:
3549         * MiniBrowser/win/MiniBrowserLibResource.h:
3550         * MiniBrowser/win/WebKitBrowserWindow.cpp:
3551         * MiniBrowser/win/WebKitBrowserWindow.h:
3552         * MiniBrowser/win/WebKitLegacyBrowserWindow.cpp:
3553         (WebKitLegacyBrowserWindow::setUserAgent):
3554         * MiniBrowser/win/WebKitLegacyBrowserWindow.h:
3555
3556 2018-08-07  Yusuke Suzuki  <utatane.tea@gmail.com>
3557
3558         Unreviewed, add a new address to my configuration
3559
3560         * Scripts/webkitpy/common/config/contributors.json:
3561
3562 2018-08-06  David Quesada  <david_quesada@apple.com>
3563
3564         webkitdirs.pm should default to iPhone SE for 64-bit testing
3565         https://bugs.webkit.org/show_bug.cgi?id=188361
3566
3567         Reviewed by Daniel Bates.
3568
3569         Use iPhone SE as the default iOS Simulator device type. This corresponds to the change to webkitpy in r234467.
3570
3571         * Scripts/webkitdirs.pm:
3572         (findOrCreateSimulatorForIOSDevice):
3573         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
3574         (parse_args):
3575             Update the help text for --device-type to reflect the new default device.
3576
3577 2018-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
3578
3579         [iOS] Caret disappears after resigning and becoming first responder if active focus state is retained
3580         https://bugs.webkit.org/show_bug.cgi?id=188322
3581         <rdar://problem/42455270>
3582
3583         Reviewed by Tim Horton.
3584
3585         Fixes an API test added in r234600, which had incorrect test expectations — namely, the width of the caret rect
3586         was not in content view coordinates, unlike the x, y, and height.
3587
3588         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
3589         (rounded):
3590         (-[TestWKWebView waitForCaretViewFrameToBecome:]):
3591         (-[TestWKWebView waitForSelectionViewRectsToBecome:]):
3592         (TestWebKitAPI::TEST):
3593
3594 2018-08-06  Ryan Haddad  <ryanhaddad@apple.com>
3595
3596         Unreviewed, rolling out r234569.
3597
3598         Breaks internal builds.
3599
3600         Reverted changeset:
3601
3602         "We should cache the compiled sandbox profile in a data vault"
3603         https://bugs.webkit.org/show_bug.cgi?id=184991
3604         https://trac.webkit.org/changeset/234569
3605
3606 2018-08-06  Fujii Hironori  <Hironori.Fujii@sony.com>
3607
3608         [Win][DLLLauncher] Remove --highDPI switch
3609         https://bugs.webkit.org/show_bug.cgi?id=188255
3610
3611         Reviewed by Yusuke Suzuki.
3612
3613         Bug 149417 has added `--highDPI` switch to make MiniBrowser DPI
3614         aware. But, Bug 158733 has made MiniBrowser always DPI aware. It
3615         became useless since the change. Remove the switch.
3616
3617         This change fixes the issue all dump render tree tests are failing
3618         in WinCairo port if high DPI display is connected.
3619
3620         * MiniBrowser/win/Common.cpp:
3621         (parseCommandLine): Removed `--highDPI` switch.
3622         * win/DLLLauncher/DLLLauncherMain.cpp:
3623         (wWinMain): Do not call SetProcessDPIAware.
3624         (shouldUseHighDPI): Deleted.
3625
3626 2018-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
3627
3628         [iOS] Tests that try to interact with the QuickType bar time out on iOS 11+
3629         https://bugs.webkit.org/show_bug.cgi?id=188335
3630         <rdar://problem/32542437> and <rdar://problem/32542433>
3631
3632         Reviewed by Tim Horton.
3633
3634         Remove a UIScriptController helper method that attempted to wait for QuickType buttons to appear, and then send
3635         touch events to the buttons. These were only used for the two tests which this patch refactors. See the
3636         LayoutTests ChangeLog for more detail.
3637
3638         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3639         (WTR::UIScriptController::selectTextCandidateAtIndex): Deleted.
3640         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3641         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3642         (WTR::UIScriptController::selectTextCandidateAtIndex): Deleted.
3643         (WTR::UIScriptController::waitForTextPredictionsViewAndSelectCandidateAtIndex): Deleted.
3644         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3645         * TestRunnerShared/spi/UIKitTestSPI.h:
3646
3647         Remove an internal class declaration that is now unnecessary.
3648
3649         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3650         (WTR::UIScriptController::selectTextCandidateAtIndex): Deleted.
3651         (WTR::UIScriptController::waitForTextPredictionsViewAndSelectCandidateAtIndex): Deleted.
3652
3653 2018-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
3654
3655         [iOS] Caret disappears after resigning and becoming first responder if active focus state is retained
3656         https://bugs.webkit.org/show_bug.cgi?id=188322
3657         <rdar://problem/42455270>
3658
3659         Reviewed by Tim Horton.
3660
3661         Adds plumbing in UIScriptController to grab the start and end selection handle rects for use in the new layout
3662         test. Also adds new API tests to verify that when a web view resigns first responder, both caret and range
3663         selection views are hidden, and when first responder status is restored, both caret and range selection views
3664         are made visible again.
3665
3666         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
3667         (WTR::UIScriptController::selectionStartGrabberViewRect const):
3668         (WTR::UIScriptController::selectionEndGrabberViewRect const):
3669         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
3670         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
3671         (WTR::UIScriptController::selectionStartGrabberViewRect const):
3672         (WTR::UIScriptController::selectionEndGrabberViewRect const):
3673         * TestRunnerShared/UIScriptContext/UIScriptController.h:
3674         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
3675         (-[TestWKWebView waitForCaretViewFrameToBecome:]):
3676         (-[TestWKWebView waitForSelectionViewRectsToBecome:]):
3677         (webViewWithAutofocusedInput):
3678
3679         Pull out some common logic for creating a web view that allows programmatic focus to present the keyboard, and
3680         immediately loading a web page with an autofocusing text field.
3681
3682         (TestWebKitAPI::TEST):
3683         * TestWebKitAPI/cocoa/TestWKWebView.h:
3684         * TestWebKitAPI/cocoa/TestWKWebView.mm:
3685         (-[TestWKWebView caretViewRectInContentCoordinates]):
3686         (-[TestWKWebView selectionViewRectsInContentCoordinates]):
3687         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
3688         (WTR::UIScriptController::selectionStartGrabberViewRect const):
3689         (WTR::UIScriptController::selectionEndGrabberViewRect const):
3690
3691 2018-08-06  Wenson Hsieh  <wenson_hsieh@apple.com>
3692
3693         [iOS] Layout tests that send HID events cause WebKitTestRunner to crash on recent SDKs
3694         https://bugs.webkit.org/show_bug.cgi?id=188334
3695         <rdar://problem/40630074>
3696
3697         Reviewed by Tim Horton.
3698
3699         To mark the end of previously dispatched IOHID events, HIDEventGenerator currently sends a vendor-defined event
3700         and stores the completion callback ID for the previously dispatched events as vendor-defined data. When this
3701         vendor-defined marker event is handled by the application, we then read the callback ID back from the event, map
3702         it to a completion block, and invoke the completion block to signal that the previous HID event has been
3703         processed.
3704
3705         This callback ID is an unsigned, so we tell IOKit that we need `sizeof(unsigned)` (4 bytes) to store it. On
3706         shipping software, IOKit clamps this to a minimum of 8 bytes, i.e. `sizeof(CFIndex)`. When we later call
3707         IOHIDEventGetIntegerValue to read the value of our vendor-defined data as a CFIndex, we get our expected
3708         callback ID because the buffer was clamped to 8 bytes.
3709
3710         However, on recent iOS SDKs that contain the fix for <rdar://problem/20082284>, IOKit no longer clamps the size
3711         of the vendor-defined data buffer to 8 bytes. This means that when we try to use IOHIDEventGetIntegerValue to
3712         read our callback ID back, we end up getting a CFIndex where the lower 4 bytes are the callback ID we wrote, and
3713         the upper 4 bytes are garbage. In the case where any of these upper 4 bytes are non-zero, we fail to map the
3714         callback ID to a completion handler, and so we never finish dispatching the HID event, causing an exception to
3715         be thrown.
3716
3717         To fix this, we adjust callback ID to be a CFIndex, which matches IOHIDEventGetIntegerValue's return type.
3718
3719         * WebKitTestRunner/ios/HIDEventGenerator.mm:
3720         (+[HIDEventGenerator nextEventCallbackID]):
3721         (-[HIDEventGenerator _sendMarkerHIDEventWithCompletionBlock:]):
3722
3723         Also refactor a bit of `-_sendMarkerHIDEventWithCompletionBlock:` by using auto and move semantics.
3724
3725 2018-08-03  Ben Richards  <benton_richards@apple.com>
3726
3727         We should cache the compiled sandbox profile in a data vault
3728         https://bugs.webkit.org/show_bug.cgi?id=184991
3729
3730         Reviewed by Ryosuke Niwa.
3731
3732         Added trace points for sandbox initialization
3733
3734         * Tracing/SystemTracePoints.plist:
3735
3736 2018-08-03  David Fenton  <david_fenton@apple.com>
3737
3738         Unreviewed, rolling out r234517.
3739
3740         Caused API test failures on iOS
3741
3742         Reverted changeset:
3743
3744         "[Cocoa] setCookie API fails to set session cookies for
3745         defaultDataStore if processPool created but not used"
3746         https://bugs.webkit.org/show_bug.cgi?id=188209
3747         https://trac.webkit.org/changeset/234517
3748
3749 2018-08-03  Ben Richards  <benton_richards@apple.com>
3750
3751         Add configuration for automatic process pre-warming
3752         https://bugs.webkit.org/show_bug.cgi?id=187108
3753
3754         Reviewed by Ryosuke Niwa.
3755
3756         Added new test case for setting maximum prewarmed process count and updated test case for process swap on navigation to set the maximum prewarmed process count to be 1 where relevant.
3757
3758         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3759         * TestWebKitAPI/Tests/WebKitCocoa/InitialWarmedProcessUsed.mm:
3760         (TEST):
3761         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3762         * TestWebKitAPI/Tests/WebKitCocoa/SetMaximumPrewarmedProcessCount.mm:
3763         (TEST):
3764
3765 2018-08-03  Aakash Jain  <aakash_jain@apple.com>
3766
3767         [ews-build] Add build step to Check Patch Relevance
3768         https://bugs.webkit.org/show_bug.cgi?id=188295
3769
3770         Reviewed by Lucas Forschler.
3771
3772         * BuildSlaveSupport/ews-build/steps.py:
3773         (CheckPatchRelevance): Added step to check patch relevance.
3774         (CheckPatchRelevance._patch_is_relevant): Checks if the patch is relevant.
3775         (CheckPatchRelevance._get_patch): Retrieves the patch from buildbot.
3776         (CheckPatchRelevance._addToLog): Add the log message.
3777         (CheckPatchRelevance.start):
3778         * BuildSlaveSupport/ews-build/factories.py: Added CheckPatchRelevance step appropriately.
3779
3780 2018-08-03  Jer Noble  <jer.noble@apple.com>
3781
3782         Unreviewed gardening; r234534 changed the policy for what audio session is set when a
3783         media element is paused. Updating the test to reflect the new policy.
3784
3785         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
3786         (TestWebKitAPI::TEST):
3787
3788 2018-08-03  Zalan Bujtas  <zalan@apple.com>
3789
3790         [LFC][Floating] Now that the document renderer belongs to "complicated cases", adjust viewport stretching.
3791         https://bugs.webkit.org/show_bug.cgi?id=188306
3792
3793         Reviewed by Antti Koivisto.
3794
3795         * LayoutReloaded/misc/LFC-passing-tests.txt:
3796
3797 2018-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
3798
3799         [WPE] Use the new key mapper API from WPEBackend
3800         https://bugs.webkit.org/show_bug.cgi?id=188216
3801
3802         Reviewed by Žan Doberšek.
3803
3804         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
3805         (WTR::EventSenderProxy::keyDown): Use wpe_input_xkb_context_get_entries_for_key_code() to get the hardware key
3806         code.
3807         * wpe/backends/WindowViewBackend.cpp:
3808         (WPEToolingBackends::WindowViewBackend::WindowViewBackend):
3809         (WPEToolingBackends::WindowViewBackend::handleKeyEvent):
3810         (WPEToolingBackends::WindowViewBackend::modifiers const):
3811         * wpe/backends/WindowViewBackend.h:
3812
3813 2018-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
3814
3815         [WPE] Implement MouseEvent.buttons
3816         https://bugs.webkit.org/show_bug.cgi?id=187998
3817
3818         Reviewed by Žan Doberšek.
3819
3820         Pass modifiers to mouse events.
3821
3822         * WebKitTestRunner/EventSenderProxy.h:
3823         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
3824         (WTR::senderButtonToWPEButton):
3825         (WTR::modifierForButton):
3826         (WTR::EventSenderProxy::mouseDown):
3827         (WTR::EventSenderProxy::mouseUp):
3828         (WTR::EventSenderProxy::mouseMoveTo):
3829         (WTR::EventSenderProxy::mouseScrollBy):
3830         (WTR::wkEventModifiersToWPE):
3831         (WTR::wpeKeySymForKeyRef):
3832         (WTR::EventSenderProxy::keyDown):
3833         (WTR::EventSenderProxy::prepareAndDispatchTouchEvent):
3834         * wpe/backends/WindowViewBackend.cpp:
3835         (WPEToolingBackends::WindowViewBackend::handleKeyEvent):
3836         (WPEToolingBackends::WindowViewBackend::modifiers const):
3837         * wpe/backends/WindowViewBackend.h:
3838
3839 2018-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
3840
3841         [WPE] Use WPE key symbols and new API instead of xkbcommon and the key mapper
3842         https://bugs.webkit.org/show_bug.cgi?id=188093
3843
3844         Reviewed by Žan Doberšek.
3845
3846         * MiniBrowser/wpe/main.cpp: Use WPE key symbols.
3847         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
3848         (WTR::wpeKeySymForKeyRef): Use WPE key symbols and wpe_unicode_to_key_code().
3849         (WTR::EventSenderProxy::keyDown): Do not set unicode char to the event since it was removed.
3850         * flatpak/org.webkit.WPE.yaml: Bump WPEBackend and WPEBackend-fdo versions.
3851         * wpe/backends/WindowViewBackend.cpp:
3852         (WPEToolingBackends::WindowViewBackend::handleKeyEvent): Do not set unicode char to the event since it was removed.
3853         * wpe/jhbuild.modules: Bump WPEBackend and WPEBackend-fdo versions.
3854
3855 2018-08-02  Nan Wang  <n_wang@apple.com>
3856
3857         AX: [iOS] add support to return the attributed string under the element
3858         https://bugs.webkit.org/show_bug.cgi?id=188276
3859         <rdar://problem/42872357>
3860
3861         Reviewed by Chris Fleizach.
3862
3863         * DumpRenderTree/AccessibilityUIElement.cpp:
3864         (attributedStringForElementCallback):
3865         (AccessibilityUIElement::getJSClass):
3866         * DumpRenderTree/AccessibilityUIElement.h:
3867         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
3868         (AccessibilityUIElement::attributedStringForElement):
3869         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
3870         (WTR::AccessibilityUIElement::attributedStringForElement):
3871         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
3872         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
3873         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
3874         (WTR::AccessibilityUIElement::attributedStringForElement):
3875
3876 2018-08-02  Ryan Haddad  <ryanhaddad@apple.com>
3877
3878         Skip API test DataInteractionTests.CustomActionSheetPopover on current SDKs.
3879         https://bugs.webkit.org/show_bug.cgi?id=175204
3880
3881         Unreviewed test gardening.
3882
3883         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3884
3885 2018-08-02  Sihui Liu  <sihui_liu@apple.com>
3886
3887         [Cocoa] setCookie API fails to set session cookies for defaultDataStore if processPool created but not used
3888         https://bugs.webkit.org/show_bug.cgi?id=188209
3889
3890         Reviewed by Geoffrey Garen.
3891
3892         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
3893         (TEST):
3894
3895 2018-08-02  Dan Bernstein  <mitz@apple.com>
3896
3897         Fixed WebKit.AttrStyle timing out on build.webkit.org.
3898
3899         * TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.html: Changed from a URL that requires network
3900           access to one that doesn’t.
3901         * TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.mm:
3902         (TEST): Updated expected value.
3903
3904 2018-08-02  Wenson Hsieh  <wenson_hsieh@apple.com>
3905
3906         [iOS] Keyboard becomes unresponsive after pressing delete while pressing down on a character key with accents
3907         https://bugs.webkit.org/show_bug.cgi?id=188251
3908         <rdar://problem/37842108>
3909
3910         Reviewed by Tim Horton.
3911
3912         Adds a new API test to verify that clients (in this case, UIKit) is allowed to invoke
3913         -handleKeyWebEvent:withCompletionHandler: within the completion block of a prior invocation.
3914
3915         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3916         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm: Added.
3917         (TestWebKitAPI::TEST):
3918         * TestWebKitAPI/Tests/ios/TestInputDelegate.h: Added.
3919
3920         Pull some logic used to force an input session to start out from an existing API test file
3921         (WKWebViewAutofillTests) and into a separate helper class that is used by both the existing API tests and the
3922         new keyboard input test.
3923
3924         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
3925         (-[AutofillTestView initWithFrame:]):
3926         (TestWebKitAPI::TEST):
3927         (-[TestInputDelegate init]): Deleted.
3928         (-[TestInputDelegate _webView:focusShouldStartInputSession:]): Deleted.
3929         * TestWebKitAPI/ios/UIKitSPI.h:
3930
3931         Add some UIKit SPI utilized by the new API test.
3932
3933 2018-08-01  Dan Bernstein  <mitz@apple.com>
3934
3935         Optionally expose Attr::style to JavaScript
3936         https://bugs.webkit.org/show_bug.cgi?id=188226
3937         <rdar://problem/42818113>
3938
3939         Reviewed by Darin Adler.
3940
3941         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3942         * TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.html: Added.
3943         * TestWebKitAPI/Tests/WebKitCocoa/AttrStyle.mm: Added.
3944         (TEST):
3945
3946 2018-08-02  David Fenton  <david_fenton@apple.com>
3947
3948         Unreviewed, rolling out r234489.
3949
3950         Caused 50+ crashes and 60+ API failures on iOS
3951
3952         Reverted changeset:
3953
3954         "[WTF] Rename String::format to String::deprecatedFormat"
3955         https://bugs.webkit.org/show_bug.cgi?id=188191
3956         https://trac.webkit.org/changeset/234489
3957
3958 2018-08-01  Ross Kirsling  <ross.kirsling@sony.com>
3959
3960         TestWTF.WTF_NeverDestroyed.Construct output differs for MSVC in Debug mode
3961         https://bugs.webkit.org/show_bug.cgi?id=188244
3962
3963         Reviewed by Daniel Bates.
3964
3965         Follow-up to r234179. MSVC chooses not to inline the lambda in Debug mode. 
3966
3967         * TestWebKitAPI/Tests/WTF/NeverDestroyed.cpp:
3968
3969 2018-08-01  Tomas Popela  <tpopela@redhat.com>
3970
3971         [WTF] Rename String::format to String::deprecatedFormat
3972         https://bugs.webkit.org/show_bug.cgi?id=188191
3973
3974         Reviewed by Darin Adler.
3975
3976         It should be replaced with string concatenation.
3977
3978         * DumpRenderTree/win/DumpRenderTree.cpp:
3979         (applicationId):
3980         (main):
3981         * TestWebKitAPI/win/PlatformUtilitiesWin.cpp:
3982         (TestWebKitAPI::Util::createURLForResource):
3983         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3984         (WTR::cacheTestRunnerCallback):
3985         * WebKitTestRunner/InjectedBundle/atk/AccessibilityNotificationHandlerAtk.cpp:
3986         (WTR::AccessibilityNotificationHandler::connectAccessibilityCallbacks):
3987         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3988         (WTR::AccessibilityUIElement::attributedStringForRange):
3989         (WTR::AccessibilityUIElement::url):
3990         (WTR::stringAtOffset):
3991         * WebKitTestRunner/TestController.cpp:
3992         (WTR::TestController::didReceiveAuthenticationChallenge):
3993         (WTR::TestController::downloadDidFail):
3994         (WTR::originUserVisibleName):
3995         (WTR::userMediaOriginHash):
3996         (WTR::TestController::didNavigateWithNavigationData):
3997         (WTR::TestController::didPerformClientRedirect):
3998         (WTR::TestController::didPerformServerRedirect):
3999         (WTR::TestController::didUpdateHistoryTitle):
4000
4001 2018-08-01  Nan Wang  <n_wang@apple.com>
4002
4003         AX: AOM: Add ARIA IDL Attribute Reflection
4004         https://bugs.webkit.org/show_bug.cgi?id=184676
4005         <rdar://problem/39476882>
4006
4007         Reviewed by Chris Fleizach.
4008
4009         * DumpRenderTree/mac/DumpRenderTree.mm:
4010         (enableExperimentalFeatures):
4011         * WebKitTestRunner/TestController.cpp:
4012         (WTR::TestController::resetPreferencesToConsistentValues):
4013
4014 2018-08-01  Jonathan Bedard  <jbedard@apple.com>
4015
4016         Use iPhone SE as the default simulated device
4017         https://bugs.webkit.org/show_bug.cgi?id=188227
4018
4019         Reviewed by Aakash Jain.
4020
4021         * Scripts/webkitpy/port/ios_simulator.py:
4022         (IOSSimulatorPort):
4023
4024 2018-08-01  Commit Queue  <commit-queue@webkit.org>
4025
4026         Unreviewed, rolling out r234443 and r234445.
4027         https://bugs.webkit.org/show_bug.cgi?id=188224
4028
4029         Revision caused 3 api failures across all platforms.
4030         (Requested by Truitt on #webkit).
4031
4032         Reverted changesets:
4033
4034         "Add configuration for automatic process pre-warming"
4035         https://bugs.webkit.org/show_bug.cgi?id=187108
4036         https://trac.webkit.org/changeset/234443
4037
4038         "Add configuration for automatic process pre-warming"
4039         https://bugs.webkit.org/show_bug.cgi?id=187108
4040         https://trac.webkit.org/changeset/234445
4041
4042 2018-07-31  Ben Richards  <benton_richards@apple.com>
4043
4044         Add configuration for automatic process pre-warming
4045         https://bugs.webkit.org/show_bug.cgi?id=187108
4046
4047         Reviewed by Ryosuke Niwa.
4048
4049         Added new test case for setting maximum prewarmed process count and updated test case for process swap on navigation to set the maximum prewarmed process count to be 1 where relevant.
4050
4051         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
4052         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
4053         * TestWebKitAPI/Tests/WebKitCocoa/SetMaximumPrewarmedProcessCount.mm: Added.
4054         (TEST):
4055
4056 2018-07-31  John Wilander  <wilander@apple.com>
4057
4058         Resource Load Statistics: Remove partitioned cookies for reduced complexity, lower memory footprint, and ability to support more platforms
4059         https://bugs.webkit.org/show_bug.cgi?id=188109
4060         <rdar://problem/42664391>
4061
4062         Reviewed by Brent Fulgham, Chris Dumez, and Alex Christensen.
4063
4064         This patch removes cookie partitioning which reduces the model to just
4065         blocked cookies (in third-party contexts) and first-party cookie access.
4066
4067         Several of the changes are renaming to reflect that there are no more
4068         cookie partitions.
4069
4070         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
4071            Removed or renamed functions to reflect that there are no more
4072            partitioned cookies.
4073         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
4074         (WTR::InjectedBundle::didReceiveMessageToPage):
4075         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
4076         (WTR::TestRunner::statisticsUpdateCookieBlocking):
4077         (WTR::TestRunner::statisticsCallDidSetBlockCookiesForHostCallback):
4078         (WTR::TestRunner::setCookieStoragePartitioningEnabled): Deleted.
4079         (WTR::TestRunner::setStatisticsHasHadNonRecentUserInteraction): Deleted.
4080         (WTR::TestRunner::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
4081         (WTR::TestRunner::statisticsUpdateCookiePartitioning): Deleted.
4082         (WTR::TestRunner::statisticsSetShouldPartitionCookiesForHost): Deleted.
4083         (WTR::TestRunner::statisticsCallDidSetPartitionOrBlockCookiesForHostCallback): Deleted.
4084         * WebKitTestRunner/InjectedBundle/TestRunner.h:
4085         * WebKitTestRunner/TestController.cpp:
4086         (WTR::TestController::statisticsUpdateCookieBlocking):
4087         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction): Deleted.
4088         (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
4089         (WTR::TestController::statisticsUpdateCookiePartitioning): Deleted.
4090         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Deleted.
4091         * WebKitTestRunner/TestController.h:
4092         * WebKitTestRunner/TestInvocation.cpp:
4093         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
4094         (WTR::TestInvocation::didSetBlockCookiesForHost):
4095         (WTR::TestInvocation::didSetHasHadUserInteraction):
4096         (WTR::TestInvocation::didSetPartitionOrBlockCookiesForHost): Deleted.
4097         (WTR::TestInvocation::didSetHasHadNonRecentUserInteraction): Deleted.
4098         * WebKitTestRunner/TestInvocation.h:
4099         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
4100         (WTR::initializeWebViewConfiguration):
4101
4102 2018-07-31  Alex Christensen  <achristensen@webkit.org>
4103
4104         Build fix.  Remove unused variable.
4105
4106         * TestWebKitAPI/Tests/WebCore/TransformationMatrix.cpp:
4107         (TestWebKitAPI::TEST):
4108         transform was never used. It was introduced in r205871
4109         Apparently I'm the first one to build in a certain configuration that found it.
4110
4111 2018-07-31  Fujii Hironori  <Hironori.Fujii@sony.com>
4112
4113         server_process.py should print returncode in debug log if the process crashed
4114         https://bugs.webkit.org/show_bug.cgi?id=188160
4115
4116         Reviewed by Konstantin Tokarev.
4117
4118         * Scripts/webkitpy/port/server_process.py:
4119         (ServerProcess.has_crashed): Put self._proc.returncode into the debug log message.
4120
4121 2018-07-31  Tomas Popela  <tpopela@redhat.com>
4122
4123         [WTF] String::formatWithArguments() is unused
4124         https://bugs.webkit.org/show_bug.cgi?id=187955
4125
4126         Reviewed by Darin Adler.
4127
4128         Remove tests for WTF::String::formatWithArguments() as it's unused and
4129         we are removing it.
4130
4131         * TestWebKitAPI/Tests/WTF/WTFString.cpp:
4132
4133 2018-07-30  Aakash Jain  <aakash_jain@apple.com>
4134
4135         [ews-build] Fix typo in builder name for Bindings-tests-EWS.
4136
4137         * BuildSlaveSupport/ews-build/config.json: Changed 'tests' to 'Tests' to make it consistent with
4138         other builders.
4139
4140 2018-07-30 Aakash Jain  <aakash_jain@apple.com>
4141
4142         [ews-build] Add support for API tests in OpenSource EWS
4143         https://bugs.webkit.org/show_bug.cgi?id=188156
4144
4145         Reviewed by Lucas Forschler.
4146
4147         * BuildSlaveSupport/ews-build/config.json:
4148         * BuildSlaveSupport/ews-build/factories.py:
4149         (BuildFactory.__init__): Added triggers parameter.
4150         (BuildFactory): If trigger is defined, create and upload archive and trigger appropriate queues.
4151         (BuildFactory.propertiesToPassToTriggers): Pass all the required properties to triggered queue.
4152         (APITestsFactory): Factory for running API tests.
4153         * BuildSlaveSupport/ews-build/steps.py:
4154         (ConfigureBuild.start): Set the property only if property is defined in config.json. Also set the 
4155         source of the property.
4156
4157 2018-07-30  Aakash Jain  <aakash_jain@apple.com>
4158
4159         [ews-build] loadConfig should ensure that the triggers are valid
4160         https://bugs.webkit.org/show_bug.cgi?id=188134