diff options
author | jcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-09 06:03:45 +0000 |
---|---|---|
committer | jcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-09 06:03:45 +0000 |
commit | 253071feeaf010115a8fbe498d1ebd634c2d1626 (patch) | |
tree | 356ae73b564b4f4bf3917c37e6458d12b047fd07 /webkit/glue/editor_client_impl.h | |
parent | fe884d10d8f769f9cd52c24b41f791fc176ff3e5 (diff) | |
download | chromium_src-253071feeaf010115a8fbe498d1ebd634c2d1626.zip chromium_src-253071feeaf010115a8fbe498d1ebd634c2d1626.tar.gz chromium_src-253071feeaf010115a8fbe498d1ebd634c2d1626.tar.bz2 |
One of my recent CL added triggering form autofill when clicking an already focused text-field.
It was triggering form autofill or password autofill indiscriminately, causing a regression: double clicking a login text-field would trigger password autofill preventing the expected behavior of selecting the text in the text-field. Only form autofill is expected to be triggered in that case.
BUG=9544
TEST=Open a page with a login form for which you have saved a password. Double-click the login text-field, this should select all the text. Ensure the form autocomplete still works as expected.
Review URL: http://codereview.chromium.org/62143
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13408 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/editor_client_impl.h')
-rw-r--r-- | webkit/glue/editor_client_impl.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/webkit/glue/editor_client_impl.h b/webkit/glue/editor_client_impl.h index d617fdf..4104a4b 100644 --- a/webkit/glue/editor_client_impl.h +++ b/webkit/glue/editor_client_impl.h @@ -115,18 +115,21 @@ class EditorClientImpl : public WebCore::EditorClient { virtual std::wstring Describe(WebCore::EAffinity affinity); virtual std::wstring Describe(WebCore::CSSStyleDeclaration* style); - // Shows the autofill popup for |node| if it is an HTMLInputElement and it is - // empty. This is called when you press the up or down arrow in a text field - // or when clicking an already focused text-field. + // Shows the form autofill popup for |node| if it is an HTMLInputElement and + // it is empty. This is called when you press the up or down arrow in a + // text-field or when clicking an already focused text-field. // Returns true if the autofill popup has been scheduled to be shown, false // otherwise. - virtual bool ShowAutofillForNode(WebCore::Node* node); + virtual bool ShowFormAutofillForNode(WebCore::Node* node); private: void ModifySelection(WebCore::Frame* frame, WebCore::KeyboardEvent* event); - // Popups an autofill menu for |input_element| is applicable. + // Triggers autofill for |input_element| if applicable. This can be form + // autofill (via a popup-menu) or password autofill depending on + // |input_element|. If |form_autofill_only| is true, password autofill is not + // triggered. // |autofill_on_empty_value| indicates whether the autofill should be shown // when the text-field is empty. // If |requires_caret_at_end| is true, the autofill popup is only shown if the @@ -134,6 +137,7 @@ class EditorClientImpl : public WebCore::EditorClient { // Returns true if the autofill popup has been scheduled to be shown, false // otherwise. bool Autofill(WebCore::HTMLInputElement* input_element, + bool form_autofill_only, bool autofill_on_empty_value, bool requires_caret_at_end); @@ -142,6 +146,7 @@ class EditorClientImpl : public WebCore::EditorClient { // reflecting the last text change yet and we need it to decide whether or not // to show the autofill popup. void DoAutofill(WebCore::HTMLInputElement* input_element, + bool form_autofill_only, bool autofill_on_empty_value, bool requires_caret_at_end, bool backspace); |