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