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