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