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