[tbb-commits] [tor-browser] 18/34: Bug 1753298 - Improve error handling in BaseMediaResource::ModifyLoadFlags. r=padenot, a=dsmith

gitolite role git at cupani.torproject.org
Wed Apr 27 16:04:59 UTC 2022


This is an automated email from the git hooks/post-receive script.

richard pushed a commit to branch tor-browser-91.9esr-11.0-1
in repository tor-browser.

commit adbcbe5ad63ba5fdbd1da8790a13ba08624de696
Author: Matthew Gregan <kinetik at flim.org>
AuthorDate: Sat Apr 16 05:30:17 2022 +0000

    Bug 1753298 - Improve error handling in BaseMediaResource::ModifyLoadFlags. r=padenot,a=dsmith
    
    Differential Revision: https://phabricator.services.mozilla.com/D143863
---
 dom/media/BaseMediaResource.cpp    | 17 ++++++++++-------
 dom/media/BaseMediaResource.h      |  2 +-
 dom/media/ChannelMediaResource.cpp |  2 +-
 3 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/dom/media/BaseMediaResource.cpp b/dom/media/BaseMediaResource.cpp
index 181668f4dc270..e5ba50109a1f9 100644
--- a/dom/media/BaseMediaResource.cpp
+++ b/dom/media/BaseMediaResource.cpp
@@ -136,24 +136,25 @@ void BaseMediaResource::SetLoadInBackground(bool aLoadInBackground) {
     } else {
       loadFlags &= ~nsIRequest::LOAD_BACKGROUND;
     }
-    ModifyLoadFlags(loadFlags);
+    Unused << NS_WARN_IF(NS_FAILED(ModifyLoadFlags(loadFlags)));
   }
 }
 
-void BaseMediaResource::ModifyLoadFlags(nsLoadFlags aFlags) {
+nsresult BaseMediaResource::ModifyLoadFlags(nsLoadFlags aFlags) {
   nsCOMPtr<nsILoadGroup> loadGroup;
   nsresult rv = mChannel->GetLoadGroup(getter_AddRefs(loadGroup));
   MOZ_ASSERT(NS_SUCCEEDED(rv), "GetLoadGroup() failed!");
 
-  nsresult status;
-  mChannel->GetStatus(&status);
-
   bool inLoadGroup = false;
   if (loadGroup) {
+    nsresult status;
+    mChannel->GetStatus(&status);
+
     rv = loadGroup->RemoveRequest(mChannel, nullptr, status);
-    if (NS_SUCCEEDED(rv)) {
-      inLoadGroup = true;
+    if (NS_WARN_IF(NS_FAILED(rv))) {
+      return rv;
     }
+    inLoadGroup = true;
   }
 
   rv = mChannel->SetLoadFlags(aFlags);
@@ -163,6 +164,8 @@ void BaseMediaResource::ModifyLoadFlags(nsLoadFlags aFlags) {
     rv = loadGroup->AddRequest(mChannel, nullptr);
     MOZ_ASSERT(NS_SUCCEEDED(rv), "AddRequest() failed!");
   }
+
+  return NS_OK;
 }
 
 }  // namespace mozilla
diff --git a/dom/media/BaseMediaResource.h b/dom/media/BaseMediaResource.h
index 3c2e2419a82b2..29cde01e8c59c 100644
--- a/dom/media/BaseMediaResource.h
+++ b/dom/media/BaseMediaResource.h
@@ -127,7 +127,7 @@ class BaseMediaResource : public MediaResource,
   // Set the request's load flags to aFlags.  If the request is part of a
   // load group, the request is removed from the group, the flags are set, and
   // then the request is added back to the load group.
-  void ModifyLoadFlags(nsLoadFlags aFlags);
+  nsresult ModifyLoadFlags(nsLoadFlags aFlags);
 
   RefPtr<MediaResourceCallback> mCallback;
 
diff --git a/dom/media/ChannelMediaResource.cpp b/dom/media/ChannelMediaResource.cpp
index ce35987e79747..7643ed249f0ff 100644
--- a/dom/media/ChannelMediaResource.cpp
+++ b/dom/media/ChannelMediaResource.cpp
@@ -339,7 +339,7 @@ nsresult ChannelMediaResource::OnStopRequest(nsIRequest* aRequest,
   NS_ASSERTION(NS_SUCCEEDED(rv), "GetLoadFlags() failed!");
 
   if (loadFlags & nsIRequest::LOAD_BACKGROUND) {
-    ModifyLoadFlags(loadFlags & ~nsIRequest::LOAD_BACKGROUND);
+    Unused << NS_WARN_IF(NS_FAILED(ModifyLoadFlags(loadFlags & ~nsIRequest::LOAD_BACKGROUND)));
   }
 
   // Note that aStatus might have succeeded --- this might be a normal close

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the tbb-commits mailing list