summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_widget.cc
diff options
context:
space:
mode:
authorvictorw@chromium.org <victorw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-02 22:04:33 +0000
committervictorw@chromium.org <victorw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-02 22:04:33 +0000
commit9d166afe522da91217060a34787b16fa705f15e3 (patch)
treee7651e38f525fde797c66b2240315de01eb4809e /chrome/renderer/render_widget.cc
parent702126c6af7e854d09274cc9540b909f4e0f3249 (diff)
downloadchromium_src-9d166afe522da91217060a34787b16fa705f15e3.zip
chromium_src-9d166afe522da91217060a34787b16fa705f15e3.tar.gz
chromium_src-9d166afe522da91217060a34787b16fa705f15e3.tar.bz2
Revert 39670 which breaks suggestion popup
Do not send extra blur and focus events if popup menu is showing Add flag to RenderWidget to remember the popup menu state and suppress focus / blur events when popup menu is showing. This fixes the issue that extra focus / blur events are fired after select control is clicked. R=darin BUG=23499 TEST=none Review URL: http://codereview.chromium.org/647047 TBR=victorw@chromium.org Review URL: http://codereview.chromium.org/660408 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40445 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_widget.cc')
-rw-r--r--chrome/renderer/render_widget.cc32
1 files changed, 3 insertions, 29 deletions
diff --git a/chrome/renderer/render_widget.cc b/chrome/renderer/render_widget.cc
index 75cd8d2..343db541 100644
--- a/chrome/renderer/render_widget.cc
+++ b/chrome/renderer/render_widget.cc
@@ -67,9 +67,7 @@ RenderWidget::RenderWidget(RenderThreadBase* render_thread, bool activatable)
ime_control_busy_(false),
activatable_(activatable),
pending_window_rect_count_(0),
- suppress_next_char_events_(false),
- showing_popup_menu_(false),
- popup_menu_owner_widget_(NULL) {
+ suppress_next_char_events_(false) {
RenderProcess::current()->AddRefProcess();
DCHECK(render_thread_);
}
@@ -345,19 +343,8 @@ void RenderWidget::OnMouseCaptureLost() {
void RenderWidget::OnSetFocus(bool enable) {
has_focus_ = enable;
- if (webwidget_) {
- // Suppress focus / blur event if this RenderView creates a popup
- // menu and the popup menu is showing.
- // This is because the popup menu is a child of the RenderView and
- // when user clicks select control to show popup, we should not
- // consider this as focusing changes, so the focus / blur events
- // after popup menu is showing should be suppressed. The flag
- // will be reset once the popup menu is closed (see
- // RenderWidget::PopupMenuClosed).
- if (!showing_popup_menu_)
- webwidget_->setFocus(enable);
- }
-
+ if (webwidget_)
+ webwidget_->setFocus(enable);
if (enable) {
// Force to retrieve the state of the focused widget to determine if we
// should activate IMEs next time when this process calls the UpdateIME()
@@ -633,11 +620,6 @@ void RenderWidget::didBlur() {
}
void RenderWidget::DoDeferredClose() {
- if (popup_menu_owner_widget_.get()) {
- popup_menu_owner_widget_->PopupMenuClosed();
- popup_menu_owner_widget_ = NULL;
- }
-
Send(new ViewHostMsg_Close(routing_id_));
}
@@ -885,11 +867,3 @@ void RenderWidget::CleanupWindowInPluginMoves(gfx::PluginWindowHandle window) {
}
}
}
-
-void RenderWidget::SetPopupMenuOwnerWidget(RenderWidget* widget) {
- popup_menu_owner_widget_ = widget;
-}
-
-void RenderWidget::PopupMenuClosed() {
- showing_popup_menu_ = false;
-}