Timeline
Jun 18, 2021:
- 7:16 PM Changeset in webkit [279047] by
-
- 9 edits in trunk
[WebIDL] Assigning a value outside the float range to a 'float' attribute should throw a TypeError
https://bugs.webkit.org/show_bug.cgi?id=227146
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline WPT test that is now fully passing.
- web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/pannernode-setposition-throws-expected.txt:
Source/WebCore:
Assigning a value outside the float range to a 'float' attribute should throw a TypeError, as per:
Blink follows the specification but WebKit was just casting the double to a float. This patch
addresses this issue.
This patch also makes sure that values outside the float range properly get resolved to -Infinity
or Infinity if the attribute is of type 'unrestricted float', as per:
No new tests, updated existing tests.
- bindings/js/JSDOMConvertNumbers.h:
(WebCore::Converter<IDLFloat>::convert):
(WebCore::Converter<IDLUnrestrictedFloat>::convert):
- testing/TypeConversions.h:
(WebCore::TypeConversions::testFloat const):
(WebCore::TypeConversions::setTestFloat):
(WebCore::TypeConversions::testUnrestrictedFloat const):
(WebCore::TypeConversions::setTestUnrestrictedFloat):
- testing/TypeConversions.idl:
LayoutTests:
Add layout test coverage.
- js/dom/webidl-type-mapping-expected.txt:
- js/dom/webidl-type-mapping.html:
- 1:41 PM Changeset in webkit [279046] by
-
- 2 edits in trunk/Source/WebCore
[Curl] Add curl option CURLOPT_NOSIGNAL to omit numerous sigaction calls
https://bugs.webkit.org/show_bug.cgi?id=227118
Patch by Soujyu TANAKA <soujyu.tanaka@access-company.com> on 2021-06-18
Reviewed by Fujii Hironori.
As we increase file handles registered by curl_multi_add_handle(),
number of times of sigaction executions in Curl grows rapidly. That can
cause unignorable download speed drop.
With a curl option CURLOPT_NOSIGNAL enabled, Curl doesn't use the
syscall to ignore SIGPIPE signals. It's safe as long as we configure to
prevent SIGPIPE from being triggered.
No new tests.
- platform/network/curl/CurlContext.cpp:
(WebCore::CurlHandle::CurlHandle):
- 1:36 PM Changeset in webkit [279045] by
-
- 2 edits in trunk/Source/WebKit
Clear state after process crash so that we know to re-issue sandbox extensions
https://bugs.webkit.org/show_bug.cgi?id=227103
<rdar://problem/77588760>
Reviewed by Tim Horton.
Follow-up patch that corrects a problem when switching between processes (for example, when
a provisional load moves to a committed load.) The parameters for the new process would fail
to pass the necessary sandbox extensions for the <attachment> element if they had been vended
to the provisional load. Instead, we should be checking if the new process has been given
the necessary extensions.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters): Use the new process, not the process state we are
copying from when deciding whether we need to extend sandbox powers to the new process.
- 12:44 PM Changeset in webkit [279044] by
-
- 7 edits in trunk
[css-logical] Fix cssom "set a CSS declaration" for logical properties
https://bugs.webkit.org/show_bug.cgi?id=226461
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
This test is now passing.
- web-platform-tests/css/cssom/cssstyledeclaration-setter-logical-expected.txt:
Source/WebCore:
Test: imported/w3c/web-platform-tests/css/cssom/cssstyledeclaration-setter-logical.html
Before this patch, setting a value to a property already in the list of
declarations, would just update its value, without reordering.
The problem was that the order is important when there is a mix of
logical and physical properties:
el.style.paddingTop = "1px";
el.style.paddingBlockStart = "2px";
el.style.cssText; "padding-top: 1px; padding-block-start: 2px"
el.style.paddingTop = "3px";
el.style.cssText; "padding-top: 3px; padding-block-start: 2px"
getComputedStyle(el).paddingTop; "2px" -- no effect!
Therefore, this patch implements this part of the spec:
If there are CSS declarations in declarations whose property name is
in the same logical property group as property, but has a different
mapping logic, target declaration must be at an index after all of
those CSS declarations.
This change is based on this Chromium CL:
https://chromium-review.googlesource.com/c/chromium/src/+/2575081/
- css/CSSProperty.h:
- css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::canUpdateInPlace const):
(WebCore::MutableStyleProperties::setProperty):
- css/StyleProperties.h:
- css/makeprop.pl:
- 12:15 PM Changeset in webkit [279043] by
-
- 19 edits in trunk/Source
[iOS] Fullscreen video playback gets stuck after interacting with the playback controls
https://bugs.webkit.org/show_bug.cgi?id=227047
Reviewed by Eric Carlson.
When we scrub a playing video, the video element may enter a temporarily stalled
state - the player is still playing, but it does not have enough data. In WebKit,
therateof the player will be 0. But we cannot set the rate ofWebAVPlayerController
to 0 in this case, because AVKit will believe the video playback is paused when
its rate is 0. In r261587, we defined a magic rate (0.00000001f) for this case.
Unfortunately, with the changes in r275956,
WebAVPlayerControllerwill
align itsdefaultPlaybackRatewithratewhenrateis not 0. Under stress
tests, e.g., keep scrubbing a video, a video element will eventually enter a state
in which bothdefaultPlaybackRateandrateare the magic rate. And the video
appears to be stuck for users.
To fix the issue, this patch removes the magic rate and defines a new state:
stalled.
A video will be in the stalled state when it is playing but does not have enough data.
WebKit will only change the rate ofWebAVPlayerControllerwhen the video
is not stalled.
To avoid potential problems due to the conversions between "float" and "double"
back and forth, this patch updates the types ofplaybackRateanddefaultPlaybackRate.
Source/WebCore:
- platform/cocoa/PlaybackSessionModel.h:
(WebCore::PlaybackSessionModelClient::rateChanged):
- platform/cocoa/PlaybackSessionModelMediaElement.h:
- platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::updateForEventName):
(WebCore::PlaybackSessionModelMediaElement::setDefaultPlaybackRate):
(WebCore::PlaybackSessionModelMediaElement::setPlaybackRate):
(WebCore::PlaybackSessionModelMediaElement::defaultPlaybackRate const):
(WebCore::PlaybackSessionModelMediaElement::playbackRate const):
- platform/ios/PlaybackSessionInterfaceAVKit.h:
- platform/ios/PlaybackSessionInterfaceAVKit.mm:
(WebCore::PlaybackSessionInterfaceAVKit::PlaybackSessionInterfaceAVKit):
(WebCore::PlaybackSessionInterfaceAVKit::rateChanged):
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(VideoFullscreenControllerContext::rateChanged):
(VideoFullscreenControllerContext::setDefaultPlaybackRate):
(VideoFullscreenControllerContext::setPlaybackRate):
(VideoFullscreenControllerContext::isStalled const):
(VideoFullscreenControllerContext::defaultPlaybackRate const):
(VideoFullscreenControllerContext::playbackRate const):
- platform/mac/PlaybackSessionInterfaceMac.h:
- platform/mac/PlaybackSessionInterfaceMac.mm:
(WebCore::PlaybackSessionInterfaceMac::rateChanged):
- platform/mac/VideoFullscreenInterfaceMac.h:
- platform/mac/VideoFullscreenInterfaceMac.mm:
(WebCore::VideoFullscreenInterfaceMac::rateChanged):
Source/WebKit:
- Scripts/webkit/messages.py:
(headers_for_type):
- UIProcess/Cocoa/PlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/PlaybackSessionManagerProxy.messages.in:
- UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
(WebKit::PlaybackSessionModelContext::setDefaultPlaybackRate):
(WebKit::PlaybackSessionModelContext::setPlaybackRate):
(WebKit::PlaybackSessionModelContext::rateChanged):
(WebKit::PlaybackSessionManagerProxy::rateChanged):
(WebKit::PlaybackSessionManagerProxy::setDefaultPlaybackRate):
(WebKit::PlaybackSessionManagerProxy::setPlaybackRate):
- UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
- WebProcess/cocoa/PlaybackSessionManager.h:
- WebProcess/cocoa/PlaybackSessionManager.mm:
(WebKit::PlaybackSessionInterfaceContext::rateChanged):
(WebKit::PlaybackSessionManager::rateChanged):
- 11:25 AM Changeset in webkit [279042] by
-
- 4 edits in trunk/Source/JavaScriptCore
Add a new pattern to B3ReduceStrength based on Bug 226984
https://bugs.webkit.org/show_bug.cgi?id=227138
Patch by Yijia Huang <Yijia Huang> on 2021-06-18
Reviewed by Filip Pizlo.
In the previous patch bug 226984, a new pattern could be introduced to
B3ReduceStrength.cpp for further optimization, which is that:
dest = (src >> shiftAmount) & mask
is equivalent to
src >> shiftAmount
under these constraints:
- shiftAmount >= 0
- mask has a binary format in contiguous ones starting from the least significant bit.
- shiftAmount + bitCount(mask) == maxBitWidth
For instance (32-bit):
(src >> 12) & 0x000fffff == src >> 12
This reduction is more beneficial than UBFX in this case.
B3 IR
Int @0 = ArgumentReg(%0)
Int @1 = 12
Int @2 = ZShr(@0, @1)
Int @3 = 0x000fffff
Int @4 = BitAnd(@2, @3))
Void@5 = Return(@4, Terminal)
w/o the pattern:
Old optimized AIR
Ubfx %0, $12, $20, %0, @4
Ret %0, @5
w/ the pattern:
New optimized AIR
Urshift %0, $12, %0, @3
Ret32 %0, @6
- b3/B3ReduceStrength.cpp:
- b3/testb3.h:
- b3/testb3_2.cpp:
(testBitAndZeroShiftRightImmMask32):
(testBitAndZeroShiftRightImmMask64):
(addBitTests):
- 10:17 AM Changeset in webkit [279041] by
-
- 3 edits in trunk/Source/JavaScriptCore
[DFG] Untyped branches should eliminate checks based on results from the AbstractInterpreter
https://bugs.webkit.org/show_bug.cgi?id=227159
Reviewed by Filip Pizlo.
We currently emit a ton of code for Untyped branches, as we use branchIfTruthy which does not know anything about the abstract interpreter.
Even worse: we call branchIfTruthy after emitting some fast paths, and branchIfTruthy replicates these fast paths (Int32 and Booleans).
While I plan to reduce the number of Untyped branches in some separate patches, there is a very long tail of predicted types visible in benchmarks, so I expect some of them to remain no matter what, justifying making the code emitted in that case more reasonable.
The implementation in this patch is fairly straightforward, as it follows very closely branchOnValue() from AssemblyHelpers (which was previously called through branchIfTruthy).
It was tested on the JSC stress tests, as well as on JetStream2.
On JetStream2, it reduced the average number of bytes emitted for Branch by the DFG from 30.1 to 27.5 (highly significant, it only changes by about 0.1 between runs).
Since only about 1.5k branches are untyped out of 34k in that benchmark, it means that this patch reduces the amount of code emitted for untyped branches by about 50 bytes on average.
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::branchDoubleZeroOrNaN):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitUntypedBranch):
(JSC::DFG::SpeculativeJIT::emitBranch):
- 10:10 AM WebKitGTK/2.32.x edited by
- (diff)
- 9:45 AM Changeset in webkit [279040] by
-
- 2 edits in trunk/LayoutTests
[iOS 14-Simulator WK2] editing/deleting/smart-delete-paragraph-004.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=226906
Unreviewed test gardening.
- platform/ios/TestExpectations: Mark test as flaky.
- 9:21 AM Changeset in webkit [279039] by
-
- 4 edits in trunk
[MSE][GStreamer] Soundcloud serves MP4 audio with empty tfdt boxes
https://bugs.webkit.org/show_bug.cgi?id=191419
Patch by Philippe Normand <pnormand@igalia.com> on 2021-06-18
Reviewed by Michael Catanzaro.
Source/WebCore:
When MSE is used the player receives broken audio fragments, perhaps because the server
expects the client to repair them. Not much we can do about this on GStreamer side though,
so behave as a Chrome UserAgent and then MSE is not used, the player receives an MP3 stream.
- platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresChromeBrowser):
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST): Add a test for the soundcloud quirk.
- 9:13 AM Changeset in webkit [279038] by
-
- 2 edits1 delete in trunk/LayoutTests
Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=227168
Updated glib baseline/expectations.
Patch by Eleni Maria Stea <hikiko> on 2021-06-18
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-003-expected.txt: Removed.
- 7:58 AM WebKitGTK/2.32.x edited by
- (diff)
- 7:01 AM Changeset in webkit [279037] by
-
- 5 edits2 moves in trunk/Source/WebKit
[WPE] Rework touch-based gesture controller
https://bugs.webkit.org/show_bug.cgi?id=226456
Patch by Zan Dobersek <zdobersek@igalia.com> on 2021-06-18
Reviewed by Alejandro G. Castro.
Rename WPE's ScrollGestureController to TouchGestureController since now
it also handles production of touch-based click events.
TouchGestureController now internally manages all the related state,
tracking the touch interaction and determining whether it progresses
into a scrolling gesture or whether, upon finishing, it should be
translated into a simple click event.
In PageClientImpl, any unhandled event is pushed into
TouchGestureController and a variant of different outcomes is returned.
No-event result is ignored, and click or axis events are dispatched as
appropriate.
In WPEView, where the touch events arrive into the engine, we keep the
shortcut where touch events are piped directly into the controller if
said controller is already gesturing scrolling behavior. In that case
the touch events are not dispatched into the engine, with the exception
of touch-up events which are, to provide matching closure for the
touch-down events.
- SourcesWPE.txt:
- UIProcess/API/wpe/PageClientImpl.cpp:
(WebKit::PageClientImpl::doneWithTouchEvent):
- UIProcess/API/wpe/TouchGestureController.cpp: Renamed from Source/WebKit/UIProcess/API/wpe/ScrollGestureController.cpp.
(WebKit::TouchGestureController::handleEvent):
- UIProcess/API/wpe/TouchGestureController.h: Renamed from Source/WebKit/UIProcess/API/wpe/ScrollGestureController.h.
(WebKit::TouchGestureController::gesturedEvent const):
- UIProcess/API/wpe/WPEView.cpp:
(WKWPE::View::View):
(WKWPE::m_backend):
- UIProcess/API/wpe/WPEView.h:
(WKWPE::View::touchGestureController const):
(WKWPE::View::scrollGestureController const): Deleted.
- 6:37 AM Changeset in webkit [279036] by
-
- 2 edits in trunk/Source/WebCore
[LFC][WPE] Build failure with GCC 8.x
https://bugs.webkit.org/show_bug.cgi?id=227166
Reviewed by Alan Bujtas.
The build fails with the error: converting to 'std::in_place_t' from initializer list
would use explicit constructor 'constexpr std::in_place_t::in_place_t()'
No new tests, is a build fix.
- layout/integration/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::prepareLayoutState):
- 3:58 AM Changeset in webkit [279035] by
-
- 2 edits in trunk
Ignore clangd's directory with index files
https://bugs.webkit.org/show_bug.cgi?id=227162
Reviewed by Žan Doberšek.
clangd stores its indexes in a .cache directory. Let git ignore it.
- .gitignore:
- 3:35 AM Changeset in webkit [279034] by
-
- 4 edits2 adds in trunk
[GStreamer] imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html is failing since r273645
https://bugs.webkit.org/show_bug.cgi?id=223508
Patch by Philippe Normand <pnormand@igalia.com> on 2021-06-18
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
Per spec, prevent seeks, playback rate changes and preload state updates on media elements backed by
the GStreamer MediaStream source element.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
(WebCore::MediaPlayerPrivateGStreamer::setPreload):
(WebCore::MediaPlayerPrivateGStreamer::maxMediaTimeSeekable const):
LayoutTests:
Unflag and add glib baseline for test now passing.
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt: Added.
- 1:37 AM WebKitGTK/2.32.x edited by
- (diff)
- 1:29 AM Changeset in webkit [279033] by
-
- 4 edits in trunk
[WebRTC][GStreamer] fast/mediastream/MediaStream-video-element-remove-track.html is failing
https://bugs.webkit.org/show_bug.cgi?id=191886
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
Trigger source pad removal in the mediastream source element when a track has been removed.
- platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:
(WebKitMediaStreamObserver::didRemoveTrack):
LayoutTests:
- platform/glib/TestExpectations: Unflag test now passing.
- 1:05 AM Changeset in webkit [279032] by
-
- 6 edits in trunk
[SOUP] Add Timing-Allow-Origin checks to NetworkDataTaskSoup
https://bugs.webkit.org/show_bug.cgi?id=227008
<rdar://problem/79384792>
Reviewed by Adrian Perez de Castro.
Source/WebKit:
Add missing TAO checks to Soup backend.
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::create):
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup):
(WebKit::NetworkDataTaskSoup::didSendRequest):
(WebKit::NetworkDataTaskSoup::continueHTTPRedirection):
- NetworkProcess/soup/NetworkDataTaskSoup.h:
LayoutTests:
- platform/glib/TestExpectations:
Jun 17, 2021:
- 10:35 PM Changeset in webkit [279031] by
-
- 55 edits10 copies9 moves27 adds in trunk/LayoutTests
[GTK][WPE] Unreviewed test gardening. Update baselines after r278974.
There are GTK and WPE tests that have the same text baseline but the
corresponding PNG image is different. In this case, I have preferred
to keep a specific text baseline for each port, instead of
promoting the text baseline to GLIB.
- platform/gtk/svg/text/foreignObject-repaint-expected.txt: Copied from LayoutTests/platform/glib/svg/text/foreignObject-repaint-expected.txt.
- platform/gtk/svg/text/foreignObject-text-clipping-bug-expected.png:
- platform/gtk/svg/text/foreignObject-text-clipping-bug-expected.txt:
- platform/gtk/svg/text/text-align-01-b-expected.png:
- platform/gtk/svg/text/text-align-01-b-expected.txt:
- platform/gtk/svg/text/text-align-02-b-expected.png:
- platform/gtk/svg/text/text-align-02-b-expected.txt:
- platform/gtk/svg/text/text-align-03-b-expected.png:
- platform/gtk/svg/text/text-align-03-b-expected.txt:
- platform/gtk/svg/text/text-align-04-b-expected.png:
- platform/gtk/svg/text/text-align-04-b-expected.txt:
- platform/gtk/svg/text/text-align-05-b-expected.png:
- platform/gtk/svg/text/text-align-05-b-expected.txt:
- platform/gtk/svg/text/text-align-06-b-expected.png:
- platform/gtk/svg/text/text-align-06-b-expected.txt:
- platform/gtk/svg/text/text-deco-01-b-expected.png:
- platform/gtk/svg/text/text-deco-01-b-expected.txt:
- platform/gtk/svg/text/text-fonts-01-t-expected.png:
- platform/gtk/svg/text/text-fonts-01-t-expected.txt:
- platform/gtk/svg/text/text-fonts-02-t-expected.png:
- platform/gtk/svg/text/text-fonts-02-t-expected.txt: Copied from LayoutTests/platform/glib/svg/text/text-fonts-02-t-expected.txt.
- platform/gtk/svg/text/text-intro-05-t-expected.png:
- platform/gtk/svg/text/text-intro-05-t-expected.txt: Copied from LayoutTests/platform/glib/svg/text/text-intro-05-t-expected.txt.
- platform/gtk/svg/text/text-path-01-b-expected.png:
- platform/gtk/svg/text/text-path-01-b-expected.txt:
- platform/gtk/svg/text/text-spacing-01-b-expected.png:
- platform/gtk/svg/text/text-spacing-01-b-expected.txt:
- platform/gtk/svg/text/text-text-01-b-expected.png:
- platform/gtk/svg/text/text-text-01-b-expected.txt: Copied from LayoutTests/platform/glib/svg/text/text-text-01-b-expected.txt.
- platform/gtk/svg/text/text-text-03-b-expected.png:
- platform/gtk/svg/text/text-text-03-b-expected.txt: Copied from LayoutTests/platform/glib/svg/text/text-text-03-b-expected.txt.
- platform/gtk/svg/text/text-text-05-t-expected.png:
- platform/gtk/svg/text/text-text-05-t-expected.txt: Copied from LayoutTests/platform/glib/svg/text/text-text-05-t-expected.txt.
- platform/gtk/svg/text/text-text-07-t-expected.png:
- platform/gtk/svg/text/text-text-07-t-expected.txt:
- platform/gtk/svg/text/text-text-08-b-expected.png:
- platform/gtk/svg/text/text-text-08-b-expected.txt:
- platform/gtk/svg/text/text-tref-01-b-expected.png:
- platform/gtk/svg/text/text-tref-01-b-expected.txt:
- platform/gtk/svg/text/text-tselect-01-b-expected.png:
- platform/gtk/svg/text/text-tselect-01-b-expected.txt:
- platform/gtk/svg/text/text-tspan-01-b-expected.png:
- platform/gtk/svg/text/text-tspan-01-b-expected.txt:
- platform/gtk/svg/text/text-ws-01-t-expected.png:
- platform/gtk/svg/text/text-ws-01-t-expected.txt: Copied from LayoutTests/platform/glib/svg/text/text-ws-01-t-expected.txt.
- platform/gtk/svg/text/text-ws-02-t-expected.png:
- platform/gtk/svg/text/text-ws-02-t-expected.txt: Copied from LayoutTests/platform/glib/svg/text/text-ws-02-t-expected.txt.
- platform/gtk/svg/text/textPathBoundsBug-expected.txt: Copied from LayoutTests/platform/glib/svg/text/textPathBoundsBug-expected.txt.
- platform/wpe/svg/text/foreignObject-repaint-expected.png: Added.
- platform/wpe/svg/text/foreignObject-repaint-expected.txt: Renamed from LayoutTests/platform/glib/svg/text/foreignObject-repaint-expected.txt.
- platform/wpe/svg/text/foreignObject-text-clipping-bug-expected.png: Added.
- platform/wpe/svg/text/foreignObject-text-clipping-bug-expected.txt:
- platform/wpe/svg/text/text-align-01-b-expected.png: Added.
- platform/wpe/svg/text/text-align-01-b-expected.txt:
- platform/wpe/svg/text/text-align-02-b-expected.png: Added.
- platform/wpe/svg/text/text-align-02-b-expected.txt:
- platform/wpe/svg/text/text-align-03-b-expected.png: Added.
- platform/wpe/svg/text/text-align-03-b-expected.txt:
- platform/wpe/svg/text/text-align-04-b-expected.png: Added.
- platform/wpe/svg/text/text-align-04-b-expected.txt:
- platform/wpe/svg/text/text-align-05-b-expected.png: Added.
- platform/wpe/svg/text/text-align-05-b-expected.txt:
- platform/wpe/svg/text/text-align-06-b-expected.png: Added.
- platform/wpe/svg/text/text-align-06-b-expected.txt:
- platform/wpe/svg/text/text-deco-01-b-expected.png: Added.
- platform/wpe/svg/text/text-deco-01-b-expected.txt:
- platform/wpe/svg/text/text-fonts-01-t-expected.png: Added.
- platform/wpe/svg/text/text-fonts-01-t-expected.txt:
- platform/wpe/svg/text/text-fonts-02-t-expected.png: Added.
- platform/wpe/svg/text/text-fonts-02-t-expected.txt: Renamed from LayoutTests/platform/glib/svg/text/text-fonts-02-t-expected.txt.
- platform/wpe/svg/text/text-intro-05-t-expected.png: Added.
- platform/wpe/svg/text/text-intro-05-t-expected.txt: Renamed from LayoutTests/platform/glib/svg/text/text-intro-05-t-expected.txt.
- platform/wpe/svg/text/text-path-01-b-expected.png: Added.
- platform/wpe/svg/text/text-path-01-b-expected.txt:
- platform/wpe/svg/text/text-spacing-01-b-expected.png: Added.
- platform/wpe/svg/text/text-spacing-01-b-expected.txt:
- platform/wpe/svg/text/text-text-01-b-expected.png: Added.
- platform/wpe/svg/text/text-text-01-b-expected.txt: Renamed from LayoutTests/platform/glib/svg/text/text-text-01-b-expected.txt.
- platform/wpe/svg/text/text-text-03-b-expected.png: Added.
- platform/wpe/svg/text/text-text-03-b-expected.txt: Renamed from LayoutTests/platform/glib/svg/text/text-text-03-b-expected.txt.
- platform/wpe/svg/text/text-text-05-t-expected.png: Added.
- platform/wpe/svg/text/text-text-05-t-expected.txt: Renamed from LayoutTests/platform/glib/svg/text/text-text-05-t-expected.txt.
- platform/wpe/svg/text/text-text-07-t-expected.png: Added.
- platform/wpe/svg/text/text-text-07-t-expected.txt:
- platform/wpe/svg/text/text-text-08-b-expected.png: Added.
- platform/wpe/svg/text/text-text-08-b-expected.txt:
- platform/wpe/svg/text/text-tref-01-b-expected.png: Added.
- platform/wpe/svg/text/text-tref-01-b-expected.txt: Copied from LayoutTests/platform/gtk/svg/text/text-tref-01-b-expected.txt.
- platform/wpe/svg/text/text-tselect-01-b-expected.png: Added.
- platform/wpe/svg/text/text-tselect-01-b-expected.txt:
- platform/wpe/svg/text/text-tspan-01-b-expected.png: Added.
- platform/wpe/svg/text/text-tspan-01-b-expected.txt:
- platform/wpe/svg/text/text-ws-01-t-expected.png: Added.
- platform/wpe/svg/text/text-ws-01-t-expected.txt: Renamed from LayoutTests/platform/glib/svg/text/text-ws-01-t-expected.txt.
- platform/wpe/svg/text/text-ws-02-t-expected.png: Added.
- platform/wpe/svg/text/text-ws-02-t-expected.txt: Renamed from LayoutTests/platform/glib/svg/text/text-ws-02-t-expected.txt.
- platform/wpe/svg/text/textPathBoundsBug-expected.png: Added.
- platform/wpe/svg/text/textPathBoundsBug-expected.txt: Renamed from LayoutTests/platform/glib/svg/text/textPathBoundsBug-expected.txt.
- platform/wpe/tables/mozilla/bugs/bug106795-expected.png: Added.
- platform/wpe/tables/mozilla/bugs/bug82946-2-expected.png: Added.
- 9:09 PM Changeset in webkit [279030] by
-
- 20 edits4 adds in trunk
[Cocoa] Disable hardware decoding in the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=226869
<rdar://77548905>
Reviewed by Per Arne Vollan and Simon Fraser.
Source/WebCore:
Pass kCGImageSourceEnableRestrictedDecoding : kCFBooleanTrue when decoding
an image frame.
Test: fast/images/heic-as-background-image.html
- platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::createImageSourceOptions):
Source/WebCore/PAL:
SoftLink
- VTRestrictVideoDecoders from VideoToolbox
- FigPhotoSupportsHEVCHWDecode from MediaToobox
- PAL.xcodeproj/project.pbxproj:
- pal/cf/VideoToolboxSoftLink.cpp:
- pal/cf/VideoToolboxSoftLink.h:
- pal/cocoa/MediaToolboxSoftLink.cpp:
- pal/cocoa/MediaToolboxSoftLink.h:
- pal/spi/cg/ImageIOSPI.h:
- pal/spi/cocoa/VideoToolboxSPI.h: Added.
Source/WebKit:
Restrict video decoders and disable hardware image decoders.
A temp extension is created for the service "com.apple.trustd.agent" to
allow temporarily calling FigPhotoSupportsHEVCHWDecode(). This function
needs access this service but we have recently closed access to it.
FigPhotoSupportsHEVCHWDecode() sets a local static variable by using the
service "com.apple.trustd.agent" when it is called for the first time.
Our purpose of calling it in this context is to initialize the static
variable only. And this is why we do not use its return value.
This solution is fragile. If MediaToolbox is changed such that it needs
'com.apple.trustd.agent' while decoding an image, the decoding will fail.
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::restrictImageAndVideoDecoders):
(WebKit::WebProcess::initializeSandbox):
Source/WTF:
Add have macros for using:
- kCGImageSourceEnableRestrictedDecoding
- VTRestrictVideoDecoders()
- wtf/PlatformHave.h:
LayoutTests:
Add a reference test for rendering the HEIF images.
- TestExpectations:
- fast/images/heic-as-background-image-expected.html: Added.
- fast/images/heic-as-background-image.html: Added.
- fast/images/resources/green-400x400.heic: Added.
- platform/ios/TestExpectations:
- platform/mac/TestExpectations:
- 7:06 PM Changeset in webkit [279029] by
-
- 7 edits in trunk/Source
Rename numberOfPACBits to maxNumberOfAllowedPACBits.
https://bugs.webkit.org/show_bug.cgi?id=227156
Reviewed by Saam Barati.
Source/JavaScriptCore:
Just renaming the constant to better describe what it represents. There are no
behavior changes.
- assembler/MacroAssemblerARM64E.h:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::cageWithoutUntagging):
(JSC::AssemblyHelpers::cageConditionallyAndUntag):
- llint/LowLevelInterpreter64.asm:
Source/WTF:
- wtf/CagedPtr.h:
- 6:44 PM Changeset in webkit [279028] by
-
- 20 edits in trunk
Define MacroAssemblerARM64E::numberOfPACBits based on OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH).
https://bugs.webkit.org/show_bug.cgi?id=227147
rdar://78785309
Reviewed by Saam Barati.
Source/bmalloc:
For OS(DARWIN), define BOS_EFFECTIVE_ADDRESS_WIDTH in terms of MACH_VM_MAX_ADDRESS,
which is provided by the SDK. This ensures that it is correct for each target
OS(DARWIN) platform.
- bmalloc/Algorithm.h:
(bmalloc::clzConstexpr):
(bmalloc::getMSBSetConstexpr):
- bmalloc/BPlatform.h:
- bmalloc/Gigacage.h:
- bmalloc/ObjectTypeTable.h:
- bmalloc/Packed.h:
Source/JavaScriptCore:
- assembler/MacroAssemblerARM64E.h:
- bytecode/CodeOrigin.h:
- runtime/JSString.h:
- runtime/OptionsList.h:
Source/WTF:
For OS(DARWIN), define OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH) in terms of
MACH_VM_MAX_ADDRESS, which is provided by the SDK. This ensures that it is
correct for each target OS(DARWIN) platform.
Also update an assertion in WTFAssertions.cpp to verify that address bits are
less than 48. The purpose of this assertion is to ensure that our 64-bit NaN
boxing encoding for JSValues will work. Hence, we should use the encoding limit
for pointers of 48 bits. It no longer makes sense to assert based on
OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH), because OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH)
is defined in terms of MACH_VM_MAX_ADDRESS.
- wtf/CagedPtr.h:
- wtf/CompactPointerTuple.h:
- wtf/PlatformOS.h:
- wtf/WTFAssertions.cpp:
- wtf/threads/Signals.cpp:
Tools:
- TestWebKitAPI/Tests/WTF/Packed.cpp:
- 6:27 PM Changeset in webkit [279027] by
-
- 4 edits in trunk
[Win] WTF.ParseInteger and WTF.ParseIntegerAllowingTrailingJunk are failing
https://bugs.webkit.org/show_bug.cgi?id=227090
Reviewed by Yusuke Suzuki.
Source/WTF:
ArithmeticOperations::sub unexpectedly reported an overflow for
the result of std::numeric_limits<ResultType>::min() in MSVC code path.
For example, Checked<int, RecordOverflow>(INT_MIN + 1) - 1 was reported an overflow.
In the case of calculating (lhs - rhs), and lhs < 0 and rhs > 0,
the original code reported an overflow if (rhs > max() + lhs).
Mathematically, this condition checks (lhs - rhs < -max()).
It should use min() instead of max() in this case. It should be
(lhs - rhs < min()) mathematically.
- wtf/CheckedArithmetic.h:
Tools:
- TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:
(TestWebKitAPI::AllowMixedSignednessTest::run):
- 5:26 PM Changeset in webkit [279026] by
-
- 7 edits in trunk
Add support for IDBCursor.request
https://bugs.webkit.org/show_bug.cgi?id=227152
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline some WPT tests now that they are passing.
- web-platform-tests/IndexedDB/idbcursor-request.any-expected.txt:
- web-platform-tests/IndexedDB/idbcursor-request.any.worker-expected.txt:
- web-platform-tests/IndexedDB/idlharness.any-expected.txt:
- web-platform-tests/IndexedDB/idlharness.any.worker-expected.txt:
Source/WebCore:
Add support for IDBCursor.request:
Both Blink and Gecko already support this.
No new tests, rebaselined existing tests.
- Modules/indexeddb/IDBCursor.idl:
- 5:00 PM Changeset in webkit [279025] by
-
- 2 edits in trunk/Source/WTF
Add assertion in RunLoop::dispatch
https://bugs.webkit.org/show_bug.cgi?id=227154
<rdar://79243769>
Reviewed by Geoff Garen.
This should help us find what is scheduling null functions.
- wtf/RunLoop.cpp:
(WTF::RunLoop::dispatch):
(WTF::RunLoop::dispatchAfter):
- 4:39 PM Changeset in webkit [279024] by
-
- 2 edits in trunk/LayoutTests
Skip WebXR tests on iOS
https://bugs.webkit.org/show_bug.cgi?id=227151
Patch by Ada Chan <ada.chan@apple.com> on 2021-06-17
Reviewed by Tim Horton.
- platform/ios/TestExpectations:
- 4:21 PM Changeset in webkit [279023] by
-
- 3 edits in trunk/Source/ThirdParty/libwebrtc
Unreviewed, reverting r279011.
https://bugs.webkit.org/show_bug.cgi?id=227153
broke ios build
Reverted changeset:
"[Mac] libwebrtc CMBaseClass objects need alignment fixup"
https://bugs.webkit.org/show_bug.cgi?id=227137
https://trac.webkit.org/changeset/279011
- 4:02 PM Changeset in webkit [279022] by
-
- 5 edits in branches/safari-611-branch/Source/WebKit
Apply patch. rdar://problem/79474174
- 3:59 PM Changeset in webkit [279021] by
-
- 3 edits in branches/safari-611-branch/Source/ThirdParty/libwebrtc
Cherry-pick r279011. rdar://problem/79474211
[Mac] libwebrtc CMBaseClass objects need alignment fixup
https://bugs.webkit.org/show_bug.cgi?id=227137
Reviewed by Youenn Fablet.
- Source/webrtc/sdk/WebKit/WebKitVP8Decoder.cpp: (webrtc::createWebKitVP8Decoder): Add padding to the CMBaseClass object on x86_64 so function pointers are naturally aligned. Add static_asserts to ensure alignment and sizes are correct.
- Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp: (webrtc::createWebKitVP9Decoder): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279011 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:59 PM Changeset in webkit [279020] by
-
- 2 edits in branches/safari-611-branch/Source/WebCore
Cherry-pick r278975. rdar://problem/79474077
Make FontFaceSet::Iterator's bounds check more robust
https://bugs.webkit.org/show_bug.cgi?id=227048
<rdar://problem/78871890>
Reviewed by Simon Fraser.
We were checking for one specific bad value, when we should have been checking for all bad values.
- css/FontFaceSet.cpp: (WebCore::FontFaceSet::Iterator::next):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278975 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:59 PM Changeset in webkit [279019] by
-
- 4 edits in branches/safari-611-branch/Source
Cherry-pick r278870. rdar://problem/79473993
[Mac] CoreMedia WrapperClass does not need alignment fixup
https://bugs.webkit.org/show_bug.cgi?id=226978
rdar://78864290
Reviewed by Geoffrey Garen and Dan Bernstein.
Source/WebCore:
- platform/graphics/cocoa/WebCoreDecompressionSession.mm: (WebCore::WebCoreDecompressionSession::enqueueSample): static_assert CMBufferQueueRef callback struct alignment and version size.
Source/WebKit:
- Shared/mac/MediaFormatReader/CoreMediaWrapped.h: (WebKit::CoreMediaWrapped<Wrapped>::vTable): Don't add padding to WrapperClass, it isn't necessary. static_assert CMBaseClass and WrapperClass alignment and .version sizes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:46 PM Changeset in webkit [279018] by
-
- 8 edits in branches/safari-611-branch/Source
Versioning.
WebKit-7611.3.9
- 3:40 PM Changeset in webkit [279017] by
-
- 10 edits in trunk/Source
Enable some more release logging in for ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=227142
Reviewed by Eric Carlson.
Enable some more release logging in for ephemeral sessions, to faciliate debugging.
Source/WebCore:
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::SWServer):
Source/WebKit:
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::isAlwaysOnLoggingAllowed const): Deleted.
- GPUProcess/GPUConnectionToWebProcess.h:
(WebKit::GPUConnectionToWebProcess::sessionID const):
- GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::logger):
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::insertObservedDomain):
(WebKit::ResourceLoadStatisticsDatabaseStore::relationshipExists const):
(WebKit::ResourceLoadStatisticsDatabaseStore::domainID const):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertDomainRelationshipList):
(WebKit::ResourceLoadStatisticsDatabaseStore::populateFromMemoryStore):
(WebKit::ResourceLoadStatisticsDatabaseStore::mergeStatistic):
(WebKit::ResourceLoadStatisticsDatabaseStore::mergeStatistics):
(WebKit::ResourceLoadStatisticsDatabaseStore::incrementRecordsDeletedCountForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::recursivelyFindNonPrevalentDomainsThatRedirectedToThisDomain):
(WebKit::ResourceLoadStatisticsDatabaseStore::markAsPrevalentIfHasRedirectedToPrevalent):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccessInternal):
(WebKit::ResourceLoadStatisticsDatabaseStore::grandfatherDataForDomains):
(WebKit::ResourceLoadStatisticsDatabaseStore::ensurePrevalentResourcesForDebugMode):
(WebKit::ResourceLoadStatisticsDatabaseStore::logFrameNavigation):
(WebKit::ResourceLoadStatisticsDatabaseStore::logCrossSiteLoadWithLinkDecoration):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearTopFrameUniqueRedirectsToSinceSameSiteStrictEnforcement):
(WebKit::ResourceLoadStatisticsDatabaseStore::setUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::logUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasHadUserInteraction):
(WebKit::ResourceLoadStatisticsDatabaseStore::setPrevalentResource):
(WebKit::ResourceLoadStatisticsDatabaseStore::setDomainsAsPrevalent):
(WebKit::ResourceLoadStatisticsDatabaseStore::predicateValueForDomain const):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearPrevalentResource):
(WebKit::ResourceLoadStatisticsDatabaseStore::setGrandfathered):
(WebKit::ResourceLoadStatisticsDatabaseStore::setIsScheduledForAllButCookieDataRemoval):
(WebKit::ResourceLoadStatisticsDatabaseStore::getMostRecentlyUpdatedTimestamp const):
(WebKit::ResourceLoadStatisticsDatabaseStore::setSubframeUnderTopFrameDomain):
(WebKit::ResourceLoadStatisticsDatabaseStore::setSubresourceUnderTopFrameDomain):
(WebKit::ResourceLoadStatisticsDatabaseStore::setSubresourceUniqueRedirectTo):
(WebKit::ResourceLoadStatisticsDatabaseStore::setSubresourceUniqueRedirectFrom):
(WebKit::ResourceLoadStatisticsDatabaseStore::setTopFrameUniqueRedirectTo):
(WebKit::ResourceLoadStatisticsDatabaseStore::setTopFrameUniqueRedirectFrom):
(WebKit::ResourceLoadStatisticsDatabaseStore::ensureResourceStatisticsForRegistrableDomain):
(WebKit::ResourceLoadStatisticsDatabaseStore::removeDataForDomain):
(WebKit::ResourceLoadStatisticsDatabaseStore::cookieAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::hasUserGrantedStorageAccessThroughPrompt):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearGrandfathering):
(WebKit::ResourceLoadStatisticsDatabaseStore::pruneStatisticsIfNeeded):
(WebKit::ResourceLoadStatisticsDatabaseStore::updateLastSeen):
(WebKit::ResourceLoadStatisticsDatabaseStore::setLastSeen):
(WebKit::ResourceLoadStatisticsDatabaseStore::setVeryPrevalentResource):
(WebKit::ResourceLoadStatisticsDatabaseStore::updateDataRecordsRemoved):
(WebKit::ResourceLoadStatisticsDatabaseStore::isCorrectSubStatisticsCount):
(WebKit::ResourceLoadStatisticsDatabaseStore::getDomainStringFromDomainID const):
(WebKit::ResourceLoadStatisticsDatabaseStore::appendSubStatisticList const):
(WebKit::ResourceLoadStatisticsDatabaseStore::resourceToString const):
(WebKit::ResourceLoadStatisticsDatabaseStore::domainIDExistsInDatabase):
(WebKit::ResourceLoadStatisticsDatabaseStore::updateOperatingDatesParameters):
(WebKit::ResourceLoadStatisticsDatabaseStore::includeTodayAsOperatingDateIfNecessary):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertExpiredStatisticForTesting):
(WebKit::ResourceLoadStatisticsDatabaseStore::findPrivateClickMeasurement):
(WebKit::ResourceLoadStatisticsDatabaseStore::insertPrivateClickMeasurement):
(WebKit::ResourceLoadStatisticsDatabaseStore::markAllUnattributedPrivateClickMeasurementAsExpiredForTesting):
(WebKit::ResourceLoadStatisticsDatabaseStore::removeUnattributed):
(WebKit::ResourceLoadStatisticsDatabaseStore::allAttributedPrivateClickMeasurement):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearPrivateClickMeasurement):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearExpiredPrivateClickMeasurement):
(WebKit::ResourceLoadStatisticsDatabaseStore::privateClickMeasurementToString):
(WebKit::ResourceLoadStatisticsDatabaseStore::clearSentAttribution):
(WebKit::ResourceLoadStatisticsDatabaseStore::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
- UIProcess/API/Cocoa/WKWebView.mm:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::getNetworkProcessConnection):
- WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:
(WebKit::WebURLSchemeTaskProxy::startLoading):
(WebKit::WebURLSchemeTaskProxy::stopLoading):
(WebKit::WebURLSchemeTaskProxy::didPerformRedirection):
(WebKit::WebURLSchemeTaskProxy::didReceiveResponse):
(WebKit::WebURLSchemeTaskProxy::didReceiveData):
(WebKit::WebURLSchemeTaskProxy::didComplete):
- 3:35 PM Changeset in webkit [279016] by
-
- 3 edits2 adds in trunk
[Metal ANGLE] Shaders with reserved metal keywords do not translate, nor do shaders with struct and variable names that are the same except prefixed by an underscore
https://bugs.webkit.org/show_bug.cgi?id=226660
Source/ThirdParty/ANGLE:
Fix keyword translation problem by correcting symbol space. This avoids renaming structs unnecessarily
Reviewed by Dean Jackson.
- src/compiler/translator/TranslatorMetalDirect/RewriteKeywords.cpp:
(sh::Rewriter::createRenamed):
LayoutTests:
Reviewed by Dean Jackson.
- fast/canvas/webgl/shader-with-reserved-keyword-expected.txt: Added.
- fast/canvas/webgl/shader-with-reserved-keyword.html: Added.
- 3:20 PM Changeset in webkit [279015] by
-
- 30 edits2 copies3 moves26 adds1 delete in trunk/LayoutTests
Resync DOM WPT tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=227144
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Resync DOM WPT tests from upstream ec5c1fc86b65142e7b.
- resources/resource-files.json:
- web-platform-tests/dom/*: Updated.
- web-platform-tests/interfaces/dom.idl:
LayoutTests:
- TestExpectations:
- tests-options.json:
- 3:14 PM Changeset in webkit [279014] by
-
- 2 edits in trunk/Source/WebKit
Clear state after process crash so that we know to re-issue sandbox extensions
https://bugs.webkit.org/show_bug.cgi?id=227103
<rdar://problem/77588760>
Reviewed by Per Arne Vollan.
We dynamically extend access to certain mach services when the ATTACHMENT_ELEMENT feature
is enabled. If a process with this feature activated crashes and WebKit relaunches it, we
don't grant the new process the same extensions because we believe they were already
previously sent.
This patch clears the state after a process crash so that it properly handles the restart case.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shutDown): Clear state.
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch): Clear state.
- 3:12 PM Changeset in webkit [279013] by
-
- 2 edits in trunk/JSTests
Make microbenchmarks/delete-property-from-prototype-chain not time out on debug builds
https://bugs.webkit.org/show_bug.cgi?id=227148
Reviewed by Mark Lam.
- microbenchmarks/delete-property-from-prototype-chain.js:
- 3:03 PM Changeset in webkit [279012] by
-
- 5 edits2 moves1 add in trunk/Tools
[resultsdbpy] Adopt autoinstaller
https://bugs.webkit.org/show_bug.cgi?id=227096
<rdar://problem/79418080>
Rubber-stamped by Aakash Jain.
- Scripts/libraries/resultsdbpy/container: Moved from insdie library.
- Scripts/libraries/resultsdbpy/resultsdbpy/init.py: Register required libraries.
- Scripts/libraries/resultsdbpy/resultsdbpy/container: Moved to containing folder.
- Scripts/libraries/resultsdbpy/resultsdbpy/example/main.py:
- Scripts/libraries/resultsdbpy/resultsdbpy/run: Moved to containing folder.
- Scripts/libraries/resultsdbpy/resultsdbpy/view/view_routes_unittest.py: Use specific imports
- Scripts/libraries/resultsdbpy/run: Moved from insdie library.
- Scripts/libraries/resultsdbpy/run-tests: Use autoinstalled libraries.
- Scripts/libraries/resultsdbpy/setup.py: Bump version.
- 3:01 PM Changeset in webkit [279011] by
-
- 3 edits in trunk/Source/ThirdParty/libwebrtc
[Mac] libwebrtc CMBaseClass objects need alignment fixup
https://bugs.webkit.org/show_bug.cgi?id=227137
Reviewed by Youenn Fablet.
- Source/webrtc/sdk/WebKit/WebKitVP8Decoder.cpp:
(webrtc::createWebKitVP8Decoder): Add padding to the CMBaseClass object on x86_64
so function pointers are naturally aligned. Add static_asserts to ensure alignment
and sizes are correct.
- Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:
(webrtc::createWebKitVP9Decoder): Ditto.
- 2:55 PM Changeset in webkit [279010] by
-
- 5 edits2 adds in trunk
Crash in WebCore::SlotAssignment::assignedNodesForSlot
https://bugs.webkit.org/show_bug.cgi?id=224408
<rdar://problem/76805764>
Reviewed by Michael Catanzaro.
Source/WebCore:
Like webkit.org/b/225684, the release assertion failure was caused by RenderTreeUpdater::tearDownRenderers
traversing the slot element for which we're currently calling Element::insertedIntoAncestor but had not yet
called SlotAssignment::addSlotElementByName.
Fixed the bug by returning early in SlotAssignment::assignedNodesForSlot when this condition holds,
which is when the shadow root is connected to a document and HTMLSlotElement is in the middle of
HTMLSlotElement::insertedIntoAncestor.
It's not the most elegant solution but staying safe for now.
Test: fast/shadow-dom/insert-slot-child-of-shadow-host-render-tree-invalidation-crash.html
- dom/SlotAssignment.cpp:
(WebCore::SlotAssignment::assignedNodesForSlot):
- html/HTMLSlotElement.cpp:
(WebCore::HTMLSlotElement::insertedIntoAncestor):
- html/HTMLSlotElement.h:
(WebCore::HTMLSlotElement::isInInsertedIntoAncestor): Added.
LayoutTests:
Added a regression test.
- fast/shadow-dom/insert-slot-child-of-shadow-host-render-tree-invalidation-crash-expected.txt: Added.
- fast/shadow-dom/insert-slot-child-of-shadow-host-render-tree-invalidation-crash.html: Added.
- 2:27 PM Changeset in webkit [279009] by
-
- 4 edits in trunk/Tools
[webkitcorepy] Retry downloads in Autoinstall
https://bugs.webkit.org/show_bug.cgi?id=227134
<rdar://problem/79462182>
Reviewed by Aakash Jain.
- Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(Package.Archive.download): Retry failed downloads
(AutoInstall): Allow for a single retry by default
- 2:12 PM Changeset in webkit [279008] by
-
- 3 edits in trunk/Source/JavaScriptCore
Reimplement JSC::CachePayload without FileSystem::unmapViewOfFile and FileSystem::MappedFileData::leakHandle
https://bugs.webkit.org/show_bug.cgi?id=227014
Reviewed by Yusuke Suzuki.
r247542 (Bug 199759) added FileSystem::unmapViewOfFile and
FileSystem::MappedFileData::leakHandle for JSC::CachePayload to
get the mapped address and to free the address.
However, Bug 227011 is going to add a file mapping handle to
FileSystem::MappedFileData for Windows port to create a
SharedMemory from a MappedFileData. Destruction of MappedFileData
should be done only by MappedFileData dtor.
- runtime/CachePayload.cpp:
(JSC::CachePayload::makeMappedPayload):
(JSC::CachePayload::makeMallocPayload):
(JSC::CachePayload::makeEmptyPayload):
(JSC::CachePayload::CachePayload):
(JSC::CachePayload::data const):
(JSC::CachePayload::size const):
(JSC::CachePayload::~CachePayload): Deleted.
(JSC::CachePayload::operator=): Deleted.
(JSC::CachePayload::freeData): Deleted.
- runtime/CachePayload.h: Use Variant for data.
(JSC::CachePayload::data const): Deleted.
(JSC::CachePayload::size const): Deleted.
(JSC::CachePayload::CachePayload): Deleted.
- 1:49 PM Changeset in webkit [279007] by
-
- 9 edits1 move1 delete in trunk/Source
Remove Mac-specific CPUTime functions
https://bugs.webkit.org/show_bug.cgi?id=227109
Reviewed by Yusuke Suzuki.
Source/WebKit:
Permit calling thread_selfusage, since it is used by clock_gettime(CLOCK_THREAD_CPUTIME_ID, tp).
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
- WebProcess/com.apple.WebProcess.sb.in:
Source/WTF:
There's no reason for the Mac-specific CPU time functions to exist, since getrusage and
clock_gettime work fine on Mac. It's actually slightly more efficient to use the POSIX calls
since getrusage returns CPU time for both current and terminated threads in a single
syscall, while using task_info requires two syscalls to do the same thing.
- WTF.xcodeproj/project.pbxproj:
- wtf/PlatformGTK.cmake:
- wtf/PlatformJSCOnly.cmake:
- wtf/PlatformPlayStation.cmake:
- wtf/PlatformWPE.cmake:
- wtf/cocoa/CPUTimeCocoa.cpp: Removed.
- wtf/posix/CPUTimePOSIX.cpp: Renamed from Source/WTF/wtf/unix/CPUTimeUnix.cpp.
- 1:48 PM Changeset in webkit [279006] by
-
- 4 edits in trunk
Trying to take empty snapshots of the view should not cause crashes
https://bugs.webkit.org/show_bug.cgi?id=227133
Reviewed by Tim Horton.
Source/WebKit:
Trying to take empty snapshots of the view should not cause crashes. We would previously
see crashes because:
- We would end up doing divisions by zero
- We would hit the ASSERT(size) in SharedMemory::allocate().
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView takeSnapshotWithConfiguration:completionHandler:]):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewSnapshot.mm:
(TEST):
- 1:07 PM Changeset in webkit [279005] by
-
- 3 edits2 adds in trunk/Tools
[iOS 15] Add iOS 15 simulator/device to bot watchers' dashboard
https://bugs.webkit.org/show_bug.cgi?id=226779
Patch by W.D. Xiong <w_xiong@apple.com> on 2021-06-17
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/public_html/dashboard/Images/IOS15.png: Added.
- CISupport/build-webkit-org/public_html/dashboard/Images/IOS15Simulator.png: Added.
- CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js: Added references to iOS 15 device + simulator, shifted ordering down
- CISupport/build-webkit-org/public_html/dashboard/Styles/Main.css: Added references to iOS 15 device + simulator
(table.queue-grid tr.platform.ios-simulator-15 img.logo):
(table.queue-grid tr.platform.ios-15 img.logo):
- 1:03 PM Changeset in webkit [279004] by
-
- 11 edits in trunk/Source
Storage Access quirks should prompt up to twice if a user does not allow storage access
https://bugs.webkit.org/show_bug.cgi?id=227099
<rdar://problem/79409843>
Reviewed by John Wilander.
Source/WebCore:
Remove hasDeniedCrossPageStorageAccess functions. They are not needed
now that we are aligning storage access quirks with non-quirks by
using maxNumberOfTimesExplicitlyDeniedStorageAccess.
- dom/DocumentStorageAccess.cpp:
(WebCore::DocumentStorageAccess::requestStorageAccessQuickCheck):
(WebCore::DocumentStorageAccess::requestStorageAccessForNonDocumentQuirk):
- dom/DocumentStorageAccess.h:
- dom/Element.cpp:
(WebCore::Element::dispatchMouseEvent):
- dom/Element.h:
- loader/ResourceLoadObserver.h:
(WebCore::ResourceLoadObserver::hasHadUserInteraction const):
(WebCore::ResourceLoadObserver::setHasDeniedCrossPageStorageAccess): Deleted.
(WebCore::ResourceLoadObserver::hasDeniedCrossPageStorageAccess const): Deleted.
- page/Quirks.cpp:
(WebCore::isStorageAccessQuirkDomainAndElement):
(WebCore::Quirks::requestStorageAccessAndHandleClick const):
(WebCore::Quirks::triggerOptionalStorageAccessQuirk const):
(WebCore::hasDeniedCrossPageStorageAccess): Deleted.
- page/Quirks.h:
Source/WebKit:
We should allow storage access prompts twice per document for quirks
just like for non-quirk cases. Previously we were only presenting
the quirk prompt once per web content process if the user denied. This
patch removes this code and utilizes maxNumberOfTimesExplicitlyDeniedStorageAccess
instead.
- WebProcess/WebCoreSupport/WebResourceLoadObserver.cpp:
(WebKit::WebResourceLoadObserver::hasDeniedCrossPageStorageAccess const): Deleted.
(WebKit::WebResourceLoadObserver::setHasDeniedCrossPageStorageAccess): Deleted.
- WebProcess/WebCoreSupport/WebResourceLoadObserver.h:
- 1:00 PM Changeset in webkit [279003] by
-
- 2 edits in trunk/Source/WTF
Adopt WKHoverGestureRecognizer
https://bugs.webkit.org/show_bug.cgi?id=227116
<rdar://79442027>
Reviewed by Wenson Hsieh.
- wtf/PlatformEnableCocoa.h:
- 11:57 AM Changeset in webkit [279002] by
-
- 6 edits in trunk/Source/WebCore
REGRESSION (r277067): Incorrect text color for default-button appearance
https://bugs.webkit.org/show_bug.cgi?id=227129
<rdar://problem/79032808>
Reviewed by Tim Horton.
Buttons styled with '-webkit-appearance: default-button' currently rely
on the CSS value 'activebuttontext' for their text color. r277067
updated the color to use system colors, for consistency with the rest
of the platform.
In macOS Monterey, the 'activebuttontext' color and the default button
text color are not equivalent. 'Active' buttons no longer use
NSBackgroundStyleEmphasized, while default buttons still do.
Consequently, default buttons are rendered with an incorrect text color.
To fix, use the correct system color for the text color of default
buttons. To avoid changing the behavior of platforms other than
macOS, the 'activebuttontext' color remains the default text color
specified in RenderTheme.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::defaultButtonTextColor const):
(WebCore::RenderTheme::platformDefaultButtonTextColor const):
- rendering/RenderTheme.h:
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::platformDefaultButtonTextColor const):
- rendering/TextPaintStyle.cpp:
(WebCore::computeTextPaintStyle):
- 11:43 AM Changeset in webkit [279001] by
-
- 3 edits2 adds in trunk/Tools
[watchOS 8] Add watchOS 8 simulator/device to bot watchers' dashboard
https://bugs.webkit.org/show_bug.cgi?id=226781
Patch by W.D. Xiong <w_xiong@apple.com> on 2021-06-17
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/public_html/dashboard/Images/WatchOS8.png: Added.
- CISupport/build-webkit-org/public_html/dashboard/Images/WatchOSSimulator8.png: Added.
- CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js: Added references for watchOS 8 device + simulator; shifted order down for Windows platforms to make room
- CISupport/build-webkit-org/public_html/dashboard/Styles/Main.css: Added references for watchOS 8 device + simulator
(table.queue-grid tr.platform.watchos-simulator-8 img.logo):
(table.queue-grid tr.platform.watchos-8 img.logo):
- 11:41 AM Changeset in webkit [279000] by
-
- 3 edits2 adds in trunk/Tools
[tvOS 15] Add tvOS 15 simulator/device to bot watchers' dashboard
https://bugs.webkit.org/show_bug.cgi?id=226782
Patch by W.D. Xiong <w_xiong@apple.com> on 2021-06-17
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/public_html/dashboard/Images/TvOS15.png: Added.
- CISupport/build-webkit-org/public_html/dashboard/Images/TvOS15Simulator.png: Added.
- CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js: Added references to tvOS 15 device + simulator
- CISupport/build-webkit-org/public_html/dashboard/Styles/Main.css: Added references to tvOS 15 device + simulator
(table.queue-grid tr.platform.tvos-simulator-15 img.logo):
(table.queue-grid tr.platform.tvos-15 img.logo):
- 11:38 AM Changeset in webkit [278999] by
-
- 3 edits1 add in trunk/Tools
[Monterey] Add Seed 1 to bot watchers' dashboard
https://bugs.webkit.org/show_bug.cgi?id=226747
Patch by W.D. Xiong <w_xiong@apple.com> on 2021-06-17
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/public_html/dashboard/Images/Monterey.png: Added.
- CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js: Added Monterey
- CISupport/build-webkit-org/public_html/dashboard/Styles/Main.css: Added Monterey
(table.queue-grid tr.platform.macos-monterey img.logo):
- 11:24 AM Changeset in webkit [278998] by
-
- 2 edits in trunk/Tools
[Win] Exception running layout tests
https://bugs.webkit.org/show_bug.cgi?id=227114
Reviewed by Jonathan Bedard.
Catch exception and print warning message.
- Scripts/libraries/webkitcorepy/webkitcorepy/task_pool.py:
(TaskPool.exit):
- 11:18 AM Changeset in webkit [278997] by
-
- 3 edits in trunk/Source/WebKit
Adopt WKHoverGestureRecognizer
https://bugs.webkit.org/show_bug.cgi?id=227116
<rdar://79442027>
Reviewed by Wenson Hsieh.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setUpInteraction]):
(-[WKContentView cleanUpInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView gestureRecognizer:shouldReceiveTouch:]):
(-[WKContentView gestureRecognizer:shouldReceivePress:]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView setUpHoverGestureRecognizer]):
(-[WKContentView hoverGestureRecognizerChanged:]):
Plumb mouse events from WKHoverGestureRecognizer to the page.
- 10:23 AM Changeset in webkit [278996] by
-
- 1 copy in tags/Safari-612.1.19
Tag Safari-612.1.19.
- 10:17 AM Changeset in webkit [278995] by
-
- 2 edits in trunk/Source/WebKit
Fix crashes in ContentRuleListStore::lookupContentRuleList
https://bugs.webkit.org/show_bug.cgi?id=227100
<rdar://78816611>
Reviewed by Chris Dumez.
To be extra careful, instead of just assuming that moveFile will always succeed,
when moveFile fails, try to delete the legacy path (which has a ContentExtension- instead of ContentRuleList- prefix)
and fail the lookup. This will only happen in Safari, which was the only client of _WKUserContentExtensionStore.
The legacy file is not useful to us because in r275078 I incremented CurrentContentRuleListFileVersion so the bytes on disk
need to be recompiled anyways. Safari already has logic to recompile it. This was just an attempt to use what we have and
not leave anything behind.
Also, to be extra careful, try deleting a file before moving a file on top of it.
- UIProcess/API/APIContentRuleListStore.cpp:
compiledToFile:
(API::ContentRuleListStore::lookupContentRuleList):
- 10:16 AM Changeset in webkit [278994] by
-
- 7 edits in trunk/Source/JavaScriptCore
Add a new pattern to instruction selector to utilize UBFX supported by ARM64
https://bugs.webkit.org/show_bug.cgi?id=226984
Patch by Yijia Huang <Yijia Huang> on 2021-06-17
Reviewed by Filip Pizlo.
UBFX, supported by ARM64, copies adjacent bits from the source register into
the least significant bits of a destination register in zero extension. The
instruction selector can utilize this to lowering certain patterns in B3 IR
before further Air optimization.
ubfx dest, src, lsb, width
tmp, tmp, imm, imm
This is equivalent to "dest = (src >> lsb) & ((1 << width) - 1)". Since wasm
introduces constant folding, then the pattern would be:
dest = (src >> lsb) & mask
where the mask should have a binary format in contiguous ones starting from
the least significant bit. For example:
0b00111111
To make the pattern matching in instruction selection beneficial to JIT, these
constraints should be introduced:
- lsb >= 0
- width > 0
- lsb + width <= bit field limit (32 or 64)
Given:
B3 IR
Int @0 = ArgumentReg(%0)
Int @1 = lsb
Int @2 = 0b0011
Int @3 = ZShr(@0, @1)
Int @4 = BitAnd(@3, @2)
Void@5 = Return(@4, Terminal)
w/o UBFX Pattern:
Old optimized AIR
Urshift %x0, lsb, %x0, @3
And 0b0011, %x0, %x0, @4
Ret %x0, @5
w/ UBFX Pattern:
New optimized AIR
Ubfx %x0, lsb, 2, %x0, @4
Ret %x0, @5
Note:
Suppose a 32-bit version of (src >> 20) & 0x0FFF, it is equivalent to src >> 20.
In this case, Logical Shift Right should be utilized instead when:
lsb + width == bit field limit (32 or 64)
This case/pattern should be added and upadated in the future patch.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::ubfx32):
(JSC::MacroAssemblerARM64::ubfx64):
- assembler/testmasm.cpp:
(JSC::testUbfx32):
(JSC::testUbfx64):
- b3/B3LowerToAir.cpp:
- b3/air/AirOpcode.opcodes:
- b3/testb3.h:
- b3/testb3_2.cpp:
(testUbfx64PatternMatch):
(testUbfx32PatternMatch):
(addBitTests):
- 10:05 AM Changeset in webkit [278993] by
-
- 27 edits1 delete in trunk
Remove empty header WebTypesInternal.h
https://bugs.webkit.org/show_bug.cgi?id=227094
Reviewed by Fujii Hironori.
Source/WebKitLegacy:
- WebKitLegacy.xcodeproj/project.pbxproj:
Source/WebKitLegacy/mac:
- DefaultDelegates/WebDefaultUIDelegate.mm:
- History/WebBackForwardList.mm:
- History/WebHistory.mm:
- History/WebHistoryItem.mm:
- Misc/WebDownload.mm:
- Misc/WebElementDictionary.mm:
- Misc/WebNSDataExtras.h:
- Misc/WebTypesInternal.h: Removed.
- Plugins/WebBasePluginPackage.mm:
- Plugins/WebNetscapePluginPackage.mm:
- WebView/WebArchive.mm:
- WebView/WebDelegateImplementationCaching.h:
- WebView/WebHTMLRepresentation.mm:
- WebView/WebHTMLView.mm:
- WebView/WebPDFDocumentExtras.mm:
- WebView/WebPDFRepresentation.mm:
- WebView/WebTextCompletionController.mm:
- WebView/WebTextIterator.mm:
- WebView/WebViewData.h:
- WebView/WebViewInternal.h:
Tools:
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
- DumpRenderTree/mac/DumpRenderTreePasteboard.h:
- DumpRenderTree/mac/DumpRenderTreePasteboard.mm:
- DumpRenderTree/mac/TextInputControllerMac.m:
- 9:52 AM Changeset in webkit [278992] by
-
- 4 edits in trunk
WKScriptMessageHandlerWithReply should raise an exception if replyHandler is called twice
https://bugs.webkit.org/show_bug.cgi?id=226863
Reviewed by Chris Dumez.
Source/WebKit:
We currently dereference null inside CompletionHandlerWithFinalizer.
This makes it more obvious what is going on.
Related to rdar://78865409 but not solving it.
- UIProcess/API/Cocoa/WKUserContentController.mm:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
(-[AsyncScriptMessageHandler userContentController:didReceiveScriptMessage:replyHandler:]):
- 9:36 AM Changeset in webkit [278991] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Work around apparent miscompilation on ARM/GCC >=8.4
https://bugs.webkit.org/show_bug.cgi?id=227125
Reviewed by Filip Pizlo.
This seems to be a GCC miscompilation, revealed by
https://bugs.webkit.org/show_bug.cgi?id=227078. Introduce a
workaround for the GCC versions that seem to be affected.
- jit/RegisterSet.h:
- 9:34 AM Changeset in webkit [278990] by
-
- 2 edits in trunk/Tools
[Mac EWS] TestWebKitAPI.WebKit.AudioBufferSize is flaky timing out on EWS
https://bugs.webkit.org/show_bug.cgi?id=227046
<rdar://problem/79360787>
Unreviewed, fix broken test.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add audio-buffer-size.html
to the Copy Resources step so tests can use it.
- 9:04 AM Changeset in webkit [278989] by
-
- 3 edits in trunk/Tools
[ews] Improve build summary about finding flaky test in ReRunWebKitTests
https://bugs.webkit.org/show_bug.cgi?id=227123
Reviewed by Jonathan Bedard.
- CISupport/ews-build/steps.py:
(ReRunWebKitTests.evaluateCommand):
- CISupport/ews-build/steps_unittest.py:
- 8:57 AM Changeset in webkit [278988] by
-
- 9 edits in trunk
[GTK] Unexpected timeout in http/tests/media/video-play-stall-seek.html
https://bugs.webkit.org/show_bug.cgi?id=196198
Reviewed by Philippe Normand.
Source/WebCore:
Increased default GstDowloadBuffer size to prevent a race condition. To do that, we need
to set the buffer-size of GstUriDecodebin (that will set the GstMultiQueue size, so we use
the default value that would be used if no changes had been made, and also leaves
GstDownloadBuffer size untouched, which wouldn't happen if no buffer-size had been set)
and then set the desired max-size-bytes on GstDownloadBuffer.
The race condition was that some times the player private readyState went up to
HAVE_ENOUGH_DATA and then back to HAVE_CURRENT_DATA (triggering the expected waiting event),
and some others times went directly to HAVE_CURRENT_DATA (no waiting event, test stalled).
Increasing the buffer size gave more time for the double transition to happen.
Still, these changes weren't enough to get the test passing, as with these changes the
multiqueue sucked all the data, downloadbuffer fell to a low percentage and updateStates()
paused the pipeline for rebuffering. The pipeline won't ever be unpaused because at that
point WebKitWebSrc has reached EOS (no more file to download, a side effect of the current
libsoup behaviour) and the buffering won't ever go up again (and trigger the unpause).
This was solved by setting the downloadbuffer high-percent property to 0 when a seek
is done after EOS has been received by WebKitWebSrc. This effectively forces the
downloadbuffer to report 100% buffered, which unpauses the pipeline and lets the playback
continue after seek.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::doSeek): Set high-percent when seeking after WebKitWebSrc EOS.
(WebCore::MediaPlayerPrivateGStreamer::sourceSetup): Manually set buffer-size to its default value.
(WebCore::MediaPlayerPrivateGStreamer::handleMessage): Receive the custom EOS message from WebKitWebSrc and remember it.
(WebCore::MediaPlayerPrivateGStreamer::uriDecodeBinElementAddedCallback): Manully set max-size-bytes to a higher than default value.
(WebCore::MediaPlayerPrivateGStreamer::downloadBufferFileCreatedCallback): Don't clean the reference to the downloadbuffer, as it'll be needed later.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Added m_hasWebKitWebSrcSentEOS to remember the EOS condition.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcCreate): Notify the EOS condition using the bus, so the player private can handle it.
(CachedResourceStreamingClient::loadFailed): Extra useful logs.
(CachedResourceStreamingClient::loadFinished): Ditto.
LayoutTests:
Make test more stable and don't expect NETWORK_LOADING, because some network implementations,
like libsoup, just report end-of-stream and finish the download.
- http/tests/media/video-play-stall-seek-expected.txt: Removed NETWORK_LOADING expectation.
- http/tests/media/video-play-stall-seek.html: Stabilize the test by not listening to waiting events once the relevant one has been handled, and by pausing the video after the test has finished. Also re
- 8:53 AM Changeset in webkit [278987] by
-
- 2 edits in trunk/Tools
REGRESSION (r278536): Wrong comment character used in coverage.xcconfig
- coverage/coverage.xcconfig:
- Change '#' to '' to fix the comment.
- 7:53 AM Changeset in webkit [278986] by
-
- 3 edits in trunk/LayoutTests
Unreviewed GStreamer mediastream gardening
- platform/glib/TestExpectations: Unflag fast/mediastream/media-stream-renders-first-frame.html
- platform/wpe/TestExpectations: Move getDisplayMedia expectations to glib file.
- 6:13 AM Changeset in webkit [278985] by
-
- 8 edits in trunk
[css-logical] Implement logical property groups
https://bugs.webkit.org/show_bug.cgi?id=226878
Reviewed by Antti Koivisto.
Source/WebCore:
In order to have proper CSSOM support for logical properties, we will
need to determine whether two properties belong to the same logical
property group but with a different mapping logic.
Before this patch, we only knew the physical properties belonging to the
same logical property group as a given logical property. But given a
physical property, we didn't know if there were logical properties that
could map to it.
Therefore this patch changes CSSProperties.json so that both logical and
physical properties specify their logical property group.
The code for resolving a logical property into its physical equivalent
is now automatically generated.
The CSSOM fix will be done in a follow-up (bug 226461).
This patch introduces no behavior changes.
- css/CSSProperties.json:
- css/CSSProperty.cpp:
- css/makeprop.pl:
(nameToId):
(addProperty):
- platform/RectEdges.h:
(WebCore::RectEdges::before):
(WebCore::RectEdges::after):
(WebCore::RectEdges::start):
(WebCore::RectEdges::end):
(WebCore::RectEdges::before const):
(WebCore::RectEdges::after const):
(WebCore::RectEdges::start const):
(WebCore::RectEdges::end const):
- platform/text/WritingMode.h:
(WebCore::mapLogicalAxisToPhysicalAxis):
Tools:
Add validator for new codegen property "logical-property-group",
replacing the old "direction-aware-property".
- Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.validate_logical_property_group):
(JSONCSSPropertiesChecker.check_codegen_properties):
- 6:05 AM Changeset in webkit [278984] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GStreamer mediastream gardening
- platform/glib/TestExpectations: Unflag 3 tests consistently passing.
- 5:59 AM Changeset in webkit [278983] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Refactor MediaPlayerPrivateGStreamer::notifyPlayerOf*
https://bugs.webkit.org/show_bug.cgi?id=204686
Unreviewed WPE/GTK debug build fix.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfTrack): Removed assert left there from a previous version of the patch.
- 5:38 AM Changeset in webkit [278982] by
-
- 4 edits3 adds in trunk
Fix RTCDataChannelInit::decode
https://bugs.webkit.org/show_bug.cgi?id=226968
Source/WebCore:
Reviewed by Eric Carlson.
Test: imported/w3c/web-platform-tests/webrtc-extensions/transfer-datachannel-service-worker.https.html
- platform/mediastream/RTCDataChannelHandler.h:
(WebCore::RTCDataChannelInit::decode):
Make sure to use optionals of optionals.
LayoutTests:
<rdar://problem/79300038>
Reviewed by Eric Carlson.
- http/wpt/webrtc/transfer-datachannel-service-worker.https-expected.txt: Added.
- http/wpt/webrtc/transfer-datachannel-service-worker.https.html: Added.
- http/wpt/webrtc/transfer-datachannel-service-worker.js: Added.
(onmessage):
- platform/mac-wk1/TestExpectations:
- 5:00 AM Changeset in webkit [278981] by
-
- 4 edits in trunk/Source/WebCore
[GStreamer] Refactor MediaPlayerPrivateGStreamer::notifyPlayerOf*
https://bugs.webkit.org/show_bug.cgi?id=204686
Reviewed by Philippe Normand.
Refactored the notifyPlayerOf{Audio,Video,Text} family of methods into a single notifyPlayerOfTrack() one.
Some Variant variables are needed in order to make several incompatible types work together and to auto-detect the type of track as an enum.
Covered by existing tests.
- platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
(WebCore::InbandTextTrackPrivateGStreamer::create): Added method with a signature similar to the ones used by {Audio,Video}TrackPrivateGStreamer, so that it fits into the notifyPlayerOfTrack() template code.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfTrack): Template method that unifies the old notifyPlayerOf{Audio,Video,Text}() implementations.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): Deleted. Refactored into notifyPlayerOfTrack().
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::audioChangedCallback): Call the new notifyPlayerOfTrack() refactored implementation.
(WebCore::MediaPlayerPrivateGStreamer::textChangedCallback): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::videoChangedCallback): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::purgeInvalidAudioTracks): Deleted. Now implemented directly inside notifyPlayerOfTrack().
(WebCore::MediaPlayerPrivateGStreamer::purgeInvalidVideoTracks): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::purgeInvalidTextTracks): Ditto.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Deleted notifyPlayerOf{Audio,Video,Text}(), added notifyPlayerOfTrack(), deleted purgeInvalid{Audio,Video,Text}Tracks().
- 3:50 AM Changeset in webkit [278980] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Close open connections
https://bugs.webkit.org/show_bug.cgi?id=227068
Reviewed by Brent Fulgham.
On macOS, close open connections in initializeSandboxParameters.
- Shared/mac/AuxiliaryProcessMac.mm:
(WebKit::initializeSandboxParameters):
- 2:49 AM Changeset in webkit [278979] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, reverting r278978.
https://bugs.webkit.org/show_bug.cgi?id=227115
The patch seems to be breaking the Debian and Ubuntu builds.
Reverted changeset:
"[GStreamer] Refactor
MediaPlayerPrivateGStreamer::notifyPlayerOf*"
https://bugs.webkit.org/show_bug.cgi?id=204686
https://trac.webkit.org/changeset/278978
- 2:18 AM Changeset in webkit [278978] by
-
- 4 edits in trunk/Source/WebCore
[GStreamer] Refactor MediaPlayerPrivateGStreamer::notifyPlayerOf*
https://bugs.webkit.org/show_bug.cgi?id=204686
Reviewed by Philippe Normand.
Refactored the notifyPlayerOf{Audio,Video,Text} family of methods into a single notifyPlayerOfTrack() one.
Some Variant variables are needed in order to make several incompatible types work together and to auto-detect the type of track as an enum.
Covered by existing tests.
- platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
(WebCore::InbandTextTrackPrivateGStreamer::create): Added method with a signature similar to the ones used by {Audio,Video}TrackPrivateGStreamer, so that it fits into the notifyPlayerOfTrack() template code.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfTrack): Template method that unifies the old notifyPlayerOf{Audio,Video,Text}() implementations.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): Deleted. Refactored into notifyPlayerOfTrack().
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::audioChangedCallback): Call the new notifyPlayerOfTrack() refactored implementation.
(WebCore::MediaPlayerPrivateGStreamer::textChangedCallback): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::videoChangedCallback): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::purgeInvalidAudioTracks): Deleted. Now implemented directly inside notifyPlayerOfTrack().
(WebCore::MediaPlayerPrivateGStreamer::purgeInvalidVideoTracks): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::purgeInvalidTextTracks): Ditto.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Deleted notifyPlayerOf{Audio,Video,Text}(), added notifyPlayerOfTrack(), deleted purgeInvalid{Audio,Video,Text}Tracks().
- 1:38 AM Changeset in webkit [278977] by
-
- 2 edits in trunk/Tools
[GLIB] Pass a GTlsCertificate to soup_server_new()
https://bugs.webkit.org/show_bug.cgi?id=227023
Reviewed by Michael Catanzaro.
Instead of using soup_server_set_ssl_cert_file() that will be removed from libsoup soon.
- TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp:
(WebKitTestServer::WebKitTestServer):
- 12:00 AM Changeset in webkit [278976] by
-
- 2 edits in trunk/Tools
[Win] TestWTF.WTF_WeakPtr.WeakHashMapIterators is crashing
https://bugs.webkit.org/show_bug.cgi?id=227102
Reviewed by Ryosuke Niwa.
A heap corruption was detected while a Derived class object was
destroyed as a Base class object.
- TestWebKitAPI/Tests/WTF/WeakPtr.cpp:
(TestWebKitAPI::Base::~Base): Made Base class dtor virtual.
(TestWebKitAPI::Derived::~Derived):