Index: Source/core/css/CSSStyleSheet.cpp |
diff --git a/Source/core/css/CSSStyleSheet.cpp b/Source/core/css/CSSStyleSheet.cpp |
index 3434b1e155b0fc2bb94e8ab17450c94f84a2c62e..67a802e52314914d59b6dc05d263a9ab2db16998 100644 |
--- a/Source/core/css/CSSStyleSheet.cpp |
+++ b/Source/core/css/CSSStyleSheet.cpp |
@@ -274,6 +274,8 @@ bool CSSStyleSheet::canAccessRules() const |
return true; |
if (document->securityOrigin()->canRequest(baseURL)) |
return true; |
+ if (m_allowRuleAccessFromOrigin && document->securityOrigin()->canAccess(m_allowRuleAccessFromOrigin.get())) |
+ return true; |
return false; |
} |
@@ -405,6 +407,11 @@ Document* CSSStyleSheet::ownerDocument() const |
return root->ownerNode() ? &root->ownerNode()->document() : 0; |
} |
+void CSSStyleSheet::setAllowRuleAccessFromOrigin(PassRefPtr<SecurityOrigin> allowedOrigin) |
+{ |
+ m_allowRuleAccessFromOrigin = allowedOrigin; |
+} |
+ |
void CSSStyleSheet::clearChildRuleCSSOMWrappers() |
{ |
m_childRuleCSSOMWrappers.clear(); |