|
|
Created:
6 years, 6 months ago by Jens Widell Modified:
6 years, 6 months ago CC:
blink-reviews, watchdog-blink-watchlist_google.com, blink-reviews-bindings_chromium.org, arv+blink, Inactive, abarth-chromium Base URL:
https://chromium.googlesource.com/chromium/blink.git@master Project:
blink Visibility:
Public. |
DescriptionIDL: [Unforgeable] on operation should imply DontDelete+ReadOnly
Previously, the only effect of [Unforgeable] on an operation was to put
the property on instance objects instead of on the prototype object.
All actual unforgeable operations -- Location's assign(), replace(),
reload(), toString() and valueOf() -- were additionally declared read-
only using [ReadOnly], which as a side-effect also made the properties
unconfigurable ("dont-delete").
This CL fixes [Unforgeable] on operations, and drops the then redundant
[ReadOnly] attributes from Location.idl. No CG changes.
BUG=
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=176940
Patch Set 1 #Patch Set 2 : remove [ReadOnly] #Patch Set 3 : rebased #Patch Set 4 : rebased #Patch Set 5 : rebased #
Messages
Total messages: 27 (0 generated)
Please review. Not that [Unforgeable] is likely to show up in many new IDL files, but it's obviously unfortunately that users must add [ReadOnly] to get the (typically security-related) effect that [Unforgeable] is supposed to have on its own. This was the only use of the [ReadOnly] extended attribute in real IDL files. Removing it completely would make sense, unless you see a use-case for explicitly making an operation read-only. WDYT?
LGTM. According to the spec, [Unforgeable] attributes/operations should behave as non-configurable. So this change makes sense.
On 2014/06/23 13:10:00, haraken wrote: > LGTM. > > According to the spec, [Unforgeable] attributes/operations should behave as > non-configurable. So this change makes sense. Thanks. Any comment on the future of the [ReadOnly] extended attribute?
On 2014/06/23 13:12:10, Jens Lindström wrote: > On 2014/06/23 13:10:00, haraken wrote: > > LGTM. > > > > According to the spec, [Unforgeable] attributes/operations should behave as > > non-configurable. So this change makes sense. > > Thanks. Any comment on the future of the [ReadOnly] extended attribute? If it's unused currently, I think it makes sense to remove it. We can re-add it once we need it.
On 2014/06/23 13:13:22, haraken wrote: > On 2014/06/23 13:12:10, Jens Lindström wrote: > > On 2014/06/23 13:10:00, haraken wrote: > > > LGTM. > > > > > > According to the spec, [Unforgeable] attributes/operations should behave as > > > non-configurable. So this change makes sense. > > > > Thanks. Any comment on the future of the [ReadOnly] extended attribute? > > If it's unused currently, I think it makes sense to remove it. We can re-add it > once we need it. It was only used in Location.idl on unforgeable methods and in the bindings tests. I've removed it completely in PS2, which also made the script changes simpler; now simply s/ReadOnly/Unforgeable/. Still no CG changes, of course.
On 2014/06/23 13:22:35, Jens Lindström wrote: > On 2014/06/23 13:13:22, haraken wrote: > > On 2014/06/23 13:12:10, Jens Lindström wrote: > > > On 2014/06/23 13:10:00, haraken wrote: > > > > LGTM. > > > > > > > > According to the spec, [Unforgeable] attributes/operations should behave > as > > > > non-configurable. So this change makes sense. > > > > > > Thanks. Any comment on the future of the [ReadOnly] extended attribute? > > > > If it's unused currently, I think it makes sense to remove it. We can re-add > it > > once we need it. > > It was only used in Location.idl on unforgeable methods and in the bindings > tests. > > I've removed it completely in PS2, which also made the script changes simpler; > now simply s/ReadOnly/Unforgeable/. > > Still no CG changes, of course. Looks nicer, LGTM :)
The CQ bit was checked by jl@opera.com
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jl@opera.com/350683004/20001
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: blink_presubmit on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/blink_presubmit/builds/8275)
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: blink_presubmit on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/blink_presubmit/builds/8278)
The CQ bit was checked by jl@opera.com
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jl@opera.com/350683004/20001
The CQ bit was unchecked by commit-bot@chromium.org
Failed to apply patch for Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp Hunk #1 FAILED at 398. 1 out of 2 hunks FAILED -- saving rejects to file Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp.rej Patch: Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp Index: Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp diff --git a/Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp b/Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp index f5142a852a5d404c366cb567b864500929727567..5b557a7ba7d492f1db66d444ab5b48a0d8cbd9aa 100644 --- a/Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp +++ b/Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp @@ -398,57 +398,6 @@ static void doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeMethodGetterCa TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); } -static void doNotCheckSecurityReadOnlyVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) -{ - TestInterfaceCheckSecurity* impl = V8TestInterfaceCheckSecurity::toNative(info.Holder()); - impl->doNotCheckSecurityReadOnlyVoidMethod(); -} - -static void doNotCheckSecurityReadOnlyVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) -{ - TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); - TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodMethod(info); - TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); -} - -static void doNotCheckSecurityReadOnlyVoidMethodOriginSafeMethodGetter(const v8::PropertyCallbackInfo<v8::Value>& info) -{ - v8::Isolate* isolate = info.GetIsolate(); - static int domTemplateKey; // This address is used for a key to look up the dom template. - V8PerIsolateData* data = V8PerIsolateData::from(isolate); - v8::Handle<v8::FunctionTemplate> privateTemplate = data->domTemplate(&domTemplateKey, TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodMethodCallback, v8Undefined(), v8::Signature::New(isolate, V8TestInterfaceCheckSecurity::domTemplate(isolate)), 0); - - v8::Handle<v8::Object> holder = V8TestInterfaceCheckSecurity::findInstanceInPrototypeChain(info.This(), isolate); - if (holder.IsEmpty()) { - // This is only reachable via |object.__proto__.func|, in which case it - // has already passed the same origin security check - v8SetReturnValue(info, privateTemplate->GetFunction()); - return; - } - TestInterfaceCheckSecurity* impl = V8TestInterfaceCheckSecurity::toNative(holder); - if (!BindingSecurity::shouldAllowAccessToFrame(isolate, impl->frame(), DoNotReportSecurityError)) { - static int sharedTemplateKey; // This address is used for a key to look up the dom template. - v8::Handle<v8::FunctionTemplate> sharedTemplate = data->domTemplate(&sharedTemplateKey, TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodMethodCallback, v8Undefined(), v8::Signature::New(isolate, V8TestInterfaceCheckSecurity::domTemplate(isolate)), 0); - v8SetReturnValue(info, sharedTemplate->GetFunction()); - return; - } - - v8::Local<v8::Value> hiddenValue = v8::Handle<v8::Object>::Cast(info.This())->GetHiddenValue(v8AtomicString(isolate, "doNotCheckSecurityReadOnlyVoidMethod")); - if (!hiddenValue.IsEmpty()) { - v8SetReturnValue(info, hiddenValue); - return; - } - - v8SetReturnValue(info, privateTemplate->GetFunction()); -} - -static void doNotCheckSecurityReadOnlyVoidMethodOriginSafeMethodGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) -{ - TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); - TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodOriginSafeMethodGetter(info); - TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution"); -} - static void doNotCheckSecurityUnforgeableVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurity* impl = V8TestInterfaceCheckSecurity::toNative(info.Holder()); @@ -558,8 +507,7 @@ static void configureV8TestInterfaceCheckSecurityTemplate(v8::Handle<v8::Functio } else { prototypeTemplate->SetAccessor(v8AtomicString(isolate, "doNotCheckSecurityPerWorldBindingsVoidMethod"), TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeMethodGetterCallback, TestInterfaceCheckSecurityV8Internal::TestInterfaceCheckSecurityOriginSafeMethodSetterCallback, v8Undefined(), v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete)); } - prototypeTemplate->SetAccessor(v8AtomicString(isolate, "doNotCheckSecurityReadOnlyVoidMethod"), TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodOriginSafeMethodGetterCallback, 0, v8Undefined(), v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete | v8::ReadOnly)); - instanceTemplate->SetAccessor(v8AtomicString(isolate, "doNotCheckSecurityUnforgeableVoidMethod"), TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityUnforgeableVoidMethodOriginSafeMethodGetterCallback, TestInterfaceCheckSecurityV8Internal::TestInterfaceCheckSecurityOriginSafeMethodSetterCallback, v8Undefined(), v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete)); + instanceTemplate->SetAccessor(v8AtomicString(isolate, "doNotCheckSecurityUnforgeableVoidMethod"), TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityUnforgeableVoidMethodOriginSafeMethodGetterCallback, 0, v8Undefined(), v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete | v8::ReadOnly)); // Custom toString template functionTemplate->Set(v8AtomicString(isolate, "toString"), V8PerIsolateData::from(isolate)->toStringTemplate());
The CQ bit was checked by jl@opera.com
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jl@opera.com/350683004/40001
The CQ bit was unchecked by commit-bot@chromium.org
Failed to apply patch for Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp Hunk #2 FAILED at 507. 1 out of 2 hunks FAILED -- saving rejects to file Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp.rej Patch: Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp Index: Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp diff --git a/Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp b/Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp index 801b113d4e24824d9aa7314a2eb2472a57414643..c162c7132e70240b13aaba0d03e7ad59107f460a 100644 --- a/Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp +++ b/Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp @@ -398,57 +398,6 @@ static void doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeMethodGetterCa TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution"); } -static void doNotCheckSecurityReadOnlyVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) -{ - TestInterfaceCheckSecurity* impl = V8TestInterfaceCheckSecurity::toNative(info.Holder()); - impl->doNotCheckSecurityReadOnlyVoidMethod(); -} - -static void doNotCheckSecurityReadOnlyVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) -{ - TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); - TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodMethod(info); - TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution"); -} - -static void doNotCheckSecurityReadOnlyVoidMethodOriginSafeMethodGetter(const v8::PropertyCallbackInfo<v8::Value>& info) -{ - v8::Isolate* isolate = info.GetIsolate(); - static int domTemplateKey; // This address is used for a key to look up the dom template. - V8PerIsolateData* data = V8PerIsolateData::from(isolate); - v8::Handle<v8::FunctionTemplate> privateTemplate = data->domTemplate(&domTemplateKey, TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodMethodCallback, v8Undefined(), v8::Signature::New(isolate, V8TestInterfaceCheckSecurity::domTemplate(isolate)), 0); - - v8::Handle<v8::Object> holder = V8TestInterfaceCheckSecurity::findInstanceInPrototypeChain(info.This(), isolate); - if (holder.IsEmpty()) { - // This is only reachable via |object.__proto__.func|, in which case it - // has already passed the same origin security check - v8SetReturnValue(info, privateTemplate->GetFunction()); - return; - } - TestInterfaceCheckSecurity* impl = V8TestInterfaceCheckSecurity::toNative(holder); - if (!BindingSecurity::shouldAllowAccessToFrame(isolate, impl->frame(), DoNotReportSecurityError)) { - static int sharedTemplateKey; // This address is used for a key to look up the dom template. - v8::Handle<v8::FunctionTemplate> sharedTemplate = data->domTemplate(&sharedTemplateKey, TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodMethodCallback, v8Undefined(), v8::Signature::New(isolate, V8TestInterfaceCheckSecurity::domTemplate(isolate)), 0); - v8SetReturnValue(info, sharedTemplate->GetFunction()); - return; - } - - v8::Local<v8::Value> hiddenValue = v8::Handle<v8::Object>::Cast(info.This())->GetHiddenValue(v8AtomicString(isolate, "doNotCheckSecurityReadOnlyVoidMethod")); - if (!hiddenValue.IsEmpty()) { - v8SetReturnValue(info, hiddenValue); - return; - } - - v8SetReturnValue(info, privateTemplate->GetFunction()); -} - -static void doNotCheckSecurityReadOnlyVoidMethodOriginSafeMethodGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) -{ - TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); - TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodOriginSafeMethodGetter(info); - TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution"); -} - static void doNotCheckSecurityUnforgeableVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurity* impl = V8TestInterfaceCheckSecurity::toNative(info.Holder()); @@ -558,8 +507,7 @@ static void configureV8TestInterfaceCheckSecurityTemplate(v8::Handle<v8::Functio } else { prototypeTemplate->SetAccessor(v8AtomicString(isolate, "doNotCheckSecurityPerWorldBindingsVoidMethod"), TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeMethodGetterCallback, TestInterfaceCheckSecurityV8Internal::TestInterfaceCheckSecurityOriginSafeMethodSetterCallback, v8Undefined(), v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete)); } - prototypeTemplate->SetAccessor(v8AtomicString(isolate, "doNotCheckSecurityReadOnlyVoidMethod"), TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodOriginSafeMethodGetterCallback, 0, v8Undefined(), v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete | v8::ReadOnly)); - instanceTemplate->SetAccessor(v8AtomicString(isolate, "doNotCheckSecurityUnforgeableVoidMethod"), TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityUnforgeableVoidMethodOriginSafeMethodGetterCallback, TestInterfaceCheckSecurityV8Internal::TestInterfaceCheckSecurityOriginSafeMethodSetterCallback, v8Undefined(), v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete)); + instanceTemplate->SetAccessor(v8AtomicString(isolate, "doNotCheckSecurityUnforgeableVoidMethod"), TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityUnforgeableVoidMethodOriginSafeMethodGetterCallback, 0, v8Undefined(), v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete | v8::ReadOnly)); // Custom toString template functionTemplate->Set(v8AtomicString(isolate, "toString"), V8PerIsolateData::from(isolate)->toStringTemplate());
The CQ bit was checked by jl@opera.com
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jl@opera.com/350683004/60001
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_blink_dbg on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_blink_dbg/builds/1...) linux_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/1...) mac_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/mac_blink_rel/builds/12762)
The CQ bit was unchecked by commit-bot@chromium.org
Failed to apply patch for Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp Hunk #1 FAILED at 398. 1 out of 2 hunks FAILED -- saving rejects to file Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp.rej Patch: Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp Index: Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp diff --git a/Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp b/Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp index 714ff54865c90ac3969b07419c6724b35b52a862..d6465f489625f6d050268e2ac12f042240a55208 100644 --- a/Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp +++ b/Source/bindings/tests/results/V8TestInterfaceCheckSecurity.cpp @@ -398,57 +398,6 @@ static void doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeMethodGetterCa TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution"); } -static void doNotCheckSecurityReadOnlyVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) -{ - TestInterfaceCheckSecurity* impl = V8TestInterfaceCheckSecurity::toNative(info.Holder()); - impl->doNotCheckSecurityReadOnlyVoidMethod(); -} - -static void doNotCheckSecurityReadOnlyVoidMethodMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) -{ - TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); - TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodMethod(info); - TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution"); -} - -static void doNotCheckSecurityReadOnlyVoidMethodOriginSafeMethodGetter(const v8::PropertyCallbackInfo<v8::Value>& info) -{ - v8::Isolate* isolate = info.GetIsolate(); - static int domTemplateKey; // This address is used for a key to look up the dom template. - V8PerIsolateData* data = V8PerIsolateData::from(isolate); - v8::Handle<v8::FunctionTemplate> privateTemplate = data->domTemplate(&domTemplateKey, TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodMethodCallback, v8Undefined(), v8::Signature::New(isolate, V8TestInterfaceCheckSecurity::domTemplate(isolate)), 0); - - v8::Handle<v8::Object> holder = V8TestInterfaceCheckSecurity::findInstanceInPrototypeChain(info.This(), isolate); - if (holder.IsEmpty()) { - // This is only reachable via |object.__proto__.func|, in which case it - // has already passed the same origin security check - v8SetReturnValue(info, privateTemplate->GetFunction()); - return; - } - TestInterfaceCheckSecurity* impl = V8TestInterfaceCheckSecurity::toNative(holder); - if (!BindingSecurity::shouldAllowAccessToFrame(isolate, impl->frame(), DoNotReportSecurityError)) { - static int sharedTemplateKey; // This address is used for a key to look up the dom template. - v8::Handle<v8::FunctionTemplate> sharedTemplate = data->domTemplate(&sharedTemplateKey, TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodMethodCallback, v8Undefined(), v8::Signature::New(isolate, V8TestInterfaceCheckSecurity::domTemplate(isolate)), 0); - v8SetReturnValue(info, sharedTemplate->GetFunction()); - return; - } - - v8::Local<v8::Value> hiddenValue = v8::Handle<v8::Object>::Cast(info.This())->GetHiddenValue(v8AtomicString(isolate, "doNotCheckSecurityReadOnlyVoidMethod")); - if (!hiddenValue.IsEmpty()) { - v8SetReturnValue(info, hiddenValue); - return; - } - - v8SetReturnValue(info, privateTemplate->GetFunction()); -} - -static void doNotCheckSecurityReadOnlyVoidMethodOriginSafeMethodGetterCallback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) -{ - TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); - TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodOriginSafeMethodGetter(info); - TRACE_EVENT_SET_SAMPLING_STATE("v8", "V8Execution"); -} - static void doNotCheckSecurityUnforgeableVoidMethodMethod(const v8::FunctionCallbackInfo<v8::Value>& info) { TestInterfaceCheckSecurity* impl = V8TestInterfaceCheckSecurity::toNative(info.Holder()); @@ -563,12 +512,8 @@ static void configureV8TestInterfaceCheckSecurityTemplate(v8::Handle<v8::Functio "doNotCheckSecurityPerWorldBindingsVoidMethod", TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeMethodGetterCallback, TestInterfaceCheckSecurityV8Internal::TestInterfaceCheckSecurityOriginSafeMethodSetterCallback, TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeMethodGetterCallbackForMainWorld, TestInterfaceCheckSecurityV8Internal::TestInterfaceCheckSecurityOriginSafeMethodSetterCallbackForMainWorld, &V8TestInterfaceCheckSecurity::wrapperTypeInfo, v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete), false }; V8DOMConfiguration::installAttribute(prototypeTemplate, v8::Handle<v8::ObjectTemplate>(), doNotCheckSecurityPerWorldBindingsVoidMethodOriginSafeAttributeConfiguration, isolate); - static const V8DOMConfiguration::AttributeConfiguration doNotCheckSecurityReadOnlyVoidMethodOriginSafeAttributeConfiguration = { - "doNotCheckSecurityReadOnlyVoidMethod", TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityReadOnlyVoidMethodOriginSafeMethodGetterCallback, 0, 0, 0, &V8TestInterfaceCheckSecurity::wrapperTypeInfo, v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete | v8::ReadOnly), false - }; - V8DOMConfiguration::installAttribute(prototypeTemplate, v8::Handle<v8::ObjectTemplate>(), doNotCheckSecurityReadOnlyVoidMethodOriginSafeAttributeConfiguration, isolate); static const V8DOMConfiguration::AttributeConfiguration doNotCheckSecurityUnforgeableVoidMethodOriginSafeAttributeConfiguration = { - "doNotCheckSecurityUnforgeableVoidMethod", TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityUnforgeableVoidMethodOriginSafeMethodGetterCallback, TestInterfaceCheckSecurityV8Internal::TestInterfaceCheckSecurityOriginSafeMethodSetterCallback, 0, 0, &V8TestInterfaceCheckSecurity::wrapperTypeInfo, v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete), false + "doNotCheckSecurityUnforgeableVoidMethod", TestInterfaceCheckSecurityV8Internal::doNotCheckSecurityUnforgeableVoidMethodOriginSafeMethodGetterCallback, 0, 0, 0, &V8TestInterfaceCheckSecurity::wrapperTypeInfo, v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete | v8::ReadOnly), false }; V8DOMConfiguration::installAttribute(instanceTemplate, v8::Handle<v8::ObjectTemplate>(), doNotCheckSecurityUnforgeableVoidMethodOriginSafeAttributeConfiguration, isolate);
The CQ bit was checked by jl@opera.com
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jl@opera.com/350683004/80001
Message was sent while issue was closed.
Change committed as 176940 |