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