summaryrefslogtreecommitdiffstats
path: root/WebCore/bindings/v8/ScriptController.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/bindings/v8/ScriptController.cpp')
-rw-r--r--WebCore/bindings/v8/ScriptController.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/WebCore/bindings/v8/ScriptController.cpp b/WebCore/bindings/v8/ScriptController.cpp
index 5023254..8018a18 100644
--- a/WebCore/bindings/v8/ScriptController.cpp
+++ b/WebCore/bindings/v8/ScriptController.cpp
@@ -121,6 +121,7 @@ ScriptController::ScriptController(Frame* frame)
, m_inExecuteScript(false)
, m_processingTimerCallback(false)
, m_paused(false)
+ , m_allowPopupsFromPlugin(false)
, m_proxy(new V8Proxy(frame))
#if ENABLE(NETSCAPE_PLUGIN_API)
, m_windowScriptNPObject(0)
@@ -203,7 +204,8 @@ bool ScriptController::processingUserGesture()
// This is the <a href="javascript:window.open('...')> case -> we let it through.
return true;
}
-
+ if (activeFrame->script()->allowPopupsFromPlugin())
+ return true;
// This is the <script>window.open(...)</script> case or a timer callback -> block it.
// Based on JSC version, use returned value of UserGestureIndicator::processingUserGesture for all other situations.
return UserGestureIndicator::processingUserGesture();