diff options
Diffstat (limited to 'WebCore/loader/FrameLoader.cpp')
-rw-r--r-- | WebCore/loader/FrameLoader.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/WebCore/loader/FrameLoader.cpp b/WebCore/loader/FrameLoader.cpp index 9e264b5..be782f1 100644 --- a/WebCore/loader/FrameLoader.cpp +++ b/WebCore/loader/FrameLoader.cpp @@ -464,7 +464,7 @@ void FrameLoader::submitForm(const char* action, const String& url, PassRefPtr<F if (u.isEmpty()) return; - if (isSandboxed(SandboxForms)) + if (isDocumentSandboxed(SandboxForms)) return; if (protocolIsJavaScript(u)) { @@ -1308,7 +1308,7 @@ bool FrameLoader::requestObject(RenderPart* renderer, const String& url, const A if (!m_client->allowPlugins(settings && settings->arePluginsEnabled()) || (!settings->isJavaEnabled() && MIMETypeRegistry::isJavaAppletMIMEType(mimeType))) return false; - if (isSandboxed(SandboxPlugins)) + if (isDocumentSandboxed(SandboxPlugins)) return false; return loadPlugin(renderer, completedURL, mimeType, paramNames, paramValues, useFallback); } @@ -2302,7 +2302,7 @@ bool FrameLoader::shouldAllowNavigation(Frame* targetFrame) const return true; // A sandboxed frame can only navigate itself and its descendants. - if (isSandboxed(SandboxNavigation) && !targetFrame->tree()->isDescendantOf(m_frame)) + if (isDocumentSandboxed(SandboxNavigation) && !targetFrame->tree()->isDescendantOf(m_frame)) return false; // Let a frame navigate the top-level window that contains it. This is @@ -4032,12 +4032,15 @@ void FrameLoader::updateSandboxFlags() m_sandboxFlags = flags; - m_frame->document()->updateSandboxFlags(); - for (Frame* child = m_frame->tree()->firstChild(); child; child = child->tree()->nextSibling()) child->loader()->updateSandboxFlags(); } +bool FrameLoader::isDocumentSandboxed(SandboxFlags mask) const +{ + return m_frame->document() && m_frame->document()->securityOrigin()->isSandboxed(mask); +} + PassRefPtr<Widget> FrameLoader::createJavaAppletWidget(const IntSize& size, HTMLAppletElement* element, const HashMap<String, String>& args) { String baseURLString; |