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