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

Side by Side Diff: Source/core/testing/DictionaryTest.cpp

Issue 1316833003: bindings: Support (deprecated) Dictionary in IDL dictionary (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/testing/DictionaryTest.h ('k') | Source/core/testing/DictionaryTest.idl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "config.h" 5 #include "config.h"
6 #include "DictionaryTest.h" 6 #include "DictionaryTest.h"
7 7
8 #include "bindings/core/v8/V8ObjectBuilder.h"
8 #include "core/testing/InternalDictionary.h" 9 #include "core/testing/InternalDictionary.h"
9 #include "core/testing/InternalDictionaryDerived.h" 10 #include "core/testing/InternalDictionaryDerived.h"
10 11
11 namespace blink { 12 namespace blink {
12 13
13 DictionaryTest::DictionaryTest() 14 DictionaryTest::DictionaryTest()
14 : m_requiredBooleanMember(false) 15 : m_requiredBooleanMember(false)
15 { 16 {
16 } 17 }
17 18
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 m_elementMember = testingDictionary.elementMember(); 60 m_elementMember = testingDictionary.elementMember();
60 if (testingDictionary.hasElementOrNullMember()) 61 if (testingDictionary.hasElementOrNullMember())
61 m_elementOrNullMember = testingDictionary.elementOrNullMember(); 62 m_elementOrNullMember = testingDictionary.elementOrNullMember();
62 m_objectMember = testingDictionary.objectMember(); 63 m_objectMember = testingDictionary.objectMember();
63 m_objectOrNullMemberWithDefault = testingDictionary.objectOrNullMemberWithDe fault(); 64 m_objectOrNullMemberWithDefault = testingDictionary.objectOrNullMemberWithDe fault();
64 if (testingDictionary.hasDoubleOrStringMember()) 65 if (testingDictionary.hasDoubleOrStringMember())
65 m_doubleOrStringMember = testingDictionary.doubleOrStringMember(); 66 m_doubleOrStringMember = testingDictionary.doubleOrStringMember();
66 if (testingDictionary.hasDoubleOrStringSequenceMember()) 67 if (testingDictionary.hasDoubleOrStringSequenceMember())
67 m_doubleOrStringSequenceMember = testingDictionary.doubleOrStringSequenc eMember(); 68 m_doubleOrStringSequenceMember = testingDictionary.doubleOrStringSequenc eMember();
68 m_eventTargetOrNullMember = testingDictionary.eventTargetOrNullMember(); 69 m_eventTargetOrNullMember = testingDictionary.eventTargetOrNullMember();
70 if (testingDictionary.hasDictionaryMember()) {
71 HashMap<String, String> properties;
72 testingDictionary.dictionaryMember().getOwnPropertiesAsStringHashMap(pro perties);
73 m_dictionaryMemberProperties = properties;
74 }
69 } 75 }
70 76
71 void DictionaryTest::get(InternalDictionary& result) 77 void DictionaryTest::get(InternalDictionary& result)
72 { 78 {
73 if (m_longMember) 79 if (m_longMember)
74 result.setLongMember(m_longMember.get()); 80 result.setLongMember(m_longMember.get());
75 if (m_longMemberWithClamp) 81 if (m_longMemberWithClamp)
76 result.setLongMemberWithClamp(m_longMemberWithClamp.get()); 82 result.setLongMemberWithClamp(m_longMemberWithClamp.get());
77 if (m_longMemberWithEnforceRange) 83 if (m_longMemberWithEnforceRange)
78 result.setLongMemberWithEnforceRange(m_longMemberWithEnforceRange.get()) ; 84 result.setLongMemberWithEnforceRange(m_longMemberWithEnforceRange.get()) ;
(...skipping 28 matching lines...) Expand all
107 result.setElementOrNullMember(m_elementOrNullMember); 113 result.setElementOrNullMember(m_elementOrNullMember);
108 result.setObjectMember(m_objectMember); 114 result.setObjectMember(m_objectMember);
109 result.setObjectOrNullMemberWithDefault(m_objectOrNullMemberWithDefault); 115 result.setObjectOrNullMemberWithDefault(m_objectOrNullMemberWithDefault);
110 if (!m_doubleOrStringMember.isNull()) 116 if (!m_doubleOrStringMember.isNull())
111 result.setDoubleOrStringMember(m_doubleOrStringMember); 117 result.setDoubleOrStringMember(m_doubleOrStringMember);
112 if (!m_doubleOrStringSequenceMember.isNull()) 118 if (!m_doubleOrStringSequenceMember.isNull())
113 result.setDoubleOrStringSequenceMember(m_doubleOrStringSequenceMember.ge t()); 119 result.setDoubleOrStringSequenceMember(m_doubleOrStringSequenceMember.ge t());
114 result.setEventTargetOrNullMember(m_eventTargetOrNullMember); 120 result.setEventTargetOrNullMember(m_eventTargetOrNullMember);
115 } 121 }
116 122
123 ScriptValue DictionaryTest::getDictionaryMemberProperties(ScriptState* scriptSta te)
124 {
125 if (!m_dictionaryMemberProperties)
126 return ScriptValue();
127 V8ObjectBuilder builder(scriptState);
128 HashMap<String, String> properties = m_dictionaryMemberProperties.get();
129 for (HashMap<String, String>::iterator it = properties.begin(); it != proper ties.end(); ++it)
130 builder.addString(it->key, it->value);
131 return builder.scriptValue();
132 }
133
117 void DictionaryTest::setDerived(const InternalDictionaryDerived& derived) 134 void DictionaryTest::setDerived(const InternalDictionaryDerived& derived)
118 { 135 {
119 ASSERT(derived.hasRequiredBooleanMember()); 136 ASSERT(derived.hasRequiredBooleanMember());
120 set(derived); 137 set(derived);
121 if (derived.hasDerivedStringMember()) 138 if (derived.hasDerivedStringMember())
122 m_derivedStringMember = derived.derivedStringMember(); 139 m_derivedStringMember = derived.derivedStringMember();
123 m_derivedStringMemberWithDefault = derived.derivedStringMemberWithDefault(); 140 m_derivedStringMemberWithDefault = derived.derivedStringMemberWithDefault();
124 m_requiredBooleanMember = derived.requiredBooleanMember(); 141 m_requiredBooleanMember = derived.requiredBooleanMember();
125 } 142 }
126 143
(...skipping 27 matching lines...) Expand all
154 m_enumArrayMember = nullptr; 171 m_enumArrayMember = nullptr;
155 m_elementMember = nullptr; 172 m_elementMember = nullptr;
156 m_elementOrNullMember = nullptr; 173 m_elementOrNullMember = nullptr;
157 m_objectMember = ScriptValue(); 174 m_objectMember = ScriptValue();
158 m_objectOrNullMemberWithDefault = ScriptValue(); 175 m_objectOrNullMemberWithDefault = ScriptValue();
159 m_doubleOrStringMember = DoubleOrString(); 176 m_doubleOrStringMember = DoubleOrString();
160 m_eventTargetOrNullMember = nullptr; 177 m_eventTargetOrNullMember = nullptr;
161 m_derivedStringMember = String(); 178 m_derivedStringMember = String();
162 m_derivedStringMemberWithDefault = String(); 179 m_derivedStringMemberWithDefault = String();
163 m_requiredBooleanMember = false; 180 m_requiredBooleanMember = false;
181 m_dictionaryMemberProperties = nullptr;
164 } 182 }
165 183
166 DEFINE_TRACE(DictionaryTest) 184 DEFINE_TRACE(DictionaryTest)
167 { 185 {
168 visitor->trace(m_elementMember); 186 visitor->trace(m_elementMember);
169 visitor->trace(m_elementOrNullMember); 187 visitor->trace(m_elementOrNullMember);
170 visitor->trace(m_doubleOrStringSequenceMember); 188 visitor->trace(m_doubleOrStringSequenceMember);
171 visitor->trace(m_eventTargetOrNullMember); 189 visitor->trace(m_eventTargetOrNullMember);
172 } 190 }
173 191
174 } 192 }
OLDNEW
« no previous file with comments | « Source/core/testing/DictionaryTest.h ('k') | Source/core/testing/DictionaryTest.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698