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