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