Changeset 252890 in webkit
- Timestamp:
- Nov 26, 2019 10:16:04 AM (4 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r252889 r252890 1 2019-11-26 youenn fablet <youenn@apple.com> 2 3 Update capturing document media state when entering b/f cache 4 https://bugs.webkit.org/show_bug.cgi?id=204589 5 6 Reviewed by Chris Dumez. 7 8 * http/tests/navigation/page-cache-mediastream-expected.txt: 9 * http/tests/navigation/page-cache-mediastream.html: 10 1 11 2019-11-26 youenn fablet <youenn@apple.com> 2 12 -
trunk/LayoutTests/http/tests/navigation/page-cache-mediastream-expected.txt
r252337 r252890 8 8 pageshow - from cache 9 9 PASS Page did enter and was restored from the page cache 10 page media state is 'IsNotPlaying' 10 11 PASS successfullyParsed is true 11 12 -
trunk/LayoutTests/http/tests/navigation/page-cache-mediastream.html
r252337 r252890 17 17 testPassed("Page did enter and was restored from the page cache"); 18 18 restoredFromPageCache = true; 19 20 if (window.internals) 21 debug("page media state is '" + internals.pageMediaState() + "'"); 19 22 20 23 if (!canvasStream.active) -
trunk/Source/WebCore/ChangeLog
r252889 r252890 1 2019-11-26 youenn fablet <youenn@apple.com> 2 3 Update capturing document media state when entering b/f cache 4 https://bugs.webkit.org/show_bug.cgi?id=204589 5 6 Reviewed by Chris Dumez. 7 8 Remove enqueuing the task in configureTrackRendering. 9 This allows stopTrack to trigger the track rendering configuration and document media state computation. 10 Covered by updated test. 11 12 * Modules/mediastream/MediaStreamTrack.cpp: 13 (WebCore::MediaStreamTrack::MediaStreamTrack): 14 (WebCore::MediaStreamTrack::configureTrackRendering): 15 (WebCore::MediaStreamTrack::suspend): 16 (WebCore::MediaStreamTrack::stop): Deleted. 17 * Modules/mediastream/MediaStreamTrack.h: 18 1 19 2019-11-26 youenn fablet <youenn@apple.com> 2 20 -
trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
r252681 r252890 71 71 : ActiveDOMObject(&context) 72 72 , m_private(WTFMove(privateTrack)) 73 , m_taskQueue(context)74 73 , m_isCaptureTrack(m_private->isCaptureTrack()) 75 74 , m_mediaSession(PlatformMediaSession::create(*this)) … … 536 535 void MediaStreamTrack::configureTrackRendering() 537 536 { 538 m_taskQueue.enqueueTask([this] { 539 if (m_mediaSession && m_private->type() == RealtimeMediaSource::Type::Audio) 540 m_mediaSession->canProduceAudioChanged(); 541 542 if (auto document = this->document()) 543 document->updateIsPlayingMedia(); 544 }); 537 if (m_mediaSession && m_private->type() == RealtimeMediaSource::Type::Audio) 538 m_mediaSession->canProduceAudioChanged(); 539 540 if (auto document = this->document()) 541 document->updateIsPlayingMedia(); 545 542 546 543 // 4.3.1 547 544 // ... media from the source only flows when a MediaStreamTrack object is both unmuted and enabled 548 }549 550 void MediaStreamTrack::stop()551 {552 stopTrack();553 m_taskQueue.close();554 545 } 555 546 -
trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h
r252545 r252890 176 176 177 177 // ActiveDOMObject API. 178 void stop() final ;178 void stop() final { stopTrack(); } 179 179 const char* activeDOMObjectName() const override; 180 180 void suspend(ReasonForSuspension) final; … … 217 217 MediaTrackConstraints m_constraints; 218 218 std::unique_ptr<DOMPromiseDeferred<void>> m_promise; 219 GenericTaskQueue<ScriptExecutionContext> m_taskQueue;220 219 GenericTaskQueue<Timer> m_eventTaskQueue; 221 220
Note: See TracChangeset
for help on using the changeset viewer.