Timeline
Dec 14, 2020:
- 11:06 PM Changeset in webkit [270824] by
-
- 4 edits2 adds in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Gardened several flaky failures.
- platform/glib/TestExpectations:
- platform/glib/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-network-error.sub-expected.txt: Added.
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 10:28 PM Changeset in webkit [270823] by
-
- 26 edits15 adds in trunk
AX: implement prefers-contrast: more
https://bugs.webkit.org/show_bug.cgi?id=215507
<rdar://problem/67077492>
Reviewed by Dean Jackson.
Source/WebCore:
Implement prefers-contrast as defined in
https://drafts.csswg.org/mediaqueries-5/#prefers-contrast
Tests: fast/media/mq-prefers-contrast-forced-value.html
fast/media/mq-prefers-contrast-live-update-for-listener.html
fast/media/mq-prefers-contrast-live-update.html
fast/media/mq-prefers-contrast-matchMedia.html
fast/media/mq-prefers-contrast.html
- css/CSSValueKeywords.in:
- css/MediaFeatureNames.h:
- css/MediaQueryEvaluator.cpp:
(WebCore::isAccessibilitySettingsDependent):
(WebCore::prefersContrastEvaluate):
- css/MediaQueryExpression.cpp:
(WebCore::featureWithValidIdent):
(WebCore::isFeatureValidWithoutValue):
- page/Settings.yaml:
- platform/Theme.cpp:
(WebCore::Theme::userPrefersContrast const):
- platform/Theme.h:
- platform/ios/ThemeIOS.h:
- platform/ios/ThemeIOS.mm:
(WebCore::ThemeIOS::userPrefersContrast const):
- platform/mac/ThemeMac.h:
- platform/mac/ThemeMac.mm:
(WebCore::ThemeMac::userPrefersContrast const):
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::forcedPrefersContrastAccessibilityValue const):
(WebCore::InternalSettings::setForcedPrefersContrastAccessibilityValue):
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
- testing/Internals.cpp:
(WebCore::Internals::userPrefersContrast const):
- testing/Internals.h:
- testing/Internals.idl:
- testing/Internals.mm:
(WebCore::Internals::userPrefersContrast const):
Source/WebCore/PAL:
- pal/ios/UIKitSoftLink.h:
LayoutTests:
- TestExpectations:
- fast/media/mq-prefers-contrast-forced-value.html: Added.
- fast/media/mq-prefers-contrast-live-update-for-listener-expected.txt: Added.
- fast/media/mq-prefers-contrast-live-update-for-listener.html: Added.
- fast/media/mq-prefers-contrast-live-update.html: Added.
- fast/media/mq-prefers-contrast-matchMedia-expected.html: Added.
- fast/media/mq-prefers-contrast-matchMedia.html: Added.
- fast/media/mq-prefers-contrast.html: Added.
- platform/ios-simulator/fast/media/mq-prefers-contrast-expected.html: Added.
- platform/ios-simulator/fast/media/mq-prefers-contrast-forced-value-expected.html: Added.
- platform/ios-simulator/fast/media/mq-prefers-contrast-live-update-expected.html: Added.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/fast/media/mq-prefers-contrast-expected.html: Added.
- platform/mac/fast/media/mq-prefers-contrast-forced-value-expected.html: Added.
- platform/mac/fast/media/mq-prefers-contrast-live-update-expected.html: Added.
- 10:16 PM Changeset in webkit [270822] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Unreviewed test gardening. Update baseline after r270801.
- platform/glib/imported/w3c/web-platform-tests/css/css-transforms/animation/transform-interpolation-computed-value-expected.txt:
- 8:36 PM Changeset in webkit [270821] by
-
- 1 copy in tags/Safari-611.1.8.1
Tag Safari-611.1.8.1.
- 8:17 PM Changeset in webkit [270820] by
-
- 8 edits in branches/safari-611.1.8-branch/Source
Versioning.
WebKit-7611.1.8.1
- 7:08 PM Changeset in webkit [270819] by
-
- 8 edits in trunk/Source
[Media in GPU Process][MSE] VP9 stream playback is not smooth
https://bugs.webkit.org/show_bug.cgi?id=219861
Reviewed by Eric Carlson.
Source/WebCore:
Change two methods of
MediaSourcePrivateto virtual so that we can implement them
inMediaSourcePrivateRemotewith IPC messages.
- platform/graphics/MediaSourcePrivate.h:
(WebCore::MediaSourcePrivate::setIsSeeking):
(WebCore::MediaSourcePrivate::setTimeFudgeFactor):
(WebCore::MediaSourcePrivate::timeFudgeFactor const):
Source/WebKit:
Add two new IPC messages in
RemoteMediaSourceProxyto setm_isSeekingand
m_timeFudgeFactorof theMediaSourcePrivaterunning in the GPU process.
- GPUProcess/media/RemoteMediaSourceProxy.cpp:
(WebKit::RemoteMediaSourceProxy::setIsSeeking):
(WebKit::RemoteMediaSourceProxy::setTimeFudgeFactor):
- GPUProcess/media/RemoteMediaSourceProxy.h:
- GPUProcess/media/RemoteMediaSourceProxy.messages.in:
- WebProcess/GPU/media/MediaSourcePrivateRemote.cpp:
(WebKit::MediaSourcePrivateRemote::setIsSeeking):
(WebKit::MediaSourcePrivateRemote::setTimeFudgeFactor):
- WebProcess/GPU/media/MediaSourcePrivateRemote.h:
- 6:58 PM Changeset in webkit [270818] by
-
- 2 edits in trunk/Source/WTF
Get more informatiton from assertion when uidna_openUTS46 fails
https://bugs.webkit.org/show_bug.cgi?id=219881
Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-14
Reviewed by Alexey Proskuryakov.
<rdar://problem/66988046> shows that this fails sometimes.
Updating the assertion should let me know more information.
- wtf/URLParser.cpp:
(WTF::URLParser::internationalDomainNameTranscoder):
- 5:29 PM Changeset in webkit [270817] by
-
- 4 edits in branches/safari-610-branch/Source
Cherry-pick r270449. rdar://problem/72298505
Add safety checks to xsltParamArrayFromParameterMap()
<https://webkit.org/b/219407>
<rdar://problem/71853069>
Reviewed by Darin Adler.
Source/WebCore:
- xml/XSLTProcessorLibxslt.cpp: (WebCore::xsltParamArrayFromParameterMap):
Source/WTF:
- wtf/PlatformHave.h: (HAVE_LIBXSLT_FIX_FOR_RADAR_71864140): Add.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270449 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:28 PM Changeset in webkit [270816] by
-
- 5 edits3 adds in branches/safari-610-branch
Cherry-pick r270373. rdar://problem/72298666
iframe with
sandbox=allow-top-navigation-by-user-activationcan navigate top frame when the user interacts with an iframe from another origin
https://bugs.webkit.org/show_bug.cgi?id=219413
<rdar://problem/64887657>
Reviewed by Geoffrey Garen.
Source/WebCore:
An iframe with
sandbox=allow-top-navigation-by-user-activationcan navigate the top frame when the user
interacts with an frame from another origin. This is not strict enough and does not match the behavior of
Chrome.
In Chrome, the user activation is only valid for the purpose of navigation if the user interacted with either:
- The iframe triggering the navigation
- A descendant iframe of the iframe triggering the navigation
- A frame from the same origin as the iframe triggering the navigation
This patch aligns our behavior with Chrome's.
Test: http/tests/security/block-top-level-navigations-by-sandboxed-iframe-with-propagated-user-gesture.html
- dom/Document.cpp: (WebCore::Document::canNavigateInternal):
- dom/UserGestureIndicator.cpp: (WebCore::UserGestureToken::UserGestureToken): (WebCore::UserGestureToken::isValidForDocument const): (WebCore::UserGestureIndicator::processingUserGesture):
- dom/UserGestureIndicator.h: (WebCore::UserGestureToken::create):
LayoutTests:
Add layout test coverage.
- http/tests/security/block-top-level-navigations-by-sandboxed-iframe-with-propagated-user-gesture-expected.txt: Added.
- http/tests/security/block-top-level-navigations-by-sandboxed-iframe-with-propagated-user-gesture.html: Added.
- http/tests/security/resources/navigate-top-level-frame-to-failure-page-via-message-handler.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270373 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:28 PM Changeset in webkit [270815] by
-
- 3 edits3 adds in branches/safari-610-branch
Cherry-pick r270367. rdar://problem/72298753
Block suspicious top level navigations by iframes even if sandbox=allow-top-navigation is specified
https://bugs.webkit.org/show_bug.cgi?id=219408
<rdar://problem/71049726>
Reviewed by Geoffrey Garen.
Source/WebCore:
Block suspicious top level navigations by iframes even if sandbox=allow-top-navigation is specified,
when the parent of the sandboxed iframe is not first-party.
Test: http/tests/security/block-top-level-navigations-by-third-party-sandboxed-iframe.html
- dom/Document.cpp: (WebCore::Document::isNavigationBlockedByThirdPartyIFrameRedirectBlocking):
LayoutTests:
Add layout test coverage.
- http/tests/security/block-top-level-navigations-by-third-party-sandboxed-iframe-expected.txt: Added.
- http/tests/security/block-top-level-navigations-by-third-party-sandboxed-iframe.html: Added.
- http/tests/security/resources/navigate-top-level-frame-to-failure-page-via-sandboxed-iframe.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:28 PM Changeset in webkit [270814] by
-
- 4 edits1 add in branches/safari-610-branch/Source/WebCore
Cherry-pick r269893. rdar://problem/72298580
Textures Fail to Render in WebGL from HLS Stream on iPhone 12 [iOS 14.2]
https://bugs.webkit.org/show_bug.cgi?id=218637
<rdar://problem/71102126>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-11-16
Reviewed by Eric Carlson.
Patch by Jer Noble.
Treat internal compressed YUV pixel formats
kCVPixelFormatType_AGX_420YpCbCr8BiPlanarVideoRange and
kCVPixelFormatType_AGX_420YpCbCr8BiPlanarFullRange as
kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange and
kCVPixelFormatType_420YpCbCr8BiPlanarFullRange when
using the OpenGL shader to convert video IOSurface to a WebGL
texture.
Fixes cases where the decoder outputs the compressed formats.
No new tests, adding more comprehensive test content suite is tracked
in another bug.
Source/WebCore:
- platform/graphics/cv/GraphicsContextGLCVANGLE.cpp: (WebCore::pixelRangeFromPixelFormat): (WebCore::GraphicsContextGLCVANGLE::copyPixelBufferToTexture):
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/spi/cf/CoreVideoSPI.h: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:27 PM Changeset in webkit [270813] by
-
- 3 edits in branches/safari-610-branch/Source/WebCore
Cherry-pick r269535. rdar://problem/72298703
Empty text runs can't be split any further.
https://bugs.webkit.org/show_bug.cgi?id=218506
Reviewed by David Kilzer and Ryosuke Niwa.
This patch ensures that when we can't fit an empty text run on the line (available space is negative) we don't
try to split it even when the style says so.
- layout/inlineformatting/InlineContentBreaker.cpp: (WebCore::Layout::InlineContentBreaker::processOverflowingContent const): (WebCore::Layout::InlineContentBreaker::tryBreakingTextRun const):
- layout/inlineformatting/text/TextUtil.cpp: (WebCore::Layout::TextUtil::fixedPitchWidth): (WebCore::Layout::TextUtil::split):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:16 PM Changeset in webkit [270812] by
-
- 2 edits in trunk/Tools
[Mac] MediaFormatReader.bundle fails to load in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=219879
Reviewed by Eric Carlson.
- WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize): Tell CoreMedia to allow unsigned format reader
plug-ins when running in WebKitTestRunner. This resolves test timeouts under
LayoutTests/webgl/2.0.0/.
- 5:01 PM Changeset in webkit [270811] by
-
- 3 edits in trunk/Source/WebKit
REGRESSION (r270677-r270693): Catalina Perf tests failing
https://bugs.webkit.org/show_bug.cgi?id=219802
<rdar://problem/72236108>
Reviewed by Brent Fulgham.
Create extension for RootDomainUserClient also for Intel Macs, and move logging rules outside of
HAVE(SANDBOX_MESSAGE_FILTERING) section in sandbox.
- UIProcess/WebPageProxy.cpp:
(WebKit::mediaRelatedIOKitClasses):
- WebProcess/com.apple.WebProcess.sb.in:
- 5:00 PM Changeset in webkit [270810] by
-
- 2 edits in trunk/Source/WebKit
Fix null dereference in WKURLCopyCFURL
https://bugs.webkit.org/show_bug.cgi?id=219877
<rdar://problem/48921304>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-14
Reviewed by Geoffrey Garen.
We had an optimistic assertion and crash reports indicating that it is not always true.
When it's not, return null instead of crashing.
- Shared/API/c/cf/WKURLCF.mm:
(WKURLCopyCFURL):
- 4:19 PM Changeset in webkit [270809] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r268604): fast/layoutformattingcontext/table-basic-row-vertical-align-baseline.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=219369
<rdar://problem/69985187>
Reviewed by Zalan Bujtas.
During TestController::resetStateToConsistentValues() there are lots of calls to
WebPage::preferencesDidChange() via the async IPC, and for some of those calls both
layoutFormattingContextIntegrationEnabled and layoutFormattingContextEnabled are true. If
Display::view() does a paint at that time, then we hit assertions because these
two settings are incompatible with eachother.
Fix by bailing from display if layoutFormattingContextIntegrationEnabled() is set.
- display/DisplayView.cpp:
(WebCore::Display::View::prepareForDisplay):
- 4:14 PM Changeset in webkit [270808] by
-
- 25 edits in trunk/Source
Unreviewed, reverting r270768.
Still crashes in debug in a different location
Reverted changeset:
"[GPUProcess] Crash under
AudioDestinationCocoa::setIsPlaying(bool)"
https://bugs.webkit.org/show_bug.cgi?id=219809
https://trac.webkit.org/changeset/270768
- 4:12 PM Changeset in webkit [270807] by
-
- 6 edits in trunk/Source
[Media in GPU Process][MSE] Fix crashes in a debug build
https://bugs.webkit.org/show_bug.cgi?id=219874
Reviewed by Eric Carlson.
Source/WebCore:
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::readyStateChanged):
(WebCore::SourceBuffer::audioTracks):
(WebCore::SourceBuffer::textTracks):
(WebCore::SourceBuffer::appendError):
(WebCore::SourceBuffer::trySignalAllSamplesEnqueued):
(WebCore::SourceBuffer::sourceBufferPrivateDurationChanged):
(WebCore::SourceBuffer::sourceBufferPrivateStreamEndedWithDecodeError):
Only use m_source when the pointer is valid.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::abort):
SourceBufferParser::invalidate() may crash if the parser is parsing data.
Source/WebKit:
We need to call the completion handler in error cases.
- GPUProcess/media/RemoteSourceBufferProxy.cpp:
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateDidReceiveInitializationSegment):
- WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::sourceBufferPrivateDidReceiveInitializationSegment):
- 3:44 PM Changeset in webkit [270806] by
-
- 14 edits in trunk/Source
[GPUProcess] Bump QoS to UserInteractive for real-time audio rendering thread
https://bugs.webkit.org/show_bug.cgi?id=219873
Reviewed by Eric Carlson.
Source/WebCore:
Use Default QoS for offline audio rendering and UserInteractive for real-time audio
rendering. Previously, we were using always UserInitiated QoS for all audio threads,
which is lower than UserInteractive [1].
[1] https://developer.apple.com/library/archive/documentation/Performance/Conceptual/power_efficiency_guidelines_osx/PrioritizeWorkAtTheTaskLevel.html#//apple_ref/doc/uid/TP40013929-CH35-SW1
- Modules/webaudio/AudioWorkletMessagingProxy.cpp:
(WebCore::generateWorkletParameters):
- Modules/webaudio/AudioWorkletThread.cpp:
(WebCore::AudioWorkletThread::createThread):
- Modules/webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::startRendering):
- worklets/WorkletParameters.h:
(WebCore::WorkletParameters::isolatedCopy const):
Source/WebKit:
- WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:
(WebKit::RemoteAudioDestinationProxy::RemoteAudioDestinationProxy):
Source/WTF:
Add QOS parameter to the Thread construct (similarly to WorkQueue) so that the caller can
specify which QoS to use for the thread. Previously, the code was using UserInteractive
QoS unconditionally, which may be too high is some cases and too low in others.
- wtf/Threading.cpp:
(WTF::Thread::create):
- wtf/Threading.h:
- wtf/WorkQueue.h:
- wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::WorkQueue::platformInitialize):
(WTF::dispatchQOSClass): Deleted.
- wtf/posix/ThreadingPOSIX.cpp:
(WTF::Thread::dispatchQOSClass):
(WTF::Thread::establishHandle):
- wtf/win/ThreadingWin.cpp:
(WTF::Thread::establishHandle):
- 2:55 PM Changeset in webkit [270805] by
-
- 23 edits in trunk/Source
[Media in GPU Process][MSE] WebM source buffer parser is not enabled
https://bugs.webkit.org/show_bug.cgi?id=219857
Reviewed by Eric Carlson.
Source/WebCore:
Function
isWebmParserAvailable()always return false whenSourceBufferParserWebM
runs in the GPU process becauseRuntimeEnabledFeatures::sharedFeatures().webMParserEnabled()
always returns false in the GPU process. Therefore,MediaSourcePrivateAVFObjCwill not
enable the VP9 support when media in GPU process is enabled.
This patch moves the call of
RuntimeEnabledFeatures::sharedFeatures().webMParserEnabled()
toMediaSource, which always runs in the web process and will get the correct value.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::createSourceBufferPrivate):
- platform/graphics/MediaSourcePrivate.h:
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::addSourceBuffer):
- platform/graphics/cocoa/SourceBufferParser.cpp:
(WebCore::SourceBufferParser::create):
- platform/graphics/cocoa/SourceBufferParser.h:
- platform/graphics/cocoa/SourceBufferParserWebM.cpp:
(WebCore::isWebmParserAvailable):
(WebCore::SourceBufferParserWebM::create):
Delete this function because it is not used.
- platform/graphics/cocoa/SourceBufferParserWebM.h:
- platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.cpp:
(WebCore::MediaSourcePrivateGStreamer::addSourceBuffer):
- platform/graphics/gstreamer/mse/MediaSourcePrivateGStreamer.h:
- platform/mock/mediasource/MockMediaSourcePrivate.cpp:
(WebCore::MockMediaSourcePrivate::addSourceBuffer):
- platform/mock/mediasource/MockMediaSourcePrivate.h:
Source/WebKit:
Share the value of
RuntimeEnabledFeatures::sharedFeatures().webMParserEnabled()
with the GPU process (RemoteMediaSourceProxy) whenMediaPlayerPrivateRemote
tries to load a media source.
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::loadMediaSource):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- GPUProcess/media/RemoteMediaSourceProxy.cpp:
(WebKit::RemoteMediaSourceProxy::RemoteMediaSourceProxy):
(WebKit::RemoteMediaSourceProxy::addSourceBuffer):
- GPUProcess/media/RemoteMediaSourceProxy.h:
- Shared/mac/MediaFormatReader/FormatReader.cpp:
(WebKit::FormatReader::parseByteSource):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::load):
- WebProcess/GPU/media/MediaSourcePrivateRemote.cpp:
(WebKit::MediaSourcePrivateRemote::addSourceBuffer):
- WebProcess/GPU/media/MediaSourcePrivateRemote.h:
- 2:09 PM Changeset in webkit [270804] by
-
- 19 edits in trunk/Source/WebKit
[GPUProcess] Crash in SharedRingBufferStorage::setStorage() under GuardMalloc
https://bugs.webkit.org/show_bug.cgi?id=219867
Reviewed by Darin Adler.
SharedRingBufferStorage was holding a raw pointer to its client and we would sometimes
crash when dereferencing this client in SharedRingBufferStorage::setStorage() because
the client is not guaranteed to be alive.
To address the issue, I replace the SharedRingBufferStorage::Client with a lambda so
that the client can protect itself in the lambda if needed. In particular,
RemoteAudioSourceProviderProxy now protects itself in the lambda since the lifetime
of the CARingBuffer is not tied to the lifetime of RemoteAudioSourceProviderProxy.
- GPUProcess/media/RemoteAudioDestinationManager.cpp:
(WebKit::RemoteAudioDestination::RemoteAudioDestination):
- GPUProcess/media/RemoteAudioSourceProviderProxy.cpp:
(WebKit::RemoteAudioSourceProviderProxy::createRingBuffer):
- GPUProcess/media/RemoteAudioSourceProviderProxy.h:
- GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp:
(WebKit::RemoteAudioMediaStreamTrackRenderer::RemoteAudioMediaStreamTrackRenderer):
- GPUProcess/webrtc/RemoteMediaRecorder.cpp:
(WebKit::RemoteMediaRecorder::RemoteMediaRecorder):
- Shared/Cocoa/SharedRingBufferStorage.cpp:
(WebKit::SharedRingBufferStorage::setStorage):
- Shared/Cocoa/SharedRingBufferStorage.h:
(WebKit::SharedRingBufferStorage::SharedRingBufferStorage):
(WebKit::SharedRingBufferStorage::invalidate):
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::SourceProxy::SourceProxy):
(WebKit::UserMediaCaptureManagerProxy::SourceProxy::storageChanged):
- UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.cpp:
(WebKit::m_ringBuffer):
- WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:
(WebKit::RemoteAudioDestinationProxy::RemoteAudioDestinationProxy):
- WebProcess/GPU/media/RemoteAudioDestinationProxy.h:
- WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp:
(WebKit::RemoteAudioSourceProviderManager::RemoteAudio::RemoteAudio):
- WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp:
(WebKit::AudioMediaStreamTrackRenderer::AudioMediaStreamTrackRenderer):
- WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h:
- WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp:
(WebKit::MediaRecorderPrivate::startRecording):
- WebProcess/GPU/webrtc/MediaRecorderPrivate.h:
- WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp:
(WebKit::SpeechRecognitionRealtimeMediaSourceManager::Source::Source):
(WebKit::SpeechRecognitionRealtimeMediaSourceManager::Source::storageChanged):
- WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
(WebKit::RemoteCaptureSampleManager::RemoteAudio::RemoteAudio):
- 1:33 PM Changeset in webkit [270803] by
-
- 10 edits in trunk/Source/WebCore
Make CachePolicy an enum class
https://bugs.webkit.org/show_bug.cgi?id=219856
Patch by Rob Buis <rbuis@igalia.com> on 2020-12-14
Reviewed by Alex Christensen.
Make CachePolicy an enum class.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::subresourceCachePolicy const):
- loader/FrameLoader.h:
- loader/cache/CachePolicy.h:
(): Deleted.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::load):
(WebCore::CachedResource::makeRevalidationDecision const):
- loader/cache/CachedResource.h:
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::determineRevalidationPolicy const):
(WebCore::CachedResourceLoader::cachePolicy const):
- loader/cache/CachedResourceLoader.h:
- 12:58 PM Changeset in webkit [270802] by
-
- 2 edits in trunk/Source/WebKit
CrashTracer: com.apple.WebKit.Networking at WebKit: WTF::Detail::CallableWrapper<WebKit::PrivateClickMeasurementManager::firePendingAttributionRequests()
https://bugs.webkit.org/show_bug.cgi?id=219860
<rdar://problem/72254207>
Reviewed by Alex Christensen.
No new tests, this should fix a crash.
m_networkSession is a weakPtr. We should check that the object it
references exists before trying to use it.
- NetworkProcess/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::storeUnattributed):
(WebKit::PrivateClickMeasurementManager::attribute):
(WebKit::PrivateClickMeasurementManager::clearSentAttributions):
(WebKit::PrivateClickMeasurementManager::updateTimerLastFired):
(WebKit::PrivateClickMeasurementManager::firePendingAttributionRequests):
(WebKit::PrivateClickMeasurementManager::clear):
(WebKit::PrivateClickMeasurementManager::clearForRegistrableDomain):
(WebKit::PrivateClickMeasurementManager::clearExpired):
(WebKit::PrivateClickMeasurementManager::toString const):
(WebKit::PrivateClickMeasurementManager::markAllUnattributedAsExpiredForTesting):
(WebKit::PrivateClickMeasurementManager::markAttributedPrivateClickMeasurementsAsExpiredForTesting):
- 12:55 PM Changeset in webkit [270801] by
-
- 11 edits in trunk
Simplify transform blending for simple cases
https://bugs.webkit.org/show_bug.cgi?id=219863
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Rebaseline some WPT test outputs, resulting in round numbers for animated transform output, including a few new PASS results.
- web-platform-tests/css/css-transforms/animation/transform-interpolation-computed-value-expected.txt:
- web-platform-tests/css/css-transforms/animation/transform-matrix-composition-expected.txt:
- web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-002-expected.txt:
- web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt:
- web-platform-tests/web-animations/interfaces/Animation/commitStyles-expected.txt:
Source/WebCore:
Optimize two simple cases for transform blending. First, use matrices as-is for the cases when we blend with
progress equal to 0 or 1. Then, when rotating around an angle that's an increment of 360º, simply return the
existing matrix.
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::rotate):
(WebCore::TransformationMatrix::blend):
LayoutTests:
Rebaselining test output where -0 values are now +0.
- compositing/backing/animate-into-view-expected.txt:
- compositing/backing/animate-into-view-with-descendant-expected.txt:
- 12:43 PM Changeset in webkit [270800] by
-
- 1 edit in branches/safari-611.1.9-branch/Source/WebKit/Shared/ios/WebIOSEventFactory.mm
Cherry-pick r270759. rdar://problem/54616853
Unreviewed build fix after r270712.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270759 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:35 PM Changeset in webkit [270799] by
-
- 2 edits in trunk/LayoutTests
LayoutTests/webrtc/video-sframe.html is flaky on bots
https://bugs.webkit.org/show_bug.cgi?id=219849
Reviewed by Alex Christensen.
- webrtc/video-sframe.html:
Receiver counter might increment very quickly in background thread before the sender counter is also incremented.
Add a wait loop for sender counter as well.
- 12:24 PM Changeset in webkit [270798] by
-
- 4 edits in trunk/Source
Adopt symbol image API instead of SPI in WKPDFHUDView
https://bugs.webkit.org/show_bug.cgi?id=219866
Reviewed by Wenson Hsieh.
Source/WebCore/PAL:
- pal/spi/mac/NSImageSPI.h:
Source/WebKit:
- UIProcess/PDF/WKPDFHUDView.mm:
(-[WKPDFHUDView _getImageForControlName:]):
- 12:18 PM Changeset in webkit [270797] by
-
- 2 edits in trunk/Source/WebKit
[GLIB] Missing header for std::once_flag in WebKitInitialize.cpp
https://bugs.webkit.org/show_bug.cgi?id=219865
Reviewed by Alex Christensen.
- UIProcess/API/glib/WebKitInitialize.cpp:
- 11:55 AM Changeset in webkit [270796] by
-
- 10 edits in trunk/Source
GPU process sometimes hangs during MotionMark Focus when enabling GPU Process for DOM
https://bugs.webkit.org/show_bug.cgi?id=219839
<rdar://problem/71562635>
Reviewed by Tim Horton.
Source/WebCore:
See Source/WebKit/ChangeLog for more details.
- platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::prepareToAppendDisplayListItems):
(WebCore::ImageBuffer::clearDisplayList): Deleted.
Replace this method with
prepareToAppendDisplayListItems.
- platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::prepareToAppend):
- platform/graphics/displaylists/DisplayList.h:
- platform/graphics/displaylists/DisplayListItemBuffer.cpp:
(WebCore::DisplayList::ItemBuffer::prepareToAppend):
Plumb
prepareToAppendDisplayListItemsthroughDisplayListand into theDisplayList::ItemBuffer, as
prepareToAppend. This method swaps the current writable buffer out for the newItemBufferHandleprovided by
the caller, and resets the written bytes counter.
- platform/graphics/displaylists/DisplayListItemBuffer.h:
Source/WebKit:
Fixes an indefinite hang in the GPU process that may occur as a result of this very specific corner case in
concurrent display list processing:
[1] Let p and q represent two item buffers, and let A and B represent two remote image buffers whose drawing
contexts will be destinations for display list playback in the GPU process. Suppose p has k remaining bytes
where k >= 32, and A's writable buffer is mapped to a region closest to the end of p. In practice, when this
hang reproduces, k is a relatively small number (typically 32-40 bytes).
[2] Additionally, suppose that the GPU process is not reading from q (i.e. q's
unreadBytes()count is 0), and
that the GPU process has created a corresponding RemoteImageBuffer for A, but *not* a corresponding
RemoteImageBuffer for B.
[3] We now append a MetaCommandChangeDestinationImageBuffer item to change destinations from A to B, such that
p now has (k - 16) remaining bytes. In preparation for appending new items for B's display list, the logic
inRemoteRenderingBackendProxy::willAppendItemclears B's writable buffer, with the intention that B will
turn around and call out to the client layer for a new writable buffer again once it notices that it has no
writable buffer.
[4] If we then immediately try to append an item to B that is larger than (k - 32) bytes,
RemoteRenderingBackendProxy::findReusableDisplayListHandlewill see that the most recently used item
buffer p has insufficient space, and will instead return item buffer q. We end up appending the new item to
item buffer q.
[5] In the GPU process, we finish processing all available item data in p. When we encounter the destination
buffer change item, we set
m_pendingWakeupInfobefore going to sleep, due to the fact that the GPU process
has not learned about image buffer B yet (see the last part of step [2]).
[6] Later, in the GPU process, when we create a RemoteImageBuffer for B, we see that we have a
m_pendingWakeupInfowith destination image buffer B, so we resume display list processing. However, we're
unable to resume where we stopped, since B's display list (in the web process) immediately appended to q
instead of p, skipping MetaCommandChangeItemBuffer in the process. This manifests as an indefinite hang
insideRemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists, since we expect p to
have a nonzerounreadBytes()count.
[7] Now that the GPU process is in a broken state, the web process follows shortly -- in the Focus subtest of
MotionMark, this manifests as a web process crash soon after the GPU process begins to hang, because
RemoteImageBufferProxy::ensureBackendCreated()times out and returns null, and we subsequently dereference
null inRemoteLayerBackingStore::encode()after failing to ensure the image buffer backend.
To fix this, we target step [3]. Rather than clear B's writable buffer and expect it to append its new items to
p, we simply hand it p's item handle -- in this case, a handle with (k - 16) available bytes -- and set its
writable buffer before we try to append. In this scenario, doing this ensures that if we are about to append an
item that is larger than (k - 32) bytes, we will first leave a 16-byte MetaCommandChangeItemBuffer item inside p
before moving on to q. This eventually ensures that when the GPU process resumes display list processing after
creating a RemoteImageBuffer for B, it will see 16 unread bytes in p and then immediately continue reading data
from item buffer q.
Finally, note that in this scenario, p is always guaranteed to contain at least 16 available bytes after step
[3] (in other words, k >= 32). This is because all calls to append an item of size n bytes to an item buffer
check that there is a minimum (n + 16) bytes remaining (via logic inItemBuffer::swapWritableBufferIfNeeded),
such that it is, by design, always possible to append aMetaCommandChangeItemBufferitem if necessary. As
such, it is safe to return the most recently used item buffer's handle in step [4].
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
(WebKit::RemoteImageBufferProxy::clearDisplayList):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::willAppendItem):
Call into
prepareToAppendDisplayListItemsinstead ofclearDisplayListwhen switching destination image
buffers. See problem diagnosis above for more detail.
(WebKit::RemoteRenderingBackendProxy::mostRecentlyUsedDisplayListHandle):
Pull logic to retrieve the most recently used display list handle out into a separate helper method.
(WebKit::RemoteRenderingBackendProxy::findReusableDisplayListHandle):
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- 11:48 AM Changeset in webkit [270795] by
-
- 3 edits in trunk/Tools/buildstream
[Flatpak SDK] Update GTK4 to 3.99.5
https://bugs.webkit.org/show_bug.cgi?id=219781
Reviewed by Philippe Normand.
Looks like there was a mishap tagging the GTK RC, as the tag present
in their repo is 3.99.5.1 instead of 3.99.5.
- elements/sdk/glib.bst: Bump to 2.66 to reflect the bumped
requirement by GTK.
- elements/sdk/gtk.bst: Bump to 3.99.5.1
- 11:47 AM Changeset in webkit [270794] by
-
- 7 edits in trunk/Source
Move some of the work from JSLock to VMEntryScope
https://bugs.webkit.org/show_bug.cgi?id=219830
Reviewed by Mark Lam.
Source/JavaScriptCore:
We move several things from JSLock to VMEntryScope that could only be observed after we entered the VM:
- WasmThreads: only used when tiering up wasm, so VMEntryScope would have executed
- registerThreadForMachExceptionHandling: The mach exception handlers are used for:
- sigill crash analyzer: only relevant after we enter the vm
- wasm fault signal handler: same, we must be executing wasm and therefore VMEntryScope will have executed.
- VMTraps: only handles faults in JIT code
- firePrimitiveGigacageEnabledIfNecessary: Only watched by the JITs
This gives is a ~10% improvement on APIBench (score change from ~36.3 to ~39.9), but as it turns out the most expensive
call is adding the current thread to the heap as this requires acquiring two locks. We can't move this to VMEntryScope
since it's possible to use the API and GC without ever entering the VM, which would result in the current thread's stack
not being scanned. Instead, we just remember the last thread that acquired the lock and skip the call if we're seeing the
same thread again. This greatly amortizes the cost and gives us another ~10%:
CURRENT_API: Baseline Change
RichardsMostlyC: 62ms 32ms
RichardsMostlyObjC: 303ms 264ms
RichardsMostlySwift: 296ms 261ms
RichardsSomeC: 76ms 49ms
RichardsSomeObjC: 156ms 150ms
RichardsSomeSwift: 200ms 197ms
UPCOMING_API: Baseline Change
RichardsMostlyC: 19ms 19ms
RichardsMostlyObjC: 282ms 260ms
RichardsMostlySwift: 282ms 264ms
RichardsSomeC: 79ms 46ms
RichardsSomeObjC: 156ms 149ms
RichardsSomeSwift: 195ms 195ms
Score: 36.2211 43.3368
- runtime/JSLock.cpp:
(JSC::JSLock::didAcquireLock):
(JSC::JSLock::willReleaseLock):
- runtime/JSLock.h:
- runtime/VMEntryScope.cpp:
(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):
Source/WTF:
Add a unique ID to threads. This uid is used in JSLock to avoid unnecessary work when the
same thread that last acquired the lock is reacquiring it.
- wtf/Threading.cpp:
- wtf/Threading.h:
(WTF::Thread::uid const):
(WTF::Thread::Thread):
- 11:39 AM Changeset in webkit [270793] by
-
- 2 edits in trunk/Source/WebKit
WebProcessProxy::destroySpeechRecognitionServer should check if identifier exists before removing MessageReceiver
https://bugs.webkit.org/show_bug.cgi?id=219815
<rdar://problem/71369164>
Reviewed by Youenn Fablet.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::destroySpeechRecognitionServer):
- 11:36 AM Changeset in webkit [270792] by
-
- 2 edits in trunk/Source/WebKit
Drop duplicate call to makeUniqueRef() in RemoteAudioSourceProviderProxy::createRingBuffer()
https://bugs.webkit.org/show_bug.cgi?id=219859
Reviewed by Youenn Fablet.
- GPUProcess/media/RemoteAudioSourceProviderProxy.cpp:
(WebKit::RemoteAudioSourceProviderProxy::createRingBuffer):
- 11:34 AM Changeset in webkit [270791] by
-
- 2 edits in trunk/Source/WebKit
Make sure WebProcessPool::setUseSeparateServiceWorkerProcess handles correctly destroyed process pools
https://bugs.webkit.org/show_bug.cgi?id=219773
<rdar://problem/71938320>
Reviewed by Alex Christensen.
Terminating a service worker process may destroy the web process pool.
Copy the vector of process pools before iterating over it to terminate service worker processes.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::setUseSeparateServiceWorkerProcess):
- 11:27 AM Changeset in webkit [270790] by
-
- 7 edits in trunk
Remove WKDownloadDelegate.didWriteData
https://bugs.webkit.org/show_bug.cgi?id=219820
Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-14
Reviewed by Sam Weinig.
Source/WebKit:
API review revealed it was redundant with WKDownload.progress, which has KVO-compliant totalUnitCount and completedUnitCount.
- UIProcess/API/Cocoa/WKDownload.mm:
(-[WKDownload progress]):
- UIProcess/API/Cocoa/WKDownloadDelegate.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[DownloadObserver observeValueForKeyPath:ofObject:change:context:]):
(TestWebKitAPI::mutateFile):
- TestWebKitAPI/cocoa/TestDownloadDelegate.h:
- TestWebKitAPI/cocoa/TestDownloadDelegate.mm:
(-[TestDownloadDelegate download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]): Deleted.
- 11:20 AM Changeset in webkit [270789] by
-
- 2 edits in trunk/Source/WebCore
Fix rare crashes in Page::lockAllOverlayScrollbarsToHidden()
https://bugs.webkit.org/show_bug.cgi?id=219862
<rdar://problem/28205511>
Reviewed by Wenson Hsieh.
Crash data suggest that lockAllOverlayScrollbarsToHidden() can be called on a null
Page*, so check it.
- dom/Document.cpp:
(WebCore::Document::suspend):
(WebCore::Document::resume):
- 11:11 AM Changeset in webkit [270788] by
-
- 2 edits in branches/safari-611.1.9-branch/Source/ThirdParty/ANGLE
Cherry-pick r270779. rdar://problem/72304155
Fix build.
- src/gpu_info_util/SystemInfo_apple.mm: (angle::GetSystemInfo): ##if should be #if
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270779 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:59 AM Changeset in webkit [270787] by
-
- 9 edits in trunk/Source/WebCore
Fix for accessibility layout tests related to VisiblePositions in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=219807
Reviewed by Chris Fleizach.
Tests:
accessibility/mac/line-range-for-text-marker.html
accessibility/mac/visible-position-crash-for-text-node.html
- Moved remaining unimplemented AXIsolatedObject methods from the header
to the cpp file and added ASSERT_NOT_REACHED where pertinent. This will
allow to identify any method that needs implementation.
- Implemented the necessary VisiblePosition methods.
- Cleaned up and simplified platform code by calling directly into
AXCoreObject methods instead of unnecessary wrappers.
- accessibility/AccessibilityObjectInterface.h:
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityLabel]):
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::init):
(WebCore::AXIsolatedObject::updateChildrenIfNecessary):
(WebCore::AXIsolatedObject::accessibilityHitTest):
(WebCore::AXIsolatedObject::boundsForVisiblePositionRange const):
(WebCore::AXIsolatedObject::lengthForVisiblePositionRange const):
(WebCore::AXIsolatedObject::visiblePositionForBounds const):
(WebCore::AXIsolatedObject::visiblePositionForPoint const):
(WebCore::AXIsolatedObject::nextVisiblePosition const):
(WebCore::AXIsolatedObject::previousVisiblePosition const):
(WebCore::AXIsolatedObject::nextWordEnd const):
(WebCore::AXIsolatedObject::previousWordStart const):
(WebCore::AXIsolatedObject::nextLineEndPosition const):
(WebCore::AXIsolatedObject::previousLineStartPosition const):
(WebCore::AXIsolatedObject::nextSentenceEndPosition const):
(WebCore::AXIsolatedObject::previousSentenceStartPosition const):
(WebCore::AXIsolatedObject::nextParagraphEndPosition const):
(WebCore::AXIsolatedObject::previousParagraphStartPosition const):
(WebCore::AXIsolatedObject::visiblePositionForIndex const):
(WebCore::AXIsolatedObject::indexForVisiblePosition const):
(WebCore::AXIsolatedObject::accessibilityObjectForPosition const):
(WebCore::AXIsolatedObject::plainTextRangeForVisiblePositionRange const):
(WebCore::AXIsolatedObject::index const):
(WebCore::AXIsolatedObject::lineBreaks const):
(WebCore::AXIsolatedObject::textUnderElement const):
(WebCore::AXIsolatedObject::accessibilityHitTest const): Deleted.
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/mac/AccessibilityObjectBase.mm:
(WebCore::AccessibilityObject::titleAttributeValue const):
- accessibility/mac/WebAccessibilityObjectWrapperBase.h:
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase baseAccessibilityTitle]): Deleted.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityHitTest:]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
- 10:51 AM Changeset in webkit [270786] by
-
- 1 edit4 adds in trunk/LayoutTests
Unreviewed test gardening after r270758.
- platform/mac-catalina/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-video-element/resize-during-playback-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-video-element/resize-during-playback-expected.txt: Added.
- 10:43 AM Changeset in webkit [270785] by
-
- 2 edits in branches/safari-611.1.9-branch/Source/ThirdParty/ANGLE
Cherry-pick r270777. rdar://problem/72304155
Build fix for Mac Catalyst. Remove code that was accidentally
included in the previous commit.
- src/gpu_info_util/SystemInfo_apple.mm: (angle::GetSystemInfo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270777 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:43 AM Changeset in webkit [270784] by
-
- 11 edits in trunk
Implement ::file-selector-button pseudo-element.
https://bugs.webkit.org/show_bug.cgi?id=219836
Reviewed by Simon Fraser.
Source/WebCore:
Treat it like ::placeholder.
Tests: fast/css/css-selector-text.html (plus see the comment in
changelog).
- css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText const):
- css/SelectorPseudoElementTypeMap.in:
- css/formControlsIOS.css:
(input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::file-selector-button, button):
(input:matches([type="button"], [type="reset"]), input[type="file"]::file-selector-button, button):
- css/html.css:
(input[type="file"]::file-selector-button):
(input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::file-selector-button, button):
(input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]::file-selector-button:active, button:active):
(input:matches([type="button"], [type="submit"], [type="reset"]):active:disabled,):
- css/parser/CSSParserSelector.cpp:
(WebCore::CSSParserSelector::parsePseudoElementSelector):
- css/themeWin.css:
(input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::file-selector-button, button):
- html/FileInputType.cpp:
(WebCore::UploadButtonElement::createInternal):
LayoutTests:
There are WPTs for this, but WebKit's importer doesn't handle
<link rel="mismatch"> which is used by these. Instead, I adapted UA
sheets to use the standard selector so we should get coverage, and
extended the existing tests for -webkit-file-upload-button.
- fast/css/css-selector-text-expected.txt:
- fast/css/css-selector-text.html: Tweak test to cover new pseudo.
- 10:36 AM Changeset in webkit [270783] by
-
- 2 edits in branches/safari-611.1.9-branch/Source/WebKit
Cherry-pick r270776. rdar://problem/72303521
[Mac] Enable
webm_format_readerfeature flag by default
https://bugs.webkit.org/show_bug.cgi?id=219858
Reviewed by Eric Carlson.
- FeatureFlags/WebKit.plist:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:36 AM Changeset in webkit [270782] by
-
- 1 edit in branches/safari-611.1.9-branch/Source/WebKit/Shared/mac/MediaFormatReader/SampleCursor.h
Cherry-pick r270761. rdar://problem/72303521
Try again to fix the build after r270758.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270761 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:36 AM Changeset in webkit [270781] by
-
- 2 edits in branches/safari-611.1.9-branch/Source/WebKit/Shared/mac/MediaFormatReader
Cherry-pick r270760. rdar://problem/72303521
Unreviewed build fix after r270758.
- Shared/mac/MediaFormatReader/CoreMediaWrapped.h: Unrelated renaming.
- Shared/mac/MediaFormatReader/SampleCursor.h: Removed an "#undef" meant for testing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270760 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:35 AM Changeset in webkit [270780] by
-
- 38 edits3 copies21 adds in branches/safari-611.1.9-branch
Cherry-pick r270758. rdar://problem/72303521
Source/ThirdParty/libwebrtc:
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
- Source/webrtc/sdk/WebKit/CMBaseObjectSPI.h:
Source/WebCore:
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
Updated expected results for existing tests.
For contiguous samples, teach MediaSample to remember their position and size in the
underlying byte stream. Added a runtime feature flag. Registered the format reader plug-in
at runtime.
- page/RuntimeEnabledFeatures.h:
- platform/MediaSample.h:
- platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm:
- platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
- platform/graphics/cocoa/SourceBufferParser.cpp:
- platform/graphics/cocoa/SourceBufferParser.h:
- platform/graphics/cocoa/SourceBufferParserWebM.cpp:
- platform/graphics/cocoa/SourceBufferParserWebM.h:
- platform/graphics/gstreamer/MediaSampleGStreamer.h:
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
- platform/network/mac/WebCoreURLResponse.mm:
Source/WebCore/PAL:
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
- pal/cf/CoreMediaSoftLink.cpp:
- pal/cf/CoreMediaSoftLink.h:
- pal/cocoa/MediaToolboxSoftLink.cpp:
- pal/cocoa/MediaToolboxSoftLink.h:
- pal/spi/cf/CoreMediaSPI.h:
- pal/spi/cocoa/MediaToolboxSPI.h:
Source/WebKit:
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
Implemented a MTPluginFormatReader for WebM containers. The format reader is responsible
for parsing a WebM byte stream (using SourceBufferParserWebM) into audio, video, and text
tracks. MediaToolbox can then create cursors to step through the tracks' samples in decode
or presentation order and access each sample's metadata (e.g., format description,
duration, key-frame status) and location in the byte stream.
- FeatureFlags/WebKit.plist:
- MediaFormatReaderPlugIn/Info.plist:
- MediaFormatReaderPlugIn/MediaFormatReaderPlugIn.cpp:
- Shared/API/c/mac/WKFormatReader.cpp: Added.
- Shared/API/c/mac/WKFormatReader.h: Added.
- Shared/WebPreferencesDefaultValues.cpp:
- Shared/WebPreferencesDefaultValues.h:
- Shared/mac/MediaFormatReader/CoreMediaWrapped.cpp: Added.
- Shared/mac/MediaFormatReader/CoreMediaWrapped.h: Added.
- Shared/mac/MediaFormatReader/FormatReader.cpp: Added.
- Shared/mac/MediaFormatReader/FormatReader.h: Added.
- Shared/mac/MediaFormatReader/MediaFormatReader.cpp: Added.
- Shared/mac/MediaFormatReader/MediaFormatReader.h: Added.
- Shared/mac/MediaFormatReader/SampleCursor.cpp: Added.
- Shared/mac/MediaFormatReader/SampleCursor.h: Added.
- Shared/mac/MediaFormatReader/TrackReader.cpp: Added.
- Shared/mac/MediaFormatReader/TrackReader.h: Added.
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
Source/WTF:
[Mac] Register the format reader plug-in for WebM content types
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
- Scripts/Preferences/WebPreferencesExperimental.yaml: Added an experimental web preference.
Tools:
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
- TestWebKitAPI/Tests/WebCore/SampleMap.cpp:
LayoutTests:
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
- platform/mac-catalina/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/mime-types/canPlayType-expected.txt:
- platform/mac-catalina/media/media-can-play-webm-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/mime-types/canPlayType-expected.txt:
- platform/mac-wk2/media/media-can-play-webm-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270758 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:23 AM Changeset in webkit [270779] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
Fix build.
- src/gpu_info_util/SystemInfo_apple.mm:
(angle::GetSystemInfo):
##if should be #if
- 10:23 AM Changeset in webkit [270778] by
-
- 3 edits in branches/safari-611.1.9-branch/Source/WebKit
Cherry-pick r270754. rdar://problem/72301723
Fix the watchOS build after r270712
<rdar://problem/72265227>
- Shared/ios/WebIOSEventFactory.h:
- Shared/ios/WebIOSEventFactory.mm: (WebIOSEventFactory::createWebWheelEvent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:11 AM Changeset in webkit [270777] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
Build fix for Mac Catalyst. Remove code that was accidentally
included in the previous commit.
- src/gpu_info_util/SystemInfo_apple.mm:
(angle::GetSystemInfo):
- 10:04 AM Changeset in webkit [270776] by
-
- 2 edits in trunk/Source/WebKit
[Mac] Enable
webm_format_readerfeature flag by default
https://bugs.webkit.org/show_bug.cgi?id=219858
Reviewed by Eric Carlson.
- FeatureFlags/WebKit.plist:
- 10:03 AM Changeset in webkit [270775] by
-
- 4 edits in trunk/Source/WebKit
Web process crashes during MotionMark Images when GPU Process for DOM is enabled
https://bugs.webkit.org/show_bug.cgi?id=219838
Reviewed by Simon Fraser.
It's possible to return prematurely with a null backend when waiting for image buffer backend creation under
RemoteImageBufferProxy::ensureBackendCreated(). Consider the following scenario (where WEB and GPU denote
events that occur in the web and GPU processes, respectively):
- (WEB) RemoteImageBufferProxy A is created in the web process.
- (GPU) RemoteImageBuffer A is created in the GPU process, along with an image buffer backend for A.
- (WEB) RemoteImageBufferProxy B is created in the web process.
- (GPU) RemoteImageBuffer B is created in the GPU process, along with an image buffer backend for B.
- (WEB) Something calls
RemoteImageBufferProxy::ensureBackendCreated()on B. - (WEB) We receive the
RemoteRenderingBackendProxy::DidCreateImageBufferBackendmessage for A.
B subsequently finishes waiting for backend creation because it incorrectly believes that its backend has been
initialized, and we end up crashing downstream inRemoteLayerBackingStore::encode()because
ensureBackendCreated()for B returned null.
To fix this, we adopt a similar strategy to what we use in
waitForDidFlushWithTimeout(), and repeatedly call
waitForDidCreateImageBufferBackend()until the backend has been created (allowing for an arbitrary number of
IPC timeouts or failures). Since this counter is only incremented upon timeout (or any other kind of IPC
communication failure), we'll simply receiveRemoteRenderingBackendProxy::DidCreateImageBufferBackendmessages
until we confirm (in the web process) that the current image buffer's backend has been initialized.
- WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::waitForDidCreateImageBufferBackend):
Drive-by fix: clarify this code by returning an enum to indicate whether or not we successfully received a
backend creation IPC response from the GPU process, instead of just returning a bool.
- WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- 9:49 AM Changeset in webkit [270774] by
-
- 1 copy in branches/safari-611.1.9-branch
New branch.
- 9:48 AM Changeset in webkit [270773] by
-
- 8 edits in trunk/Source
Versioning.
WebKit-7611.1.10
- 9:45 AM Changeset in webkit [270772] by
-
- 12 edits5 copies8 adds in trunk
Implement recognizer for SpeechRecognition
https://bugs.webkit.org/show_bug.cgi?id=219459
<rdar://problem/71914465>
Reviewed by Youenn Fablet.
Source/WebCore:
Add WebSpeechRecognizerTask, which connects to speech recognition service using Speech framework APIs.
Tests: fast/speechrecognition/ios/restart-recognition-after-stop.html
fast/speechrecognition/ios/start-recognition-then-stop.html
- Modules/speech/SpeechRecognizer.cpp:
(WebCore::SpeechRecognizer::reset):
(WebCore::SpeechRecognizer::abort):
(WebCore::SpeechRecognizer::stop):
(WebCore::SpeechRecognizer::start):
(WebCore::SpeechRecognizer::startCapture):
(WebCore::SpeechRecognizer::stopCapture):
(WebCore::SpeechRecognizer::dataCaptured):
(WebCore::SpeechRecognizer::startRecognition):
(WebCore::SpeechRecognizer::abortRecognition):
(WebCore::SpeechRecognizer::stopRecognition):
(WebCore::SpeechRecognizer::resetRecognition):
(WebCore::SpeechRecognizer::setSource): Deleted.
(WebCore::SpeechRecognizer::stopInternal): Deleted.
- Modules/speech/SpeechRecognizer.h:
- Modules/speech/cocoa/SpeechRecognizerCocoa.mm: Added.
(WebCore::SpeechRecognizer::dataCaptured):
(WebCore::SpeechRecognizer::startRecognition):
(WebCore::SpeechRecognizer::stopRecognition):
(WebCore::SpeechRecognizer::abortRecognition):
(WebCore::SpeechRecognizer::resetRecognition):
- Modules/speech/cocoa/WebSpeechRecognizerTask.h: Added.
- Modules/speech/cocoa/WebSpeechRecognizerTask.mm: Added.
(-[WebSpeechRecognizerTaskImpl initWithIdentifier:locale:doMultipleRecognitions:reportInterimResults:maxAlternatives:delegateCallback:]):
(-[WebSpeechRecognizerTaskImpl callbackWithResult:isFinal:]):
(-[WebSpeechRecognizerTaskImpl audioSamplesAvailable:]):
(-[WebSpeechRecognizerTaskImpl abort]):
(-[WebSpeechRecognizerTaskImpl stop]):
(-[WebSpeechRecognizerTaskImpl sendSpeechStartIfNeeded]):
(-[WebSpeechRecognizerTaskImpl sendSpeechEndIfNeeded]):
(-[WebSpeechRecognizerTaskImpl sendEndIfNeeded]):
(-[WebSpeechRecognizerTaskImpl speechRecognizer:availabilityDidChange:]):
(-[WebSpeechRecognizerTaskImpl speechRecognitionTask:didHypothesizeTranscription:]):
(-[WebSpeechRecognizerTaskImpl speechRecognitionTask:didFinishRecognition:]):
(-[WebSpeechRecognizerTaskImpl speechRecognitionTaskWasCancelled:]):
(-[WebSpeechRecognizerTaskImpl speechRecognitionTask:didFinishSuccessfully:]):
(-[WebSpeechRecognizerTask initWithIdentifier:locale:doMultipleRecognitions:reportInterimResults:maxAlternatives:delegateCallback:]):
(-[WebSpeechRecognizerTask audioSamplesAvailable:]):
(-[WebSpeechRecognizerTask abort]):
(-[WebSpeechRecognizerTask stop]):
- Modules/speech/cocoa/WebSpeechRecognizerTaskMock.h: Added.
- Modules/speech/cocoa/WebSpeechRecognizerTaskMock.mm: Added.
(-[WebSpeechRecognizerTaskMock initWithIdentifier:locale:doMultipleRecognitions:reportInterimResults:maxAlternatives:delegateCallback:]):
(-[WebSpeechRecognizerTaskMock audioSamplesAvailable:]):
(-[WebSpeechRecognizerTaskMock abort]):
(-[WebSpeechRecognizerTaskMock stop]):
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
Source/WebCore/PAL:
Add soft linking to Speech framework and SPI.
- PAL.xcodeproj/project.pbxproj:
- pal/cocoa/SpeechSoftLink.h: Added.
- pal/cocoa/SpeechSoftLink.mm: Added.
- pal/spi/cocoa/SpeechSPI.h: Added.
Source/WebKit:
- UIProcess/SpeechRecognitionServer.cpp:
(WebKit::SpeechRecognitionServer::SpeechRecognitionServer):
(WebKit::SpeechRecognitionServer::requestPermissionForRequest):
(WebKit::SpeechRecognitionServer::handleRequest):
(WebKit::SpeechRecognitionServer::abort):
(WebKit::SpeechRecognitionServer::invalidate):
- UIProcess/SpeechRecognitionServer.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createSpeechRecognitionServer):
LayoutTests:
- fast/speechrecognition/ios/restart-recognition-after-stop-expected.txt: Added.
- fast/speechrecognition/ios/restart-recognition-after-stop.html: Added.
- fast/speechrecognition/ios/start-recognition-then-stop-expected.txt: Added.
- fast/speechrecognition/ios/start-recognition-then-stop.html: Added.
- 8:54 AM Changeset in webkit [270771] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening.
- platform/mac-wk2/media/media-can-play-webm-expected.txt:
- 8:40 AM Changeset in webkit [270770] by
-
- 1 edit1 add in trunk/PerformanceTests
Add inline-block line layout microbench
https://bugs.webkit.org/show_bug.cgi?id=219854
Reviewed by Zalan Bujtas.
- Layout/line-layout-inline-block.html: Added.
- 8:34 AM Changeset in webkit [270769] by
-
- 8 edits2 adds in trunk/Tools
[webkitscmpy] Load mock repository data from json file
https://bugs.webkit.org/show_bug.cgi?id=219803
<rdar://problem/72236132>
Reviewed by Stephanie Lewis.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/git-repo.json: Added.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.init): Move mock data into git-repo.json.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn.init): Move mock data into git-repo.json.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
(Svn.init): Move mock data into git-repo.json.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/svn-repo.json: Added.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
- Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_tags): Specify tags.
(TestGit.test_tag): Ditto.
(TestGit.test_checkout): Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn.test_branches): Remove branch specification.
- 8:26 AM Changeset in webkit [270768] by
-
- 25 edits in trunk/Source
[GPUProcess] Crash under AudioDestinationCocoa::setIsPlaying(bool)
https://bugs.webkit.org/show_bug.cgi?id=219809
Reviewed by Eric Carlson.
Source/WebCore:
The issue is that when using the GPU process, AudioDestination::stop() & start()
are asynchronous due to IPC. Those functions take completion handlers and
the AudioDestination object makes sure to ref itself to keep itself alive during
async operations. However, AudioDestination::m_callback is a raw pointer to
the AudioDestinationNode, which may itself become dead if AudioDestination
extends its lifetime by ref'ing itself.
To address the issue, AudioDestination is not fully owned by AudioDestinationNode.
If the AudioDestination needs to keep itself alive, it now ref's its owner
(AudioDestinationNode). This ensure that AudioDestination::m_callback never goes
stale, even if AudioDestination extends its lifetime by ref'ing itself during
async operations.
No new tests, covered by existing WebAudio tests currently crashing on
the GPU bots.
- Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::~AudioDestinationNode):
- Modules/webaudio/AudioDestinationNode.h:
(WebCore::AudioDestinationNode::isPlaying):
- Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::deref):
- Modules/webaudio/BaseAudioContext.cpp:
(WebCore::BaseAudioContext::clear):
- Modules/webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::DefaultAudioDestinationNode::~DefaultAudioDestinationNode):
(WebCore::DefaultAudioDestinationNode::uninitialize):
(WebCore::DefaultAudioDestinationNode::createDestination):
- Modules/webaudio/DefaultAudioDestinationNode.h:
- Modules/webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
- platform/MediaStrategy.h:
- platform/audio/AudioDestination.h:
(WebCore::AudioDestination::ref):
(WebCore::AudioDestination::deref):
(WebCore::AudioDestination::AudioDestination):
- platform/audio/AudioIOCallback.h:
- platform/audio/cocoa/AudioDestinationCocoa.cpp:
(WebCore::AudioDestination::create):
(WebCore::AudioDestinationCocoa::AudioDestinationCocoa):
- platform/audio/cocoa/AudioDestinationCocoa.h:
- platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestination::create):
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
- platform/mock/MockAudioDestinationCocoa.h:
Source/WebKit:
- WebProcess/GPU/media/RemoteAudioDestinationProxy.cpp:
(WebKit::RemoteAudioDestinationProxy::create):
- WebProcess/GPU/media/RemoteAudioDestinationProxy.h:
- WebProcess/GPU/media/WebMediaStrategy.cpp:
(WebKit::WebMediaStrategy::createAudioDestination):
- WebProcess/GPU/media/WebMediaStrategy.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebPlatformStrategies.mm:
Source/WebKitLegacy/win:
- WebCoreSupport/WebPlatformStrategies.cpp:
- 4:27 AM Changeset in webkit [270767] by
-
- 2 edits in trunk/Source/WebKit
[WPE][GTK] Should enable WebProcessCache
https://bugs.webkit.org/show_bug.cgi?id=219689
Reviewed by Adrian Perez de Castro.
- UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextConstructed):
- 3:46 AM Changeset in webkit [270766] by
-
- 2 edits in trunk/Source/JavaScriptCore
Minor cleanup of BigInts
https://bugs.webkit.org/show_bug.cgi?id=219253
Reviewed by Yusuke Suzuki.
- runtime/JSBigInt.cpp:
(JSC::rightShiftByAbsolute):
- 2:35 AM Changeset in webkit [270765] by
-
- 7 edits in trunk
REGRESSSION(270435) [GStreamer] Many media source tests failing and timing out
https://bugs.webkit.org/show_bug.cgi?id=219565
Reviewed by Philippe Normand.
Source/WebCore:
Fix the recursing calls due to the refactoring of
SourceBufferPrivate.
(As Philippe Normand pointed out and Peng Liu added in the first
version of the patch).
Also fix the didReceiveInitializationSegment signature after r270612.
Covered by existing tests.
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::didReceiveInitializationSegment):
- platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.cpp:
(WebCore::SourceBufferPrivateGStreamer::didReceiveInitializationSegment):
(WebCore::SourceBufferPrivateGStreamer::didReceiveSample):
- platform/graphics/gstreamer/mse/SourceBufferPrivateGStreamer.h:
LayoutTests:
Revert the gardened expectations and garden remaining failures.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- 2:32 AM Changeset in webkit [270764] by
-
- 34 edits in trunk/Source
[JSC] Introduce vmEntryCustomAccessor and vmEntryHostFunction for JITCage
https://bugs.webkit.org/show_bug.cgi?id=219847
Reviewed by Mark Lam.
Source/JavaScriptCore:
Instead of registering all host-functions and custom accessors with OperationPtrTag or HostFunctionPtrTag,
this patch introduces a trampoline which invokes them with special ptr-tag to reduce memory usage of JITOperationList.
When invoking custom accessor, we pass that pointer as a forth argument, and call vmEntryCustomAccessor.
And vmEntryCustomAccessor jumps to the passed argument with special ptr tag. And we register vmEntryCustomAccessor as an operation.
For host-functions, we pass that pointer as a third argument.
- assembler/JITOperationList.cpp:
(JSC::addPointers):
(JSC::JITOperationList::populatePointersInJavaScriptCore):
(JSC::JITOperationList::populatePointersInJavaScriptCoreForLLInt):
(JSC::JITOperationList::populatePointersInEmbedder):
- assembler/JITOperationList.h:
(JSC::JITOperationList::assertIsHostFunction): Deleted.
- b3/testb3_1.cpp:
(main):
- bytecode/AccessCase.cpp:
(JSC::AccessCase::generateImpl):
- bytecode/GetByIdVariant.cpp:
(JSC::GetByIdVariant::GetByIdVariant):
- bytecode/GetByIdVariant.h:
(JSC::GetByIdVariant::customAccessorGetter const):
- bytecode/GetByStatus.cpp:
(JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback):
- bytecode/GetterSetterAccessCase.cpp:
(JSC::GetterSetterAccessCase::create):
- bytecode/GetterSetterAccessCase.h:
- dfg/DFGNode.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCallDOMGetter):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter):
- jit/JITOperations.h:
- jit/Repatch.cpp:
(JSC::tryCacheGetBy):
(JSC::tryCachePutByID):
- jit/ThunkGenerators.cpp:
(JSC::nativeForGenerator):
- jsc.cpp:
(jscmain):
- llint/LLIntData.cpp:
(JSC::LLInt::initialize):
- llint/LLIntThunks.cpp:
- llint/LLIntThunks.h:
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/Gate.h:
- runtime/JSCPtrTag.h:
(JSC::tagJSCCodePtrImpl):
(JSC::untagJSCCodePtrImpl):
- runtime/NativeFunction.h:
- runtime/PropertySlot.h:
- runtime/PutPropertySlot.h:
(JSC::PutPropertySlot::customSetter const):
- runtime/VM.cpp:
(JSC::VM::getHostFunction):
Source/WebCore:
- bindings/js/WebCoreJITOperations.cpp:
(WebCore::populateJITOperations):
- testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::populateJITOperations):
Source/WebKit:
- Shared/WebKitJITOperations.cpp:
(WebKit::populateJITOperations):
Source/WTF:
- wtf/PlatformCallingConventions.h:
- 2:17 AM Changeset in webkit [270763] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer][EME][Thunder] Opus should be supported by the decryptor
https://bugs.webkit.org/show_bug.cgi?id=219742
Reviewed by Philippe Normand.
- platform/graphics/gstreamer/eme/WebKitThunderDecryptorGStreamer.cpp:
Added Opus to the sink and src caps.
- 1:43 AM Changeset in webkit [270762] by
-
- 23 edits in trunk/Source
Pass an isolated copy of Settings to workers and worklets.
https://bugs.webkit.org/show_bug.cgi?id=219688
Reviewed by Sam Weinig.
Source/JavaScriptCore:
- runtime/RuntimeFlags.h:
(JSC::RuntimeFlags::isolatedCopy const):
Source/WebCore:
Generate a Settings::Values struct containing all setting values.
Workers and worklets get that structure from their document and do a thread safe copy to use it in the background thread.
Covered by existing tests in workers.
- Modules/webaudio/AudioWorkletMessagingProxy.cpp:
(WebCore::generateWorkletParameters):
- Scripts/SettingsTemplates/Settings.cpp.erb:
- Scripts/SettingsTemplates/Settings.h.erb:
- dom/Document.h:
- dom/EmptyScriptExecutionContext.h:
- dom/ScriptExecutionContext.h:
- page/Settings.yaml:
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
- workers/WorkerGlobalScope.h:
(WebCore::WorkerGlobalScope::requestAnimationFrameEnabled const):
(WebCore::WorkerGlobalScope::acceleratedCompositingEnabled const):
(WebCore::WorkerGlobalScope::webGLEnabled const):
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
- workers/WorkerThread.cpp:
(WebCore::WorkerParameters::isolatedCopy const):
- workers/WorkerThread.h:
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
- workers/service/context/ServiceWorkerThread.h:
- workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
- worklets/WorkletGlobalScope.cpp:
(WebCore::WorkletGlobalScope::WorkletGlobalScope):
- worklets/WorkletGlobalScope.h:
- worklets/WorkletParameters.h:
(WebCore::WorkletParameters::isolatedCopy const):
Source/WTF:
Add missing default values.
- Scripts/Preferences/WebPreferences.yaml:
Dec 13, 2020:
- 9:19 PM Changeset in webkit [270761] by
-
- 1 edit in trunk/Source/WebKit/Shared/mac/MediaFormatReader/SampleCursor.h
Try again to fix the build after r270758.
- 8:39 PM Changeset in webkit [270760] by
-
- 2 edits in trunk/Source/WebKit/Shared/mac/MediaFormatReader
Unreviewed build fix after r270758.
- Shared/mac/MediaFormatReader/CoreMediaWrapped.h: Unrelated renaming.
- Shared/mac/MediaFormatReader/SampleCursor.h: Removed an "#undef" meant for testing.
- 8:31 PM Changeset in webkit [270759] by
-
- 1 edit in trunk/Source/WebKit/Shared/ios/WebIOSEventFactory.mm
Unreviewed build fix after r270712.
- 7:38 PM Changeset in webkit [270758] by
-
- 38 edits3 copies21 adds in trunk
Source/ThirdParty/libwebrtc:
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
- Source/webrtc/sdk/WebKit/CMBaseObjectSPI.h:
Source/WebCore:
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
Updated expected results for existing tests.
For contiguous samples, teach MediaSample to remember their position and size in the
underlying byte stream. Added a runtime feature flag. Registered the format reader plug-in
at runtime.
- page/RuntimeEnabledFeatures.h:
- platform/MediaSample.h:
- platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm:
- platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
- platform/graphics/cocoa/SourceBufferParser.cpp:
- platform/graphics/cocoa/SourceBufferParser.h:
- platform/graphics/cocoa/SourceBufferParserWebM.cpp:
- platform/graphics/cocoa/SourceBufferParserWebM.h:
- platform/graphics/gstreamer/MediaSampleGStreamer.h:
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
- platform/network/mac/WebCoreURLResponse.mm:
Source/WebCore/PAL:
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
- pal/cf/CoreMediaSoftLink.cpp:
- pal/cf/CoreMediaSoftLink.h:
- pal/cocoa/MediaToolboxSoftLink.cpp:
- pal/cocoa/MediaToolboxSoftLink.h:
- pal/spi/cf/CoreMediaSPI.h:
- pal/spi/cocoa/MediaToolboxSPI.h:
Source/WebKit:
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
Implemented a MTPluginFormatReader for WebM containers. The format reader is responsible
for parsing a WebM byte stream (using SourceBufferParserWebM) into audio, video, and text
tracks. MediaToolbox can then create cursors to step through the tracks' samples in decode
or presentation order and access each sample's metadata (e.g., format description,
duration, key-frame status) and location in the byte stream.
- FeatureFlags/WebKit.plist:
- MediaFormatReaderPlugIn/Info.plist:
- MediaFormatReaderPlugIn/MediaFormatReaderPlugIn.cpp:
- Shared/API/c/mac/WKFormatReader.cpp: Added.
- Shared/API/c/mac/WKFormatReader.h: Added.
- Shared/WebPreferencesDefaultValues.cpp:
- Shared/WebPreferencesDefaultValues.h:
- Shared/mac/MediaFormatReader/CoreMediaWrapped.cpp: Added.
- Shared/mac/MediaFormatReader/CoreMediaWrapped.h: Added.
- Shared/mac/MediaFormatReader/FormatReader.cpp: Added.
- Shared/mac/MediaFormatReader/FormatReader.h: Added.
- Shared/mac/MediaFormatReader/MediaFormatReader.cpp: Added.
- Shared/mac/MediaFormatReader/MediaFormatReader.h: Added.
- Shared/mac/MediaFormatReader/SampleCursor.cpp: Added.
- Shared/mac/MediaFormatReader/SampleCursor.h: Added.
- Shared/mac/MediaFormatReader/TrackReader.cpp: Added.
- Shared/mac/MediaFormatReader/TrackReader.h: Added.
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
Source/WTF:
[Mac] Register the format reader plug-in for WebM content types
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
- Scripts/Preferences/WebPreferencesExperimental.yaml: Added an experimental web
preference.
Tools:
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
- TestWebKitAPI/Tests/WebCore/SampleMap.cpp:
LayoutTests:
[Mac] Create a MediaToolbox format reader plug-in for WebM
https://bugs.webkit.org/show_bug.cgi?id=218908
<rdar://problem/71373264>
Reviewed by Eric Carlson.
- platform/mac-catalina/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/mime-types/canPlayType-expected.txt:
- platform/mac-catalina/media/media-can-play-webm-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/mime-types/canPlayType-expected.txt:
- platform/mac-wk2/media/media-can-play-webm-expected.txt:
- 6:47 PM Changeset in webkit [270757] by
-
- 4 edits in trunk/LayoutTests
[WPE] Unreviewed test gardening. Gardened several flaky failures happening in WPE Release Test bot.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 6:30 PM Changeset in webkit [270756] by
-
- 9 edits8 adds in trunk/LayoutTests
[WPE] Unreviewed test gardening. Update baselines after r270749.
- platform/wpe/css1/text_properties/word_spacing-expected.png: Added.
- platform/wpe/css1/text_properties/word_spacing-expected.txt:
- platform/wpe/fast/css/word-space-extra-expected.png: Added.
- platform/wpe/fast/css/word-space-extra-expected.txt:
- platform/wpe/fast/text/atsui-negative-spacing-features-expected.png: Added.
- platform/wpe/fast/text/atsui-negative-spacing-features-expected.txt:
- platform/wpe/fast/text/atsui-spacing-features-expected.png: Added.
- platform/wpe/fast/text/atsui-spacing-features-expected.txt:
- platform/wpe/fast/text/basic/004-expected.png: Added.
- platform/wpe/fast/text/basic/004-expected.txt:
- platform/wpe/fast/text/basic/005-expected.png: Added.
- platform/wpe/fast/text/basic/005-expected.txt:
- platform/wpe/fast/text/word-space-expected.png: Added.
- platform/wpe/fast/text/word-space-expected.txt:
- platform/wpe/svg/custom/svg-fonts-word-spacing-expected.png: Added.
- platform/wpe/svg/custom/svg-fonts-word-spacing-expected.txt:
- 6:20 PM Changeset in webkit [270755] by
-
- 10 edits2 adds in trunk/LayoutTests
[WinCairo] Unreviewed test gardening
- platform/wincairo-wk1/TestExpectations:
- platform/wincairo/TestExpectations:
- platform/wincairo/css1/text_properties/word_spacing-expected.txt:
- platform/wincairo/css3/filters/backdrop/blur-input-bounds-expected.txt: Added.
- platform/wincairo/fast/css/word-space-extra-expected.txt:
- platform/wincairo/fast/text/atsui-negative-spacing-features-expected.txt:
- platform/wincairo/fast/text/atsui-spacing-features-expected.txt:
- platform/wincairo/fast/text/basic/004-expected.txt:
- platform/wincairo/fast/text/basic/005-expected.txt:
- platform/wincairo/fast/text/word-space-expected.txt:
- 4:58 PM Changeset in webkit [270754] by
-
- 3 edits in trunk/Source/WebKit
Fix the watchOS build after r270712
<rdar://problem/72265227>
- Shared/ios/WebIOSEventFactory.h:
- Shared/ios/WebIOSEventFactory.mm:
(WebIOSEventFactory::createWebWheelEvent):
- 3:59 PM Changeset in webkit [270753] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Set s_maxPathLength fallback when OS does not have a PATH_MAX limitation
https://bugs.webkit.org/show_bug.cgi?id=219571
Patch by Samuel Thibault <samuel.thibault@ens-lyon.org> on 2020-12-13
Reviewed by Yusuke Suzuki.
- runtime/ConfigFile.h:
(ConfigFile::s_maxPathLength): Fallback to 4095 when PATH_MAX is not defined.
- 3:42 PM Changeset in webkit [270752] by
-
- 5 edits in trunk/Source/WebCore
[LFC Display] The display tree should be owned by the display view
https://bugs.webkit.org/show_bug.cgi?id=219840
Reviewed by Sam Weinig.
Move ownership of the Display::Tree from Display::LayerController to Display::View,
because this ownership model makes more sense.
- display/DisplayView.cpp:
(WebCore::Display::View::prepareForDisplay):
- display/DisplayView.h:
(WebCore::Display::View::tree const):
- display/compositing/DisplayLayerController.cpp:
(WebCore::Display::LayerController::RootLayerClient::paintContents):
(WebCore::Display::LayerController::prepareForDisplay):
- display/compositing/DisplayLayerController.h:
- 1:49 PM Changeset in webkit [270751] by
-
- 2 edits in trunk
[CMake] Version of LibPSL not reported
https://bugs.webkit.org/show_bug.cgi?id=219837
Reviewed by Adrian Perez de Castro.
When determining the version of LibPSL from the header file LIBPSL_VERSION was set
but the VERSION_VAR reported was LibPSL_VERSION. Consistently use LibPSL_VERSION
within the file to prevent this.
Additionally LibPSL_LIBRARY not LibPSL_LIBRARIES should be marked_as_advanced.
- Source/cmake/FindLibPSL.cmake:
- 9:55 AM Changeset in webkit [270750] by
-
- 4 edits in trunk/Source/WebCore
Move createAppHighlightRangeData into AppHighlightStorage source file
https://bugs.webkit.org/show_bug.cgi?id=219834
Reviewed by Devin Rousso.
The createAppHighlightRangeData function was defined statically in AppHighlightListData.cpp
but was only used in AppHighlightStorage.cpp. Moved the static functions from the former
into the later.
Additionally added forward declarations in the AppHighlightStorage header.
This allows the highlight module to compile with non-unified sources.
- Modules/highlight/AppHighlightListData.cpp:
(WebCore::computePathIndex): Deleted.
(WebCore::createNodePathComponent): Deleted.
(WebCore::makeNodePath): Deleted.
(WebCore::createAppHiglightRangeData): Deleted.
- Modules/highlight/AppHighlightStorage.cpp:
(WebCore::computePathIndex):
(WebCore::createNodePathComponent):
(WebCore::makeNodePath):
(WebCore::createAppHighlightRangeData):
(WebCore::AppHighlightStorage::createAppHighlightListData):
- Modules/highlight/AppHighlightStorage.h:
- 9:29 AM Changeset in webkit [270749] by
-
- 17 edits in trunk
[LFC][IFC] Offset the content logical left by the word-spacing value
https://bugs.webkit.org/show_bug.cgi?id=219706
Reviewed by Antti Koivisto.
Source/WebCore:
Let's decouple the whitespace width and the word-spacing value.
Instead of constructing a 9px long run for whitespace "width: 4px", "word-spacing: 5px",
we create a 4px long run at 5px.
- layout/inlineformatting/InlineLine.cpp:
(WebCore::Layout::Line::appendTextContent):
- layout/inlineformatting/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::width):
LayoutTests:
Now we've got dedicated runs for these content.
-and the word-space-extra-expected.txt change is an actual (though not visual) progression.
- platform/mac/css1/text_properties/word_spacing-expected.txt:
- platform/mac/fast/css/word-space-extra-expected.txt:
- platform/mac/fast/text/atsui-negative-spacing-features-expected.txt:
- platform/mac/fast/text/atsui-spacing-features-expected.txt:
- platform/mac/fast/text/basic/004-expected.txt:
- platform/mac/fast/text/word-space-expected.txt:
- platform/mac/svg/custom/svg-fonts-word-spacing-expected.txt:
- 7:20 AM Changeset in webkit [270748] by
-
- 2 edits in trunk/Source/WebCore
Add some missing Grid files to the project
https://bugs.webkit.org/show_bug.cgi?id=219831
Reviewed by Anders Carlsson.
A few Grid files were compiled, but had not been added to the project file.
- WebCore.xcodeproj/project.pbxproj: