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