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