OSDN Git Service

Merge Chromium at 9.0.597.55: Merge r67192
authorBen Murdoch <benm@google.com>
Fri, 7 Jan 2011 15:15:00 +0000 (15:15 +0000)
committerBen Murdoch <benm@google.com>
Tue, 11 Jan 2011 14:17:07 +0000 (14:17 +0000)
See http://src.chromium.org/viewvc/chrome?view=rev&revision=67192

Change-Id: Ia1a391a9e7634e86e5c3166349befc47841b570e

WebKit/android/WebCoreSupport/autofill/FormManagerAndroid.cpp
WebKit/android/WebCoreSupport/autofill/FormManagerAndroid.h

index 7de8308..1ba42b8 100644 (file)
@@ -616,7 +616,7 @@ bool FormManager::ClearFormWithNode(Node* node) {
     return true;
 }
 
-bool FormManager::ClearPreviewedFormWithNode(Node* node) {
+bool FormManager::ClearPreviewedFormWithNode(Node* node, bool was_autofilled) {
     FormElement* form_element = NULL;
     if (!FindCachedFormElementWithNode(node, &form_element))
         return false;
@@ -649,8 +649,10 @@ bool FormManager::ClearPreviewedFormWithNode(Node* node) {
             // Call |setValue()| to force the renderer to update the field's displayed
             // value.
             input_element->setValue(input_element->value());
+            input_element->setAutofilled(was_autofilled);
+        } else {
+            input_element->setAutofilled(false);
         }
-        input_element->setAutofilled(false);
 
         // Clearing the suggested value in the focused node (above) can cause
         // selection to be lost. We force selection range to restore the text
index eed3963..e844981 100644 (file)
@@ -122,9 +122,10 @@ public:
     bool ClearFormWithNode(Node* node);
 
     // Clears the placeholder values and the auto-filled background for any fields
-    // in the form containing |node| that have been previewed. Returns false if
-    // the form is not found.
-    bool ClearPreviewedFormWithNode(Node* node);
+    // in the form containing |node| that have been previewed. Resets the
+    // autofilled state of |node| to |was_autofilled|. Returns false if the form
+    // is not found.
+    bool ClearPreviewedFormWithNode(Node* node, bool was_autofilled);
 
     // Resets the stored set of forms.
     void Reset();