Commit 6f138827 authored by haraken@chromium.org's avatar haraken@chromium.org

Add HandleScopes and ScriptForbiddenScope::AllowUserAgentScript to private scripts

This is a split CL from https://codereview.chromium.org/394773003/.

- Added HandleScopes because some caller sites don't have HandleScopes.

- Added AllowUserAgentScript because we need to allow script execution to execute private scripts (of course).

BUG=341031

Review URL: https://codereview.chromium.org/419163004

git-svn-id: svn://svn.chromium.org/blink/trunk@178896 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent b49b0e11
......@@ -76,6 +76,7 @@ def attribute_context(interface, attribute):
if is_implemented_in_private_script:
includes.add('bindings/core/v8/PrivateScriptRunner.h')
includes.add('core/frame/LocalFrame.h')
includes.add('platform/ScriptForbiddenScope.h')
if (base_idl_type == 'EventHandler' and
interface.name in ['Window', 'WorkerGlobalScope'] and
......
......@@ -98,6 +98,7 @@ def method_context(interface, method):
if is_implemented_in_private_script:
includes.add('bindings/core/v8/PrivateScriptRunner.h')
includes.add('core/frame/LocalFrame.h')
includes.add('platform/ScriptForbiddenScope.h')
is_call_with_script_arguments = has_extended_attribute_value(method, 'CallWith', 'ScriptArguments')
if is_call_with_script_arguments:
includes.update(['bindings/core/v8/ScriptCallStackFactory.h',
......
......@@ -345,6 +345,8 @@ bool {{v8_class}}::{{attribute.name}}AttributeGetterImplementedInPrivateScript(L
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -379,6 +381,8 @@ bool {{v8_class}}::{{attribute.name}}AttributeSetterImplementedInPrivateScript(L
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......
......@@ -504,6 +504,8 @@ bool {{v8_class}}::{{method.name}}MethodImplementedInPrivateScript({{method.argu
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......
......@@ -61,6 +61,7 @@
#include "core/html/HTMLTableRowsCollection.h"
#include "core/inspector/ScriptArguments.h"
#include "platform/RuntimeEnabledFeatures.h"
#include "platform/ScriptForbiddenScope.h"
#include "platform/TraceEvent.h"
#include "wtf/GetPtr.h"
#include "wtf/RefPtr.h"
......@@ -10625,6 +10626,8 @@ bool V8TestObject::voidMethodImplementedInPrivateScriptMethodImplementedInPrivat
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -10651,6 +10654,8 @@ bool V8TestObject::shortMethodImplementedInPrivateScriptMethodImplementedInPriva
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -10683,6 +10688,8 @@ bool V8TestObject::shortMethodWithShortArgumentImplementedInPrivateScriptMethodI
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -10716,6 +10723,8 @@ bool V8TestObject::stringMethodWithStringArgumentImplementedInPrivateScriptMetho
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -10749,6 +10758,8 @@ bool V8TestObject::nodeMethodWithNodeArgumentImplementedInPrivateScriptMethodImp
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -10782,6 +10793,8 @@ bool V8TestObject::nodeMethodWithVariousArgumentsImplementedInPrivateScriptMetho
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -10819,6 +10832,8 @@ bool V8TestObject::addIntegerForPrivateScriptOnlyMethodImplementedInPrivateScrip
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -10853,6 +10868,8 @@ bool V8TestObject::readonlyShortAttributeAttributeGetterImplementedInPrivateScri
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -10884,6 +10901,8 @@ bool V8TestObject::shortAttributeAttributeGetterImplementedInPrivateScript(Local
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -10915,6 +10934,8 @@ bool V8TestObject::shortAttributeAttributeSetterImplementedInPrivateScript(Local
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -10943,6 +10964,8 @@ bool V8TestObject::stringAttributeAttributeGetterImplementedInPrivateScript(Loca
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -10974,6 +10997,8 @@ bool V8TestObject::stringAttributeAttributeSetterImplementedInPrivateScript(Loca
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -11002,6 +11027,8 @@ bool V8TestObject::nodeAttributeAttributeGetterImplementedInPrivateScript(LocalF
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -11033,6 +11060,8 @@ bool V8TestObject::nodeAttributeAttributeSetterImplementedInPrivateScript(LocalF
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -11061,6 +11090,8 @@ bool V8TestObject::stringAttributeForPrivateScriptOnlyAttributeGetterImplemented
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......@@ -11092,6 +11123,8 @@ bool V8TestObject::stringAttributeForPrivateScriptOnlyAttributeSetterImplemented
{
if (!frame)
return false;
v8::HandleScope handleScope(toIsolate(frame));
ScriptForbiddenScope::AllowUserAgentScript script;
v8::Handle<v8::Context> context = toV8Context(frame, DOMWrapperWorld::privateScriptIsolatedWorld());
if (context.IsEmpty())
return false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment