OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |