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