summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_widget.h
diff options
context:
space:
mode:
authorjcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-05 19:28:08 +0000
committerjcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-05 19:28:08 +0000
commit89ac46c97e6a3b2f2726bd11d52824d27ee26a24 (patch)
treec976f9689ff7fabd3c3e54e06ed051d1bd4544c7 /chrome/renderer/render_widget.h
parent9ac105a1023bc696e619e5714c524e1a3ffdc2ef (diff)
downloadchromium_src-89ac46c97e6a3b2f2726bd11d52824d27ee26a24.zip
chromium_src-89ac46c97e6a3b2f2726bd11d52824d27ee26a24.tar.gz
chromium_src-89ac46c97e6a3b2f2726bd11d52824d27ee26a24.tar.bz2
This CL adds the autofill UI in forms.
When the user types text in a text field in a form, the renderer queries the browser for suggestion based on the entered text and displays the suggestions in a popup. Listeners are set on the form text field in a similar fashion than for password save. The popup showing the suggestion uses the same mechanism as the select popup. Note that a difference between the select and the autofill popup is that the autofill should not take focus, so the page still has focus and the user can still type in while it shows. The creation of the render widget was modified for that purpose so we can specify the popup should not be focused when shown. Review URL: http://codereview.chromium.org/8885 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4804 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_widget.h')
-rw-r--r--chrome/renderer/render_widget.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/chrome/renderer/render_widget.h b/chrome/renderer/render_widget.h
index 98d0377..f597dff 100644
--- a/chrome/renderer/render_widget.h
+++ b/chrome/renderer/render_widget.h
@@ -30,7 +30,9 @@ class RenderWidget : public IPC::Channel::Listener,
// Creates a new RenderWidget. The opener_id is the routing ID of the
// RenderView that this widget lives inside. The render_thread is any
// RenderThreadBase implementation, mostly commonly RenderThread::current().
- static RenderWidget* Create(int32 opener_id, RenderThreadBase* render_thread);
+ static RenderWidget* Create(int32 opener_id,
+ RenderThreadBase* render_thread,
+ bool focus_on_show);
// The routing ID assigned by the RenderProcess. Will be MSG_ROUTING_NONE if
// not yet assigned a view ID, in which case, the process MUST NOT send
@@ -86,7 +88,7 @@ class RenderWidget : public IPC::Channel::Listener,
// without ref-counting is an error.
friend class base::RefCounted<RenderWidget>;
- RenderWidget(RenderThreadBase* render_thread);
+ RenderWidget(RenderThreadBase* render_thread, bool focus_on_show);
virtual ~RenderWidget();
// Initializes this view with the given opener. CompleteInit must be called
@@ -261,6 +263,9 @@ class RenderWidget : public IPC::Channel::Listener,
bool ime_control_new_state_;
bool ime_control_updated_;
+ // Whether the window for this RenderWidget should be focused when shown.
+ bool focus_on_show_;
+
// Holds all the needed plugin window moves for a scroll.
std::vector<WebPluginGeometry> plugin_window_moves_;