summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/form_manager.h
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-13 22:26:30 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-13 22:26:30 +0000
commit631ec0519a7a783dc3061076e828ecbd06401e66 (patch)
treeccff5fe6b2b21ee9a5d6c73c32025581b76e9455 /chrome/renderer/form_manager.h
parent010bf046498b918d839fdd56fca9d47f3b9171e2 (diff)
downloadchromium_src-631ec0519a7a783dc3061076e828ecbd06401e66.zip
chromium_src-631ec0519a7a783dc3061076e828ecbd06401e66.tar.gz
chromium_src-631ec0519a7a783dc3061076e828ecbd06401e66.tar.bz2
AutoFill: Implement the 'Clear form' menu item in the suggestions popup.
BUG=44616 TEST=FormManagerTest.* Review URL: http://codereview.chromium.org/2752010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49658 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/form_manager.h')
-rw-r--r--chrome/renderer/form_manager.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/chrome/renderer/form_manager.h b/chrome/renderer/form_manager.h
index 4d6aa5c..bfc639f 100644
--- a/chrome/renderer/form_manager.h
+++ b/chrome/renderer/form_manager.h
@@ -96,9 +96,14 @@ class FormManager {
// Previews the form represented by |form|. Same conditions as FillForm.
bool PreviewForm(const webkit_glue::FormData& form);
+ // Clears the values of all input elements in the form that contains |node|.
+ // Returns false if the form is not found.
+ bool ClearFormWithNode(const WebKit::WebNode& node);
+
// Clears the placeholder values and the auto-filled background for any fields
- // in |form| that have been previewed.
- void ClearPreviewedForm(const webkit_glue::FormData& form);
+ // in |form| that have been previewed. Returns false if the form is not
+ // found.
+ bool ClearPreviewedForm(const webkit_glue::FormData& form);
// Resets the stored set of forms.
void Reset();
@@ -106,6 +111,9 @@ class FormManager {
// Resets the forms for the specified |frame|.
void ResetFrame(const WebKit::WebFrame* frame);
+ // Returns true if |form| has any auto-filled fields.
+ bool FormWithNodeIsAutoFilled(const WebKit::WebNode& node);
+
private:
// Stores the WebFormElement and the form control elements for a form.
struct FormElement {
@@ -136,6 +144,10 @@ class FormManager {
static string16 InferLabelForElement(
const WebKit::WebFormControlElement& element);
+ // Finds the cached FormElement that contains |node|.
+ bool FindCachedFormElementWithNode(const WebKit::WebNode& node,
+ FormElement** form_element);
+
// Uses the data in |form| to find the cached FormElement.
bool FindCachedFormElement(const webkit_glue::FormData& form,
FormElement** form_element);