Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(347)

Unified Diff: Source/bindings/scripts/code_generator_v8.pm

Issue 68563003: Create DOM exceptions in the correct context. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/bindings/scripts/code_generator_v8.pm
diff --git a/Source/bindings/scripts/code_generator_v8.pm b/Source/bindings/scripts/code_generator_v8.pm
index 2ddd0ba52cc721cb5ae8b088eca4b738036840e0..f29013b69fb281a91c2829f1c40f2dec59ceea2e 100644
--- a/Source/bindings/scripts/code_generator_v8.pm
+++ b/Source/bindings/scripts/code_generator_v8.pm
@@ -1257,7 +1257,7 @@ static void ${implClassName}DomainSafeFunctionSetter(v8::Local<v8::String> name,
if (holder.IsEmpty())
return;
${implClassName}* imp = ${v8ClassName}::toNative(holder);
- ExceptionState es(info.GetIsolate());
+ ExceptionState es(info.Holder(), info.GetIsolate());
if (!BindingSecurity::shouldAllowAccessToFrame(imp->frame(), es)) {
es.throwIfNeeded();
return;
@@ -1495,7 +1495,7 @@ END
if ($useExceptions || $attribute->extendedAttributes->{"CheckSecurityForNode"}) {
AddToImplIncludes("bindings/v8/ExceptionMessages.h");
AddToImplIncludes("bindings/v8/ExceptionState.h");
- $code .= " ExceptionState es(info.GetIsolate());\n";
+ $code .= " ExceptionState es(info.Holder(), info.GetIsolate());\n";
}
# Generate security checks if necessary
@@ -1764,7 +1764,7 @@ END
AddToImplIncludes("bindings/v8/BindingSecurity.h");
$code .= <<END;
${implClassName}* imp = ${v8ClassName}::toNative(info.Holder());
- ExceptionState es(info.GetIsolate());
+ ExceptionState es(info.Holder(), info.GetIsolate());
if (!BindingSecurity::shouldAllowAccessToFrame(imp->frame(), es)) {
es.throwIfNeeded();
return;
@@ -1997,7 +1997,7 @@ END
if ($useExceptions) {
AddToImplIncludes("bindings/v8/ExceptionMessages.h");
AddToImplIncludes("bindings/v8/ExceptionState.h");
- $code .= " ExceptionState es(info.GetIsolate());\n";
+ $code .= " ExceptionState es(info.Holder(), info.GetIsolate());\n";
}
if ($attribute->type eq "EventHandler") {
@@ -2300,7 +2300,7 @@ sub GenerateFunction
$code .= <<END;
EventTarget* impl = ${v8ClassName}::toNative(info.Holder());
if (DOMWindow* window = impl->toDOMWindow()) {
- ExceptionState es(info.GetIsolate());
+ ExceptionState es(info.Holder(), info.GetIsolate());
if (!BindingSecurity::shouldAllowAccessToFrame(window->frame(), es)) {
es.throwIfNeeded();
return;
@@ -2369,7 +2369,7 @@ END
if ($raisesExceptions) {
AddToImplIncludes("bindings/v8/ExceptionMessages.h");
AddToImplIncludes("bindings/v8/ExceptionState.h");
- $code .= " ExceptionState es(info.GetIsolate());\n";
+ $code .= " ExceptionState es(info.Holder(), info.GetIsolate());\n";
}
# Check domain security if needed
@@ -2698,7 +2698,7 @@ END
if ($raisesExceptions) {
AddToImplIncludes("bindings/v8/ExceptionMessages.h");
AddToImplIncludes("bindings/v8/ExceptionState.h");
- $code .= " ExceptionState es(info.GetIsolate());\n";
+ $code .= " ExceptionState es(info.Holder(), info.GetIsolate());\n";
}
# FIXME: Currently [Constructor(...)] does not yet support optional arguments without [Default=...]
@@ -2990,7 +2990,7 @@ END
if ($raisesExceptions) {
AddToImplIncludes("bindings/v8/ExceptionMessages.h");
AddToImplIncludes("bindings/v8/ExceptionState.h");
- $code .= " ExceptionState es(info.GetIsolate());\n";
+ $code .= " ExceptionState es(info.Holder(), info.GetIsolate());\n";
}
my ($parameterCheckString, $paramIndex, %replacements) = GenerateParametersCheck($function, $interface);
@@ -3492,7 +3492,7 @@ sub GenerateImplementationIndexedPropertyGetter
$getterCode .= " ASSERT(V8DOMWrapper::maybeDOMWrapper(info.Holder()));\n";
$getterCode .= " ${implClassName}* collection = ${v8ClassName}::toNative(info.Holder());\n";
if ($raisesExceptions) {
- $getterCode .= " ExceptionState es(info.GetIsolate());\n";
+ $getterCode .= " ExceptionState es(info.Holder(), info.GetIsolate());\n";
}
$getterCode .= $methodCallCode . "\n";
if ($raisesExceptions) {
@@ -3592,7 +3592,7 @@ sub GenerateImplementationIndexedPropertySetter
my $extraArguments = "";
if ($raisesExceptions) {
- $code .= " ExceptionState es(info.GetIsolate());\n";
+ $code .= " ExceptionState es(info.Holder(), info.GetIsolate());\n";
$extraArguments = ", es";
}
my @conditions = ();
@@ -3857,7 +3857,7 @@ sub GenerateImplementationNamedPropertyGetter
$code .= " ${implClassName}* collection = ${v8ClassName}::toNative(info.Holder());\n";
$code .= " AtomicString propertyName = toWebCoreAtomicString(name);\n";
if ($raisesExceptions) {
- $code .= " ExceptionState es(info.GetIsolate());\n";
+ $code .= " ExceptionState es(info.Holder(), info.GetIsolate());\n";
}
$code .= $methodCallCode . "\n";
if ($raisesExceptions) {
@@ -3904,7 +3904,7 @@ sub GenerateImplementationNamedPropertySetter
$code .= JSValueToNativeStatement($namedSetterFunction->parameters->[1]->type, $namedSetterFunction->extendedAttributes, $asSetterValue, "jsValue", "propertyValue", " ", "info.GetIsolate()");
my $extraArguments = "";
if ($raisesExceptions) {
- $code .= " ExceptionState es(info.GetIsolate());\n";
+ $code .= " ExceptionState es(info.Holder(), info.GetIsolate());\n";
$extraArguments = ", es";
}
@@ -3948,7 +3948,7 @@ sub GenerateImplementationIndexedPropertyDeleter
$code .= " ${implClassName}* collection = ${v8ClassName}::toNative(info.Holder());\n";
my $extraArguments = "";
if ($raisesExceptions) {
- $code .= " ExceptionState es(info.GetIsolate());\n";
+ $code .= " ExceptionState es(info.Holder(), info.GetIsolate());\n";
$extraArguments = ", es";
}
$code .= " bool result = collection->${methodName}(index$extraArguments);\n";
@@ -3977,7 +3977,7 @@ sub GenerateImplementationNamedPropertyDeleter
$code .= " AtomicString propertyName = toWebCoreAtomicString(name);\n";
my $extraArguments = "";
if ($raisesExceptions) {
- $code .= " ExceptionState es(info.GetIsolate());\n";
+ $code .= " ExceptionState es(info.Holder(), info.GetIsolate());\n";
$extraArguments = ", es";
}
$code .= " bool result = collection->${methodName}(propertyName$extraArguments);\n";
@@ -3999,7 +3999,7 @@ sub GenerateImplementationNamedPropertyEnumerator
$implementation{nameSpaceInternal}->add(<<END);
static void namedPropertyEnumerator(const v8::PropertyCallbackInfo<v8::Array>& info)
{
- ExceptionState es(info.GetIsolate());
+ ExceptionState es(info.Holder(), info.GetIsolate());
${implClassName}* collection = ${v8ClassName}::toNative(info.Holder());
Vector<String> names;
collection->namedPropertyEnumerator(names, es);
@@ -4025,7 +4025,7 @@ static void namedPropertyQuery(v8::Local<v8::String> name, const v8::PropertyCal
{
${implClassName}* collection = ${v8ClassName}::toNative(info.Holder());
AtomicString propertyName = toWebCoreAtomicString(name);
- ExceptionState es(info.GetIsolate());
+ ExceptionState es(info.Holder(), info.GetIsolate());
bool result = collection->namedPropertyQuery(propertyName, es);
if (es.throwIfNeeded())
return;

Powered by Google App Engine
This is Rietveld 408576698