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