| Index: Source/core/html/DOMFormData.cpp
|
| diff --git a/Source/core/html/DOMFormData.cpp b/Source/core/html/DOMFormData.cpp
|
| index 7c25d6a06d35dca8f6687bbaf68e1a9861e235e1..8724bb963c6b768bc371f7c3a824da395788b30e 100644
|
| --- a/Source/core/html/DOMFormData.cpp
|
| +++ b/Source/core/html/DOMFormData.cpp
|
| @@ -51,14 +51,14 @@ public:
|
| if (m_current >= m_formData->size())
|
| return false;
|
|
|
| - const FormDataList::Entry entry = m_formData->getEntry(m_current++);
|
| - key = entry.name();
|
| - if (entry.isString())
|
| - value.setUSVString(entry.string());
|
| - else if (entry.isFile())
|
| + const FormDataList::Item& entry = m_formData->items()[m_current++];
|
| + key = m_formData->decode(entry.key());
|
| + if (entry.isString()) {
|
| + value.setUSVString(m_formData->decode(entry.data()));
|
| + } else {
|
| + ASSERT(entry.isFile());
|
| value.setFile(entry.file());
|
| - else
|
| - ASSERT_NOT_REACHED();
|
| + }
|
| return true;
|
| }
|
|
|
| @@ -212,6 +212,11 @@ void DOMFormData::setEntry(const Item& item)
|
| return;
|
| }
|
|
|
| +String DOMFormData::decode(const CString& data) const
|
| +{
|
| + return encoding().decode(data.data(), data.length());
|
| +}
|
| +
|
| PairIterable<String, FormDataEntryValue>::IterationSource* DOMFormData::startIteration(ScriptState*, ExceptionState&)
|
| {
|
| if (m_opaque)
|
|
|