| Index: Source/core/html/FormDataList.h
|
| diff --git a/Source/core/html/FormDataList.h b/Source/core/html/FormDataList.h
|
| index 2cf78773690adbb62727e19181a16388af812ffc..555d26be0318142a71e7305aeced665366c16b43 100644
|
| --- a/Source/core/html/FormDataList.h
|
| +++ b/Source/core/html/FormDataList.h
|
| @@ -34,6 +34,7 @@ namespace blink {
|
|
|
| class CORE_EXPORT FormDataList : public GarbageCollected<FormDataList> {
|
| public:
|
| + // TODO(tkent): Merge Entry and Item.
|
| class Entry final {
|
| ALLOW_ONLY_INLINE_ALLOCATION();
|
| public:
|
| @@ -63,10 +64,11 @@ public:
|
| class Item {
|
| ALLOW_ONLY_INLINE_ALLOCATION();
|
| public:
|
| - Item() { }
|
| - Item(const WTF::CString& data) : m_data(data) { }
|
| - Item(Blob* blob, const String& filename) : m_blob(blob), m_filename(filename) { }
|
| + Item(const CString& key) : m_key(key) { }
|
| + Item(const CString& key, const CString& data) : m_key(key), m_data(data) { }
|
| + Item(const CString& key, Blob* blob, const String& filename) : m_key(key), m_blob(blob), m_filename(filename) { }
|
|
|
| + const CString& key() const { return m_key; }
|
| const WTF::CString& data() const { return m_data; }
|
| Blob* blob() const { return m_blob.get(); }
|
| const String& filename() const { return m_filename; }
|
| @@ -74,6 +76,7 @@ public:
|
| DECLARE_TRACE();
|
|
|
| private:
|
| + CString m_key;
|
| WTF::CString m_data;
|
| Member<Blob> m_blob;
|
| String m_filename;
|
| @@ -88,23 +91,19 @@ public:
|
|
|
| void appendData(const String& key, const String& value)
|
| {
|
| - appendString(key);
|
| - appendString(value);
|
| + appendItem(Item(encodeAndNormalize(key), encodeAndNormalize(value)));
|
| }
|
| void appendData(const String& key, const CString& value)
|
| {
|
| - appendString(key);
|
| - appendString(value);
|
| + appendItem(Item(encodeAndNormalize(key), value));
|
| }
|
| void appendData(const String& key, int value)
|
| {
|
| - appendString(key);
|
| - appendString(String::number(value));
|
| + appendItem(Item(encodeAndNormalize(key), encodeAndNormalize(String::number(value))));
|
| }
|
| void appendBlob(const String& key, Blob* blob, const String& filename = String())
|
| {
|
| - appendString(key);
|
| - appendBlob(blob, filename);
|
| + appendItem(Item(encodeAndNormalize(key), blob, filename));
|
| }
|
|
|
| void deleteEntry(const String& key);
|
| @@ -114,7 +113,7 @@ public:
|
| bool hasEntry(const String& key) const;
|
| void setBlob(const String& key, Blob*, const String& filename);
|
| void setData(const String& key, const String& value);
|
| - size_t size() const { return m_items.size() / 2; }
|
| + size_t size() const { return m_items.size(); }
|
|
|
| const FormDataListItems& items() const { return m_items; }
|
| const WTF::TextEncoding& encoding() const { return m_encoding; }
|
| @@ -130,11 +129,9 @@ protected:
|
| private:
|
| void appendKeyValuePairItemsTo(FormData*, const WTF::TextEncoding&, bool isMultiPartForm, FormData::EncodingType = FormData::FormURLEncoded);
|
|
|
| - void appendString(const CString&);
|
| - void appendString(const String&);
|
| - void appendBlob(Blob*, const String& filename);
|
| - void setEntry(const String& key, const Item&);
|
| - Entry itemsToEntry(const Item& key, const Item& value) const;
|
| + void appendItem(const Item&);
|
| + void setEntry(const Item&);
|
| + Entry itemsToEntry(const Item&) const;
|
| CString encodeAndNormalize(const String& key) const;
|
|
|
| WTF::TextEncoding m_encoding;
|
|
|