[tbb-commits] [tor-browser] 29/73: Bug 1781759 factor out ChannelMediaResource::MediaElement() helper r=chunmin a=RyanVM
gitolite role
git at cupani.torproject.org
Wed Sep 21 20:17:22 UTC 2022
This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch geckoview-102.3.0esr-12.0-1
in repository tor-browser.
commit 06dd4b32f0e4432646d3d7c5ecbf9597ec3f91ec
Author: Karl Tomlinson <karlt+ at karlt.net>
AuthorDate: Tue Aug 23 00:23:51 2022 +0000
Bug 1781759 factor out ChannelMediaResource::MediaElement() helper r=chunmin a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D154039
---
dom/media/ChannelMediaResource.cpp | 36 ++++++++++++++----------------------
dom/media/ChannelMediaResource.h | 2 ++
2 files changed, 16 insertions(+), 22 deletions(-)
diff --git a/dom/media/ChannelMediaResource.cpp b/dom/media/ChannelMediaResource.cpp
index 804884b1e359e..7266998f60fc9 100644
--- a/dom/media/ChannelMediaResource.cpp
+++ b/dom/media/ChannelMediaResource.cpp
@@ -512,6 +512,15 @@ nsresult ChannelMediaResource::Open(nsIStreamListener** aStreamListener) {
return NS_OK;
}
+dom::HTMLMediaElement* ChannelMediaResource::MediaElement() const {
+ MOZ_ASSERT(NS_IsMainThread());
+ MediaDecoderOwner* owner = mCallback->GetMediaOwner();
+ MOZ_DIAGNOSTIC_ASSERT(owner);
+ dom::HTMLMediaElement* element = owner->GetMediaElement();
+ MOZ_DIAGNOSTIC_ASSERT(element);
+ return element;
+}
+
nsresult ChannelMediaResource::OpenChannel(int64_t aOffset) {
MOZ_ASSERT(NS_IsMainThread());
MOZ_DIAGNOSTIC_ASSERT(!mClosed);
@@ -529,11 +538,7 @@ nsresult ChannelMediaResource::OpenChannel(int64_t aOffset) {
NS_ENSURE_SUCCESS(rv, rv);
// Tell the media element that we are fetching data from a channel.
- MediaDecoderOwner* owner = mCallback->GetMediaOwner();
- MOZ_DIAGNOSTIC_ASSERT(owner);
- dom::HTMLMediaElement* element = owner->GetMediaElement();
- MOZ_DIAGNOSTIC_ASSERT(element);
- element->DownloadResumed();
+ MediaElement()->DownloadResumed();
return NS_OK;
}
@@ -556,11 +561,7 @@ nsresult ChannelMediaResource::SetupChannelHeaders(int64_t aOffset) {
NS_ENSURE_SUCCESS(rv, rv);
// Send Accept header for video and audio types only (Bug 489071)
- MediaDecoderOwner* owner = mCallback->GetMediaOwner();
- MOZ_DIAGNOSTIC_ASSERT(owner);
- dom::HTMLMediaElement* element = owner->GetMediaElement();
- MOZ_DIAGNOSTIC_ASSERT(element);
- element->SetRequestHeaders(hc);
+ MediaElement()->SetRequestHeaders(hc);
} else {
NS_ASSERTION(aOffset == 0, "Don't know how to seek on this channel type");
return NS_ERROR_FAILURE;
@@ -669,10 +670,7 @@ void ChannelMediaResource::Suspend(bool aCloseImmediately) {
return;
}
- MediaDecoderOwner* owner = mCallback->GetMediaOwner();
- MOZ_DIAGNOSTIC_ASSERT(owner);
- dom::HTMLMediaElement* element = owner->GetMediaElement();
- MOZ_DIAGNOSTIC_ASSERT(element);
+ dom::HTMLMediaElement* element = MediaElement();
if (mChannel && aCloseImmediately && mIsTransportSeekable) {
CloseChannel();
@@ -691,10 +689,7 @@ void ChannelMediaResource::Resume() {
return;
}
- MediaDecoderOwner* owner = mCallback->GetMediaOwner();
- MOZ_DIAGNOSTIC_ASSERT(owner);
- dom::HTMLMediaElement* element = owner->GetMediaElement();
- MOZ_DIAGNOSTIC_ASSERT(element);
+ dom::HTMLMediaElement* element = MediaElement();
if (mSuspendAgent.Resume()) {
if (mChannel) {
@@ -712,10 +707,7 @@ nsresult ChannelMediaResource::RecreateChannel() {
nsLoadFlags loadFlags = nsICachingChannel::LOAD_BYPASS_LOCAL_CACHE_IF_BUSY |
(mLoadInBackground ? nsIRequest::LOAD_BACKGROUND : 0);
- MediaDecoderOwner* owner = mCallback->GetMediaOwner();
- MOZ_DIAGNOSTIC_ASSERT(owner);
- dom::HTMLMediaElement* element = owner->GetMediaElement();
- MOZ_DIAGNOSTIC_ASSERT(element);
+ dom::HTMLMediaElement* element = MediaElement();
nsCOMPtr<nsILoadGroup> loadGroup = element->GetDocumentLoadGroup();
NS_ENSURE_TRUE(loadGroup, NS_ERROR_NULL_POINTER);
diff --git a/dom/media/ChannelMediaResource.h b/dom/media/ChannelMediaResource.h
index 695e490c6f7c0..892dca1de081d 100644
--- a/dom/media/ChannelMediaResource.h
+++ b/dom/media/ChannelMediaResource.h
@@ -213,6 +213,8 @@ class ChannelMediaResource
nsresult OnChannelRedirect(nsIChannel* aOld, nsIChannel* aNew,
uint32_t aFlags, int64_t aOffset);
+ // Use only before MediaDecoder shutdown. Main thread only.
+ dom::HTMLMediaElement* MediaElement() const;
// Opens the channel, using an HTTP byte range request to start at aOffset
// if possible. Main thread only.
nsresult OpenChannel(int64_t aOffset);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the tbb-commits
mailing list