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