commit d2a3a99d909ae5ec0f0998292ce922a97eaf2ebc
Author: Emilio Cobos Álvarez <emi...@crisal.io>
Date:   Wed Sep 9 22:58:29 2020 +0000

    Bug 1658881 - When failing to create a channel and an image request, make 
sure to set the image blocking status appropriately. r=tnikkel
    
    This is the same status as we do for known no-data protocols here:
    
      
https://searchfox.org/mozilla-central/rev/ac142717cc067d875e83e4b1316f004f6e063a46/dom/base/nsNoDataProtocolContentPolicy.cpp#59
    
    This ensures we treat these two cases the same.
    
    Differential Revision: https://phabricator.services.mozilla.com/D89382
---
 dom/base/nsImageLoadingContent.cpp              | 7 ++++++-
 layout/reftests/image/reftest.list              | 1 +
 layout/reftests/image/unknown-protocol-ref.html | 1 +
 layout/reftests/image/unknown-protocol.html     | 1 +
 4 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/dom/base/nsImageLoadingContent.cpp 
b/dom/base/nsImageLoadingContent.cpp
index 23b1fd791c1f..85de63bef02d 100644
--- a/dom/base/nsImageLoadingContent.cpp
+++ b/dom/base/nsImageLoadingContent.cpp
@@ -1207,7 +1207,12 @@ nsresult nsImageLoadingContent::LoadImage(nsIURI* 
aNewURI, bool aForce,
     MOZ_ASSERT(!req, "Shouldn't have non-null request here");
     // If we don't have a current URI, we might as well store this URI so 
people
     // know what we tried (and failed) to load.
-    if (!mCurrentRequest) mCurrentURI = aNewURI;
+    if (!mCurrentRequest) {
+      mCurrentURI = aNewURI;
+      if (mImageBlockingStatus == nsIContentPolicy::ACCEPT) {
+        mImageBlockingStatus = nsIContentPolicy::REJECT_REQUEST;
+      }
+    }
 
     FireEvent(NS_LITERAL_STRING("error"));
     FireEvent(NS_LITERAL_STRING("loadend"));
diff --git a/layout/reftests/image/reftest.list 
b/layout/reftests/image/reftest.list
index a8a91c13ed3a..3c561fe3a7c8 100644
--- a/layout/reftests/image/reftest.list
+++ b/layout/reftests/image/reftest.list
@@ -69,3 +69,4 @@ random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == 
image-srcset-basic-selec
 pref(dom.image-lazy-loading.enabled,true) == 
moz-broken-matching-lazy-load.html moz-broken-matching-1-ref.html
 
 == img-invalidation-local-transform-1.html 
img-invalidation-local-transform-1-ref.html
+== unknown-protocol.html unknown-protocol-ref.html
diff --git a/layout/reftests/image/unknown-protocol-ref.html 
b/layout/reftests/image/unknown-protocol-ref.html
new file mode 100644
index 000000000000..b5bb326eef57
--- /dev/null
+++ b/layout/reftests/image/unknown-protocol-ref.html
@@ -0,0 +1 @@
+<img src="mailto://foo";>
diff --git a/layout/reftests/image/unknown-protocol.html 
b/layout/reftests/image/unknown-protocol.html
new file mode 100644
index 000000000000..ef06881b7bcb
--- /dev/null
+++ b/layout/reftests/image/unknown-protocol.html
@@ -0,0 +1 @@
+<img src="foobar://baz">



_______________________________________________
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to