diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2018-09-17 17:56:56 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2018-09-18 10:33:42 +0200 |
commit | 8c100b23b1e2d29911f44802adc3b8cdffce38bf (patch) | |
tree | 9c70bc1e9b3ec8583e9d2d7c73e449b3dcf0b4b4 /components/script/dom/htmlimageelement.rs | |
parent | e745050f3af38e6328f9ac63fd8abae77a5ec87b (diff) | |
download | servo-8c100b23b1e2d29911f44802adc3b8cdffce38bf.tar.gz servo-8c100b23b1e2d29911f44802adc3b8cdffce38bf.zip |
Implement proper origin checks for WebGL textures (fixes #21522)
Diffstat (limited to 'components/script/dom/htmlimageelement.rs')
-rw-r--r-- | components/script/dom/htmlimageelement.rs | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs index 1c49185ad0d..b665014cdca 100644 --- a/components/script/dom/htmlimageelement.rs +++ b/components/script/dom/htmlimageelement.rs @@ -55,7 +55,7 @@ use network_listener::{NetworkListener, PreInvoke}; use num_traits::ToPrimitive; use script_thread::ScriptThread; use servo_url::ServoUrl; -use servo_url::origin::ImmutableOrigin; +use servo_url::origin::MutableOrigin; use std::cell::{Cell, RefMut}; use std::char; use std::collections::HashSet; @@ -1186,11 +1186,10 @@ impl HTMLImageElement { useMapElements.map(|mapElem| mapElem.get_area_elements()) } - pub fn get_origin(&self) -> Option<ImmutableOrigin> { - match self.current_request.borrow_mut().final_url { - Some(ref url) => Some(url.origin()), - None => None - } + pub fn same_origin(&self, origin: &MutableOrigin) -> bool { + self.current_request.borrow_mut().final_url.as_ref().map_or(false, |url| { + url.scheme() == "data" || url.origin().same_origin(origin) + }) } } |