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