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

Side by Side Diff: Source/bindings/tests/results/core/V8TestDictionary.cpp

Issue 724733002: Support for [Clamp] and [EnforceRange] to IDL dictionary. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file has been auto-generated by code_generator_v8.py. DO NOT MODIFY! 5 // This file has been auto-generated by code_generator_v8.py. DO NOT MODIFY!
6 6
7 #include "config.h" 7 #include "config.h"
8 #include "V8TestDictionary.h" 8 #include "V8TestDictionary.h"
9 9
10 #include "bindings/core/v8/Dictionary.h"
11 #include "bindings/core/v8/ExceptionState.h" 10 #include "bindings/core/v8/ExceptionState.h"
12 #include "bindings/core/v8/ScriptValue.h" 11 #include "bindings/core/v8/ScriptValue.h"
13 #include "bindings/core/v8/V8Element.h" 12 #include "bindings/core/v8/V8Element.h"
14 #include "bindings/core/v8/V8TestInterface.h" 13 #include "bindings/core/v8/V8TestInterface.h"
15 #include "bindings/core/v8/V8TestInterfaceGarbageCollected.h" 14 #include "bindings/core/v8/V8TestInterfaceGarbageCollected.h"
16 #include "bindings/core/v8/V8TestInterfaceWillBeGarbageCollected.h" 15 #include "bindings/core/v8/V8TestInterfaceWillBeGarbageCollected.h"
17 16
18 namespace blink { 17 namespace blink {
19 18
20 void V8TestDictionary::toImpl(v8::Isolate* isolate, v8::Handle<v8::Value> v8Valu e, TestDictionary& impl, ExceptionState& exceptionState) 19 void V8TestDictionary::toImpl(v8::Isolate* isolate, v8::Handle<v8::Value> v8Valu e, TestDictionary& impl, ExceptionState& exceptionState)
21 { 20 {
22 if (isUndefinedOrNull(v8Value)) 21 if (isUndefinedOrNull(v8Value))
23 return; 22 return;
24 if (!v8Value->IsObject()) { 23 if (!v8Value->IsObject()) {
25 exceptionState.throwTypeError("cannot convert to dictionary."); 24 exceptionState.throwTypeError("cannot convert to dictionary.");
26 return; 25 return;
27 } 26 }
28 27
29 // FIXME: Do not use Dictionary and DictionaryHelper 28 v8::Local<v8::Object> v8Object = v8Value->ToObject(isolate);
30 // https://crbug.com/321462
31 Dictionary dictionary(v8Value, isolate);
32 // FIXME: Remove this v8::TryCatch once the code is switched from
33 // Dictionary/DictionaryHelper to something that uses ExceptionState.
34 v8::TryCatch block; 29 v8::TryCatch block;
35 bool booleanMember; 30 v8::Local<v8::Value> booleanMemberValue = v8Object->Get(v8String(isolate, "b ooleanMember"));
36 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "booleanMember ", booleanMember)) { 31 if (!booleanMemberValue.IsEmpty() && !isUndefinedOrNull(booleanMemberValue)) {
32 bool booleanMember = booleanMemberValue->BooleanValue();
37 impl.setBooleanMember(booleanMember); 33 impl.setBooleanMember(booleanMember);
38 } else if (block.HasCaught()) { 34 } else if (block.HasCaught()) {
39 exceptionState.rethrowV8Exception(block.Exception()); 35 exceptionState.rethrowV8Exception(block.Exception());
40 return; 36 return;
41 } 37 }
42 38
43 bool create; 39 v8::Local<v8::Value> createValue = v8Object->Get(v8String(isolate, "create") );
44 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "create", crea te)) { 40 if (!createValue.IsEmpty() && !isUndefinedOrNull(createValue)) {
41 bool create = createValue->BooleanValue();
45 impl.setCreateMember(create); 42 impl.setCreateMember(create);
46 } else if (block.HasCaught()) { 43 } else if (block.HasCaught()) {
47 exceptionState.rethrowV8Exception(block.Exception()); 44 exceptionState.rethrowV8Exception(block.Exception());
48 return; 45 return;
49 } 46 }
50 47
51 double doubleOrNullMember; 48 v8::Local<v8::Value> doubleOrNullMemberValue = v8Object->Get(v8String(isolat e, "doubleOrNullMember"));
52 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "doubleOrNullM ember", doubleOrNullMember)) { 49 if (!doubleOrNullMemberValue.IsEmpty() && !isUndefinedOrNull(doubleOrNullMem berValue)) {
50 TONATIVE_VOID_EXCEPTIONSTATE(double, doubleOrNullMember, toDouble(double OrNullMemberValue, exceptionState), exceptionState);
53 impl.setDoubleOrNullMember(doubleOrNullMember); 51 impl.setDoubleOrNullMember(doubleOrNullMember);
54 } else if (block.HasCaught()) { 52 } else if (block.HasCaught()) {
55 exceptionState.rethrowV8Exception(block.Exception()); 53 exceptionState.rethrowV8Exception(block.Exception());
56 return; 54 return;
57 } 55 }
58 56
59 RefPtrWillBeRawPtr<Element> elementOrNullMember; 57 v8::Local<v8::Value> elementOrNullMemberValue = v8Object->Get(v8String(isola te, "elementOrNullMember"));
60 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "elementOrNull Member", elementOrNullMember)) { 58 if (!elementOrNullMemberValue.IsEmpty() && !isUndefinedOrNull(elementOrNullM emberValue)) {
59 Element* elementOrNullMember = V8Element::toImplWithTypeCheck(isolate, e lementOrNullMemberValue);
61 impl.setElementOrNullMember(elementOrNullMember); 60 impl.setElementOrNullMember(elementOrNullMember);
62 } else if (block.HasCaught()) { 61 } else if (block.HasCaught()) {
63 exceptionState.rethrowV8Exception(block.Exception()); 62 exceptionState.rethrowV8Exception(block.Exception());
64 return; 63 return;
65 } 64 }
66 65
67 String enumMember; 66 v8::Local<v8::Value> enumMemberValue = v8Object->Get(v8String(isolate, "enum Member"));
68 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "enumMember", enumMember)) { 67 if (!enumMemberValue.IsEmpty() && !isUndefinedOrNull(enumMemberValue)) {
68 TOSTRING_VOID(V8StringResource<>, enumMember, enumMemberValue);
69 String string = enumMember; 69 String string = enumMember;
70 if (!(string == "foo" || string == "bar" || string == "baz")) { 70 if (!(string == "foo" || string == "bar" || string == "baz")) {
71 exceptionState.throwTypeError("member enumMember ('" + string + "') is not a valid enum value."); 71 exceptionState.throwTypeError("member enumMember ('" + string + "') is not a valid enum value.");
72 return; 72 return;
73 } 73 }
74 impl.setEnumMember(enumMember); 74 impl.setEnumMember(enumMember);
75 } else if (block.HasCaught()) { 75 } else if (block.HasCaught()) {
76 exceptionState.rethrowV8Exception(block.Exception()); 76 exceptionState.rethrowV8Exception(block.Exception());
77 return; 77 return;
78 } 78 }
79 79
80 int longMember; 80 v8::Local<v8::Value> longMemberValue = v8Object->Get(v8String(isolate, "long Member"));
81 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "longMember", longMember)) { 81 if (!longMemberValue.IsEmpty() && !isUndefinedOrNull(longMemberValue)) {
82 TONATIVE_VOID_EXCEPTIONSTATE(int, longMember, toInt32(longMemberValue, e xceptionState), exceptionState);
82 impl.setLongMember(longMember); 83 impl.setLongMember(longMember);
83 } else if (block.HasCaught()) { 84 } else if (block.HasCaught()) {
84 exceptionState.rethrowV8Exception(block.Exception()); 85 exceptionState.rethrowV8Exception(block.Exception());
85 return; 86 return;
86 } 87 }
87 88
88 ScriptValue objectMember; 89 v8::Local<v8::Value> objectMemberValue = v8Object->Get(v8String(isolate, "ob jectMember"));
89 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "objectMember" , objectMember)) { 90 if (!objectMemberValue.IsEmpty() && !isUndefinedOrNull(objectMemberValue)) {
91 ScriptValue objectMember = ScriptValue(ScriptState::current(isolate), ob jectMemberValue);
90 if (!objectMember.isObject()) { 92 if (!objectMember.isObject()) {
91 exceptionState.throwTypeError("member objectMember is not an object. "); 93 exceptionState.throwTypeError("member objectMember is not an object. ");
92 return; 94 return;
93 } 95 }
94 impl.setObjectMember(objectMember); 96 impl.setObjectMember(objectMember);
95 } else if (block.HasCaught()) { 97 } else if (block.HasCaught()) {
96 exceptionState.rethrowV8Exception(block.Exception()); 98 exceptionState.rethrowV8Exception(block.Exception());
97 return; 99 return;
98 } 100 }
99 101
100 ScriptValue objectOrNullMember; 102 v8::Local<v8::Value> objectOrNullMemberValue = v8Object->Get(v8String(isolat e, "objectOrNullMember"));
101 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "objectOrNullM ember", objectOrNullMember)) { 103 if (!objectOrNullMemberValue.IsEmpty() && !isUndefinedOrNull(objectOrNullMem berValue)) {
104 ScriptValue objectOrNullMember = ScriptValue(ScriptState::current(isolat e), objectOrNullMemberValue);
102 if (!objectOrNullMember.isObject()) { 105 if (!objectOrNullMember.isObject()) {
103 exceptionState.throwTypeError("member objectOrNullMember is not an o bject."); 106 exceptionState.throwTypeError("member objectOrNullMember is not an o bject.");
104 return; 107 return;
105 } 108 }
106 impl.setObjectOrNullMember(objectOrNullMember); 109 impl.setObjectOrNullMember(objectOrNullMember);
107 } else if (block.HasCaught()) { 110 } else if (block.HasCaught()) {
108 exceptionState.rethrowV8Exception(block.Exception()); 111 exceptionState.rethrowV8Exception(block.Exception());
109 return; 112 return;
110 } 113 }
111 114
112 Vector<String> stringArrayMember; 115 v8::Local<v8::Value> stringArrayMemberValue = v8Object->Get(v8String(isolate , "stringArrayMember"));
113 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "stringArrayMe mber", stringArrayMember)) { 116 if (!stringArrayMemberValue.IsEmpty() && !isUndefinedOrNull(stringArrayMembe rValue)) {
117 TONATIVE_VOID_EXCEPTIONSTATE(Vector<String>, stringArrayMember, toImplAr ray<String>(stringArrayMemberValue, 0, isolate, exceptionState), exceptionState) ;
114 impl.setStringArrayMember(stringArrayMember); 118 impl.setStringArrayMember(stringArrayMember);
115 } else if (block.HasCaught()) { 119 } else if (block.HasCaught()) {
116 exceptionState.rethrowV8Exception(block.Exception()); 120 exceptionState.rethrowV8Exception(block.Exception());
117 return; 121 return;
118 } 122 }
119 123
120 String stringMember; 124 v8::Local<v8::Value> stringMemberValue = v8Object->Get(v8String(isolate, "st ringMember"));
121 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "stringMember" , stringMember)) { 125 if (!stringMemberValue.IsEmpty() && !isUndefinedOrNull(stringMemberValue)) {
126 TOSTRING_VOID(V8StringResource<>, stringMember, stringMemberValue);
122 impl.setStringMember(stringMember); 127 impl.setStringMember(stringMember);
123 } else if (block.HasCaught()) { 128 } else if (block.HasCaught()) {
124 exceptionState.rethrowV8Exception(block.Exception()); 129 exceptionState.rethrowV8Exception(block.Exception());
125 return; 130 return;
126 } 131 }
127 132
128 String stringOrNullMember; 133 v8::Local<v8::Value> stringOrNullMemberValue = v8Object->Get(v8String(isolat e, "stringOrNullMember"));
129 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "stringOrNullM ember", stringOrNullMember)) { 134 if (!stringOrNullMemberValue.IsEmpty() && !isUndefinedOrNull(stringOrNullMem berValue)) {
135 TOSTRING_VOID(V8StringResource<>, stringOrNullMember, stringOrNullMember Value);
130 impl.setStringOrNullMember(stringOrNullMember); 136 impl.setStringOrNullMember(stringOrNullMember);
131 } else if (block.HasCaught()) { 137 } else if (block.HasCaught()) {
132 exceptionState.rethrowV8Exception(block.Exception()); 138 exceptionState.rethrowV8Exception(block.Exception());
133 return; 139 return;
134 } 140 }
135 141
136 Vector<String> stringSequenceMember; 142 v8::Local<v8::Value> stringSequenceMemberValue = v8Object->Get(v8String(isol ate, "stringSequenceMember"));
137 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "stringSequenc eMember", stringSequenceMember)) { 143 if (!stringSequenceMemberValue.IsEmpty() && !isUndefinedOrNull(stringSequenc eMemberValue)) {
144 TONATIVE_VOID_EXCEPTIONSTATE(Vector<String>, stringSequenceMember, toImp lArray<String>(stringSequenceMemberValue, 0, isolate, exceptionState), exception State);
138 impl.setStringSequenceMember(stringSequenceMember); 145 impl.setStringSequenceMember(stringSequenceMember);
139 } else if (block.HasCaught()) { 146 } else if (block.HasCaught()) {
140 exceptionState.rethrowV8Exception(block.Exception()); 147 exceptionState.rethrowV8Exception(block.Exception());
141 return; 148 return;
142 } 149 }
143 150
144 RawPtr<TestInterfaceGarbageCollected> testInterfaceGarbageCollectedMember; 151 v8::Local<v8::Value> testInterfaceGarbageCollectedMemberValue = v8Object->Ge t(v8String(isolate, "testInterfaceGarbageCollectedMember"));
145 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "testInterface GarbageCollectedMember", testInterfaceGarbageCollectedMember)) { 152 if (!testInterfaceGarbageCollectedMemberValue.IsEmpty() && !isUndefinedOrNul l(testInterfaceGarbageCollectedMemberValue)) {
153 TestInterfaceGarbageCollected* testInterfaceGarbageCollectedMember = V8T estInterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGarbageC ollectedMemberValue);
146 impl.setTestInterfaceGarbageCollectedMember(testInterfaceGarbageCollecte dMember); 154 impl.setTestInterfaceGarbageCollectedMember(testInterfaceGarbageCollecte dMember);
147 } else if (block.HasCaught()) { 155 } else if (block.HasCaught()) {
148 exceptionState.rethrowV8Exception(block.Exception()); 156 exceptionState.rethrowV8Exception(block.Exception());
149 return; 157 return;
150 } 158 }
151 159
152 RawPtr<TestInterfaceGarbageCollected> testInterfaceGarbageCollectedOrNullMem ber; 160 v8::Local<v8::Value> testInterfaceGarbageCollectedOrNullMemberValue = v8Obje ct->Get(v8String(isolate, "testInterfaceGarbageCollectedOrNullMember"));
153 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "testInterface GarbageCollectedOrNullMember", testInterfaceGarbageCollectedOrNullMember)) { 161 if (!testInterfaceGarbageCollectedOrNullMemberValue.IsEmpty() && !isUndefine dOrNull(testInterfaceGarbageCollectedOrNullMemberValue)) {
162 TestInterfaceGarbageCollected* testInterfaceGarbageCollectedOrNullMember = V8TestInterfaceGarbageCollected::toImplWithTypeCheck(isolate, testInterfaceGa rbageCollectedOrNullMemberValue);
154 impl.setTestInterfaceGarbageCollectedOrNullMember(testInterfaceGarbageCo llectedOrNullMember); 163 impl.setTestInterfaceGarbageCollectedOrNullMember(testInterfaceGarbageCo llectedOrNullMember);
155 } else if (block.HasCaught()) { 164 } else if (block.HasCaught()) {
156 exceptionState.rethrowV8Exception(block.Exception()); 165 exceptionState.rethrowV8Exception(block.Exception());
157 return; 166 return;
158 } 167 }
159 168
160 RefPtr<TestInterfaceImplementation> testInterfaceMember; 169 v8::Local<v8::Value> testInterfaceMemberValue = v8Object->Get(v8String(isola te, "testInterfaceMember"));
161 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "testInterface Member", testInterfaceMember)) { 170 if (!testInterfaceMemberValue.IsEmpty() && !isUndefinedOrNull(testInterfaceM emberValue)) {
171 TestInterfaceImplementation* testInterfaceMember = V8TestInterface::toIm plWithTypeCheck(isolate, testInterfaceMemberValue);
162 impl.setTestInterfaceMember(testInterfaceMember); 172 impl.setTestInterfaceMember(testInterfaceMember);
163 } else if (block.HasCaught()) { 173 } else if (block.HasCaught()) {
164 exceptionState.rethrowV8Exception(block.Exception()); 174 exceptionState.rethrowV8Exception(block.Exception());
165 return; 175 return;
166 } 176 }
167 177
168 RefPtr<TestInterfaceImplementation> testInterfaceOrNullMember; 178 v8::Local<v8::Value> testInterfaceOrNullMemberValue = v8Object->Get(v8String (isolate, "testInterfaceOrNullMember"));
169 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "testInterface OrNullMember", testInterfaceOrNullMember)) { 179 if (!testInterfaceOrNullMemberValue.IsEmpty() && !isUndefinedOrNull(testInte rfaceOrNullMemberValue)) {
180 TestInterfaceImplementation* testInterfaceOrNullMember = V8TestInterface ::toImplWithTypeCheck(isolate, testInterfaceOrNullMemberValue);
170 impl.setTestInterfaceOrNullMember(testInterfaceOrNullMember); 181 impl.setTestInterfaceOrNullMember(testInterfaceOrNullMember);
171 } else if (block.HasCaught()) { 182 } else if (block.HasCaught()) {
172 exceptionState.rethrowV8Exception(block.Exception()); 183 exceptionState.rethrowV8Exception(block.Exception());
173 return; 184 return;
174 } 185 }
175 186
176 RefPtrWillBeRawPtr<TestInterfaceWillBeGarbageCollected> testInterfaceWillBeG arbageCollectedMember; 187 v8::Local<v8::Value> testInterfaceWillBeGarbageCollectedMemberValue = v8Obje ct->Get(v8String(isolate, "testInterfaceWillBeGarbageCollectedMember"));
177 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "testInterface WillBeGarbageCollectedMember", testInterfaceWillBeGarbageCollectedMember)) { 188 if (!testInterfaceWillBeGarbageCollectedMemberValue.IsEmpty() && !isUndefine dOrNull(testInterfaceWillBeGarbageCollectedMemberValue)) {
189 TestInterfaceWillBeGarbageCollected* testInterfaceWillBeGarbageCollected Member = V8TestInterfaceWillBeGarbageCollected::toImplWithTypeCheck(isolate, tes tInterfaceWillBeGarbageCollectedMemberValue);
178 impl.setTestInterfaceWillBeGarbageCollectedMember(testInterfaceWillBeGar bageCollectedMember); 190 impl.setTestInterfaceWillBeGarbageCollectedMember(testInterfaceWillBeGar bageCollectedMember);
179 } else if (block.HasCaught()) { 191 } else if (block.HasCaught()) {
180 exceptionState.rethrowV8Exception(block.Exception()); 192 exceptionState.rethrowV8Exception(block.Exception());
181 return; 193 return;
182 } 194 }
183 195
184 RefPtrWillBeRawPtr<TestInterfaceWillBeGarbageCollected> testInterfaceWillBeG arbageCollectedOrNullMember; 196 v8::Local<v8::Value> testInterfaceWillBeGarbageCollectedOrNullMemberValue = v8Object->Get(v8String(isolate, "testInterfaceWillBeGarbageCollectedOrNullMember "));
185 if (DictionaryHelper::getWithUndefinedOrNullCheck(dictionary, "testInterface WillBeGarbageCollectedOrNullMember", testInterfaceWillBeGarbageCollectedOrNullMe mber)) { 197 if (!testInterfaceWillBeGarbageCollectedOrNullMemberValue.IsEmpty() && !isUn definedOrNull(testInterfaceWillBeGarbageCollectedOrNullMemberValue)) {
198 TestInterfaceWillBeGarbageCollected* testInterfaceWillBeGarbageCollected OrNullMember = V8TestInterfaceWillBeGarbageCollected::toImplWithTypeCheck(isolat e, testInterfaceWillBeGarbageCollectedOrNullMemberValue);
186 impl.setTestInterfaceWillBeGarbageCollectedOrNullMember(testInterfaceWil lBeGarbageCollectedOrNullMember); 199 impl.setTestInterfaceWillBeGarbageCollectedOrNullMember(testInterfaceWil lBeGarbageCollectedOrNullMember);
187 } else if (block.HasCaught()) { 200 } else if (block.HasCaught()) {
188 exceptionState.rethrowV8Exception(block.Exception()); 201 exceptionState.rethrowV8Exception(block.Exception());
189 return; 202 return;
190 } 203 }
191 204
192 } 205 }
193 206
194 v8::Handle<v8::Value> toV8(TestDictionary& impl, v8::Handle<v8::Object> creation Context, v8::Isolate* isolate) 207 v8::Handle<v8::Value> toV8(TestDictionary& impl, v8::Handle<v8::Object> creation Context, v8::Isolate* isolate)
195 { 208 {
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 dictionary->Set(v8String(isolate, "testInterfaceWillBeGarbageCollectedMe mber"), toV8(impl.testInterfaceWillBeGarbageCollectedMember(), creationContext, isolate)); 291 dictionary->Set(v8String(isolate, "testInterfaceWillBeGarbageCollectedMe mber"), toV8(impl.testInterfaceWillBeGarbageCollectedMember(), creationContext, isolate));
279 } 292 }
280 293
281 if (impl.hasTestInterfaceWillBeGarbageCollectedOrNullMember()) { 294 if (impl.hasTestInterfaceWillBeGarbageCollectedOrNullMember()) {
282 dictionary->Set(v8String(isolate, "testInterfaceWillBeGarbageCollectedOr NullMember"), toV8(impl.testInterfaceWillBeGarbageCollectedOrNullMember(), creat ionContext, isolate)); 295 dictionary->Set(v8String(isolate, "testInterfaceWillBeGarbageCollectedOr NullMember"), toV8(impl.testInterfaceWillBeGarbageCollectedOrNullMember(), creat ionContext, isolate));
283 } 296 }
284 297
285 } 298 }
286 299
287 } // namespace blink 300 } // namespace blink
OLDNEW
« no previous file with comments | « Source/bindings/templates/dictionary_v8.cpp ('k') | Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698