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

Side by Side Diff: Source/bindings/tests/results/V8TestInterfaceNamedConstructor.cpp

Issue 186673002: Support deprecation + use counters for constructor attributes. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Always generate constructor getter callbacks Created 6 years, 9 months 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 static void TestInterfaceNamedConstructorConstructorGetter(v8::Local<v8::String> , const v8::PropertyCallbackInfo<v8::Value>& info) 74 static void TestInterfaceNamedConstructorConstructorGetter(v8::Local<v8::String> , const v8::PropertyCallbackInfo<v8::Value>& info)
75 { 75 {
76 v8::Handle<v8::Value> data = info.Data(); 76 v8::Handle<v8::Value> data = info.Data();
77 ASSERT(data->IsExternal()); 77 ASSERT(data->IsExternal());
78 V8PerContextData* perContextData = V8PerContextData::from(info.Holder()->Cre ationContext()); 78 V8PerContextData* perContextData = V8PerContextData::from(info.Holder()->Cre ationContext());
79 if (!perContextData) 79 if (!perContextData)
80 return; 80 return;
81 v8SetReturnValue(info, perContextData->constructorForType(WrapperTypeInfo::u nwrap(data))); 81 v8SetReturnValue(info, perContextData->constructorForType(WrapperTypeInfo::u nwrap(data)));
82 } 82 }
83 83
84 static void testNamedConstructorConstructorAttributeConstructorGetterCallback(v8 ::Local<v8::String> property, const v8::PropertyCallbackInfo<v8::Value>& info)
85 {
86 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
87 TestInterfaceNamedConstructorV8Internal::TestInterfaceNamedConstructorConstr uctorGetter(property, info);
88 TRACE_EVENT_SET_SAMPLING_STATE("V8", "V8Execution");
89 }
90
84 static void TestInterfaceNamedConstructorReplaceableAttributeSetter(v8::Local<v8 ::String> name, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<voi d>& info) 91 static void TestInterfaceNamedConstructorReplaceableAttributeSetter(v8::Local<v8 ::String> name, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<voi d>& info)
85 { 92 {
86 info.This()->ForceSet(name, jsValue); 93 info.This()->ForceSet(name, jsValue);
87 } 94 }
88 95
89 static void TestInterfaceNamedConstructorReplaceableAttributeSetterCallback(v8:: Local<v8::String> name, v8::Local<v8::Value> jsValue, const v8::PropertyCallback Info<void>& info) 96 static void TestInterfaceNamedConstructorReplaceableAttributeSetterCallback(v8:: Local<v8::String> name, v8::Local<v8::Value> jsValue, const v8::PropertyCallback Info<void>& info)
90 { 97 {
91 TestInterfaceNamedConstructorV8Internal::TestInterfaceNamedConstructorReplac eableAttributeSetter(name, jsValue, info); 98 TestInterfaceNamedConstructorV8Internal::TestInterfaceNamedConstructorReplac eableAttributeSetter(name, jsValue, info);
92 } 99 }
93 100
94 } // namespace TestInterfaceNamedConstructorV8Internal 101 } // namespace TestInterfaceNamedConstructorV8Internal
95 102
96 static const V8DOMConfiguration::AttributeConfiguration V8TestInterfaceNamedCons tructorAttributes[] = { 103 static const V8DOMConfiguration::AttributeConfiguration V8TestInterfaceNamedCons tructorAttributes[] = {
97 {"testNamedConstructorConstructorAttribute", TestInterfaceNamedConstructorV8 Internal::TestInterfaceNamedConstructorConstructorGetter, TestInterfaceNamedCons tructorV8Internal::TestInterfaceNamedConstructorReplaceableAttributeSetterCallba ck, 0, 0, const_cast<WrapperTypeInfo*>(&V8TestNamedConstructor::wrapperTypeInfo) , static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8::PropertyAttribute >(v8::DontEnum), 0 /* on instance */}, 104 {"testNamedConstructorConstructorAttribute", TestInterfaceNamedConstructorV8 Internal::testNamedConstructorConstructorAttributeConstructorGetterCallback, Tes tInterfaceNamedConstructorV8Internal::TestInterfaceNamedConstructorReplaceableAt tributeSetterCallback, 0, 0, const_cast<WrapperTypeInfo*>(&V8TestNamedConstructo r::wrapperTypeInfo), static_cast<v8::AccessControl>(v8::DEFAULT), static_cast<v8 ::PropertyAttribute>(v8::DontEnum), 0 /* on instance */},
98 }; 105 };
99 106
100 const WrapperTypeInfo V8TestInterfaceNamedConstructorConstructor::wrapperTypeInf o = { gin::kEmbedderBlink, V8TestInterfaceNamedConstructorConstructor::domTempla te, V8TestInterfaceNamedConstructor::derefObject, V8TestInterfaceNamedConstructo r::toActiveDOMObject, 0, 0, V8TestInterfaceNamedConstructor::installPerContextEn abledMethods, 0, WrapperTypeObjectPrototype, false }; 107 const WrapperTypeInfo V8TestInterfaceNamedConstructorConstructor::wrapperTypeInf o = { gin::kEmbedderBlink, V8TestInterfaceNamedConstructorConstructor::domTempla te, V8TestInterfaceNamedConstructor::derefObject, V8TestInterfaceNamedConstructo r::toActiveDOMObject, 0, 0, V8TestInterfaceNamedConstructor::installPerContextEn abledMethods, 0, WrapperTypeObjectPrototype, false };
101 108
102 static void V8TestInterfaceNamedConstructorConstructorCallback(const v8::Functio nCallbackInfo<v8::Value>& info) 109 static void V8TestInterfaceNamedConstructorConstructorCallback(const v8::Functio nCallbackInfo<v8::Value>& info)
103 { 110 {
104 if (!info.IsConstructCall()) { 111 if (!info.IsConstructCall()) {
105 throwTypeError(ExceptionMessages::failedToConstruct("Audio", "Please use the 'new' operator, this DOM object constructor cannot be called as a function. "), info.GetIsolate()); 112 throwTypeError(ExceptionMessages::failedToConstruct("Audio", "Please use the 'new' operator, this DOM object constructor cannot be called as a function. "), info.GetIsolate());
106 return; 113 return;
107 } 114 }
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 fromInternalPointer(object)->deref(); 242 fromInternalPointer(object)->deref();
236 } 243 }
237 244
238 template<> 245 template<>
239 v8::Handle<v8::Value> toV8NoInline(TestInterfaceNamedConstructor* impl, v8::Hand le<v8::Object> creationContext, v8::Isolate* isolate) 246 v8::Handle<v8::Value> toV8NoInline(TestInterfaceNamedConstructor* impl, v8::Hand le<v8::Object> creationContext, v8::Isolate* isolate)
240 { 247 {
241 return toV8(impl, creationContext, isolate); 248 return toV8(impl, creationContext, isolate);
242 } 249 }
243 250
244 } // namespace WebCore 251 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698