Remove SecurityOrigin::taintsCanvas
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 19 Oct 2016 15:10:07 +0000 (15:10 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 19 Oct 2016 15:10:07 +0000 (15:10 +0000)
https://bugs.webkit.org/show_bug.cgi?id=163594

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-19
Reviewed by Darin Adler.

No change of behavior.

* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canReceiveDragData):
(WebCore::SecurityOrigin::taintsCanvas): Deleted.
* page/SecurityOrigin.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@207537 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/html/canvas/CanvasRenderingContext.cpp
Source/WebCore/page/SecurityOrigin.cpp
Source/WebCore/page/SecurityOrigin.h

index 85766f0..bd158ff 100644 (file)
@@ -1,3 +1,19 @@
+2016-10-19  Youenn Fablet  <youenn@apple.com>
+
+        Remove SecurityOrigin::taintsCanvas
+        https://bugs.webkit.org/show_bug.cgi?id=163594
+
+        Reviewed by Darin Adler.
+
+        No change of behavior.
+
+        * html/canvas/CanvasRenderingContext.cpp:
+        (WebCore::CanvasRenderingContext::wouldTaintOrigin):
+        * page/SecurityOrigin.cpp:
+        (WebCore::SecurityOrigin::canReceiveDragData):
+        (WebCore::SecurityOrigin::taintsCanvas): Deleted.
+        * page/SecurityOrigin.h:
+
 2016-10-18  Dave Hyatt  <hyatt@apple.com>
 
         [CSS Parser] Fix compound selector parsing.
index c7f6c33..6a3daa7 100644 (file)
@@ -101,13 +101,10 @@ bool CanvasRenderingContext::wouldTaintOrigin(const URL& url)
     if (!canvas()->originClean())
         return false;
 
-    if (canvas()->securityOrigin()->taintsCanvas(url))
-        return true;
-
     if (url.protocolIsData())
         return false;
 
-    return false;
+    return !canvas()->securityOrigin()->canRequest(url);
 }
 
 void CanvasRenderingContext::checkOrigin(const URL& url)
index 7686138..e9cac03 100644 (file)
@@ -298,29 +298,12 @@ bool SecurityOrigin::canRequest(const URL& url) const
     return false;
 }
 
-bool SecurityOrigin::taintsCanvas(const URL& url) const
-{
-    if (canRequest(url))
-        return false;
-
-    // This function exists because we treat data URLs as having a unique origin,
-    // contrary to the current (9/19/2009) draft of the HTML5 specification.
-    // We still want to let folks paint data URLs onto untainted canvases, so
-    // we special case data URLs below. If we change to match HTML5 w.r.t.
-    // data URL security, then we can remove this function in favor of
-    // !canRequest.
-    if (url.protocolIsData())
-        return false;
-
-    return true;
-}
-
 bool SecurityOrigin::canReceiveDragData(const SecurityOrigin* dragInitiator) const
 {
     if (this == dragInitiator)
         return true;
 
-    return canAccess(dragInitiator);  
+    return canAccess(dragInitiator);
 }
 
 // This is a hack to allow keep navigation to http/https feeds working. To remove this
index 84dece3..9e33cb0 100644 (file)
@@ -106,11 +106,6 @@ public:
     // XMLHttpRequests.
     bool canRequest(const URL&) const;
 
-    // Returns true if drawing an image from this URL taints a canvas from
-    // this security origin. For example, call this function before
-    // drawing an image onto an HTML canvas element with the drawImage API.
-    bool taintsCanvas(const URL&) const;
-
     // Returns true if this SecurityOrigin can receive drag content from the
     // initiator. For example, call this function before allowing content to be
     // dropped onto a target.