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