summaryrefslogtreecommitdiff
path: root/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/WebProcess/Plugins/PluginView.cpp')
-rw-r--r--Source/WebKit2/WebProcess/Plugins/PluginView.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/Source/WebKit2/WebProcess/Plugins/PluginView.cpp b/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
index 2191688e1..470c162bb 100644
--- a/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
@@ -1079,8 +1079,10 @@ NPObject* PluginView::windowScriptNPObject()
if (!frame())
return 0;
- // FIXME: Handle JavaScript being disabled.
- ASSERT(frame()->script()->canExecuteScripts(NotAboutToExecuteScript));
+ if (!frame()->script()->canExecuteScripts(NotAboutToExecuteScript)) {
+ // FIXME: Investigate if other browsers allow plug-ins to access JavaScript objects even if JavaScript is disabled.
+ return 0;
+ }
return m_npRuntimeObjectMap.getOrCreateNPObject(*pluginWorld()->globalData(), frame()->script()->windowShell(pluginWorld())->window());
}
@@ -1090,7 +1092,11 @@ NPObject* PluginView::pluginElementNPObject()
if (!frame())
return 0;
- // FIXME: Handle JavaScript being disabled.
+ if (!frame()->script()->canExecuteScripts(NotAboutToExecuteScript)) {
+ // FIXME: Investigate if other browsers allow plug-ins to access JavaScript objects even if JavaScript is disabled.
+ return 0;
+ }
+
JSObject* object = frame()->script()->jsObjectForPluginElement(m_pluginElement.get());
ASSERT(object);