| Index: Source/core/html/forms/FormController.h
|
| diff --git a/Source/core/html/forms/FormController.h b/Source/core/html/forms/FormController.h
|
| index 21d586004fa59c7dfec7d67281c3be8ea3b24635..40505d3e8e25d70fd0dfc5943523aabc365fdf6a 100644
|
| --- a/Source/core/html/forms/FormController.h
|
| +++ b/Source/core/html/forms/FormController.h
|
| @@ -71,6 +71,22 @@ inline void FormControlState::append(const String& value)
|
| m_values.append(value);
|
| }
|
|
|
| +typedef HashMap<AtomicString, OwnPtr<SavedFormState> > SavedFormStateMap;
|
| +
|
| +class DocumentState : public RefCounted<DocumentState> {
|
| +public:
|
| + static PassRefPtr<DocumentState> create();
|
| + ~DocumentState();
|
| +
|
| + void addControl(HTMLFormControlElementWithState*);
|
| + void removeControl(HTMLFormControlElementWithState*);
|
| + Vector<String> toStateVector();
|
| +
|
| +private:
|
| + typedef ListHashSet<RefPtr<HTMLFormControlElementWithState>, 64> FormElementListHashSet;
|
| + FormElementListHashSet m_formControls;
|
| +};
|
| +
|
| class FormController {
|
| WTF_MAKE_FAST_ALLOCATED;
|
| public:
|
| @@ -85,7 +101,7 @@ public:
|
| void registerStatefulFormControl(HTMLFormControlElementWithState&);
|
| void unregisterStatefulFormControl(HTMLFormControlElementWithState&);
|
| // This should be callled only by Document::formElementsState().
|
| - Vector<String> formElementsState() const;
|
| + DocumentState* formElementsState() const;
|
| // This should be callled only by Document::setStateForNewFormElements().
|
| void setStateForNewFormElements(const Vector<String>&);
|
| void willDeleteForm(HTMLFormElement*);
|
| @@ -95,16 +111,12 @@ public:
|
| static Vector<String> getReferencedFilePaths(const Vector<String>& stateVector);
|
|
|
| private:
|
| - typedef ListHashSet<RefPtr<HTMLFormControlElementWithState>, 64> FormElementListHashSet;
|
| - typedef HashMap<AtomicString, OwnPtr<SavedFormState> > SavedFormStateMap;
|
| -
|
| FormController();
|
| - static PassOwnPtr<SavedFormStateMap> createSavedFormStateMap(const FormElementListHashSet&);
|
| FormControlState takeStateForFormElement(const HTMLFormControlElementWithState&);
|
| static void formStatesFromStateVector(const Vector<String>&, SavedFormStateMap&);
|
|
|
| RadioButtonGroupScope m_radioButtonGroupScope;
|
| - FormElementListHashSet m_formControls;
|
| + RefPtr<DocumentState> m_documentState;
|
| SavedFormStateMap m_savedFormStateMap;
|
| OwnPtr<FormKeyGenerator> m_formKeyGenerator;
|
| };
|
|
|