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