58a6d924e9a3acf45c77109157eed57f87809b3c
[WebKit-https.git] / Tools / ChangeLog
1 2018-10-08  Wenson Hsieh  <wenson_hsieh@apple.com>
2
3         [Cocoa] [WK2] Add support for text alignment and text lists in font attributes
4         https://bugs.webkit.org/show_bug.cgi?id=190342
5         <rdar://problem/44767118>
6
7         Reviewed by Tim Horton.
8
9         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
10         * TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm:
11
12         Add a new API test to check that the font attributes dictionary contains the correct NSParagraphStyles when
13         moving the selection around text inside nested list elements.
14
15         (TestWebKitAPI::checkParagraphStyles):
16
17         Add a new helper to check an NSParagraphStyle against expected results.
18
19         (TestWebKitAPI::webViewForTestingFontAttributes):
20
21         Allow each test to pass in the name of the test page to load.
22
23         (TestWebKitAPI::TEST):
24         * TestWebKitAPI/Tests/WebKitCocoa/nested-lists.html: Added.
25
26         Add a new test page that contains text enclosed in multiple levels of unordered and ordered lists.
27
28         * TestWebKitAPI/Tests/WebKitCocoa/rich-text-attributes.html:
29
30         Remove `text-align: left` from one of these elements, to test for NSTextAlignmentNatural.
31
32 2018-10-08  Justin Fan  <justin_fan@apple.com>
33
34         WebGPU: Rename old WebGPU prototype to WebMetal
35         https://bugs.webkit.org/show_bug.cgi?id=190325
36         <rdar://problem/44990443>
37
38         Reviewed by Dean Jackson.
39
40         Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.
41
42         * DumpRenderTree/mac/DumpRenderTree.mm:
43         (enableExperimentalFeatures):
44         (resetWebPreferencesToConsistentValues):
45         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
46         * TestWebKitAPI/Tests/WebCore/mac/GPUBuffer.mm:
47         * TestWebKitAPI/Tests/WebCore/mac/GPUCommandQueue.mm:
48         * TestWebKitAPI/Tests/WebCore/mac/GPUDevice.mm:
49         * TestWebKitAPI/Tests/WebCore/mac/GPUFunction.mm:
50         * TestWebKitAPI/Tests/WebCore/mac/GPULibrary.mm:
51         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
52         (WTR::InjectedBundle::beginTesting):
53         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
54         (WTR::TestRunner::setWebMetalEnabled):
55         (WTR::TestRunner::setWebGPUEnabled): Deleted.
56         * WebKitTestRunner/InjectedBundle/TestRunner.h:
57
58 2018-10-08  Commit Queue  <commit-queue@webkit.org>
59
60         Unreviewed, rolling out r236941.
61         https://bugs.webkit.org/show_bug.cgi?id=190374
62
63         Causing API test failures in new test (Requested by jernoble
64         on #webkit).
65
66         Reverted changeset:
67
68         "ISOTrackEncryptionBox returns incorrect defaultKeyID"
69         https://bugs.webkit.org/show_bug.cgi?id=190368
70         https://trac.webkit.org/changeset/236941
71
72 2018-10-08  Aditya Keerthi  <akeerthi@apple.com>
73
74         Make <input type=color> a runtime enabled (on-by-default) feature
75         https://bugs.webkit.org/show_bug.cgi?id=189162
76
77         Reviewed by Wenson Hsieh and Tim Horton.
78
79         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
80
81 2018-10-08  Jer Noble  <jer.noble@apple.com>
82
83         ISOTrackEncryptionBox returns incorrect defaultKeyID
84         https://bugs.webkit.org/show_bug.cgi?id=190368
85
86         Reviewed by Eric Carlson.
87
88         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
89         * TestWebKitAPI/Tests/WebCore/ISOBox.cpp: Added.
90         (TestWebKitAPI::TEST):
91
92 2018-10-08  Alex Christensen  <achristensen@webkit.org>
93
94         Remove WKBundleFileHandleRef
95         https://bugs.webkit.org/show_bug.cgi?id=190360
96
97         Reviewed by Tim Horton.
98
99         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
100         * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle.cpp: Removed.
101         * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp: Removed.
102
103 2018-10-08  Dan Bernstein  <mitz@apple.com>
104
105         Tools part of [Xcode] Update some build settings as recommended by Xcode 10
106         https://bugs.webkit.org/show_bug.cgi?id=190250
107
108         Reviewed by Anders Carlsson.
109
110         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
111
112         * DumpRenderTree/mac/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
113           CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
114           CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
115
116         * DumpRenderTree/mac/DumpRenderTreeMac.h: Addressed the strict prototype warning.
117
118         * DumpRenderTree/mac/EditingDelegate.mm: Suppressed the deprecated implementations warning
119           around deprecated methods or categories on deprecated classes.
120         * DumpRenderTree/mac/FrameLoadDelegate.mm: Ditto.
121         (-[FrameLoadDelegate webView:windowScriptObjectAvailable:]):
122         * DumpRenderTree/mac/TestRunnerMac.mm: Ditto.
123         (-[SynchronousLoader connection:didReceiveAuthenticationChallenge:]):
124
125         * MiniBrowser/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
126           CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
127           CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
128
129         * MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
130
131         * MiniBrowser/mac/AppDelegate.h: Addressed the strict prototypes warning.
132         * MiniBrowser/mac/WK2BrowserWindowController.m: Removed an unused #import to avoid having to
133           address the fact that many of the WebKit C SPI headers trigger the strict prototypes warning.
134
135         * MobileMiniBrowser/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
136           CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_SUSPICIOUS_MOVE (by fixing a typo),
137           CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, and CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF.
138
139         * MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: Let Xcode update
140           LastUpgradeCheck and remove the .xcconfig files from the Copy Bundle Resources build phase.
141
142         * TestWebKitAPI/Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA,
143           CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
144           CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
145           Made the WebKit headers be treated as system headers to avoid dealing with the fact that
146           many C SPI headers trigger the strict prototypes warning.
147
148         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
149
150         * TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
151         (-[DownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
152         (-[BlobDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
153         (-[UIDownloadAsFileTestDelegate _webView:contextMenu:forElement:]):
154         (-[RedirectedDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
155         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
156         (-[CustomHeaderFieldsDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
157         (-[WebsitePoliciesWebsiteDataStoreDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
158         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
159         (-[AudioSessionCategoryUIWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):
160         * TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:
161         (-[RenderInContextWebViewDelegate webViewDidFinishLoad:]):
162         (-[RenderInContextWebViewDelegate webView:didFailLoadWithError:]):
163         * TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm:
164         (-[SetTimeoutFunctionWebViewDelegate webViewDidFinishLoad:]):
165         (-[SetTimeoutFunctionWebViewDelegate webView:didFailLoadWithError:]):
166         (-[SetTimeoutFunctionWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]):
167         * TestWebKitAPI/Tests/mac/LegacyDragAndDropTests.mm:
168         (-[DragInfo namesOfPromisedFilesDroppedAtDestination:]):
169         * TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
170         (-[DragAndDropTestWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]):
171         * TestWebKitAPI/mac/SyntheticBackingScaleFactorWindow.m:
172         (-[SyntheticBackingScaleFactorWindow IGNORE_WARNINGS_END]):
173         (-[SyntheticBackingScaleFactorWindow userSpaceScaleFactor]): Deleted.
174         * TestWebKitAPI/mac/TestDraggingInfo.mm:
175         (-[TestDraggingInfo namesOfPromisedFilesDroppedAtDestination:]):
176
177         In all of the above, suppressed the deprecated implementations warning where needed.
178
179         * WebKitTestRunner/Configurations/Base.xcconfig: Enabled ENABLE_STRICT_OBJC_MSGSEND,
180           CLANG_WARN_BOOL_CONVERSION, CLANG_WARN_COMMA, CLANG_WARN_CONSTANT_CONVERSION,
181           CLANG_WARN_EMPTY_BODY, CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION,
182           CLANG_WARN_STRICT_PROTOTYPES, CLANG_WARN_UNREACHABLE_CODE, CLANG_WARN__DUPLICATE_METHOD_MATCH,
183           GCC_WARN_UNDECLARED_SELECTOR, CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF,
184           CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS,
185           and GCC_NO_COMMON_BLOCKS.
186
187         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
188
189         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
190         (-[TestRunnerWKWebView dragImage:at:offset:event:pasteboard:source:slideBack:]): Suppressed
191           the deprecated implementations warning.
192
193         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
194         (WTR::UIScriptController::replaceTextAtRange): Addressed an int-conversion warning.
195
196 2018-10-07  Yacine Bandou  <yacine.bandou@softathome.com>
197
198         [GStreamer][EME][webm] Add the WebM encrypted content support in matroskademux
199         https://bugs.webkit.org/show_bug.cgi?id=189238
200
201         Reviewed by Xabier Rodriguez-Calvar.
202
203         Modifications on GStreamer, tracked in GStreamer bugzilla:
204         https://bugzilla.gnome.org/show_bug.cgi?id=797231
205         https://bugzilla.gnome.org/show_bug.cgi?id=765275
206
207         * gstreamer/jhbuild.modules: Add new patches.
208         * gstreamer/patches/gstreamer-0001-protection-Add-a-new-definition-for-unspecified-syst.patch: Added.
209         * gstreamer/patches/gstreamer-0002-protection-Fix-the-string-to-define-unspecified-syst.patch: Added.
210         * gstreamer/patches/gst-plugins-good-0011-matroska-Add-the-WebM-encrypted-content-support-in-m.patch: Added.
211         * gstreamer/patches/gst-plugins-good-0012-matroskdemux-do-not-use-MapInfo.data-after-unmapping.patch: Added.
212
213 2018-10-06  Dan Bernstein  <mitz@apple.com>
214
215         [Xcode] Never build yasm with ASAN
216         https://bugs.webkit.org/show_bug.cgi?id=190327
217
218         Reviewed by Youenn Fablet.
219
220         * asan/asan.xcconfig: Allow targets to opt out of building with ASAN by setting
221           the WK_ASAN_DISALLOWED build setting to YES (or, actually, anything other than NO or unset).
222
223 2018-10-05  Chris Dumez  <cdumez@apple.com>
224
225         Regression(r236862): Crash under DOMWindowExtension::willDetachGlobalObjectFromFrame()
226         https://bugs.webkit.org/show_bug.cgi?id=190320
227         <rdar://problem/45044814>
228
229         Reviewed by Geoffrey Garen.
230
231         Add API test coverage.
232
233         * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic.cpp:
234         (TestWebKitAPI::TEST):
235         * TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic_Bundle.cpp:
236         (TestWebKitAPI::DOMWindowExtensionBasic::willDestroyGlobalObjectForDOMWindowExtension):
237
238 2018-10-03  Jer Noble  <jer.noble@apple.com>
239
240         Add support for reporting "display composited video frames" through the VideoPlaybackQuality object.
241         https://bugs.webkit.org/show_bug.cgi?id=190266
242
243         Reviewed by Eric Carlson.
244
245         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
246         * TestWebKitAPI/Tests/WebKitCocoa/VideoQualityDisplayCompositing.mm: Added.
247         (TestWebKitAPI::TEST):
248
249 2018-10-05  Ryan Haddad  <ryanhaddad@apple.com>
250
251         Unreviewed, rolling out r236866.
252
253         Breaks internal builds.
254
255         Reverted changeset:
256
257         "Add support for reporting "display composited video frames"
258         through the VideoPlaybackQuality object."
259         https://bugs.webkit.org/show_bug.cgi?id=190266
260         https://trac.webkit.org/changeset/236866
261
262 2018-10-05  Carlos Eduardo Ramalho  <cadubentzen@gmail.com>
263
264         [WPE][JSC] Use Unified Sources for Platform-specific sources
265         https://bugs.webkit.org/show_bug.cgi?id=190300
266
267         Reviewed by Yusuke Suzuki.
268
269         Currently the GTK port already used Unified Sources with the same source files.
270         As WPE has conditional code using gmodule, we need to add GLIB_GMODULE_LIBRARIES
271         to the list of libraries to link with.
272
273         * TestWebKitAPI/PlatformWPE.cmake:
274
275 2018-10-05  Zach Li  <zachli@apple.com>
276
277         Expose whether WKWebProcessPlugInNodeHandle is a select element to clients
278         https://bugs.webkit.org/show_bug.cgi?id=190302
279         <rdar://problem/45031469>
280
281         Reviewed by Tim Horton.
282
283         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
284         * TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleNodeHandleIsSelectElement.mm: Added.
285         (-[InjectedBundleNodeHandleIsSelectElement verifySelectElementForHTMLElementTag:document:jsContext:expectedResult:failedElementTags:]):
286         (-[InjectedBundleNodeHandleIsSelectElement webProcessPlugIn:didCreateBrowserContextController:]):
287         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
288         (-[InjectedBundleNodeHandleIsSelectElementDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
289         (TEST):
290
291 2018-10-04  Wenson Hsieh  <wenson_hsieh@apple.com>
292
293         [iOS] [WK2] Expose some more editing SPI on WKWebView
294         https://bugs.webkit.org/show_bug.cgi?id=190232
295         <rdar://problem/44963368>
296
297         Reviewed by Tim Horton.
298
299         Adds new API tests to exercise the new SPIs.
300
301         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
302         * TestWebKitAPI/Tests/ios/WKWebViewEditActions.mm: Added.
303         (-[TestWKWebView querySelectorExists:]):
304         (TestWebKitAPI::webViewForEditActionTesting):
305         (TestWebKitAPI::TEST):
306         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
307         (-[TestWKWebView collapseToStart]): Deleted.
308         (-[TestWKWebView collapseToEnd]): Deleted.
309         (-[TestWKWebView stylePropertyAtSelectionStart:]): Deleted.
310         (-[TestWKWebView stylePropertyAtSelectionEnd:]): Deleted.
311         * TestWebKitAPI/cocoa/TestWKWebView.h:
312         * TestWebKitAPI/cocoa/TestWKWebView.mm:
313         (-[TestWKWebView stylePropertyAtSelectionStart:]):
314         (-[TestWKWebView stylePropertyAtSelectionEnd:]):
315         (-[TestWKWebView collapseToStart]):
316         (-[TestWKWebView collapseToEnd]):
317
318         Pull some common testing helpers out of NSFontManager and into TestWKWebView.
319
320 2018-10-04  Jer Noble  <jer.noble@apple.com>
321
322         Add support for reporting "display composited video frames" through the VideoPlaybackQuality object.
323         https://bugs.webkit.org/show_bug.cgi?id=190266
324
325         Reviewed by Eric Carlson.
326
327         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
328         * TestWebKitAPI/Tests/WebKitCocoa/VideoQualityDisplayCompositing.mm: Added.
329         (TestWebKitAPI::TEST):
330
331 2018-10-04  Wenson Hsieh  <wenson_hsieh@apple.com>
332
333         [Cocoa] Add SPI to expose typing attributes at the current selection on WKWebView
334         https://bugs.webkit.org/show_bug.cgi?id=190119
335         <rdar://problem/44767062>
336
337         Reviewed by Tim Horton.
338
339         Add a new API test that loads a document containing various rich text styles. This test moves the selection
340         around the document and checks the last set of font attributes received via the new UI delegate hook.
341
342         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
343         * TestWebKitAPI/Tests/WebKitCocoa/FontAttributes.mm: Added.
344         (-[FontAttributesListener _webView:didChangeFontAttributes:]):
345         (-[FontAttributesListener lastFontAttributes]):
346         (-[TestWKWebView selectElementWithIdentifier:]):
347         (-[TestWKWebView fontAttributesAfterNextPresentationUpdate]):
348         (ColorExpectation::ColorExpectation):
349         (ShadowExpectation::ShadowExpectation):
350         (checkColor):
351         (checkShadow):
352         (checkFont):
353         (webViewForTestingFontAttributes):
354         * TestWebKitAPI/Tests/WebKitCocoa/rich-text-attributes.html: Added.
355
356 2018-10-04  Alan Coon  <alancoon@apple.com>
357
358         Unreviewed, add self as contributor.
359
360         * Scripts/webkitpy/common/config/contributors.json:
361
362 2018-10-04  Wenson Hsieh  <wenson_hsieh@apple.com>
363
364         [macOS] Fix some font attribute conversion bugs in preparation for "Font > Styles…" support in WebKit2
365         https://bugs.webkit.org/show_bug.cgi?id=190289
366         <rdar://problem/45020806>
367
368         Reviewed by Ryosuke Niwa.
369
370         Add new API tests to exercise two corner cases when using NSFontOptions ("Font > Styles…") to change font
371         attributes at the current selection.
372
373         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
374         * TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
375         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
376         (webViewForFontManagerTesting):
377         (TestWebKitAPI::TEST):
378         * TestWebKitAPI/mac/TestFontOptions.h: Copied from Source/WebCore/editing/cocoa/FontAttributesCocoa.mm.
379         * TestWebKitAPI/mac/TestFontOptions.mm: Added.
380
381         Introduce TestFontOptions, which wraps the shared NSFontOptions and swizzles `-sharedFontOptions` to return a
382         global instance of itself. TestFontOptions supports several testing helpers to add or remove font shadows,
383         foreground colors, and background colors.
384
385         (sharedFontOptionsForTesting):
386         (+[TestFontOptions sharedInstance]):
387         (-[TestFontOptions initWithFontOptions:]):
388         (-[TestFontOptions selectedAttributes]):
389         (-[TestFontOptions fontOptions]):
390         (-[TestFontOptions shadowWidth]):
391         (-[TestFontOptions setShadowWidth:]):
392         (-[TestFontOptions shadowHeight]):
393         (-[TestFontOptions setShadowHeight:]):
394         (-[TestFontOptions setShadowBlurRadius:]):
395         (-[TestFontOptions setHasShadow:]):
396         (-[TestFontOptions foregroundColor]):
397         (-[TestFontOptions setForegroundColor:]):
398         (-[TestFontOptions backgroundColor]):
399         (-[TestFontOptions setBackgroundColor:]):
400         (-[TestFontOptions _dispatchFontAttributeChanges]):
401         (-[TestFontOptions convertAttributes:]):
402         (-[TestFontOptions setSelectedAttributes:isMultiple:]):
403         (-[TestFontOptions forwardInvocation:]):
404
405 2018-10-04  Jiewen Tan  <jiewen_tan@apple.com>
406
407         [WebAuthN] Move time out control from WebProcess to UIProcess
408         https://bugs.webkit.org/show_bug.cgi?id=189642
409         <rdar://problem/44476765>
410
411         Reviewed by Chris Dumez.
412
413         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
414         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
415
416 2018-10-04  YUHAN WU  <yuhan_wu@apple.com>
417
418         Runtime flag and IDL for MediaRecorder
419         https://bugs.webkit.org/show_bug.cgi?id=190018
420
421         Reviewed by Youenn Fablet and Chris Dumez.
422
423         * DumpRenderTree/mac/DumpRenderTree.mm:
424         (enableExperimentalFeatures):
425
426 2018-10-04  Basuke Suzuki  <Basuke.Suzuki@sony.com>
427
428         [LayoutTests][Win] Stop wpt server correctly.
429         https://bugs.webkit.org/show_bug.cgi?id=190248
430
431         Reviewed by Fujii Hironori.
432
433         Use signal.CTRL_C_EVENT instead of signal.SIGINT for Windows.
434         Also refactoring the detection of Windows and cygwin environment check.
435
436         * Scripts/webkitpy/common/system/executive.py:
437         (Executive.__init__): Check environment once.
438         (Executive._should_close_fds):
439         (Executive.kill_process):
440         (Executive.check_running_pid):
441         (Executive.running_pids):
442         (Executive.interrupt): Use signal.CTRL_C_EVENT for Windows.
443         (Executive.kill_all):
444         (Executive._child_process_encoding):
445         (Executive._should_encode_child_process_arguments):
446         (Executive.popen):
447         (Executive.run_in_parallel):
448
449 2018-10-04  Michael Catanzaro  <mcatanzaro@igalia.com>
450
451         Convert tests to use navigation client
452         https://bugs.webkit.org/show_bug.cgi?id=190153
453
454         Reviewed by Alex Christensen.
455
456         Convert these tests from PagePolicyClient and PageLoaderClient to PageNavigationClient.
457
458         * TestWebKitAPI/Tests/WebKit/DownloadDecideDestinationCrash.cpp:
459         (TestWebKitAPI::decidePolicyForNavigationAction):
460         (TestWebKitAPI::setPagePolicyClient):
461         * TestWebKitAPI/Tests/WebKit/ProvisionalURLAfterWillSendRequestCallback.cpp:
462         (TestWebKitAPI::didCommitNavigationCallback):
463         (TestWebKitAPI::TEST):
464         (TestWebKitAPI::didCommitLoadForFrame): Deleted.
465
466 2018-10-03  Dan Bernstein  <mitz@apple.com>
467
468         [Cocoa] Let clients specify an NSFileWrapper subclassed to be used for _WKAttachment
469         https://bugs.webkit.org/show_bug.cgi?id=190270
470
471         Reviewed by Wenson Hsieh.
472
473         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
474         (TestWebKitAPI::TEST):
475
476 2018-10-03  Ryosuke Niwa  <rniwa@webkit.org>
477
478         Enable selectionAcrossShadowBoundariesEnabled by default in WebKitLegacy
479         https://bugs.webkit.org/show_bug.cgi?id=190238
480
481         Reviewed by Antti Koivisto.
482
483         * DumpRenderTree/TestOptions.h:
484         * DumpRenderTree/mac/DumpRenderTree.mm:
485         (resetWebPreferencesToConsistentValues):
486
487 2018-10-02  Wenson Hsieh  <wenson_hsieh@apple.com>
488
489         [WebKit2] Format > Bold and Format > Italic don't toggle between bold and italic style
490         https://bugs.webkit.org/show_bug.cgi?id=179787
491         <rdar://problem/35593389>
492
493         Reviewed by Tim Horton.
494
495         Add a test to verify that NSFontManager's selected font is updated when applying italic and bold styles using
496         menu items.
497
498         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
499         (webViewForFontManagerTesting):
500         (menuItemCellForFontAction):
501         (TestWebKitAPI::TEST):
502
503 2018-10-02  Chris Dumez  <cdumez@apple.com>
504
505         REGRESSION: TestWebKitAPI.WKWebView.ProvisionalURLNotChange API test is failing
506         https://bugs.webkit.org/show_bug.cgi?id=190176
507         <rdar://problem/44925871>
508
509         Reviewed by Alex Christensen.
510
511         Use a URL that is truly recognized as invalid by WebCore's URL parser.
512
513         * TestWebKitAPI/Tests/WebKitCocoa/ProvisionalURLNotChange.mm:
514         (TEST):
515
516 2018-10-02  Alex Christensen  <achristensen@webkit.org>
517
518         Remove ParsedURLString
519         https://bugs.webkit.org/show_bug.cgi?id=190154
520
521         Reviewed by Chris Dumez.
522
523         * TestWebKitAPI/Tests/WebCore/URL.cpp:
524         (TestWebKitAPI::TEST_F):
525         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
526         (TestWebKitAPI::assertUserAgentForURLHasChromeBrowserQuirk):
527         (TestWebKitAPI::assertUserAgentForURLHasLinuxPlatformQuirk):
528         (TestWebKitAPI::assertUserAgentForURLHasMacPlatformQuirk):
529         (TestWebKitAPI::TEST):
530
531 2018-10-02  Daniel Bates  <dabates@apple.com>
532
533         Fix iOS TestWebKitAPI failures following <https://trac.webkit.org/changeset/236619>
534         (https://bugs.webkit.org/show_bug.cgi?id=190017)
535
536         For now swizzle +[UIKeyboard isInHardwareKeyboardMode] to return NO in the following tests:
537             WKWebViewAutofillTests.AutofillRequiresInputSession
538             DragAndDropTests.ExternalSourceJPEGOnly
539             DragAndDropTests.ExternalSourceUTF8PlainTextOnly
540
541         so that the presence of a hardware keyboad does not effect their results. In <https://bugs.webkit.org/show_bug.cgi?id=190211>
542         we will look to swizzle this method for all test by default.
543
544         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
545         (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
546         (TestWebKitAPI::TEST):
547         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
548         (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
549         (TestWebKitAPI::TEST):
550         * TestWebKitAPI/ios/UIKitSPI.h:
551
552 2018-10-02  Dawei Fenton  <realdawei@apple.com>
553
554         Unreviewed, rolling out r236751.
555
556         broke the iOS Build
557
558         Reverted changeset:
559
560         "Fix iOS TestWebKitAPI failures following
561         <https://trac.webkit.org/changeset/236619>"
562         https://bugs.webkit.org/show_bug.cgi?id=190017
563         https://trac.webkit.org/changeset/236751
564
565 2018-10-02  Daniel Bates  <dabates@apple.com>
566
567         Fix iOS TestWebKitAPI failures following <https://trac.webkit.org/changeset/236619>
568         (https://bugs.webkit.org/show_bug.cgi?id=190017)
569
570         For now swizzle +[UIKeyboard isInHardwareKeyboardMode] to return NO in the following tests:
571             WKWebViewAutofillTests.AutofillRequiresInputSession
572             DragAndDropTests.ExternalSourceJPEGOnly
573             DragAndDropTests.ExternalSourceUTF8PlainTextOnly
574
575         so that the presence of a hardware keyboad does not effect their results. In <https://bugs.webkit.org/show_bug.cgi?id=190211>
576         we will look to swizzle this method for all test by default.
577
578         * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:
579         (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
580         (TestWebKitAPI::TEST):
581         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
582         (TestWebKitAPI::overrideIsInHardwareKeyboardMode):
583         (TestWebKitAPI::TEST):
584         * TestWebKitAPI/ios/UIKitSPI.h:
585
586 2018-10-01  Dean Jackson  <dino@apple.com>
587
588         Remove CSS Animation Triggers
589         https://bugs.webkit.org/show_bug.cgi?id=190175
590         <rdar://problem/44925626>
591
592         Reviewed by Simon Fraser.
593
594         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
595
596 2018-10-02  Thibault Saunier  <tsaunier@igalia.com>
597
598         [Flatpak] Use our own check of flatpak repos
599         https://bugs.webkit.org/show_bug.cgi?id=190194
600
601         Allowing us to not mess up with user installation
602         and "--assumeyes" everywhere.
603
604         Reviewed by Michael Catanzaro.
605
606         * flatpak/flatpakutils.py:
607         (FlatpakPackage.__init__):
608         (FlatpakPackage.install):
609         (FlatpakPackage.update):
610         (WebkitFlatpak.load_from_args):
611         (WebkitFlatpak.__init__):
612         (WebkitFlatpak.clean_args):
613
614 2018-10-02  Wenson Hsieh  <wenson_hsieh@apple.com>
615
616         [macOS] Implement a way for the UI process to request typing attributes at the current selection
617         https://bugs.webkit.org/show_bug.cgi?id=189983
618         <rdar://problem/44648705>
619
620         Reviewed by Ryosuke Niwa.
621
622         Adds new FontManagerTests that exercise -typingAttributesWithCompletionHandler:. See below for more detail.
623
624         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
625         * TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h:
626         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
627
628         Add a new test that exercises font attribute modification via inspector bar. Also, add a new test that checks
629         typing attributes when using subscript/superscript/unscript. Lastly, augment an existing NSFontPanel test to
630         additionally check that shadowed text and strike-through are reflected in typing attributes.
631
632         (-[FontManagerTestWKWebView inspectorBarItemIdentifiers]):
633         (-[TestWKWebView typingAttributes]):
634
635         Add a synchronous wrapper around `-typingAttributesWithCompletionHandler:` by spinning the runloop.
636
637         (-[TestWKWebView collapseToStart]):
638         (webViewForFontManagerTesting):
639         (TestWebKitAPI::TEST):
640         * TestWebKitAPI/cocoa/TestWKWebView.h:
641         * TestWebKitAPI/mac/TestInspectorBar.h: Copied from Tools/TestWebKitAPI/Tests/TestWebKitAPI/mac/AppKitSPI.h.
642         * TestWebKitAPI/mac/TestInspectorBar.mm: Added.
643
644         Introduce subclasses of `__InspectorBarItemController` and `NSInspectorBar` for testing inspector bar interaction.
645
646         (-[TestInspectorBarItemController initWithInspectorBar:]):
647         (-[TestInspectorBarItemController inspectorBar]):
648         (-[TestInspectorBarItemController updateSelectedAttributes]):
649         (-[TestInspectorBar initWithWebView:]):
650         (+[TestInspectorBar standardItemControllerClass]):
651         (+[TestInspectorBar standardTextItemIdentifiers]):
652         (-[TestInspectorBar _setStyleControlSelected:atIndex:]):
653         (-[TestInspectorBar chooseFontSize:]):
654         (-[TestInspectorBar chooseFontFamily:]):
655         (-[TestInspectorBar _chooseColor:inColorWell:]):
656         (-[TestInspectorBar chooseForegroundColor:]):
657         (-[TestInspectorBar chooseBackgroundColor:]):
658         (-[TestInspectorBar formatBold:]):
659         (-[TestInspectorBar formatItalic:]):
660         (-[TestInspectorBar formatUnderline:]):
661
662         Add helper methods to TestInspectorBar to simulate interacting with various controls (e.g. color wells and font
663         styling controls).
664
665         (-[TestInspectorBar itemController]):
666         (-[TestInspectorBar setItemController:]):
667
668 2018-10-02  Thibault Saunier  <tsaunier@igalia.com>
669
670         [Flatpak] Implement icecream and ccache support
671         https://bugs.webkit.org/show_bug.cgi?id=190146
672
673         Reviewed by Alejandro G. Castro.
674
675         * flatpak/flatpakutils.py:
676         (WebkitFlatpak.load_from_args):
677         (WebkitFlatpak.__init__):
678         (WebkitFlatpak.clean_args):
679         (WebkitFlatpak.run_in_sandbox):
680         (WebkitFlatpak.save_config):
681         (WebkitFlatpak):
682         (WebkitFlatpak.setup_ccache):
683         (WebkitFlatpak.setup_icecc):
684         (WebkitFlatpak.setup_dev_env):
685         * flatpak/org.webkit.WebKit.yaml:
686
687 2018-10-02  Michael Catanzaro  <mcatanzaro@igalia.com>
688
689         Unreviewed, fix missing return value in TestController::keyExistsInKeychain
690
691         * WebKitTestRunner/TestController.cpp:
692         (WTR::TestController::keyExistsInKeychain):
693
694 2018-10-02  Basuke Suzuki  <Basuke.Suzuki@sony.com>
695
696         [WinCairo] Enable WPT tests environment.
697         https://bugs.webkit.org/show_bug.cgi?id=190128
698
699         Reviewed by Youenn Fablet.
700
701         Escaping backslash of the path not to confuse the JSON parser.
702
703         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
704         (WebPlatformTestServer._prepare_config):
705
706 2018-10-01  Ross Kirsling  <ross.kirsling@sony.com>
707
708         [Win][DRT] Actually set "experimental:WebAnimationsCSSIntegrationEnabled" when requested
709         https://bugs.webkit.org/show_bug.cgi?id=190150
710
711         Reviewed by Fujii Hironori.
712
713         * DumpRenderTree/win/DumpRenderTree.cpp:
714         (setWebPreferencesForTestOptions):
715         DRT has been recognizing this field, but not propagating its value to WebPreferences.
716
717 2018-10-01  Alex Christensen  <achristensen@webkit.org>
718
719         Unreviewed, rolling out r236551.
720
721         Fails URL validating too aggressively
722
723         Reverted changeset:
724
725         "URLWithUserTypedString should return nil for URLs deemed to
726         be invalid by WebCore::URL"
727         https://bugs.webkit.org/show_bug.cgi?id=189979
728         https://trac.webkit.org/changeset/236551
729
730 2018-10-01  Wenson Hsieh  <wenson_hsieh@apple.com>
731
732         [iOS] Add SPI to customize the input accessory view when focusing an element
733         https://bugs.webkit.org/show_bug.cgi?id=190152
734         <rdar://problem/42754975>
735
736         Reviewed by Dan Bernstein.
737
738         Add an API test to verify that setting a custom input accessory view and custom input view on the form input
739         session when focusing an element overrides the first responder's (i.e. WKContentView's) `-inputView` and
740         `-inputAccessoryView`.
741
742         * TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
743         (webViewWithAutofocusedInput):
744         (TestWebKitAPI::TEST):
745         * TestWebKitAPI/Tests/ios/TestInputDelegate.h:
746         * TestWebKitAPI/Tests/ios/TestInputDelegate.mm:
747         (-[TestInputDelegate setWillStartInputSessionHandler:]):
748         (-[TestInputDelegate willStartInputSessionHandler]):
749         (-[TestInputDelegate _webView:willStartInputSession:]):
750
751 2018-10-01  Sihui Liu  <sihui_liu@apple.com>
752
753         Remove StorageProcess
754         https://bugs.webkit.org/show_bug.cgi?id=189975
755
756         Reviewed by Geoffrey Garen.
757
758         * TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:
759         (TEST):
760         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
761         * TestWebKitAPI/Tests/WebKitCocoa/WebProcessKillIDBCleanup.mm:
762         (TEST):
763         * TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
764         (TEST):
765         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
766         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
767         (WTR::TestRunner::terminateStorageProcess): Deleted.
768         * WebKitTestRunner/InjectedBundle/TestRunner.h:
769         * WebKitTestRunner/TestController.cpp:
770         (WTR::TestController::generatePageConfiguration):
771         (WTR::TestController::databaseProcessName): Deleted.
772         (WTR::TestController::databaseProcessDidCrash): Deleted.
773         (WTR::TestController::terminateStorageProcess): Deleted.
774         * WebKitTestRunner/TestController.h:
775         * WebKitTestRunner/TestInvocation.cpp:
776         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
777
778 2018-10-01  Jiewen Tan  <jiewen_tan@apple.com>
779
780         [WebAuthN] Import a JS CBOR coder
781         https://bugs.webkit.org/show_bug.cgi?id=189877
782         <rdar://problem/44701124>
783
784         Reviewed by Chris Dumez.
785
786         Add logic to only process privateKeyBase64, userCertificateBase64 and intermediateCACertificateBase64
787         only if acceptAttestation is true.
788
789         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
790         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
791
792 2018-10-01  Chris Dumez  <cdumez@apple.com>
793
794         Regression(r236512): http/tests/navigation/keyboard-events-during-provisional-navigation.html is flaky
795         https://bugs.webkit.org/show_bug.cgi?id=190052
796
797         Reviewed by Ryosuke Niwa.
798
799         The test relies on EventSender to send events to the page synchronously to the page and then uses console.log
800         to log those events. It also uses console.log() before sending those events to indicate what the test is about
801         to do. Note that console.log() normally causes the WebKitTestRunner to send an asynchronous IPC to the UIProcess
802         so that it can log the message.
803         The issue is that EventSender uses IPC::SendOption::UseFullySynchronousModeForTesting when sending the
804         sync IPC to the UIProcess. This option causes follow-up *asynchronous* IPC sent from the synchronous IPC reply
805         handler to be transformed into synchronous IPC.
806         As a result, some of the console.log IPC ended up being asynchronous and some other ended up being synchronous.
807         Because synchronous and asynchronous IPC is not necessarily processed in-order by the UIProcess, the logged
808         messages may end up being out of order, leading to flakiness.
809
810         To address the issue, we now make sure that InjectedBundle::outputText() uses a new IPC::SendOption indicated
811         that the IPC should always be sent asynchronously, even if the connection is in fully synchronous mode. As a
812         result, all text outputing IPC to the UIProcess will be asynchronous, and thus in order.
813
814         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
815         (WTR::InjectedBundle::outputText):
816
817 2018-10-01  Daniel Bates  <dabates@apple.com>
818
819         [iOS] Special keys are misidentified in DOM keyboard events
820         https://bugs.webkit.org/show_bug.cgi?id=189974
821
822         Reviewed by Wenson Hsieh.
823
824         Add support for testing keys Forward Delete and Num Lock / Clear.
825
826         * WebKitTestRunner/ios/HIDEventGenerator.mm:
827         (hidUsageCodeForCharacter):
828
829 2018-10-01  Alex Christensen  <achristensen@webkit.org>
830
831         URL should not use TextEncoding internally
832         https://bugs.webkit.org/show_bug.cgi?id=190111
833
834         Reviewed by Andy Estes.
835
836         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
837         (TestWebKitAPI::testUserPass):
838         (TestWebKitAPI::TEST_F):
839
840 2018-10-01  Daniel Bates  <dabates@apple.com>
841
842         LLDB tests may use wrong configuration of lldbWebKitTester
843         https://bugs.webkit.org/show_bug.cgi?id=189011
844
845         Reviewed by Dean Jackson.
846
847         Fixes an issue where the LLDB unit tests may use the wrong configuration of lldbWebKitTester.
848         Additionally, add back the unit tests originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).
849
850         Currently the unit tests pick the LLDBWebKitTester binary based on the configuration set by
851         script set-webkit-configuration. This may not be the same configuration specified to test-webkitpy.
852         So, the unit tests may use the wrong binary. Instead we have test-webkitpy store the path
853         to the correct lldbWebKitTester binary that the unit tests should use in an environment variable,
854         called LLDB_WEBKIT_TESTER_EXECUTABLE. (We use an environment variable because the test driver,
855         test-webkitpy, and the unit tests cannot talk to each other directly due the limitations of
856         the Python unittest module, the Python multiprocessing module, and the general principle of unit
857         tests - to test code in isolation). The unit tests make use of the value of this environment
858         variable to launch lldbWebKitTester binary.
859
860         * Scripts/build-lldbwebkittester: We only support building lldbWebKitTester on Mac for now. Error
861         out if this script is invoked for a non-Mac platform.
862         * Scripts/webkitpy/test/main.py:
863         (Tester._run_tests): Build lldbWebKitTester and store the path to it in the environment variable
864         LLDB_WEBKIT_TESTER_EXECUTABLE.
865         (_build_lldb_webkit_tester): Deleted.
866         * lldb/dump_class_layout_unittest.py:
867         (TestDumpClassLayout.shouldSkip): Use SystemHost() here and remove the _host global variable as
868         this is the only call site that needs the Host object now.
869         (TestDumpClassLayout.setUpClass): Take the path to the lldbWebKitTester binary from the value of
870         the environment variable LLDB_WEBKIT_TESTER_EXECUTABLE.
871         * lldb/lldbWebKitTester/main.cpp:
872         (testSummaryProviders): Add back unit test support infrastructure originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).
873         * lldb/lldb_webkit_unittest.py:
874         (LLDBDebugSession.setup): Take the path to the lldbWebKitTester binary from the value of the environment
875         variable LLDB_WEBKIT_TESTER_EXECUTABLE.
876         (TestSummaryProviders):
877         (TestSummaryProviders.shouldSkip): Skip the tests on non-Mac platforms.
878         (TestSummaryProviders.serial_test_WTFHashSet_tablesize_and_size):
879         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_empty):
880         (TestSummaryProviders.serial_test_WTFOptionSet_SummaryProvider_simple):
881         (TestSummaryProviders.serial_test_WTFOptionSetProvider_empty):
882         (TestSummaryProviders.serial_test_WTFOptionSetProvider_simple):
883         Add back the unit tests originally added in r235376 (https://bugs.webkit.org/show_bug.cgi?id=188936).
884
885 2018-10-01  Olivier Blin  <olivier.blin@softathome.com>
886
887         [WPE] Update install-dependencies
888         https://bugs.webkit.org/show_bug.cgi?id=190127
889
890         Reviewed by Michael Catanzaro.
891
892         * wpe/install-dependencies:
893         libxrandr-dev is needed for gstreamer-vaapi in jhbuild
894         It is used by gstvaapidisplay_x11.c.
895         Add it only for Apt, already ok for Pacman and DNF.
896
897         Install libevent-dev for WebRTC (like GTK)
898
899         Install libasound2-dev for WebRTC.
900         Add it only for Apt, already ok for Pacam and DNF.
901
902         Install libgbm-dev for HeadlessViewBackend, which uses gbm.h
903
904 2018-10-01  Thibault Saunier  <tsaunier@igalia.com>
905
906         [Flatpak] Add libunwind in the sandbox
907         https://bugs.webkit.org/show_bug.cgi?id=190123
908
909         Allowing us to get proper traces in GStreamer trace grabing
910         debug functions.
911
912         Reviewed by Philippe Normand.
913
914         * flatpak/org.webkit.WebKit.yaml:
915
916 2018-09-29  Commit Queue  <commit-queue@webkit.org>
917
918         Unreviewed, rolling out r236631.
919         https://bugs.webkit.org/show_bug.cgi?id=190112
920
921         Caused various eventSender tests, including fast/css/pseudo-
922         active-style-sharing*, to fail (Requested by smfr on #webkit).
923
924         Reverted changeset:
925
926         "Regression(r236512): http/tests/navigation/keyboard-events-
927         during-provisional-navigation.html is flaky"
928         https://bugs.webkit.org/show_bug.cgi?id=190052
929         https://trac.webkit.org/changeset/236631
930
931 2018-09-28  Myles C. Maxfield  <mmaxfield@apple.com>
932
933         [WHLSL] Fix build after r236635
934         https://bugs.webkit.org/show_bug.cgi?id=189210
935
936         Unreviewed.
937
938         * WebGPUShadingLanguageRI/Intrinsics.js:
939         (Intrinsics.):
940         * WebGPUShadingLanguageRI/Test.js:
941         (tests.atomicsNull):
942         (tests.numThreads):
943         (tests.textureDimensionsNull):
944
945 2018-09-28  Myles C. Maxfield  <mmaxfield@apple.com>
946
947         [WHLSL] Allow uniform buffers to be used in the interpreter
948         https://bugs.webkit.org/show_bug.cgi?id=189210
949
950         Reviewed by Filip Pizlo.
951
952         Every lvalue is associated with an address space, and the propagation of these address spaces
953         matches the propagation of lvalues. Luckily, there was already the infrastructure to do most
954         of this, so this patch just goes the last few yards. It also updates the standard library to
955         allow for writing into all writable address spaces for out-params.
956
957         * WebGPUShadingLanguageRI/Checker.js:
958         (Checker.prototype.visitAssignment):
959         (Checker.prototype._finishVisitingPropertyAccess):
960         * WebGPUShadingLanguageRI/Intrinsics.js:
961         (Intrinsics.):
962         (Intrinsics.checkFalse):
963         (Intrinsics):
964         * WebGPUShadingLanguageRI/StandardLibrary.js:
965         (let.standardLibrary):
966         * WebGPUShadingLanguageRI/Test.js:
967         (tests.threadArrayRefLoad):
968         (tests.threadArrayRefLoadIntLiteral):
969         (tests.deviceArrayRefLoad):
970         (tests.threadArrayRefStore):
971         (tests.deviceArrayRefStore):
972         (tests.deviceArrayRefStoreIntLiteral):
973         (tests.threadPointerLoad):
974         (tests.threadPointerStore):
975         (tests.devicePointerLoad):
976         (tests.devicePointerStore):
977         (tests.arrayLoad):
978         (tests.constantAddressSpace):
979         (tests.standardLibraryDevicePointers):
980         (tests.threadArrayLoad): Deleted.
981         (tests.threadArrayLoadIntLiteral): Deleted.
982         (tests.deviceArrayLoad): Deleted.
983         (tests.threadArrayStore): Deleted.
984         (tests.deviceArrayStore): Deleted.
985         (tests.deviceArrayStoreIntLiteral): Deleted.
986
987 2018-09-28  Wenson Hsieh  <wenson_hsieh@apple.com>
988
989         No DOM API to instantiate an attachment for an img element
990         https://bugs.webkit.org/show_bug.cgi?id=189934
991         <rdar://problem/44743222>
992
993         Reviewed by Ryosuke Niwa.
994
995         Adds 3 new API tests in WKAttachmentTests:
996
997         `AddAttachmentToConnectedImageElement` verifies that an image element that's already in the document can gain an
998         attachment element via `HTMLAttachmentElement.getAttachmentIdentifier`.
999
1000         `ChangeFileWrapperForPastedImage` verifies that an image that has been pasted produces a _WKAttachment in the UI
1001         process, and changing the file wrapper of that _WKAttachment changes the pasted image.
1002
1003         `ConnectImageWithAttachmentToDocument` verifies that script can create an image element, ensure that it has an
1004         attachment, and set a file wrapper for the generated _WKAttachment. Connecting the image to the document should
1005         then result in an image element with the contents of the _WKAttachment's file wrapper.
1006
1007         * TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
1008         (-[TestWKWebView imageElementSize]):
1009         (-[TestWKWebView waitForImageElementSizeToBecome:]):
1010         (TestWebKitAPI::TEST):
1011         (-[TestWKWebView waitForAttachmentElementSizeToBecome:]): Deleted.
1012
1013 2018-09-28  Chris Dumez  <cdumez@apple.com>
1014
1015         Regression(r236512): http/tests/navigation/keyboard-events-during-provisional-navigation.html is flaky
1016         https://bugs.webkit.org/show_bug.cgi?id=190052
1017
1018         Reviewed by Ryosuke Niwa.
1019
1020         The test relies on EventSender to send events to the page synchronously to the page and then uses console.log
1021         to log those events. It also uses console.log() before sending those events to indicate what the test is about
1022         to do. Note that console.log() normally causes the WebKitTestRunner to send an asynchronous IPC to the UIProcess
1023         so that it can log the message.
1024         The issue is that EventSender uses IPC::SendOption::UseFullySynchronousModeForTesting when sending the
1025         sync IPC to the UIProcess. This option causes follow-up *asynchronous* IPC sent from the synchronous IPC reply
1026         handler to be transformed into synchronous IPC.
1027         As a result, some of the console.log IPC ended up being asynchronous and some other ended up being synchronous.
1028         Because synchronous and asynchronous IPC is not necessarily processed in-order by the UIProcess, the logged
1029         messages may end up being out of order, leading to flakiness.
1030
1031         To address the issue, we now make sure that InjectedBundle::outputText() uses a new IPC::SendOption indicating
1032         that the IPC should always be sent asynchronously, even if the connection is in fully synchronous mode. As a
1033         result, all text outputing IPC to the UIProcess will be asynchronous, and thus in order.
1034
1035         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1036         (WTR::InjectedBundle::outputText):
1037
1038 2018-09-28  Myles C. Maxfield  <mmaxfield@apple.com>
1039
1040         [WHLSL] Pointers should have automatically-generated equality checks
1041         https://bugs.webkit.org/show_bug.cgi?id=189986
1042
1043         Reviewed by Filip Pizlo.
1044
1045         C allows for pointer equality, and we need it so people can do null checks.
1046         This is generated the same way all our other NativeFuncs are generated - by Checker
1047         creating NativeFuncs inside CallExpression.resolve().
1048
1049         This patch also does some general cleanup.
1050
1051         * WebGPUShadingLanguageRI/All.js: Everything the late checker does is no longer necessary.
1052         The last thing it was doing was making sure that only primitive types are in resources, but
1053         it's totally reasonable to put structs and arrays in resources, so I removed this pass. We
1054         still have to add a check to make sure resources can't live within resources, but I expect
1055         that will be done in the same place that semantics are checked.
1056         * WebGPUShadingLanguageRI/AllocateAtEntryPoints.js:
1057         (allocateAtEntryPoints.updateFunction.UpdateFunctions.prototype._addVariableDeclaration):
1058         Name the global struct for debugging purposes.
1059         * WebGPUShadingLanguageRI/CallExpression.js: 
1060         (CallExpression.prototype._resolveByInstantiation): Cleanup
1061         (CallExpression.prototype._resolveWithOperatorAnderIndexer): Ditto
1062         (CallExpression.prototype._resolveWithOperatorLength): Ditto
1063         (CallExpression.prototype._resolveWithReferenceComparator): Add support to automatically
1064         generate pointer equality NativeFuncs.
1065         * WebGPUShadingLanguageRI/EPtr.js: Implement pointer equality in the interpreter.
1066         * WebGPUShadingLanguageRI/LateChecker.js: Removed.
1067         * WebGPUShadingLanguageRI/LayoutBuffers.js: Renamed from Tools/WebGPUShadingLanguageRI/LateCheckAndLayoutBuffers.js.
1068         (layoutBuffers):
1069         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj:
1070         * WebGPUShadingLanguageRI/NativeFunc.js:
1071         * WebGPUShadingLanguageRI/OperatorArrayRefLength.js:
1072         (OperatorArrayRefLength.prototype.instantiateImplementation):
1073         (OperatorArrayRefLength):
1074         * WebGPUShadingLanguageRI/Prepare.js:
1075         (let.prepare):
1076         * WebGPUShadingLanguageRI/SPIRV.html:
1077         * WebGPUShadingLanguageRI/Test.html:
1078         * WebGPUShadingLanguageRI/Test.js:
1079         (tests.ternaryExpression):
1080         (tests.break): Speed up testing time
1081         (tests.doWhile): Ditto
1082         (tests.forLoop): Ditto
1083         (tests.atomics): Ditto
1084         (tests.atomicsNull): Ditto
1085         (tests.pointerEquality): Test pointer equality
1086         (tests.standardLibraryDevicePointers):
1087         (tests.devicePtrPtr): Deleted.
1088         (tests.threadgroupPtrPtr): Deleted.
1089         (tests.constantPtrPtr): Deleted.
1090         * WebGPUShadingLanguageRI/index.html:
1091
1092 2018-09-28  Jiewen Tan  <jiewen_tan@apple.com>
1093
1094         [WebAuthN] Polish WebAuthN auto-test environment
1095         https://bugs.webkit.org/show_bug.cgi?id=189283
1096         <rdar://problem/44117828>
1097
1098         Reviewed by Chris Dumez.
1099
1100         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1101         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
1102
1103 2018-09-28  Chris Dumez  <cdumez@apple.com>
1104
1105         Drop support for cross-origin-window-policy header
1106         https://bugs.webkit.org/show_bug.cgi?id=190081
1107
1108         Reviewed by Ryosuke Niwa.
1109
1110         190081_DropCrossOriginWindowPolicy
1111
1112         * DumpRenderTree/mac/DumpRenderTree.mm:
1113         (enableExperimentalFeatures):
1114         * DumpRenderTree/win/DumpRenderTree.cpp:
1115         (enableExperimentalFeatures):
1116         * WebKitTestRunner/TestController.cpp:
1117         (WTR::TestController::resetPreferencesToConsistentValues):
1118
1119 2018-09-28  Koby Boyango  <koby.b@mce.systems>
1120
1121         [WTF] Add ExternalStringImpl, a StringImpl for user controlled buffers
1122         https://bugs.webkit.org/show_bug.cgi?id=189991
1123
1124         Reviewed by Yusuke Suzuki.
1125
1126         * TestWebKitAPI/Tests/WTF/StringImpl.cpp:
1127
1128 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
1129
1130         Update flakiness dashboard configuration for Mojave queues
1131         https://bugs.webkit.org/show_bug.cgi?id=190068
1132
1133         Reviewed by Alexey Proskuryakov.
1134
1135         * TestResultServer/static-dashboards/builders.jsonp:
1136
1137 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
1138
1139         Bring up queues for Mojave
1140         https://bugs.webkit.org/show_bug.cgi?id=189935
1141
1142         Unreviewed infrastructure fix.
1143
1144         * BuildSlaveSupport/build.webkit.org-config/config.json: Remove trigger, update bot assignment.
1145
1146 2018-09-24  Ryan Haddad  <ryanhaddad@apple.com>
1147
1148         Bring up queues for Mojave
1149         https://bugs.webkit.org/show_bug.cgi?id=189935
1150
1151         Reviewed by Alexey Proskuryakov.
1152
1153         * BuildSlaveSupport/build.webkit.org-config/config.json:
1154         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
1155         (WebKitBuildbot):
1156         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
1157
1158 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
1159
1160         Increase the timeout for iOS Simulator data migration
1161         https://bugs.webkit.org/show_bug.cgi?id=190059
1162
1163         Reviewed by Aakash Jain.
1164
1165         3 minutes isn't always enough time for the data migrator to complete
1166         when booting up multiple iOS Simulators. Change the timeout to 10 minutes.
1167
1168         * Scripts/webkitpy/xcode/simulated_device.py:
1169         (SimulatedDeviceManager): Create a constant for the default timeout.
1170         (SimulatedDeviceManager.initialize_devices): Use new constant.
1171         (SimulatedDeviceManager.swap): Ditto.
1172         (SimulatedDeviceManager.wait_until_data_migration_is_done): Ditto.
1173
1174 2018-09-27  Alex Christensen  <achristensen@webkit.org>
1175
1176         URLParser should use TextEncoding through an abstract class
1177         https://bugs.webkit.org/show_bug.cgi?id=190027
1178
1179         Reviewed by Andy Estes.
1180
1181         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
1182         (TestWebKitAPI::checkURL):
1183         (TestWebKitAPI::TEST_F):
1184
1185 2018-09-27  Ryan Haddad  <ryanhaddad@apple.com>
1186
1187         iOS Simulator bots should pass '--dedicated-simulators' to run-webkit-tests
1188         https://bugs.webkit.org/show_bug.cgi?id=190042
1189
1190         Reviewed by Aakash Jain.
1191
1192         To make iOS Simulator bots resilient to issues that can arise from reusing
1193         existing simulators, ensure that dedicated simulators are created for each test run.
1194
1195         * Scripts/webkitpy/common/config/ports.py:
1196         (IOSSimulatorWK2Port.run_webkit_tests_command):
1197
1198 2018-09-27  Alex Christensen  <achristensen@webkit.org>
1199
1200         URLWithUserTypedString should return nil for URLs deemed to be invalid by WebCore::URL
1201         https://bugs.webkit.org/show_bug.cgi?id=189979
1202
1203         Reviewed by Youenn Fablet.
1204
1205         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
1206         (TestWebKitAPI::originalDataAsString):
1207         (TestWebKitAPI::TEST):
1208
1209 2018-09-27  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1210
1211         [Win][WebKit] Implement authentication dialog on MiniBrowser.
1212         https://bugs.webkit.org/show_bug.cgi?id=189846
1213
1214         Reviewed by Fujii Hironori.
1215
1216         It was implemented for WebKitLegacy, but not for WebKit.
1217         Also added text field to display Realm information.
1218
1219         * MiniBrowser/win/Common.cpp:
1220         (authDialogProc):
1221         (askCredential):
1222         (displayAuthDialog): Deleted.
1223         * MiniBrowser/win/Common.h:
1224         * MiniBrowser/win/MiniBrowserLib.rc:
1225         * MiniBrowser/win/MiniBrowserLibResource.h:
1226         * MiniBrowser/win/ResourceLoadDelegate.cpp:
1227         (ResourceLoadDelegate::didReceiveAuthenticationChallenge):
1228         * MiniBrowser/win/WebKitBrowserWindow.cpp:
1229         (createString):
1230         (createUTF8String):
1231         (createWKString):
1232         (createWKURL):
1233         (WebKitBrowserWindow::WebKitBrowserWindow):
1234         (WebKitBrowserWindow::didReceiveAuthenticationChallenge):
1235         (toNullTerminatedUTF8): Deleted.
1236         * MiniBrowser/win/WebKitBrowserWindow.h:
1237
1238 2018-09-27  Youenn Fablet  <youenn@apple.com>
1239
1240         Enable getUserMedia in mini browser
1241         https://bugs.webkit.org/show_bug.cgi?id=190012
1242
1243         Reviewed by Eric Carlson.
1244
1245         Enable MediaDevices and mock capture devices.
1246         Grant mock devices access to any getUserMedia call.
1247         Covered by manual testing.
1248
1249         * MiniBrowser/mac/AppDelegate.m:
1250         (defaultConfiguration):
1251         * MiniBrowser/mac/WK2BrowserWindowController.m:
1252         (-[WK2BrowserWindowController _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
1253         (-[WK2BrowserWindowController _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
1254
1255 2018-09-27  Antoine Quint  <graouts@apple.com>
1256
1257         [Web Animations] Turn Web Animations with CSS integration on
1258         https://bugs.webkit.org/show_bug.cgi?id=184819
1259         <rdar://problem/39597337>
1260
1261         Reviewed by Dean Jackson.
1262
1263         * DumpRenderTree/TestOptions.h:
1264
1265 2018-09-26  Alex Christensen  <achristensen@webkit.org>
1266
1267         Unreviewed, rolling out r236524.
1268
1269         Broke API tests
1270
1271         Reverted changeset:
1272
1273         "URLWithUserTypedString should return nil for URLs deemed to
1274         be invalid by WebCore::URL"
1275         https://bugs.webkit.org/show_bug.cgi?id=189979
1276         https://trac.webkit.org/changeset/236524
1277
1278 2018-09-26  James Savage  <james.savage@apple.com>
1279
1280         Allow override of viewport configuration.
1281         https://bugs.webkit.org/show_bug.cgi?id=188772.
1282         <rdar://problem/43538892>.
1283
1284         Reviewed by Simon Fraser.
1285
1286         * WebKitTestRunner/TestController.cpp:
1287         (WTR::updateTestOptionsFromTestHeader): Parse new test option key from comments.
1288         * WebKitTestRunner/TestOptions.h:
1289         * WebKitTestRunner/ios/TestControllerIOS.mm:
1290         (WTR::TestController::platformConfigureViewForTest): Handle new test option by
1291         modifying the web view's preferences accordingly.
1292
1293 2018-09-26  Alex Christensen  <achristensen@webkit.org>
1294
1295         URLs with mismatched surrogate pairs in the host should fail to parse
1296         https://bugs.webkit.org/show_bug.cgi?id=190005
1297
1298         Reviewed by Chris Dumez.
1299
1300         * TestWebKitAPI/Tests/WebCore/URLParser.cpp:
1301         (TestWebKitAPI::TEST_F):
1302
1303 2018-09-26  Alex Christensen  <achristensen@webkit.org>
1304
1305         URLWithUserTypedString should return nil for URLs deemed to be invalid by WebCore::URL
1306         https://bugs.webkit.org/show_bug.cgi?id=189979
1307         <rdar://problem/44119696>
1308
1309         Reviewed by Chris Dumez.
1310
1311         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
1312         (TestWebKitAPI::TEST):
1313
1314 2018-09-26  Ryosuke Niwa  <rniwa@webkit.org>
1315
1316         Selection should work across shadow boundary when initiated by a mouse drag
1317         https://bugs.webkit.org/show_bug.cgi?id=151380
1318         <rdar://problem/24363872>
1319
1320         Reviewed by Wenson Hsieh.
1321
1322         Added the support for internal:selectionAcrossShadowBoundariesEnabled test option.
1323
1324         * DumpRenderTree/TestOptions.cpp:
1325         (TestOptions::TestOptions):
1326         * DumpRenderTree/TestOptions.h:
1327         * DumpRenderTree/mac/DumpRenderTree.mm:
1328         (resetWebPreferencesToConsistentValues):
1329         (setWebPreferencesForTestOptions):
1330
1331 2018-09-26  Ryosuke Niwa  <rniwa@webkit.org>
1332
1333         MiniBrowser doesn't respect default enabled-ness of experimental and internal debug features
1334         https://bugs.webkit.org/show_bug.cgi?id=189989
1335
1336         Reviewed by Simon Fraser.
1337
1338         When the preference isn't found in user defaults, use the default value of each feature's enabledness.
1339
1340         * MiniBrowser/mac/AppDelegate.m:
1341         (defaultConfiguration):
1342
1343 2018-09-26  Philippe Normand  <pnormand@igalia.com>
1344
1345         [Flatpak] Bump to apr 1.6.5
1346
1347         Version 1.6.3 is no longer available on Apache's website.
1348
1349         Rubber-stamped by Michael Catanzaro.
1350
1351         * flatpak/org.webkit.WebKit.yaml:
1352
1353 2018-09-25  Jiewen Tan  <jiewen_tan@apple.com>
1354
1355         [WebAuthN] Make AuthenticatorManager
1356         https://bugs.webkit.org/show_bug.cgi?id=189279
1357         <rdar://problem/44116792>
1358
1359         Reviewed by Chris Dumez.
1360
1361         Besides the functionality to set the WebAuthenticationMockConfiguration. Three operations are
1362         added to manipulate Keychain: addTestKeyToKeychain, cleanUpKeychain and keyExistedInKeychain.
1363
1364         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1365         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm: Removed.
1366         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1367         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1368         (WTR::TestRunner::setWebAuthenticationMockConfiguration):
1369         (WTR::TestRunner::addTestKeyToKeychain):
1370         (WTR::TestRunner::cleanUpKeychain):
1371         (WTR::TestRunner::isKeyExisted):
1372         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1373         * WebKitTestRunner/TestController.cpp:
1374         (WTR::TestController::addTestKeyToKeychain):
1375         (WTR::TestController::cleanUpKeychain):
1376         (WTR::TestController::isKeyExisted):
1377         (WTR::TestController::setWebAuthenticationMockConfiguration):
1378         * WebKitTestRunner/TestController.h:
1379         * WebKitTestRunner/TestInvocation.cpp:
1380         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1381         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
1382         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
1383         (WTR::TestController::addTestKeyToKeychain):
1384         (WTR::TestController::cleanUpKeychain):
1385         (WTR::TestController::keyExistedInKeychain):
1386
1387 2018-09-25  Sihui Liu  <sihui_liu@apple.com>
1388
1389         Move Service Worker Management from Storage Process to Network Process
1390         https://bugs.webkit.org/show_bug.cgi?id=189422
1391
1392         Reviewed by Youenn Fablet.
1393
1394         Change a check in ServiceWorkers.HasServiceWorkerRegistrationBit as storage process is not
1395         launched during service worker operations now.
1396
1397         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1398
1399 2018-09-25  Eric Carlson  <eric.carlson@apple.com>
1400
1401         [MediaStream] Update constraints supported by getDisplayMedia
1402         https://bugs.webkit.org/show_bug.cgi?id=189930
1403         <rdar://problem/44740305>
1404
1405         Unreviewed, fix test broken by r236465.
1406
1407         * TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:
1408         (TestWebKitAPI::TEST_F):
1409
1410 2018-09-25  Myles C. Maxfield  <mmaxfield@apple.com>
1411
1412         [WHSL] Implement semantics
1413         https://bugs.webkit.org/show_bug.cgi?id=189134
1414
1415         Reviewed by Filip Pizlo.
1416
1417         This patch adds parsing support and adds the checks required to support HLSL-style semantics.
1418
1419         There are 3 places where semantics are allowed:
1420
1421         1. In a field in a struct. E.g.
1422
1423         struct R {
1424             float4 position : SV_Position;
1425         }
1426         vertex R foo() {
1427             ...
1428         }
1429
1430         2. In a parameter of a function. If the function is not an entry point, the semantic is ignored.
1431
1432         compute void foo(device float[] data : buffer(u0)) {
1433             ...
1434         }
1435
1436         3. On a function. This is so you don't have to create structs for the return types of simple vertex shaders.
1437
1438         vertex float4 foo() : SV_Position {
1439             ...
1440         }
1441
1442         The semantics are partitioned into 4 types:
1443
1444         1. Built-in variables. For example, : SV_Position.
1445         2. Resources. For example, : register(u0).
1446         3. Stage-in / stage-out variables. For example, : attribute(0).
1447         4. Specialization constants. For example, : specialized.
1448
1449         The semantics are validated according to a collection of rules:
1450
1451         - The same entry point can't list the same semantic twice
1452         - Each built-in type has an appropriate type that is listed in the spec. 
1453         - Each built-in is appropriate as either an input or an output of a particular shader stage
1454         - Resource semantics have to have the appropriate type (e.g. can't use register(s0) on a buffer)
1455         - Resources can't be output from entry points
1456         - The resource semantic mode must match the address space of the resource
1457         - Stage-in and stage-out variables have to be POD
1458         - Specialization constants can't be output from entry points, and have to be numbers
1459
1460         * WebGPUShadingLanguageRI/All.js:
1461         * WebGPUShadingLanguageRI/BuiltInSemantic.js: Added.
1462         (BuiltInSemantic):
1463         (BuiltInSemantic.prototype.get name):
1464         (BuiltInSemantic.prototype.get extraArguments):
1465         (BuiltInSemantic.prototype.isAcceptableType):
1466         (BuiltInSemantic.prototype.isAcceptableForShaderType):
1467         (BuiltInSemantic.prototype.toString):
1468         * WebGPUShadingLanguageRI/CallExpression.js:
1469         (CallExpression.prototype._resolveWithOperatorAnderIndexer):
1470         (CallExpression.prototype._resolveWithOperatorLength):
1471         * WebGPUShadingLanguageRI/Checker.js:
1472         (Checker):
1473         (Checker.prototype.visitProgram):
1474         (Checker.prototype._checkSemantics.Item):
1475         (Checker.prototype._checkSemantics.Item.prototype.get type):
1476         (Checker.prototype._checkSemantics.Item.prototype.get semantic):
1477         (Checker.prototype._checkSemantics.Gatherer):
1478         (Checker.prototype._checkSemantics.Gatherer.prototype.reset):
1479         (Checker.prototype._checkSemantics.Gatherer.prototype.set currentSemantic):
1480         (Checker.prototype._checkSemantics.Gatherer.prototype.get currentSemantic):
1481         (Checker.prototype._checkSemantics.Gatherer.prototype.get result):
1482         (Checker.prototype._checkSemantics.Gatherer.prototype.visitEnumType):
1483         (Checker.prototype._checkSemantics.Gatherer.prototype.visitVectorType):
1484         (Checker.prototype._checkSemantics.Gatherer.prototype.visitMatrixType):
1485         (Checker.prototype._checkSemantics.Gatherer.prototype.visitNativeType):
1486         (Checker.prototype._checkSemantics.Gatherer.prototype.visitStructType):
1487         (Checker.prototype._checkSemantics.Gatherer.prototype.visitTypeRef):
1488         (Checker.prototype._checkSemantics.Gatherer.prototype.visitPtrType):
1489         (Checker.prototype._checkSemantics.Gatherer.prototype.visitArrayRefType):
1490         (Checker.prototype._checkSemantics.Gatherer.prototype.visitArrayType):
1491         (Checker.prototype._checkSemantics.Gatherer.prototype.visitFuncParameter):
1492         (Checker.prototype._checkSemantics.checkDuplicateSemantics):
1493         (Checker.prototype._checkSemantics.checkSemanticTypes):
1494         (Checker.prototype._checkSemantics.checkSemanticForShaderType):
1495         (Checker.prototype._checkSemantics.PODChecker.prototype.visitEnumType):
1496         (Checker.prototype._checkSemantics.PODChecker.prototype.visitArrayType):
1497         (Checker.prototype._checkSemantics.PODChecker.prototype.visitVectorType):
1498         (Checker.prototype._checkSemantics.PODChecker.prototype.visitMatrixType):
1499         (Checker.prototype._checkSemantics.PODChecker.prototype.visitNativeType):
1500         (Checker.prototype._checkSemantics.PODChecker.prototype.visitPtrType):
1501         (Checker.prototype._checkSemantics.PODChecker.prototype.visitArrayRefType):
1502         (Checker.prototype._checkSemantics.PODChecker.prototype.visitStructType):
1503         (Checker.prototype._checkSemantics.PODChecker.prototype.visitTypeRef):
1504         (Checker.prototype._checkSemantics.PODChecker):
1505         (Checker.prototype._checkSemantics.checkPODData):
1506         (Checker.prototype._checkSemantics):
1507         (Checker.prototype._checkShaderType):
1508         (Checker.prototype._checkOperatorOverload):
1509         (Checker.prototype.visitFuncDef):
1510         (Checker.prototype.visitEnumType):
1511         (Checker.prototype.visitArrayType):
1512         (Checker.prototype.visitMakePtrExpression):
1513         (Checker.prototype.visitMakeArrayRefExpression):
1514         (Checker.prototype._finishVisitingPropertyAccess):
1515         (Checker.prototype.visitIndexExpression):
1516         (Checker.prototype.visitReturn):
1517         (Checker.prototype.visitSwitchStatement):
1518         (Checker.prototype.visitTernaryExpression):
1519         (Checker.prototype.visitCallExpression):
1520         * WebGPUShadingLanguageRI/Field.js:
1521         (Field):
1522         (Field.prototype.get semantic):
1523         (Field.prototype.toString):
1524         * WebGPUShadingLanguageRI/Func.js:
1525         (Func):
1526         (Func.prototype.get semantic):
1527         (Func.prototype.toDeclString):
1528         * WebGPUShadingLanguageRI/FuncDef.js:
1529         (FuncDef):
1530         * WebGPUShadingLanguageRI/FuncParameter.js:
1531         (FuncParameter):
1532         (FuncParameter.prototype.get semantic):
1533         (FuncParameter.prototype.toString):
1534         * WebGPUShadingLanguageRI/Intrinsics.js:
1535         * WebGPUShadingLanguageRI/LateChecker.js:
1536         (LateChecker.prototype.visitReferenceType):
1537         (LateChecker):
1538         (LateChecker.prototype._checkShaderType): Deleted.
1539         (LateChecker.prototype.visitFuncDef): Deleted.
1540         * WebGPUShadingLanguageRI/NativeFunc.js:
1541         (NativeFunc):
1542         * WebGPUShadingLanguageRI/Parse.js:
1543         (parseParameter):
1544         (parseFuncDecl):
1545         (parseFuncDef):
1546         (parseStageInOutSemantic):
1547         (parseResourceSemantic):
1548         (parseSpecializationConstantSemantic):
1549         (parseBuiltInSemantic):
1550         (parseField):
1551         (parseNativeFunc):
1552         * WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js:
1553         (programWithUnnecessaryThingsRemoved):
1554         * WebGPUShadingLanguageRI/ResourceSemantic.js: Added.
1555         (ResourceSemantic):
1556         (ResourceSemantic.prototype.get resourceMode):
1557         (ResourceSemantic.prototype.get index):
1558         (ResourceSemantic.prototype.get space):
1559         (ResourceSemantic.prototype.isAcceptableType):
1560         (ResourceSemantic.prototype.isAcceptableForShaderType):
1561         (ResourceSemantic.prototype.toString):
1562         * WebGPUShadingLanguageRI/Rewriter.js:
1563         (Rewriter.prototype.visitFuncParameter):
1564         (Rewriter.prototype.visitField):
1565         (Rewriter.prototype.visitBuiltInSemantic):
1566         (Rewriter.prototype.visitResourceSemantic):
1567         (Rewriter.prototype.visitStageInOutSemantic):
1568         (Rewriter.prototype.visitSpecializationConstantSemantic):
1569         (Rewriter):
1570         * WebGPUShadingLanguageRI/SPIRV.html:
1571         * WebGPUShadingLanguageRI/Semantic.js: Added.
1572         (Semantic):
1573         (Semantic.prototype.get origin):
1574         (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitBuiltInSemantic):
1575         (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitResourceSemantic):
1576         (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitStageInOutSemantic):
1577         (Semantic.prototype.equalToOtherSemantic.Comparer.prototype.visitSpecializationConstantSemantic):
1578         (Semantic.prototype.equalToOtherSemantic.Comparer):
1579         (Semantic.prototype.equalToOtherSemantic):
1580         * WebGPUShadingLanguageRI/SpecializationConstantSemantic.js: Copied from Tools/WebGPUShadingLanguageRI/Field.js.
1581         (SpecializationConstantSemantic):
1582         (SpecializationConstantSemantic.prototype.isAcceptableType):
1583         (SpecializationConstantSemantic.prototype.isAcceptableForShaderType):
1584         (SpecializationConstantSemantic.prototype.toString):
1585         * WebGPUShadingLanguageRI/StageInOutSemantic.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
1586         (StageInOutSemantic):
1587         (StageInOutSemantic.prototype.get index):
1588         (StageInOutSemantic.prototype.isAcceptableType):
1589         (StageInOutSemantic.prototype.isAcceptableForShaderType):
1590         (StageInOutSemantic.prototype.toString):
1591         * WebGPUShadingLanguageRI/StatementCloner.js:
1592         (StatementCloner.prototype.visitNativeFunc):
1593         * WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js:
1594         (synthesizeArrayOperatorLength):
1595         * WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js:
1596         (synthesizeCopyConstructorOperator):
1597         * WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js:
1598         (synthesizeDefaultConstructorOperator):
1599         * WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js:
1600         (synthesizeEnumFunctions):
1601         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
1602         (setupAnder):
1603         (synthesizeStructAccessorsForStructType):
1604         * WebGPUShadingLanguageRI/Test.html:
1605         * WebGPUShadingLanguageRI/Test.js:
1606         (tests.shaderTypes):
1607         * WebGPUShadingLanguageRI/Visitor.js:
1608         (Visitor.prototype.visitFunc):
1609         (Visitor.prototype.visitFuncParameter):
1610         (Visitor.prototype.visitField):
1611         (Visitor.prototype.visitBuiltInSemantic):
1612         (Visitor.prototype.visitResourceSemantic):
1613         (Visitor.prototype.visitStageInOutSemantic):
1614         (Visitor.prototype.visitSpecializationConstantSemantic):
1615         (Visitor):
1616         * WebGPUShadingLanguageRI/index.html:
1617
1618 2018-09-25  Thomas Denney  <tdenney@apple.com>
1619
1620         [WHLSL] Test suite for Metal code generation
1621         https://bugs.webkit.org/show_bug.cgi?id=187738
1622
1623         Reviewed by Myles C. Maxfield.
1624
1625         This patch adds an Xcode project that contains a Cocoa app that can be
1626         used for running WHLSL shaders on the GPU. It also contains an Xcode
1627         test suite that runs all of the tests in Test.js on the GPU.
1628
1629         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/.gitignore: Added.
1630         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.h: Added.
1631         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.m: Added.
1632         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/AppIcon.appiconset/Contents.json: Added.
1633         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/Contents.json: Added.
1634         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Base.lproj/Main.storyboard: Added.
1635         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.h: Added.
1636         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.m: Added.
1637         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.h: Added.
1638         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m: Added.
1639         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.h: Added.
1640         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.m: Added.
1641         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl: Added.
1642         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl: Added.
1643         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl: Added.
1644         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Info.plist: Added.
1645         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.h: Added.
1646         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.m: Added.
1647         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.h: Added.
1648         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.m: Added.
1649         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.h: Added.
1650         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.m: Added.
1651         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.h: Added.
1652         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.m: Added.
1653         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.h: Added.
1654         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.m: Added.
1655         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.h: Added.
1656         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.m: Added.
1657         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.h: Added.
1658         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.m: Added.
1659         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.h: Added.
1660         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.m: Added.
1661         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/WHLSL.entitlements: Added.
1662         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/_SharedMetal.txt: Added.
1663         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/main.m: Added.
1664         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj: Added.
1665         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/Info.plist: Added.
1666         * WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/WHLSL_ToyTests.m: Added.
1667         * WebGPUShadingLanguageRI/Test.js:
1668         (tests.lotsOfLocalVariables):
1669
1670 2018-09-25  Myles C. Maxfield  <mmaxfield@apple.com>
1671
1672         Unreviewed build fix after r236455
1673         https://bugs.webkit.org/show_bug.cgi?id=189121
1674
1675         * WebGPUShadingLanguageRI/Test.js:
1676         (tests.shaderStages):
1677
1678 2018-09-24  Myles C. Maxfield  <mmaxfield@apple.com>
1679
1680         [WHLSL] Not all functions should be able to run in all shader stages
1681         https://bugs.webkit.org/show_bug.cgi?id=189121
1682
1683         Reviewed by Filip Pizlo.
1684
1685         ddx() and ddy() can only run in fragment shaders, and the barrier functions can only run in compute shaders.
1686         ddx_coarse() & friends are currently implemented as just calling ddx(), so we only need to modify those functions
1687         if/when we make them native.
1688
1689         The texture sampling functions that use implicit derivatives can run in any shader stage - they just use a LOD of
1690         0. Therefore, those functions are unchanged.
1691
1692         * WebGPUShadingLanguageRI/All.js:
1693         * WebGPUShadingLanguageRI/Intrinsics.js:
1694         * WebGPUShadingLanguageRI/LateChecker.js:
1695         (LateChecker.prototype._checkShaderType):
1696         * WebGPUShadingLanguageRI/NativeFunc.js:
1697         (NativeFunc):
1698         (NativeFunc.prototype.get stage):
1699         (NativeFunc.prototype.toDeclString):
1700         * WebGPUShadingLanguageRI/Parse.js:
1701         (parseFuncDecl):
1702         (parseNativeFunc):
1703         (parseNative):
1704         * WebGPUShadingLanguageRI/Prepare.js:
1705         (let.prepare):
1706         * WebGPUShadingLanguageRI/SPIRV.html:
1707         * WebGPUShadingLanguageRI/StandardLibrary.js:
1708         (let.standardLibrary):
1709         * WebGPUShadingLanguageRI/StatementCloner.js:
1710         (StatementCloner.prototype.visitNativeFunc):
1711         * WebGPUShadingLanguageRI/Test.html:
1712         * WebGPUShadingLanguageRI/Test.js:
1713         (tests.shaderStages):
1714         * WebGPUShadingLanguageRI/WSyntaxError.js:
1715         (WSyntaxError.prototype.toString):
1716         (WSyntaxError):
1717         * WebGPUShadingLanguageRI/index.html:
1718
1719 2018-09-24  Thomas Denney  <tdenney@apple.com>
1720
1721         [WHLSL] Implement trap statements in Metal code generation
1722         https://bugs.webkit.org/show_bug.cgi?id=189615
1723
1724         Reviewed by Myles C. Maxfield.
1725
1726         Each function called by an entry point now receives an additional
1727         boolean pointer parameter, which is set to false if the function traps.
1728         After each function call (to a non-native function) this trap parameter
1729         is checked. The behavior of the interpreter has also been updated so
1730         that a function entry point catches the trap and instead returns zero,
1731         matching the behavior of compiled code.
1732
1733         * WebGPUShadingLanguageRI/Evaluator.js: Adds a new flag to allow the
1734         test suite to check for traps and also returns zero from entry points
1735         whose invocation trapped.
1736         * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Pass program to function
1737         declarations.
1738         * WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Update dependencies.
1739         * WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Add program
1740         property.
1741         * WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Ditto.
1742         * WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js: Added.
1743         * WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Conforms to the
1744         new trapping behavior.
1745         * WebGPUShadingLanguageRI/Test.js: Update tests that trap.
1746
1747 2018-09-24  Thomas Denney  <tdenney@apple.com>
1748
1749         [WHLSL] It shouldn’t be possible to use ternary expressions as l-values
1750         https://bugs.webkit.org/show_bug.cgi?id=189290
1751
1752         Reviewed by Myles C. Maxfield.
1753
1754         It is no longer possible for a ternary expression to be treated as an
1755         l-value. This patch adds several test cases to verify that this is the
1756         case.
1757
1758         * WebGPUShadingLanguageRI/Checker.js:
1759         (Checker.prototype.visitTernaryExpression): No longer check isLValue.
1760         * WebGPUShadingLanguageRI/NormalUsePropertyResolver:
1761         (NormalUsePropertyResolver.visitTernaryExpression): Deleted.
1762         * WebGPUShadingLanguageRI/Rewriter.js:
1763         (Rewriter.prototype.visitTernaryExpression): No longer copy isLValue.
1764         * WebGPUShadingLanguageRI/TernaryExpression.js:
1765         (TernaryExpression):
1766         (TernaryExpression.prototype.get elseExpression):
1767         (TernaryExpression.prototype.get isLValue): Deleted.
1768         (TernaryExpression.prototype.set isLValue): Deleted.
1769         * WebGPUShadingLanguageRI/Test.js:
1770         (tests.ternaryExpression): Add checks for failure if a failure is used
1771         as an l-value.
1772         (ternaryExpressionIsLValue.node.TernaryExpressionVisitor.prototype.visitTernaryExpression): Deleted.
1773         (ternaryExpressionIsLValue.node.TernaryExpressionVisitor): Deleted.
1774         (tests.ternaryExpressionIsLValue): Deleted.
1775
1776 2018-09-24  Jer Noble  <jer.noble@apple.com>
1777
1778         SharedBuffer should have an equality test
1779         https://bugs.webkit.org/show_bug.cgi?id=189919
1780
1781         Reviewed by Alex Christensen.
1782
1783         * TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
1784         (TestWebKitAPI::TEST_F):
1785
1786 2018-09-24  Alex Christensen  <achristensen@webkit.org>
1787
1788         Prepare to replace WKBundleFileHandleCreateWithPath with a version that takes a WKBundlePageRef
1789         https://bugs.webkit.org/show_bug.cgi?id=189929
1790
1791         Reviewed by Andy Estes.
1792
1793         * TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp:
1794
1795 2018-09-24  Thomas Denney  <tdenney@apple.com>
1796
1797         [WHLSL] Casting user-created types to themselves should always work
1798         https://bugs.webkit.org/show_bug.cgi?id=189113
1799
1800         Reviewed by Myles C. Maxfield.
1801
1802         Casting user-defined types to themselves worked already, but we didn't
1803         test it anywhere.
1804
1805         * WebGPUShadingLanguageRI/Test.js:
1806         (tests.selfCasts):
1807
1808 2018-09-24  Zan Dobersek  <zdobersek@igalia.com>
1809
1810         Unreviewed build fix for Jhbuild-using ports.
1811
1812         * gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch:
1813         Adjust the patch so it applies cleanly on the 1.14.3 version of the
1814         gst-plugins-good package.
1815
1816 2018-09-24  Ryan Haddad  <ryanhaddad@apple.com>
1817
1818         Update flakiness dashboard configuration for iOS 12 queues
1819         https://bugs.webkit.org/show_bug.cgi?id=189688
1820
1821         Reviewed by Alexey Proskuryakov.
1822
1823         * TestResultServer/static-dashboards/builders.jsonp:
1824
1825 2018-09-24  Alicia Boya García  <aboya@igalia.com>
1826
1827         [GStreamer] Unreviewed build fix.
1828
1829         A GStreamer patch was not applying cleanly on 1.14.3.
1830
1831         * gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch:
1832
1833 2018-09-24  Alicia Boya García  <aboya@igalia.com>
1834
1835         [MSE][GStreamer] Use no-more-pads event for noticing initialization segments
1836         https://bugs.webkit.org/show_bug.cgi?id=189868
1837
1838         Reviewed by Xabier Rodriguez-Calvar.
1839
1840         Added patch from https://bugzilla.gnome.org/show_bug.cgi?id=797187
1841
1842         * gstreamer/jhbuild.modules:
1843         * gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch: Added.
1844
1845 2018-09-24  Alicia Boya García  <aboya@igalia.com>
1846         [MSE][GStreamer] Add patch to jhbuild: matroskademux: Allow Matroska headers to be read more than once
1847         https://bugs.webkit.org/show_bug.cgi?id=185731
1848
1849         Reviewed by Xabier Rodriguez-Calvar.
1850
1851         Upstream bug in GStreamer: https://bugzilla.gnome.org/show_bug.cgi?id=793333
1852
1853         This fixes YTTV 35. AppendMultipleInitOpusAudio (and any other use
1854         case where two WebM initialization segments are appended on a row).
1855
1856         * gstreamer/jhbuild.modules:
1857         * gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Added.
1858         * gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Added.
1859         * gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Added.
1860
1861 2018-09-22  Myles C. Maxfield  <mmaxfield@apple.com>
1862
1863         [WHSL] Need grammar to specify kernel group size
1864         https://bugs.webkit.org/show_bug.cgi?id=189108
1865
1866         Reviewed by Dean Jackson.
1867
1868         In HLSL, compute functions are annotated with their workgroup size.
1869         For example,
1870
1871         [numthreads(3, 4, 5)] compute void foo(...) { ... }
1872
1873         * WebGPUShadingLanguageRI/All.js:
1874         * WebGPUShadingLanguageRI/Func.js:
1875         (Func):
1876         (Func.prototype.get attributeBlock):
1877         * WebGPUShadingLanguageRI/FuncAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
1878         (FuncAttribute):
1879         * WebGPUShadingLanguageRI/FuncDef.js:
1880         (FuncDef):
1881         * WebGPUShadingLanguageRI/FuncNumThreadsAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
1882         (FuncNumThreadsAttribute):
1883         (FuncNumThreadsAttribute.prototype.get x):
1884         (FuncNumThreadsAttribute.prototype.get y):
1885         (FuncNumThreadsAttribute.prototype.get z):
1886         * WebGPUShadingLanguageRI/LateChecker.js:
1887         (LateChecker.prototype._checkShaderType):
1888         * WebGPUShadingLanguageRI/Parse.js:
1889         (parseAttributeBlock):
1890         (parseFuncDecl):
1891         (parseFuncDef):
1892         (parseNativeFunc):
1893         * WebGPUShadingLanguageRI/SPIRV.html:
1894         * WebGPUShadingLanguageRI/StatementCloner.js:
1895         (StatementCloner.prototype.visitFuncDef):
1896         (StatementCloner.prototype.visitFuncNumThreadsAttribute):
1897         (StatementCloner):
1898         * WebGPUShadingLanguageRI/Test.html:
1899         * WebGPUShadingLanguageRI/Test.js:
1900         (tests.numThreads):
1901         * WebGPUShadingLanguageRI/Visitor.js:
1902         (Visitor.prototype.visitFunc):
1903         (Visitor.prototype.visitFuncNumThreadsAttribute):
1904         (Visitor):
1905         * WebGPUShadingLanguageRI/index.html:
1906
1907 2018-09-22  Myles C. Maxfield  <mmaxfield@apple.com>
1908
1909         Native functions which accept pointers need to do null checks
1910         https://bugs.webkit.org/show_bug.cgi?id=189883
1911
1912         Reviewed by Dean Jackson.
1913
1914         Simply guard all the places where we write through an author-provided pointer.
1915
1916         * WebGPUShadingLanguageRI/Intrinsics.js:
1917         (Intrinsics.):
1918         * WebGPUShadingLanguageRI/Test.js:
1919         (tests.textureDimensionsNull):
1920
1921 2018-09-22  Myles C. Maxfield  <mmaxfield@apple.com>
1922
1923         [WHLSL] Implement atomic operations and barriers
1924         https://bugs.webkit.org/show_bug.cgi?id=189025
1925
1926         Reviewed by Dean Jackson.
1927
1928         In the interpreter, atomic operations don't need to be atomic.
1929
1930         * WebGPUShadingLanguageRI/Intrinsics.js:
1931         (Intrinsics.):
1932         * WebGPUShadingLanguageRI/StandardLibrary.js:
1933         (let.standardLibrary):
1934         * WebGPUShadingLanguageRI/Test.js:
1935         (tests.atomics):
1936
1937 2018-09-22  Thibault Saunier  <tsaunier@igalia.com>
1938
1939         [WPE] Be very permissive in the MiniBrowser.
1940         https://bugs.webkit.org/show_bug.cgi?id=189800
1941
1942         This is just a test tool and we should make
1943         it just work, security and privacy is not really
1944         a primary focus here.
1945
1946         Reviewed by Žan Doberšek.
1947
1948         * MiniBrowser/wpe/main.cpp:
1949         (decidePermissionRequest):
1950         (main):
1951
1952 2018-09-21  Thomas Denney  <tdenney@apple.com>
1953
1954         [WHLSL] Local variables should be statically allocated
1955         https://bugs.webkit.org/show_bug.cgi?id=188402
1956
1957         Reviewed by Myles C. Maxfield.
1958
1959         An additional preparation stage is now performed so that all local
1960         variables and function parameters are allocated in a single struct at
1961         entry points. A pointer to this struct is then passed for function
1962         calls.
1963
1964         * WebGPUShadingLanguageRI/All.js: Update dependencies.
1965         * WebGPUShadingLanguageRI/AllocateAtEntryPoints.js: Added new stage.
1966         * WebGPUShadingLanguageRI/CallExpression.js:
1967         (CallExpression.prototype.set argumentList): Add setter because
1968         allocateAtEntryPoints needs to change this.
1969         * WebGPUShadingLanguageRI/EBufferBuilder.js: Remove a redundant
1970         constructor that wasn't used anywhere.
1971         * WebGPUShadingLanguageRI/Func.js:
1972         (Func.prototype.set parameters): Add setter.
1973         * WebGPUShadingLanguageRI/FuncDef.js:
1974         (FuncDef.prototype.set body): Ditto.
1975         * WebGPUShadingLanguageRI/Prepare.js:
1976         (let.prepare): Add call to allocateAtEntryPoints. This call cannot
1977         happen any earlier because it depends on having types for call
1978         arguments.
1979         * WebGPUShadingLanguageRI/Rewriter.js:
1980         (Rewriter.prototype.visitReturn): Resolve issue where the return
1981         statement's function wasn't copied. A null check is required as the
1982         Rewriter might be used before this property is set.
1983         * WebGPUShadingLanguageRI/SPIRV.html: Update dependencies.
1984         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Abstracted logic
1985         into a separate function so that allocateAtEntryPoints can create the
1986         accessors for the struct type it introduces.
1987         * WebGPUShadingLanguageRI/Test.html: Update dependencies.
1988         * WebGPUShadingLanguageRI/Test.js: Add new tests to verify the static
1989         allocation transform works safely.
1990         * WebGPUShadingLanguageRI/index.html: Update dependencies.
1991
1992 2018-09-21  Jonathan Bedard  <jbedard@apple.com>
1993
1994         Bring up queues for iOS 12 (Build fix)
1995         https://bugs.webkit.org/show_bug.cgi?id=189683
1996
1997         Unreviewed build fix.
1998
1999         We should not build ImageDiff as x86 by default since 32 bit projects are
2000         deprecated in Xcode. ImageDiff should only be built once.
2001
2002         * Scripts/build-webkit:
2003         * Scripts/webkitdirs.pm:
2004         (argumentsForConfiguration):
2005
2006 2018-09-21  Adrian Perez de Castro  <aperez@igalia.com>
2007
2008         [WPE] Built RPM of WPE webkit fails to install with "nothing provides libWPEToolingBackends.so()"
2009         https://bugs.webkit.org/show_bug.cgi?id=189797
2010
2011         Reviewed by Žan Doberšek.
2012
2013         * wpe/backends/CMakeLists.txt: Make libWPEToolingBackends a static library to avoid
2014         the need for installing it. This works fine because the library only contains utility
2015         code intended to be reused from other various components (MiniBrowser, WebKitTestRunner).
2016
2017 2018-09-20  Daniel Bates  <dabates@apple.com>
2018
2019         Move IOKitSPI.h from TestRunnerShared to PAL
2020         https://bugs.webkit.org/show_bug.cgi?id=189804
2021
2022         Reviewed by Wenson Hsieh.
2023
2024         Towards fixing <https://bugs.webkit.org/show_bug.cgi?id=189604> move the IOKit SPI forward
2025         declarations to PAL so that they can be shared by WebKit, DumpRenderTree and WebKitTestRunner.
2026
2027         No functionality changed. So, no new tests.
2028
2029         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
2030         * TestRunnerShared/spi/UIKitTestSPI.h:
2031         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2032         * WebKitTestRunner/ios/HIDEventGenerator.mm:
2033
2034 2018-09-20  Thomas Denney  <tdenney@apple.com>
2035
2036         [WHLSL] Metal code generation
2037         https://bugs.webkit.org/show_bug.cgi?id=187735
2038
2039         Reviewed by Myles C. Maxfield.
2040
2041         Adds support for generating Metal Shading Language from WHLSL. Clients
2042         should include the file MetalCodegenAll.js and then call whlslToMsl
2043         with their program source code to compile to Metal.
2044
2045         * WebGPUShadingLanguageRI/ArrayType.js:
2046         (ArrayType.prototype.get arrayRefType): Adds the arrayRefType method to
2047         all types to find the type of that expression when it is used in a
2048         MakeArrayRefExpression.
2049         * WebGPUShadingLanguageRI/MakeArrayRefExpression.js:
2050         (MakeArrayRefExpression):
2051         (MakeArrayRefExpression.prototype.get type): Uses the new arrayRefType
2052         getter on all types to find the type of the expression.
2053         * WebGPUShadingLanguageRI/Metal/MSLBackend.js: Added.
2054         * WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Added.
2055         * WebGPUShadingLanguageRI/Metal/MSLCompileResult.js: Added.
2056         * WebGPUShadingLanguageRI/Metal/MSLConstexprEmitter.js: Added.
2057         * WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Added.
2058         * WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Added.
2059         * WebGPUShadingLanguageRI/Metal/MSLFunctionForwardDeclaration.js: Added.
2060         * WebGPUShadingLanguageRI/Metal/MSLNameMangler.js: Added.
2061         * WebGPUShadingLanguageRI/Metal/MSLNativeFunctionCall.js: Added.
2062         * WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Added.
2063         * WebGPUShadingLanguageRI/Metal/MSLTypeAttributes.js: Added.
2064         * WebGPUShadingLanguageRI/Metal/MSLTypeAttributesMap.js: Added.
2065         * WebGPUShadingLanguageRI/Metal/MSLTypeUnifier.js: Added.
2066         * WebGPUShadingLanguageRI/Metal/TypeOf.js: Added.
2067         * WebGPUShadingLanguageRI/Metal/WhlslToMsl.js: Added.
2068         * WebGPUShadingLanguageRI/PropertyResolver.js:
2069         * WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
2070         * WebGPUShadingLanguageRI/Test.js: Added awkward tests for the compiler
2071         to generate code for.
2072         (tests.incrementAndDecrement):
2073         (tests.returnIntLiteralUint):
2074         (tests.returnIntLiteralFloat):
2075         (tests.nestedSubscriptWithArraysInStructs):
2076         (tests.nestedSubscript):
2077         (tests.lotsOfLocalVariables):
2078         * WebGPUShadingLanguageRI/Type.js:
2079         (Type.prototype.get arrayRefType): See above.
2080
2081 2018-09-20  Ryan Haddad  <ryanhaddad@apple.com>
2082
2083         Bring up queues for iOS 12
2084         https://bugs.webkit.org/show_bug.cgi?id=189683
2085
2086         Unreviewed infrastructure fix.
2087
2088         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12@2x.png: Renamed from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png.
2089         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
2090         (BubbleQueueServer): Move EWS bubbles to the iOS 12 section of the dashboard.
2091
2092 2018-09-20  Ryan Haddad  <ryanhaddad@apple.com>
2093
2094         Bring up queues for iOS 12
2095         https://bugs.webkit.org/show_bug.cgi?id=189683
2096
2097         Reviewed by Aakash Jain.
2098
2099         * BuildSlaveSupport/build.webkit.org-config/config.json:
2100         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12.png: Added.
2101         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator.png: Added.
2102         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator@2x.png: Added.
2103         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png: Added.
2104         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
2105         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
2106         (WebKitBuildbot):
2107         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
2108         (table.queue-grid tr.platform.ios-simulator-12 img.logo):
2109         (table.queue-grid tr.platform.ios-12 img.logo):
2110         (table.queue-grid tr.platform.ios-simulator-11 img.logo): Deleted.
2111         (table.queue-grid tr.platform.ios-11 img.logo): Deleted.
2112         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
2113         * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
2114         (_should_file_trigger_build):
2115         * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
2116         (ShouldBuildTest):
2117         (ShouldBuildTest.test_should_build):
2118
2119 2018-09-20  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2120
2121         [Win] TestRunner::queueLoad() fails to generate correct url for some urls.
2122         https://bugs.webkit.org/show_bug.cgi?id=189679
2123
2124         Reviewed by Fujii Hironori.
2125
2126         Replace the implementation with correct API call.
2127
2128         * DumpRenderTree/win/TestRunnerWin.cpp:
2129         (TestRunner::queueLoad): Call UrlCombineW.
2130
2131 2018-09-20  Michael Catanzaro  <mcatanzaro@igalia.com>
2132
2133         [WPE] fails to build on ARM arches complaining about undefined reference to `epoxy_eglMakeCurrent'
2134         https://bugs.webkit.org/show_bug.cgi?id=189556
2135
2136         Reviewed by Konstantin Tokarev.
2137
2138         This is only a speculative build fix as I didn't attempt to reproduce. Explicitly link to
2139         libepoxy.
2140
2141         * wpe/backends/CMakeLists.txt:
2142
2143 2018-09-20  Daniel Bates  <dabates@apple.com>
2144
2145         [iOS] Support testing more hardware special keys
2146         https://bugs.webkit.org/show_bug.cgi?id=189793
2147
2148         Reviewed by Simon Fraser.
2149
2150         * TestRunnerShared/spi/IOKitSPI.h: Add more SPI constants.
2151         * WebKitTestRunner/ios/HIDEventGenerator.mm:
2152         (keyCodeForDOMFunctionKey): Extracted out logic from hidUsageCodeForCharacter() to return the
2153         key code for the F1, F2, ..., F12 keys and extended the code to compute the key code for the
2154         F13, F14, ..., F24 keys.
2155         (hidUsageCodeForCharacter): Modified to call keyCodeForDOMFunctionKey().
2156
2157 2018-09-20  Michael Catanzaro  <mcatanzaro@igalia.com>
2158
2159         Unreviewed, remove accidentally-committed debugging changes from flatpakutils script
2160
2161         Aaaaaah maybe this is why changes are supposed to be reviewed.
2162
2163         * flatpak/flatpakutils.py:
2164         (WebkitFlatpak.clean_args):
2165
2166 2018-09-20  Michael Catanzaro  <mcatanzaro@igalia.com>
2167
2168         Unreviewed, manually rollout our switch to master runtime
2169
2170         Phil wants html5-codecs, which aren't available yet here. Let's switch back to 3.28 in the
2171         meantime, where we were already building GStreamer ourselves anyway. But use an updated
2172         SDK revision.
2173
2174         * flatpak/files/httpd-autogen.sh: Added.
2175         * flatpak/flatpakutils.py:
2176         (WebkitFlatpak.clean_args):
2177         * flatpak/org.webkit.GTK.yaml:
2178         * flatpak/org.webkit.WebKit.yaml:
2179         * flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Added.
2180         * flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Added.
2181
2182 2018-09-20  Thibault Saunier  <tsaunier@igalia.com>
2183
2184         [WPE][GTK] webkit-flatpak intercepts --help for other commands
2185         https://bugs.webkit.org/show_bug.cgi?id=189058
2186
2187         The approach of run_in_sandbox_if_available is that we basically have the
2188         same set of arguments to setup the sandbox (ie. port name, build type, etc...)
2189         and we can pass those args first to setup the flatpak launcher object
2190         and then to the underlying script. That doesn't work well with the `--help` argument
2191         as once processed it 1. prints the help (which make no sense to the user of the calling script)
2192         2. exits the app - The solution is to just make sure that `--help` is not used when using
2193         flatpakutils from any script that is not `webkit-flatpak` itself.
2194
2195         Reviewed by Michael Catanzaro.
2196
2197         * flatpak/flatpakutils.py:
2198         (WebkitFlatpak.load_from_args):
2199         (run_in_sandbox_if_available):
2200
2201 2018-09-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2202
2203         Unreviewed. Add W3C imported tests to the MSEEME watchlist.
2204
2205         * Scripts/webkitpy/common/config/watchlist:
2206
2207 2018-09-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2208
2209         Unreviewed. Fix the Streams API watchlist.
2210
2211         * Scripts/webkitpy/common/config/watchlist:
2212
2213 2018-09-19  Chris Dumez  <cdumez@apple.com>
2214
2215         Crash under WebProcessProxy::suspendedPageWasDestroyed(WebKit::SuspendedPageProxy&)
2216         https://bugs.webkit.org/show_bug.cgi?id=189721
2217         <rdar://problem/44359788>
2218
2219         Reviewed by Geoffrey Garen.
2220
2221         Add API test coverage.
2222
2223         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2224
2225 2018-09-19  Thomas Denney  <tdenney@apple.com>
2226
2227         [WHLSL] Improve test suite type safety
2228         https://bugs.webkit.org/show_bug.cgi?id=189502
2229
2230         Reviewed by Myles C. Maxfield.
2231
2232         Each of the 'makeT' functions now call the relevant cast function on the
2233         value before hand. The checkNumber function has also been removed and
2234         its uses have been replaced with functions that also check the type.
2235         Some of the arithmetic checks have been updated to reflect that the
2236         casts happen outside of WHLSL evaluation. Other tests have also been
2237         updated to reflect that some values cannot be precisely expressed in
2238         32-bit floating point.
2239
2240         * WebGPUShadingLanguageRI/Casts.js:
2241         (castToBool): Added.
2242         (castAndCheckValue): Added.
2243         (isBitwiseEquivalent): Moved from Intrinsics.js.
2244         * WebGPUShadingLanguageRI/Intrinsics.js: Ditto.
2245         * WebGPUShadingLanguageRI/SPIRV.html: Update depdencies.
2246         * WebGPUShadingLanguageRI/Test.html: Ditto.
2247         * WebGPUShadingLanguageRI/Test.js: Update makeT functions to do a cast
2248         and check the result. Some tests were also updated to reflect the change
2249         in the behavior of these functions.
2250         * WebGPUShadingLanguageRI/index.html: Update dependencies.
2251
2252 2018-09-19  John Wilander  <wilander@apple.com>
2253
2254         Resource Load Statistics: Add optional cap on partitioned cache max age
2255         https://bugs.webkit.org/show_bug.cgi?id=189711
2256         <rdar://problem/39246837>
2257
2258         Reviewed by Antti Koivisto and Chris Dumez.
2259
2260         This change adds infrastructure for layout tests of capped cache max age.
2261
2262         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2263         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2264         (WTR::TestRunner::setStatisticsCacheMaxAgeCap):
2265         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2266         * WebKitTestRunner/TestController.cpp:
2267         (WTR::TestController::setStatisticsCacheMaxAgeCap):
2268         * WebKitTestRunner/TestController.h:
2269         * WebKitTestRunner/TestInvocation.cpp:
2270         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2271
2272 2018-09-19  Dawei Fenton  <realdawei@apple.com>
2273
2274        Unreviewed. Update my email and alias in list of contributors.
2275
2276         * Scripts/webkitpy/common/config/contributors.json:
2277
2278 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
2279
2280         [WPE][GTK] Unreviewed, try #3 to fix a typo
2281
2282         I feel like Charlie Brown, how hard this has been for me....
2283
2284         * Scripts/run-minibrowser:
2285         * Scripts/webkitdirs.pm:
2286         (runInFlatpakIfAvailable):
2287         (runInFlatpakIfAvailible): Deleted.
2288
2289 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
2290
2291         [WPE][GTK] Unreviewed, fix that typo in more places
2292
2293         It got copied into webkitdirs.pm!
2294
2295         * Scripts/webkitdirs.pm:
2296         (runInFlatpakIfAvailible):
2297         (runInFlatpakIfAvalaible): Deleted.
2298
2299 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
2300
2301         [WPE][GTK] Unreviewed, fix a pervasive typo in the webkit-flatpak script
2302
2303         * flatpak/flatpakutils.py:
2304         (WebkitFlatpak.load_from_args):
2305         (WebkitFlatpak.__init__):
2306         (WebkitFlatpak.run):
2307
2308 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
2309
2310         [WPE][GTK] Unreviewed, update to latest GNOME SDK
2311
2312         * flatpak/org.webkit.WebKit.yaml:
2313
2314 2018-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>
2315
2316         Unreviewed, rolling out r235500.
2317
2318         Time to switch back to master runtime
2319
2320         Reverted changeset:
2321
2322         "Unreviewed, rolling out r235114."
2323         https://bugs.webkit.org/show_bug.cgi?id=188731
2324         https://trac.webkit.org/changeset/235500
2325
2326 2018-09-19  Adrian Perez de Castro  <aperez@igalia.com>
2327
2328         Unreviewed. Add Pablo Saavedra to the list of contributors.
2329
2330         * Scripts/webkitpy/common/config/contributors.json:
2331
2332 2018-09-19  Philippe Normand  <pnormand@igalia.com>
2333
2334         [GStreamer] Add support for AV1 decoding
2335         https://bugs.webkit.org/show_bug.cgi?id=189647
2336
2337         Reviewed by Žan Doberšek.
2338
2339         Add patches required for AV1 decoding support. They're all
2340         upstream already and will be shipped in GStreamer 1.16. The aom
2341         GStreamer plugin depends on the aom library for which there's no
2342         official release yet.
2343
2344         * gstreamer/jhbuild.modules:
2345         * gstreamer/patches/gst-plugins-bad-0001-aomenc-Add-support-for-10-12bit-decoding.patch: Added.
2346         * gstreamer/patches/gst-plugins-bad-0002-aomenc-Handle-8-bit_depth-images-with-AOM_IMG_FMT_HI.patch: Added.
2347         * gstreamer/patches/gst-plugins-good-0001-qtdemux-Detect-and-expose-CEA-608-708-Closed-Caption.patch: Added. This one is unrelated but an implicit dependency of the next one.
2348         * gstreamer/patches/gst-plugins-good-0004-qtdemux-Add-initial-support-for-AV1-demuxing.patch: Added.
2349         * gstreamer/patches/gst-plugins-good-0005-qtdemux-Extract-AV1-codec_data-and-put-it-in-the-cap.patch: Added.
2350         * gstreamer/patches/gst-plugins-good-0006-qtdemux-Recognize-more-AV1-atoms.patch: Added.
2351
2352 2018-09-18  Jonathan Bedard  <jbedard@apple.com>
2353
2354         webkitpy: Clobbering and building occurs multiple times for iOS Simulator ports
2355         https://bugs.webkit.org/show_bug.cgi?id=189702
2356         <rdar://problem/44541704>
2357
2358         Reviewed by Aakash Jain.
2359
2360         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2361         (Manager._set_up_run): Move build check and clobbering to run, since set up is
2362         run multiple times for iOS simulator.
2363         (Manager.run):
2364
2365 2018-09-18  Chris Dumez  <cdumez@apple.com>
2366
2367         "DidFirstVisuallyNonEmptyLayout" callback does not get called when restoring a page from PageCache
2368         https://bugs.webkit.org/show_bug.cgi?id=189681
2369         <rdar://problem/44526171>
2370
2371         Reviewed by Alex Christensen and Zalan Bujtas.
2372
2373         Add API test coverage.
2374
2375         * TestWebKitAPI/Tests/WebKit/LayoutMilestonesWithAllContentInFrame.cpp:
2376         (TestWebKitAPI::didFinishNavigation):
2377         (TestWebKitAPI::TEST):
2378
2379 2018-09-18  Claudio Saavedra  <csaavedra@igalia.com>
2380
2381         [WPE] Implement mouse event modifiers
2382         https://bugs.webkit.org/show_bug.cgi?id=189697
2383
2384         Reviewed by Carlos Garcia Campos.
2385
2386         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
2387         (WTR::wkEventModifiersToWPE):
2388         (WTR::EventSenderProxy::mouseDown):
2389         (WTR::EventSenderProxy::mouseUp):
2390
2391 2018-09-17  Yusuke Suzuki  <utatane.tea@gmail.com>
2392
2393         [WTF] Use Semaphore and BinarySemaphore instead of dispatch_semaphore_t
2394         https://bugs.webkit.org/show_bug.cgi?id=185339
2395
2396         Reviewed by Mark Lam.
2397
2398         * TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
2399         (TestWebKitAPI::ToUpperConverter::stopProducing):
2400         (TestWebKitAPI::ToUpperConverter::stopConsuming):
2401
2402 2018-09-17  Simon Fraser  <simon.fraser@apple.com>
2403
2404         Many modern media control tests leak documents in testing
2405         https://bugs.webkit.org/show_bug.cgi?id=189437
2406
2407         Reviewed by Darin Adler.
2408         
2409         In order to accurately detect leaks in media controls tests which use lots of
2410         SVGImages, we have to:
2411         - Fire a zero-delay timer after the postTask, in order for ImagesLoader's m_derefElementTimer
2412           to clear references to elements.
2413         - Have releaseCriticalMemory() call CachedResourceLoader's garbageCollectDocumentResources()
2414           to drop the last handle to the CachedResource for an SVGImage.
2415         - Call WKBundleReleaseMemory() after the GC and timer, since we need garbageCollectDocumentResources()
2416           to run again after that timer has fired.
2417         
2418         This should fix most of the spurious leak reports involving SVGImage documents.
2419
2420         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2421         (WTR::InjectedBundle::reportLiveDocuments):
2422         (WTR::InjectedBundle::didReceiveMessageToPage):
2423
2424 2018-09-17  Chris Dumez  <cdumez@apple.com>
2425
2426         PSON: window.open() with 'noopener' should only process-swap cross-site, not cross-origin
2427         https://bugs.webkit.org/show_bug.cgi?id=189602
2428         <rdar://problem/44430549>
2429
2430         Reviewed by Geoff Garen.
2431
2432         Add API test coverage.
2433
2434         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2435
2436 2018-09-17  Philippe Normand  <pnormand@igalia.com>
2437
2438         [JHBuild] Update to GStreamer 1.14.3
2439         https://bugs.webkit.org/show_bug.cgi?id=189450
2440
2441         Reviewed by Xabier Rodriguez-Calvar.
2442
2443         * gstreamer/jhbuild.modules: Bump GStreamer modules from 1.14.1 to 1.14.3.
2444
2445 2018-09-17  Philippe Normand  <pnormand@igalia.com>
2446
2447         [JHBuild] Doesn't check sha256 sums
2448         https://bugs.webkit.org/show_bug.cgi?id=189646
2449
2450         Reviewed by Michael Catanzaro.
2451
2452         * gstreamer/jhbuild.modules: Properly set the sha256: prefix on hashes.
2453
2454 2018-09-17  Sihui Liu  <sihui_liu@apple.com>
2455
2456         Move IndexedDB to Network Process
2457         https://bugs.webkit.org/show_bug.cgi?id=189415
2458         <rdar://problem/44396973>
2459
2460         Reviewed by Chris Dumez.
2461
2462         * TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
2463         (TEST):
2464         * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
2465         (TEST):
2466         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
2467         (TEST):
2468         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
2469         (TEST):
2470         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
2471         (TEST):
2472
2473 2018-09-08  Darin Adler  <darin@apple.com>
2474
2475         Streamline JSRetainPtr, fix leaks of JSString and JSGlobalContext
2476         https://bugs.webkit.org/show_bug.cgi?id=189455
2477
2478         Reviewed by Keith Miller.
2479
2480         There is a lot of copied and pasted code for WebKit vs. Legacy WebKit
2481         testing and even for macOS vs. iOS vs. Windows platform-specific code.
2482         For now, this patch just makes corresponding changes to the copied code.
2483         Later we might get better results by merging more code instead of having
2484         all these separate copies.
2485
2486         * DumpRenderTree/AccessibilityController.cpp:
2487         (AccessibilityController::makeWindowObject): Use the adopt function
2488         instead of the special Adopt constructor of JSRetainPtr.
2489
2490         * DumpRenderTree/AccessibilityTextMarker.cpp: Removed unneeded include.
2491
2492         * DumpRenderTree/AccessibilityUIElement.cpp: Ditto.
2493         (allAttributesCallback): Don't adopt at this level; changed the
2494         underlying function to return a JSRetainPtr so the adopt is right next
2495         to the call to the create or copy function.
2496         (attributesOfLinkedUIElementsCallback): Ditto.
2497         (attributesOfDocumentLinksCallback): Ditto.
2498         (attributesOfChildrenCallback): Ditto.
2499         (parameterizedAttributeNamesCallback): Ditto.
2500         (attributesOfColumnHeadersCallback): Ditto.
2501         (attributesOfRowHeadersCallback): Ditto.
2502         (attributesOfColumnsCallback): Ditto.
2503         (attributesOfRowsCallback): Ditto.
2504         (attributesOfVisibleCellsCallback): Ditto.
2505         (attributesOfHeaderCallback): Ditto.
2506         (rowIndexRangeCallback): Ditto.
2507         (columnIndexRangeCallback): Ditto.
2508         (rangeForLineCallback): Ditto.
2509         (boundsForRangeCallback): Ditto.
2510         (rangeForPositionCallback): Ditto.
2511         (stringForRangeCallback): Ditto.
2512         (attributedStringForRangeCallback): Ditto.
2513         (uiElementCountForSearchPredicateCallback): Use the free adopt
2514         function instead of the adopt member function.
2515         (uiElementForSearchPredicateCallback): Ditto.
2516         (selectTextWithCriteriaCallback): Don't adopt at this level.
2517         (attributedStringForElementCallback): Ditto.
2518         (setValueCallback): Use free adopt.
2519         (stringAttributeValueCallback): Don't adopt at this level.
2520         (uiElementArrayAttributeValueCallback): Ditto.
2521         (uiElementAttributeValueCallback): Ditto.
2522         (stringForTextMarkerRangeCallback): Ditto.
2523         (attributedStringForTextMarkerRangeCallback): Ditto.
2524         (attributedStringForTextMarkerRangeWithOptionsCallback): Ditto.
2525         (getARIADropEffectsCallback): Ditto.
2526         (getClassListCallback): Ditto.
2527         (getRoleCallback): Ditto.
2528         (getSubroleCallback): Ditto.
2529         (getRoleDescriptionCallback): Ditto.
2530         (getComputedRoleStringCallback): Ditto.
2531         (getTitleCallback): Ditto.
2532         (getDescriptionCallback): Ditto.
2533         (getStringValueCallback): Ditto.
2534         (getLanguageCallback): Ditto.
2535         (getHelpTextCallback): Ditto.
2536         (getOrientationCallback): Ditto.
2537         (getPathDescriptionCallback): Ditto.
2538         (getSelectedTextRangeCallback): Ditto.
2539         (speakAsCallback): Ditto.
2540         (getValueDescriptionCallback): Ditto.
2541         (getAccessibilityValueCallback): Ditto.
2542         (getDocumentEncodingCallback): Ditto.
2543         (getDocumentURICallback): Ditto.
2544         (getURLCallback): Ditto.
2545         (characterAtOffsetCallback): Ditto.
2546         (wordAtOffsetCallback): Ditto.
2547         (lineAtOffsetCallback): Ditto.
2548         (sentenceAtOffsetCallback): Ditto.
2549         (stringForSelectionCallback): Ditto.
2550         (getIdentifierCallback): Ditto.
2551         (getTraitsCallback): Ditto.
2552         (supportedActionsCallback): Ditto.
2553         (mathPostscriptsDescriptionCallback): Ditto.
2554         (mathPrescriptsDescriptionCallback): Ditto.
2555         (AccessibilityUIElement::rangeForLine): Updated to return JSRetainPtr.
2556         (AccessibilityUIElement::rangeForPosition): Ditto.
2557         (AccessibilityUIElement::speakAs): Ditto.
2558         (AccessibilityUIElement::pathDescription const): Ditto.
2559         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
2560         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
2561         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
2562
2563         * DumpRenderTree/AccessibilityUIElement.h: Use JSRetainPtr instead of
2564         raw pointers for the results of the functions that create strings.
2565         The old way was difficult to get right; the functions didn't even follow
2566         the create/copy naming rule.
2567
2568         * DumpRenderTree/Bindings/CodeGeneratorDumpRenderTree.pm:
2569         (_platformTypeConstructor): Use the adopt function instead of the
2570         JSRetainPtr adopt constructor. Also nullptr instead of 0.
2571
2572         * DumpRenderTree/GCController.cpp:
2573         (GCController::makeWindowObject): Use adopt function instead of constructor.
2574
2575         * DumpRenderTree/TestRunner.cpp:
2576         (pathToLocalResourceCallback): Use adopt function instead of constructor.
2577         (addDisallowedURLCallback): Ditto.
2578         (addURLToRedirectCallback): Ditto.
2579         (clearApplicationCacheForOriginCallback): Ditto.
2580         (applicationCacheDiskUsageForOriginCallback): Ditto.
2581         (decodeHostNameCallback): Don't adopt at this level.
2582         (encodeHostNameCallback): Ditto.
2583         (execCommandCallback): Use adopt instead of JSRetainPtr::adopt.
2584         (findStringCallback): Use adopt function instead of constructor.
2585         (isCommandEnabledCallback): Ditto.
2586         (overridePreferenceCallback): Ditto.
2587         (queueLoadCallback): Ditto.
2588         (queueLoadHTMLStringCallback): Ditto.
2589         (queueLoadingScriptCallback): Ditto.
2590         (queueNonLoadingScriptCallback): Ditto.
2591         (setAuthenticationPasswordCallback): Ditto.
2592         (setAuthenticationUsernameCallback): Ditto.
2593         (setDomainRelaxationForbiddenForURLSchemeCallback): Ditto.
2594         (setMockGeolocationPositionUnavailableErrorCallback): Ditto.
2595         (setPOSIXLocaleCallback): Ditto.
2596         (setPersistentUserStyleSheetLocationCallback): Ditto.
2597         (setUserStyleSheetLocationCallback): Ditto.
2598         (setValueForUserCallback): Ditto.
2599         (setWillSendRequestClearHeaderCallback): Ditto.
2600         (setPageVisibilityCallback): Ditto.
2601         (evaluateInWebInspectorCallback): Ditto.
2602         (evaluateScriptInIsolatedWorldCallback): Ditto.
2603         (evaluateScriptInIsolatedWorldAndReturnValueCallback): Ditto.
2604         (addOriginAccessWhitelistEntryCallback): Ditto.
2605         (removeOriginAccessWhitelistEntryCallback): Ditto.
2606         (setScrollbarPolicyCallback): Ditto.
2607         (addUserScriptCallback): Ditto.
2608         (addUserStyleSheetCallback): Ditto.
2609         (apiTestNewWindowDataLoadBaseURLCallback): Ditto.
2610         (authenticateSessionCallback): Ditto.
2611         (getTitleTextDirectionCallback): Ditto.
2612         (getInspectorTestStubURLCallback): Ditto.
2613         (simulateLegacyWebNotificationClickCallback): Ditto.
2614         (setTextDirectionCallback): Ditto.
2615         (grantWebNotificationPermissionCallback): Ditto.
2616         (denyWebNotificationPermissionCallback): Ditto.
2617         (accummulateLogsForChannel): Ditto.
2618         (runUIScriptCallback): Ditto.
2619         (TestRunner::makeWindowObject): Ditto.
2620         (TestRunner::uiScriptDidComplete): Ditto.
2621         (TestRunner::setOpenPanelFiles): Ditto.
2622
2623         * DumpRenderTree/TestRunner.h: Use JSRetainPtr instead of
2624         raw pointers for the results of the functions that create strings.
2625
2626         * DumpRenderTree/ios/AccessibilityControllerIOS.mm:
2627         (AccessibilityController::platformName const): Use the adopt
2628         function instead of the adopt constructor.
2629
2630         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
2631         (createEmptyJSString): Added. This helper function makes reduces the
2632         repetitive code to create empty strings.
2633         (concatenateAttributeAndValue): Changed to return a JSRetainPtr.
2634         (AccessibilityUIElement::identifier): Ditto.
2635         (AccessibilityUIElement::traits): Ditto.
2636         (AccessibilityUIElement::url): Ditto.
2637         (AccessibilityUIElement::speakAs): Ditto.
2638         (AccessibilityUIElement::stringForSelection): Ditto.
2639         (AccessibilityUIElement::stringForRange): Ditto.
2640         (AccessibilityUIElement::attributedStringForRange): Ditto.
2641         (AccessibilityUIElement::attributedStringForElement): Ditto.
2642         (AccessibilityUIElement::pathDescription const): Ditto.
2643         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
2644         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
2645         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
2646         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
2647         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
2648         (AccessibilityUIElement::attributesOfChildren): Ditto.
2649         (AccessibilityUIElement::allAttributes): Ditto.
2650         (AccessibilityUIElement::stringAttributeValue): Ditto.
2651         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
2652         (AccessibilityUIElement::role): Ditto.
2653         (AccessibilityUIElement::subrole): Ditto.
2654         (AccessibilityUIElement::roleDescription): Ditto.
2655         (AccessibilityUIElement::computedRoleString): Ditto.
2656         (AccessibilityUIElement::title): Ditto.
2657         (AccessibilityUIElement::description): Ditto.
2658         (AccessibilityUIElement::orientation const): Ditto.
2659         (AccessibilityUIElement::stringValue): Ditto.
2660         (AccessibilityUIElement::language): Ditto.
2661         (AccessibilityUIElement::helpText const): Ditto.
2662         (AccessibilityUIElement::valueDescription): Ditto.
2663         (AccessibilityUIElement::ariaDropEffects const): Ditto.
2664         (AccessibilityUIElement::boundsForRange): Ditto.
2665         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
2666         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
2667         (AccessibilityUIElement::attributesOfColumns): Ditto.
2668         (AccessibilityUIElement::attributesOfRows): Ditto.
2669         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
2670         (AccessibilityUIElement::attributesOfHeader): Ditto.
2671         (AccessibilityUIElement::rowIndexRange): Ditto.
2672         (AccessibilityUIElement::columnIndexRange): Ditto.
2673         (AccessibilityUIElement::selectedTextRange): Ditto.
2674         (AccessibilityUIElement::accessibilityValue const): Ditto.
2675         (AccessibilityUIElement::documentEncoding): Ditto.
2676         (AccessibilityUIElement::documentURI): Ditto.
2677         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
2678         (AccessibilityUIElement::classList const): Ditto.
2679
2680         * DumpRenderTree/mac/AccessibilityCommonMac.h: Changed the
2681         createJSStringRef method to return a JSRetainPtr.
2682         * DumpRenderTree/mac/AccessibilityCommonMac.mm:
2683         (-[NSString createJSStringRef]): Ditto.
2684         (searchPredicateParameterizedAttributeForSearchCriteria): Use the
2685         adopt function instead of the adopt constructor.
2686         * DumpRenderTree/mac/AccessibilityControllerMac.mm:
2687         (AccessibilityController::platformName const): Ditto.
2688
2689         * DumpRenderTree/mac/AccessibilityNotificationHandler.mm:
2690         (-[NSString createJSStringRef]): Return a JSRetainPtr.
2691         (makeValueRefForValue): Updated for the above, no adopt needed here now.
2692         (makeObjectRefForDictionary): Ditto.
2693         (-[AccessibilityNotificationHandler _notificationReceived:]): Ditto.
2694
2695         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
2696         (createEmptyJSString): Added. This helper function makes reduces the
2697         repetitive code to create empty strings.
2698         (concatenateAttributeAndValue): Changed to return a JSRetainPtr.
2699         (descriptionOfElements): Ditto.
2700         (selectTextParameterizedAttributeForCriteria): Ditto.
2701         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
2702         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
2703         (AccessibilityUIElement::attributesOfChildren): Ditto.
2704         (AccessibilityUIElement::allAttributes): Ditto.
2705         (AccessibilityUIElement::stringAttributeValue): Ditto.
2706         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
2707         (AccessibilityUIElement::role): Ditto.
2708         (AccessibilityUIElement::subrole): Ditto.
2709         (AccessibilityUIElement::roleDescription): Ditto.
2710         (AccessibilityUIElement::computedRoleString): Ditto.
2711         (AccessibilityUIElement::title): Ditto.
2712         (AccessibilityUIElement::description): Ditto.
2713         (AccessibilityUIElement::orientation const): Ditto.
2714         (AccessibilityUIElement::stringValue): Ditto.
2715         (AccessibilityUIElement::language): Ditto.
2716         (AccessibilityUIElement::helpText const): Ditto.
2717         (AccessibilityUIElement::valueDescription): Ditto.
2718         (AccessibilityUIElement::speakAs): Ditto.
2719         (AccessibilityUIElement::classList const): Ditto.
2720         (AccessibilityUIElement::ariaDropEffects const): Ditto.
2721         (AccessibilityUIElement::rangeForLine): Ditto.
2722         (AccessibilityUIElement::rangeForPosition): Ditto.
2723         (AccessibilityUIElement::boundsForRange): Ditto.
2724         (AccessibilityUIElement::stringForRange): Ditto.
2725         (AccessibilityUIElement::attributedStringForRange): Ditto.
2726         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
2727         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
2728         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
2729         (AccessibilityUIElement::attributesOfColumns): Ditto.
2730         (AccessibilityUIElement::attributesOfRows): Ditto.
2731         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
2732         (AccessibilityUIElement::attributesOfHeader): Ditto.
2733         (AccessibilityUIElement::rowIndexRange): Ditto.
2734         (AccessibilityUIElement::columnIndexRange): Ditto.
2735         (AccessibilityUIElement::pathDescription const): Ditto.
2736         (AccessibilityUIElement::selectedTextRange): Ditto.
2737         (AccessibilityUIElement::accessibilityValue const): Ditto.
2738         (AccessibilityUIElement::documentEncoding): Ditto.
2739         (AccessibilityUIElement::documentURI): Ditto.
2740         (AccessibilityUIElement::url): Ditto.
2741         (AccessibilityUIElement::stringForTextMarkerRange): Ditto.
2742         (createJSStringRef): Ditto.
2743         (AccessibilityUIElement::attributedStringForTextMarkerRange): Ditto.
2744         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions): Ditto.
2745         (AccessibilityUIElement::supportedActions): Ditto.
2746         (AccessibilityUIElement::mathPostscriptsDescription const): Ditto.
2747         (AccessibilityUIElement::mathPrescriptsDescription const): Ditto.
2748
2749         * DumpRenderTree/mac/FrameLoadDelegate.mm:
2750         (-[FrameLoadDelegate didClearWindowObjectForFrame:inIsolatedWorld:]):
2751         Use the adopt function instead of the adopt constructor.
2752         * DumpRenderTree/mac/TestRunnerMac.mm:
2753         (originsArrayToJS): Ditto.
2754         (TestRunner::copyDecodedHostName): Return a JSRetainPtr.
2755         (TestRunner::copyEncodedHostName): Ditto.
2756         (TestRunner::pathToLocalResource): Ditto.
2757         (TestRunner::queueLoad): Use adopt function instead of constructor.
2758         (TestRunner::findString): Ditto.
2759         (TestRunner::inspectorTestStubURL): Return a JSRetainPtr.
2760
2761         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
2762         (AccessibilityController::winNotificationReceived): Use adopt function
2763         instead of adopt constructor.
2764         (AccessibilityController::platformName const): Ditto.
2765
2766         * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
2767         (createEmptyJSString): Added. This helper function makes reduces the
2768         repetitive code to create empty strings.
2769         (AccessibilityUIElement::allAttributes): Changed to return a JSRetainPtr.
2770         (AccessibilityUIElement::attributesOfLinkedUIElements): Ditto.
2771         (AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
2772         (AccessibilityUIElement::attributesOfChildren): Ditto.
2773         (AccessibilityUIElement::parameterizedAttributeNames): Ditto.
2774         (AccessibilityUIElement::role): Ditto.
2775         (AccessibilityUIElement::subrole): Ditto.
2776         (AccessibilityUIElement::roleDescription): Ditto.
2777         (AccessibilityUIElement::computedRoleString): Ditto.
2778         (AccessibilityUIElement::title): Ditto.
2779         (AccessibilityUIElement::description): Ditto.
2780         (AccessibilityUIElement::stringValue): Ditto.
2781         (AccessibilityUIElement::language): Ditto.
2782         (AccessibilityUIElement::helpText const): Ditto.
2783         (AccessibilityUIElement::valueDescription): Ditto.
2784         (AccessibilityUIElement::ariaDropEffects const): Ditto.
2785         (AccessibilityUIElement::orientation const): Ditto.
2786         (AccessibilityUIElement::attributesOfColumnHeaders): Ditto.
2787         (AccessibilityUIElement::attributesOfRowHeaders): Ditto.
2788         (AccessibilityUIElement::attributesOfColumns): Ditto.
2789         (AccessibilityUIElement::attributesOfRows): Ditto.
2790         (AccessibilityUIElement::attributesOfVisibleCells): Ditto.
2791         (AccessibilityUIElement::attributesOfHeader): Ditto.
2792         (AccessibilityUIElement::rowIndexRange): Ditto.
2793         (AccessibilityUIElement::columnIndexRange): Ditto.
2794         (AccessibilityUIElement::boundsForRange): Ditto.
2795         (AccessibilityUIElement::stringForRange): Ditto.
2796         (AccessibilityUIElement::attributedStringForRange): Ditto.
2797         (AccessibilityUIElement::selectTextWithCriteria): Ditto.
2798         (AccessibilityUIElement::selectedTextRange): Ditto.
2799         (AccessibilityUIElement::stringAttributeValue): Ditto.
2800         (AccessibilityUIElement::accessibilityValue const): Ditto.
2801         (AccessibilityUIElement::documentEncoding): Ditto.
2802         (AccessibilityUIElement::documentURI): Ditto.
2803         (AccessibilityUIElement::url): Ditto.
2804         (AccessibilityUIElement::classList const): Ditto.
2805
2806         * DumpRenderTree/win/TestRunnerWin.cpp:
2807         (TestRunner::copyDecodedHostName): Changed to return a JSRetainPtr.
2808         (TestRunner::copyEncodedHostName): Ditto.
2809         (TestRunner::pathToLocalResource): Ditto.
2810         (TestRunner::queueLoad): Ditto.
2811         (TestRunner::findString): Ditto.
2812         (TestRunner::inspectorTestStubURL): Ditto.
2813
2814         * TestRunnerShared/Bindings/JSWrapper.h:
2815         (WTR::setProperty): Use adopt function instead of constructor.
2816         * TestRunnerShared/UIScriptContext/UIScriptContext.cpp:
2817         (UIScriptContext::UIScriptContext): Ditto.
2818         (UIScriptContext::runUIScript): Ditto.
2819         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2820         (WTR::toDeviceOrientation): Ditto.
2821
2822         * TestRunnerShared/cocoa/LayoutTestSpellChecker.mm:
2823         (nsTextCheckingType): Changed this function to not take an rvalue
2824         reference to a JSRetainPtr since it doesn't take ownership.
2825         (-[LayoutTestSpellChecker setResultsFromJSObject:inContext:]): Updated
2826         for the above change.
2827
2828         * TestWebKitAPI/JavaScriptTest.cpp:
2829         (TestWebKitAPI::javaScriptCallback): Use adopt function instead of
2830         adopt member function.
2831
2832         * TestWebKitAPI/Tests/WebKit/WKPageIsPlayingAudio.cpp: Removed unneeded include.
2833         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm: Ditto.
2834         * TestWebKitAPI/Tests/mac/DOMNodeFromJSObject.mm: Use adopt function instead of
2835         adopt constructor.
2836         * TestWebKitAPI/Tests/mac/JSWrapperForNodeInWebFrame.mm: Ditto.
2837
2838         * WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
2839         Removed unneeded includes.
2840         * WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: Ditto.
2841         * WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: Ditto.
2842         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: Ditto.
2843
2844         * WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:
2845         (_platformTypeConstructor): Use the adopt function instead of the
2846         JSRetainPtr adopt constructor. Also nullptr instead of 0.
2847
2848         * WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
2849         (WTR::arrayLength): Use adopt function instead of constructor.
2850         (WTR::parseModifierArray): Ditto.
2851         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2852         (WTR::propertyValue): Ditto.
2853         (WTR::dumpPath): Ditto.
2854         (WTR::toJS): Ditto.
2855         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2856         (WTR::TestRunner::findString): Ditto.
2857         (WTR::TestRunner::statisticsDidRunTelemetryCallback): Ditto.
2858         (WTR::TestRunner::callDidReceiveAllStorageAccessEntriesCallback): Ditto.
2859         (WTR::TestRunner::setOpenPanelFiles): Ditto.
2860         * WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:
2861         (WTR::AccessibilityController::platformName): Ditto.
2862
2863         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
2864         (-[NSString createJSStringRef]): Return a JSRetainPtr.
2865         This fixes storage leaks in many functions below, which were using
2866         the create function and putting the value right into a JSRetainPtr
2867         without adoption.
2868         (WTR::createEmptyJSString): Added. This helper function reduces the
2869         repetitive code to create empty strings.
2870         (WTR::concatenateAttributeAndValue): Return a JSRetainPtr.
2871         (WTR::AccessibilityUIElement::attributesOfLinkedUIElements):
2872         Use createEmptyJSString, fixing a storage leak due to missing adoption.
2873         (WTR::AccessibilityUIElement::attributesOfDocumentLinks): Ditto.
2874         (WTR::AccessibilityUIElement::attributesOfChildren): Ditto.
2875         (WTR::AccessibilityUIElement::allAttributes): Ditto.
2876         (WTR::AccessibilityUIElement::stringAttributeValue): Ditto.
2877         (WTR::AccessibilityUIElement::parameterizedAttributeNames): Ditto.
2878         (WTR::AccessibilityUIElement::role): Ditto.
2879         (WTR::AccessibilityUIElement::subrole): Ditto.
2880         (WTR::AccessibilityUIElement::roleDescription): Ditto.
2881         (WTR::AccessibilityUIElement::computedRoleString): Ditto.
2882         (WTR::AccessibilityUIElement::title): Ditto.
2883         (WTR::AccessibilityUIElement::orientation const): Ditto.
2884         (WTR::AccessibilityUIElement::language): Ditto.
2885         (WTR::AccessibilityUIElement::valueDescription): Ditto.
2886         (WTR::AccessibilityUIElement::ariaDropEffects const): Ditto.
2887         (WTR::AccessibilityUIElement::boundsForRange): Ditto.
2888         (WTR::AccessibilityUIElement::stringForRange): Removed unneeded null check.
2889         (WTR::AccessibilityUIElement::attributedStringForRange): Ditto.
2890         (WTR::AccessibilityUIElement::attributesOfColumnHeaders):
2891         Use createEmptyJSString, fixing a storage leak due to missing adoption.
2892         (WTR::AccessibilityUIElement::attributesOfRowHeaders): Ditto.
2893         (WTR::AccessibilityUIElement::attributesOfColumns): Ditto.
2894         (WTR::AccessibilityUIElement::attributesOfRows): Ditto.
2895         (WTR::AccessibilityUIElement::attributesOfVisibleCells): Ditto.
2896         (WTR::AccessibilityUIElement::attributesOfHeader): Ditto.
2897         (WTR::AccessibilityUIElement::selectedTextRange): Ditto.
2898         (WTR::AccessibilityUIElement::accessibilityValue const): Ditto.
2899         (WTR::AccessibilityUIElement::documentEncoding): Ditto.
2900         (WTR::AccessibilityUIElement::documentURI): Ditto.
2901         (WTR::AccessibilityUIElement::stringForSelection): Removed unneeded
2902         null check.
2903         (WTR::AccessibilityUIElement::stringForTextMarkerRange):
2904         Use createEmptyJSString, fixing a storage leak due to missing adoption.
2905
2906         * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.h:
2907         Use JSRetainPtr for the return value of createJSStringRef.
2908         * WebKitTestRunner/InjectedBundle/mac/AccessibilityCommonMac.mm:
2909         (-[NSString createJSStringRef]): Ditto.
2910         (WTR::searchPredicateParameterizedAttributeForSearchCriteria): Use the
2911         adopt function instead of the adopt constructor.
2912         * WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
2913         (WTR::AccessibilityController::platformName): Ditto
2914
2915         * WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:
2916         (-[NSString createJSStringRef]): Return a JSRetainPtr.
2917         (makeValueRefForValue): Updated for above by removing adopt.
2918         (makeObjectRefForDictionary): Ditto.
2919         (-[AccessibilityNotificationHandler _notificationReceived:]): Ditto.
2920
2921         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
2922         (WTR::createEmptyJSString): Added. This helper function makes reduces the
2923         repetitive code to create empty strings.
2924         (WTR::concatenateAttributeAndValue): Return a JSRetainPtr.
2925         (WTR::descriptionOfElements): Ditto.
2926         (WTR::selectTextParameterizedAttributeForCriteria): Ditto.
2927         (WTR::AccessibilityUIElement::accessibilityValue const): Use createEmptyJSString,
2928         fixing a storage leak due to missing adoption.
2929         (WTR::AccessibilityUIElement::documentEncoding): Ditto.
2930         (WTR::AccessibilityUIElement::documentURI): Ditto.
2931         (WTR::createJSStringRef): Return a JSRetainPtr.
2932
2933         * WebKitTestRunner/StringFunctions.h:
2934         (WTR::toWK): Take a const& to eliminate a little bit of reference count churn.
2935         (WTR::toJS): Use the adopt function instead of the constructor.
2936
2937 2018-09-14  Dean Jackson  <dino@grorg.org>
2938
2939         Add Justin Michaud.
2940
2941         * Scripts/webkitpy/common/config/contributors.json:
2942
2943 2018-09-14  Ryan Haddad  <ryanhaddad@apple.com>
2944
2945         bots should pass --clobber-old-results to run-webkit-tests
2946         https://bugs.webkit.org/show_bug.cgi?id=189623
2947
2948         Reviewed by Aakash Jain.
2949
2950         In order to ensure that bots to not produce confusing results due to transient execptions,
2951         or run out of space if they continually hit an exception, old layout test results should be clobbered.
2952
2953         * BuildSlaveSupport/build.webkit.org-config/steps.py:
2954         (RunWebKitTests):
2955
2956 2018-09-13  Ryan Haddad  <ryanhaddad@apple.com>
2957
2958         Unreviewed, rolling out r235954.
2959
2960         Breaks the watchOS build.
2961
2962         Reverted changeset:
2963
2964         "Move IndexedDB to Network Process"
2965         https://bugs.webkit.org/show_bug.cgi?id=189415
2966         https://trac.webkit.org/changeset/235954
2967
2968 2018-09-13  Daniel Bates  <dabates@apple.com>
2969
2970         Add Copy WebKit Permalink plugin for Sublime Text
2971         https://bugs.webkit.org/show_bug.cgi?id=189589
2972
2973         Rubber-stamped by Joseph Pecoraro.
2974
2975         Port the Copy WebKit Permalink Automator service to a Sublime Text plugin. Once installed you can
2976         use the plugin to copy to the Clipboard a trac.webkit.org hyperlink to the selected line in the
2977         active document with or without blame annotations.
2978
2979         Once installed, you can Control-click (on Mac) or right-click (on Windows and Linux) on a line and
2980         choose Copy WebKit Permalink or Copy WebKit Permalink to Blame from the context menu to copy to the
2981         Clipboard a permanent hyperlink to the selected line without or with blame annotations, respectively.
2982         On Mac you can also invoke the same functionality using the keyboard shortcuts Command + Shift + Control + C
2983         and Command + Shift + Control + Option + C, respectively.
2984
2985         * CopyPermalink/Sublime Text/CopyWebKitPermalink/Context.sublime-menu: Added.
2986         * CopyPermalink/Sublime Text/CopyWebKitPermalink/CopyWebKitPermalink.py: Added.
2987         * CopyPermalink/Sublime Text/CopyWebKitPermalink/Default (OSX).sublime-keymap: Added.
2988         * CopyPermalink/Sublime Text/INSTALL: Added.
2989         * CopyPermalink/Xcode/Copy WebKit Permalink.workflow/Contents/Info.plist: Renamed from Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/Info.plist.
2990         * CopyPermalink/Xcode/Copy WebKit Permalink.workflow/Contents/document.wflow: Renamed from Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow.
2991         * CopyPermalink/Xcode/INSTALL: Renamed from Tools/CopyPermalink/README.
2992
2993 2018-09-13  Carlos Garcia Campos  <cgarcia@igalia.com>
2994
2995         Unreviewed. Fix WebDriver tests after r235225.
2996
2997         Use wpt serve command to run the http server.
2998
2999         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
3000         (WebDriverW3CWebServer.__init__):
3001         (WebDriverW3CWebServer.start):
3002         (WebDriverW3CWebServer.stop):
3003
3004 2018-09-13  Carlos Garcia Campos  <cgarcia@igalia.com>
3005
3006         [GTK][WPE] Allow to run script dialogs asynchronously in the UI process
3007         https://bugs.webkit.org/show_bug.cgi?id=189544
3008
3009         Reviewed by Michael Catanzaro.
3010
3011         Add test cases for the new API.
3012
3013         * TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
3014         (testWebViewJavaScriptDialogs):
3015
3016 2018-09-12  Fujii Hironori  <Hironori.Fujii@sony.com>
3017
3018         [Win][Clang][ImageDiff] Fix compilation error and warning of PlatformImageCairo.cpp
3019         https://bugs.webkit.org/show_bug.cgi?id=189496
3020         <rdar://problem/44370981>
3021
3022         Unreviewed warning fix.
3023
3024         r235929 has introduced a new compilation warning:
3025         > Tools/ImageDiff/cairo/PlatformImageCairo.cpp:34:70: warning: unused parameter ‘imageSize’ [-Wunused-parameter]
3026
3027         * ImageDiff/cairo/PlatformImageCairo.cpp:
3028         (ImageDiff::PlatformImage::createFromStdin): Removed the variable name.
3029
3030 2018-09-12  Dan Bernstein  <mitz@apple.com>
3031
3032         [Cocoa] Complete support for Paste as Quotation
3033         https://bugs.webkit.org/show_bug.cgi?id=189504
3034
3035         Reviewed by Wenson Hsieh.
3036
3037         * MiniBrowser/mac/MainMenu.xib: Added a Paste as Quotation command in the Edit menu.
3038
3039 2018-09-12  Sihui Liu  <sihui_liu@apple.com>
3040
3041         Move IndexedDB to Network Process
3042         https://bugs.webkit.org/show_bug.cgi?id=189415
3043
3044         Reviewed by Geoffrey Garen.
3045
3046         * TestWebKitAPI/Tests/WebKitCocoa/IDBDeleteRecovery.mm:
3047         (TEST):
3048         * TestWebKitAPI/Tests/WebKitCocoa/IDBIndexUpgradeToV2.mm:
3049         (TEST):
3050         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBDatabaseProcessKill.mm:
3051         (TEST):
3052         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBMultiProcess.mm:
3053         (TEST):
3054         * TestWebKitAPI/Tests/WebKitCocoa/IndexedDBPersistence.mm:
3055         (TEST):
3056
3057 2018-09-12  Chris Dumez  <cdumez@apple.com>
3058
3059         PSON: No process swap on back navigation after URL bar navigation
3060         https://bugs.webkit.org/show_bug.cgi?id=189557
3061         <rdar://problem/44353108>
3062
3063         Reviewed by Alex Christensen.
3064
3065         Add API test coverage.
3066
3067         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3068
3069 2018-09-11  Dean Jackson  <dino@apple.com>
3070
3071         Header parsing for experimental and internal debug features
3072         https://bugs.webkit.org/show_bug.cgi?id=189486
3073         <rdar://problem/44320618>
3074
3075         Reviewed by Tim Horton.
3076
3077         Keep track of experimental and internal debug features in TestOptions, and
3078         allow webkit-test-runner headers to toggle them by name.
3079
3080         * DumpRenderTree/TestOptions.cpp:
3081         (TestOptions::TestOptions):
3082         * WebKitTestRunner/TestController.cpp:
3083         (WTR::TestController::resetPreferencesToConsistentValues):
3084         (WTR::updateTestOptionsFromTestHeader):
3085         * WebKitTestRunner/TestOptions.h:
3086         (WTR::TestOptions::hasSameInitializationOptions const):
3087
3088 2018-09-12  Fujii Hironori  <Hironori.Fujii@sony.com>
3089
3090         [Win][Clang][DumpRenderTree] 0 and nullptr can't be implicitly converted to AccessibilityUIElement
3091         https://bugs.webkit.org/show_bug.cgi?id=189492
3092
3093         Reviewed by Alex Christensen.
3094
3095         0 and nullptr can't be implicitly converted to
3096         AccessibilityUIElement because only Windows port typedefs
3097         PlatformUIElement as COMPtr<IAccessible> not a pointer.
3098
3099         Replaced "return 0" and "return nullptr" with "return { nullptr }".
3100
3101         * DumpRenderTree/AccessibilityUIElement.cpp:
3102         (AccessibilityUIElement::horizontalScrollbar const):
3103         (AccessibilityUIElement::verticalScrollbar const):
3104         (AccessibilityUIElement::uiElementAttributeValue const):
3105         (AccessibilityUIElement::accessibilityElementForTextMarker):
3106         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
3107         (AccessibilityController::elementAtPoint):
3108         (AccessibilityController::accessibleElementById):
3109         (AccessibilityController::focusedElement):
3110         (AccessibilityController::rootElement):
3111         * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
3112         (AccessibilityUIElement::elementAtPoint):
3113         (AccessibilityUIElement::linkedUIElementAtIndex):
3114         (AccessibilityUIElement::getChildAtIndex):
3115         (AccessibilityUIElement::titleUIElement):
3116         (AccessibilityUIElement::parentElement):
3117         (AccessibilityUIElement::uiElementForSearchPredicate):
3118         (AccessibilityUIElement::cellForColumnAndRow):
3119         (AccessibilityUIElement::disclosedRowAtIndex):
3120         (AccessibilityUIElement::ariaOwnsElementAtIndex):
3121         (AccessibilityUIElement::ariaFlowToElementAtIndex):
3122         (AccessibilityUIElement::ariaControlsElementAtIndex):
3123         (AccessibilityUIElement::selectedRowAtIndex):
3124         (AccessibilityUIElement::rowAtIndex):
3125         (AccessibilityUIElement::disclosedByRow):
3126         (AccessibilityUIElement::selectedChildAtIndex const):
3127
3128 2018-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
3129
3130         FontManagerTests.ChangeFontColorWithColorPanel fails on macOS Sierra
3131         https://bugs.webkit.org/show_bug.cgi?id=189382
3132
3133         Reviewed by Ryosuke Niwa.
3134
3135         Fix the test by specifying colors in RGB colorspace.
3136
3137         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
3138         (TestWebKitAPI::TEST):
3139
3140 2018-09-11  Fujii Hironori  <Hironori.Fujii@sony.com>
3141
3142         [Win][Clang][ImageDiff] Fix compilation error and warning of PlatformImageCairo.cpp
3143         https://bugs.webkit.org/show_bug.cgi?id=189496
3144
3145         Reviewed by Alex Christensen.
3146
3147         * ImageDiff/cairo/PlatformImageCairo.cpp:
3148         (ImageDiff::PlatformImage::createFromStdin): Removed unnecessary ReadContext struct.
3149         (ImageDiff::PlatformImage::writeAsPNGToStdout): Use '%lu' format type specifier for unsigned long.
3150
3151 2018-09-07  Dean Jackson  <dino@apple.com>
3152
3153         Add and expose Internal features from WebKit
3154         https://bugs.webkit.org/show_bug.cgi?id=189442
3155         <rdar://problem/44243404>
3156
3157         Reviewed by Simon Fraser.
3158
3159         Update MiniBrowser to expose an Internal feature menu.
3160
3161         * MiniBrowser/mac/AppDelegate.m:
3162         (defaultConfiguration):
3163         * MiniBrowser/mac/SettingsController.m:
3164         (-[SettingsController _populateMenu]):
3165         (-[SettingsController validateMenuItem:]):
3166         (-[SettingsController toggleExperimentalFeature:]):
3167         (-[SettingsController toggleInternalDebugFeature:]):
3168
3169 2018-09-11  Wenson Hsieh  <wenson_hsieh@apple.com>
3170
3171         [macOS] [WK2] Support changing foreground colors via color panel
3172         https://bugs.webkit.org/show_bug.cgi?id=189382
3173         <rdar://problem/44227311>
3174
3175         Reviewed by Ryosuke Niwa.
3176
3177         Add an API test that uses NSColorPanel to change the color of selected text, and also apply typing styles when
3178         the selection is collapsed. The test also exercises switching between opaque colors (alpha = 1) and transparent
3179         colors, as well as making different parts of a word different colors.
3180
3181         * TestWebKitAPI/Tests/mac/FontManagerTests.mm:
3182         (-[TestWKWebView collapseToEnd]):
3183         (webViewForFontManagerTesting):
3184         (TestWebKitAPI::TEST):
3185         * TestWebKitAPI/cocoa/TestWKWebView.h:
3186
3187 == Rolled over to ChangeLog-2018-09-11 ==