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