diff options
author | tigercosmos <phy.tiger@gmail.com> | 2017-12-05 15:10:55 +0800 |
---|---|---|
committer | tigercosmos <phy.tiger@gmail.com> | 2017-12-05 15:10:55 +0800 |
commit | 80a81f2774c756863d97efa7d518f242a5f0ef2b (patch) | |
tree | 070934f70817e01f40ac0d955362fe6d524870b8 /components/script/dom/canvasrenderingcontext2d.rs | |
parent | 5bfab782ec862189209931e424fbd4325b8f9172 (diff) | |
download | servo-80a81f2774c756863d97efa7d518f242a5f0ef2b.tar.gz servo-80a81f2774c756863d97efa7d518f242a5f0ef2b.zip |
use entry global's origin in `is_origin_clean` check for canvas rendering
Diffstat (limited to 'components/script/dom/canvasrenderingcontext2d.rs')
-rw-r--r-- | components/script/dom/canvasrenderingcontext2d.rs | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index cf6b92bc404..93d4981d2bb 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -30,7 +30,7 @@ use dom::canvaspattern::CanvasPattern; use dom::globalscope::GlobalScope; use dom::htmlcanvaselement::HTMLCanvasElement; use dom::imagedata::ImageData; -use dom::node::{document_from_node, Node, NodeDamage, window_from_node}; +use dom::node::{Node, NodeDamage, window_from_node}; use dom_struct::dom_struct; use euclid::{Transform2D, Point2D, Vector2D, Rect, Size2D, vec2}; use ipc_channel::ipc::{self, IpcSender}; @@ -249,13 +249,8 @@ impl CanvasRenderingContext2D { CanvasImageSource::CanvasRenderingContext2D(image) => image.origin_is_clean(), CanvasImageSource::HTMLImageElement(image) => { - let canvas = match self.canvas { - Some(ref canvas) => canvas, - None => return false, - }; let image_origin = image.get_origin().expect("Image's origin is missing"); - let document = document_from_node(&**canvas); - document.url().clone().origin() == image_origin + image_origin.same_origin(GlobalScope::entry().origin()) } CanvasImageSource::CSSStyleValue(_) => true, } |