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

Unified Diff: Source/core/html/DOMFormData.h

Issue 564963002: New FormData methods: get, getAll, has, set, delete and iterable (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/html/DOMFormData.h
diff --git a/Source/core/html/DOMFormData.h b/Source/core/html/DOMFormData.h
index afcfda2b8404204f356fc29b250586dbd712a53b..cb6bf9b8049cfe9c4cadd42557616e867d7e0167 100644
--- a/Source/core/html/DOMFormData.h
+++ b/Source/core/html/DOMFormData.h
@@ -31,6 +31,8 @@
#ifndef DOMFormData_h
#define DOMFormData_h
+#include "bindings/core/v8/ScriptState.h"
+#include "core/dom/Iterable.h"
#include "core/html/FormDataList.h"
#include "platform/heap/Handle.h"
#include "wtf/Forward.h"
@@ -45,9 +47,11 @@ namespace blink {
class Blob;
class HTMLFormElement;
+class Iterator;
-class DOMFormData final : public FormDataList, public ScriptWrappable {
+class DOMFormData final : public FormDataList, public ScriptWrappable, public PairIterable<String, ScriptValue> {
DEFINE_WRAPPERTYPEINFO();
+
public:
static PassRefPtrWillBeRawPtr<DOMFormData> create(HTMLFormElement* form = 0)
{
@@ -59,12 +63,19 @@ public:
return adoptRefWillBeNoop(new DOMFormData(encoding));
}
+ // FormData interface.
void append(const String& name, const String& value);
void append(const String& name, Blob*, const String& filename = String());
+ ScriptValue get(ScriptState*, const String& name);
+ Vector<ScriptValue> getAll(ScriptState*, const String& name);
+ void set(const String& name, const String& value);
+ void set(const String& name, Blob*, const String& filename = String());
private:
explicit DOMFormData(const WTF::TextEncoding&);
explicit DOMFormData(HTMLFormElement*);
+
+ IterationSource* startIteration(ScriptState*, ExceptionState&) override;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698