diff options
| author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2013-09-13 12:51:20 +0200 |
|---|---|---|
| committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-19 20:50:05 +0200 |
| commit | d441d6f39bb846989d95bcf5caf387b42414718d (patch) | |
| tree | e367e64a75991c554930278175d403c072de6bb8 /Source/WebCore/bindings/ScriptControllerBase.cpp | |
| parent | 0060b2994c07842f4c59de64b5e3e430525c4b90 (diff) | |
| download | qtwebkit-d441d6f39bb846989d95bcf5caf387b42414718d.tar.gz | |
Import Qt5x2 branch of QtWebkit for Qt 5.2
Importing a new snapshot of webkit.
Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/WebCore/bindings/ScriptControllerBase.cpp')
| -rw-r--r-- | Source/WebCore/bindings/ScriptControllerBase.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/Source/WebCore/bindings/ScriptControllerBase.cpp b/Source/WebCore/bindings/ScriptControllerBase.cpp index cc5246362..6482a2d54 100644 --- a/Source/WebCore/bindings/ScriptControllerBase.cpp +++ b/Source/WebCore/bindings/ScriptControllerBase.cpp @@ -25,6 +25,7 @@ #include "Document.h" #include "DocumentLoader.h" #include "Frame.h" +#include "FrameLoader.h" #include "FrameLoaderClient.h" #include "Page.h" #include "ScriptSourceCode.h" @@ -38,8 +39,12 @@ namespace WebCore { bool ScriptController::canExecuteScripts(ReasonForCallingCanExecuteScripts reason) { - if (m_frame->document() && m_frame->document()->isSandboxed(SandboxScripts)) + if (m_frame->document() && m_frame->document()->isSandboxed(SandboxScripts)) { + // FIXME: This message should be moved off the console once a solution to https://bugs.webkit.org/show_bug.cgi?id=103274 exists. + if (reason == AboutToExecuteScript) + m_frame->document()->addConsoleMessage(SecurityMessageSource, ErrorMessageLevel, "Blocked script execution in '" + m_frame->document()->url().stringCenterEllipsizedToLength() + "' because the document's frame is sandboxed and the 'allow-scripts' permission is not set."); return false; + } if (m_frame->document() && m_frame->document()->isViewSource()) { ASSERT(m_frame->document()->securityOrigin()->isUnique()); @@ -75,8 +80,7 @@ bool ScriptController::executeIfJavaScriptURL(const KURL& url, ShouldReplaceDocu return false; if (!m_frame->page() - || !m_frame->document()->contentSecurityPolicy()->allowJavaScriptURLs(m_frame->document()->url(), eventHandlerPosition().m_line) - || m_frame->inViewSourceMode()) + || !m_frame->document()->contentSecurityPolicy()->allowJavaScriptURLs(m_frame->document()->url(), eventHandlerPosition().m_line)) return true; // We need to hold onto the Frame here because executing script can @@ -95,15 +99,10 @@ bool ScriptController::executeIfJavaScriptURL(const KURL& url, ShouldReplaceDocu return true; String scriptResult; -#if USE(JSC) JSDOMWindowShell* shell = windowShell(mainThreadNormalWorld()); JSC::ExecState* exec = shell->window()->globalExec(); if (!result.getString(exec, scriptResult)) return true; -#else - if (!result.getString(scriptResult)) - return true; -#endif // FIXME: We should always replace the document, but doing so // synchronously can cause crashes: |
