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