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

Side by Side Diff: Source/core/html/DOMFormData.cpp

Issue 1312333005: Remove FormDataList::Entry. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 3 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 | « no previous file | Source/core/html/DOMFormDataTest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 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 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 } else { 130 } else {
131 ++i; 131 ++i;
132 } 132 }
133 } 133 }
134 } 134 }
135 135
136 void DOMFormData::get(const String& name, FormDataEntryValue& result) 136 void DOMFormData::get(const String& name, FormDataEntryValue& result)
137 { 137 {
138 if (m_opaque) 138 if (m_opaque)
139 return; 139 return;
140 Entry entry = getEntry(name); 140 const CString encodedName = encodeAndNormalize(name);
141 if (entry.isString()) 141 for (const Item& entry : items()) {
142 result.setUSVString(entry.string()); 142 if (entry.key() == encodedName) {
143 else if (entry.isFile()) 143 if (entry.isString()) {
144 result.setFile(entry.file()); 144 result.setUSVString(decode(entry.data()));
145 else 145 } else {
146 ASSERT(entry.isNone()); 146 ASSERT(entry.isFile());
147 result.setFile(entry.file());
148 }
149 return;
150 }
151 }
147 } 152 }
148 153
149 HeapVector<FormDataEntryValue> DOMFormData::getAll(const String& name) 154 HeapVector<FormDataEntryValue> DOMFormData::getAll(const String& name)
150 { 155 {
151 HeapVector<FormDataEntryValue> results; 156 HeapVector<FormDataEntryValue> results;
152 157
153 if (m_opaque) 158 if (m_opaque)
154 return results; 159 return results;
155 160
156 HeapVector<FormDataList::Entry> entries = FormDataList::getAll(name); 161 const CString encodedName = encodeAndNormalize(name);
157 for (const FormDataList::Entry& entry : entries) { 162 for (const Item& entry : items()) {
158 ASSERT(entry.name() == name); 163 if (entry.key() != encodedName)
164 continue;
159 FormDataEntryValue value; 165 FormDataEntryValue value;
160 if (entry.isString()) 166 if (entry.isString()) {
161 value.setUSVString(entry.string()); 167 value.setUSVString(decode(entry.data()));
162 else if (entry.isFile()) 168 } else {
169 ASSERT(entry.isFile());
163 value.setFile(entry.file()); 170 value.setFile(entry.file());
164 else 171 }
165 ASSERT_NOT_REACHED();
166 results.append(value); 172 results.append(value);
167 } 173 }
168 ASSERT(results.size() == entries.size());
169 return results; 174 return results;
170 } 175 }
171 176
172 bool DOMFormData::has(const String& name) 177 bool DOMFormData::has(const String& name)
173 { 178 {
174 if (m_opaque) 179 if (m_opaque)
175 return false; 180 return false;
176 const CString keyData = encodeAndNormalize(name); 181 const CString keyData = encodeAndNormalize(name);
177 for (const Item& item : items()) { 182 for (const Item& item : items()) {
178 if (item.key() == keyData) 183 if (item.key() == keyData)
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 224
220 PairIterable<String, FormDataEntryValue>::IterationSource* DOMFormData::startIte ration(ScriptState*, ExceptionState&) 225 PairIterable<String, FormDataEntryValue>::IterationSource* DOMFormData::startIte ration(ScriptState*, ExceptionState&)
221 { 226 {
222 if (m_opaque) 227 if (m_opaque)
223 return new DOMFormDataIterationSource(new DOMFormData(nullptr)); 228 return new DOMFormDataIterationSource(new DOMFormData(nullptr));
224 229
225 return new DOMFormDataIterationSource(this); 230 return new DOMFormDataIterationSource(this);
226 } 231 }
227 232
228 } // namespace blink 233 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | Source/core/html/DOMFormDataTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698