summaryrefslogtreecommitdiffstats
path: root/webkit/port
diff options
context:
space:
mode:
authorjcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-16 00:05:15 +0000
committerjcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-16 00:05:15 +0000
commit01899c12fdad06f0e12667871be5ac99624256d8 (patch)
treec98b6c59915dcb1cdc9ead4fafb828df08f4a12e /webkit/port
parentc1bcb90272edd39e67f85877b58da4f28fef055e (diff)
downloadchromium_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.cpp5
-rw-r--r--webkit/port/platform/chromium/PopupMenuChromium.h3
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>;