diff options
author | jcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-16 00:05:15 +0000 |
---|---|---|
committer | jcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-16 00:05:15 +0000 |
commit | 01899c12fdad06f0e12667871be5ac99624256d8 (patch) | |
tree | c98b6c59915dcb1cdc9ead4fafb828df08f4a12e /webkit/port | |
parent | c1bcb90272edd39e67f85877b58da4f28fef055e (diff) | |
download | chromium_src-01899c12fdad06f0e12667871be5ac99624256d8.zip chromium_src-01899c12fdad06f0e12667871be5ac99624256d8.tar.gz chromium_src-01899c12fdad06f0e12667871be5ac99624256d8.tar.bz2 |
Changes to the autofill popup:
- we now reuse the existing popup if there is one (instead of creating a new on with each key stoke), this prevents the flickering we used to see.
- we don't hide the popup on every key stroke, instead we rely on the client editor telling us the field is not being edited anymore.
TEST=Enter some text in a form's text field several times, the autofill should show and not flicker.
BUG=5258
Review URL: http://codereview.chromium.org/14100
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7017 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/port')
-rw-r--r-- | webkit/port/platform/chromium/PopupMenuChromium.cpp | 5 | ||||
-rw-r--r-- | webkit/port/platform/chromium/PopupMenuChromium.h | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/webkit/port/platform/chromium/PopupMenuChromium.cpp b/webkit/port/platform/chromium/PopupMenuChromium.cpp index c85b1e2..82696cf 100644 --- a/webkit/port/platform/chromium/PopupMenuChromium.cpp +++ b/webkit/port/platform/chromium/PopupMenuChromium.cpp @@ -494,6 +494,11 @@ void PopupContainer::setAcceptOnAbandon(bool value) { listBox()->setAcceptOnAbandon(value); } +void PopupContainer::refresh() { + listBox()->updateFromElement(); + layout(); +} + /////////////////////////////////////////////////////////////////////////////// // PopupListBox implementation diff --git a/webkit/port/platform/chromium/PopupMenuChromium.h b/webkit/port/platform/chromium/PopupMenuChromium.h index 49b2a75..c8c7098 100644 --- a/webkit/port/platform/chromium/PopupMenuChromium.h +++ b/webkit/port/platform/chromium/PopupMenuChromium.h @@ -79,6 +79,9 @@ public: PopupListBox* listBox() const { return m_listBox.get(); } + // Refresh the popup values from the PopupMenuClient. + void refresh(); + private: friend class WTF::RefCounted<PopupContainer>; |