diff options
author | Moonchild <moonchild@palemoon.org> | 2020-10-22 20:43:08 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2020-10-24 10:38:35 +0000 |
commit | d7a05ea9e50f7484d09caf93c554b4be0c9e887d (patch) | |
tree | 4daed2639a81534338b204f809d7d5af8cfe9f91 | |
parent | 10bf4a6d5b651141171e648fde1b0ba25a87d37d (diff) | |
download | uxp-d7a05ea9e50f7484d09caf93c554b4be0c9e887d.tar.gz |
[DOM] When failing to create a channel and an image request, make sure to set
the image blocking status appropriately.
This is the same status as we do for known no-data protocols and ensures we
treat these two cases the same.
-rw-r--r-- | dom/base/nsImageLoadingContent.cpp | 6 | ||||
-rw-r--r-- | layout/reftests/image/reftest.list | 2 | ||||
-rw-r--r-- | layout/reftests/image/unknown-protocol-ref.html | 1 | ||||
-rw-r--r-- | layout/reftests/image/unknown-protocol.html | 1 |
4 files changed, 9 insertions, 1 deletions
diff --git a/dom/base/nsImageLoadingContent.cpp b/dom/base/nsImageLoadingContent.cpp index 4aad55941c..07bdb69674 100644 --- a/dom/base/nsImageLoadingContent.cpp +++ b/dom/base/nsImageLoadingContent.cpp @@ -933,8 +933,12 @@ nsImageLoadingContent::LoadImage(nsIURI* aNewURI, 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) + 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 1a610811d8..0eddb61fc3 100644 --- a/layout/reftests/image/reftest.list +++ b/layout/reftests/image/reftest.list @@ -126,3 +126,5 @@ fuzzy(1,1) == image-orientation-background.html?90&flip image-orientation-r == image-resize-percent-height.html image-resize-ref.html == image-resize-percent-width.html image-resize-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 0000000000..b5bb326eef --- /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 0000000000..ef06881b7b --- /dev/null +++ b/layout/reftests/image/unknown-protocol.html @@ -0,0 +1 @@ +<img src="foobar://baz"> |