Index: ui/views/widget/desktop_aura/desktop_native_widget_aura.cc |
diff --git a/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc b/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc |
index 3a3a9dd6a20257b75c7f6dcfc4e4f6e15e8f0d83..6d63add6756d8d5a21c4020b810fa52f4b3a96c7 100644 |
--- a/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc |
+++ b/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc |
@@ -297,9 +297,11 @@ void DesktopNativeWidgetAura::OnHostClosed() { |
// references. Make sure we destroy ShadowController early on. |
shadow_controller_.reset(); |
tooltip_manager_.reset(); |
- host_->window()->RemovePreTargetHandler(tooltip_controller_.get()); |
- aura::client::SetTooltipClient(host_->window(), NULL); |
- tooltip_controller_.reset(); |
+ if (tooltip_controller_.get()) { |
+ host_->window()->RemovePreTargetHandler(tooltip_controller_.get()); |
+ aura::client::SetTooltipClient(host_->window(), NULL); |
+ tooltip_controller_.reset(); |
+ } |
root_window_event_filter_->RemoveHandler(input_method_event_filter_.get()); |
@@ -494,14 +496,15 @@ void DesktopNativeWidgetAura::InitNativeWidget( |
drop_helper_.reset(new DropHelper(GetWidget()->GetRootView())); |
aura::client::SetDragDropDelegate(content_window_, this); |
- tooltip_manager_.reset(new TooltipManagerAura(GetWidget())); |
- |
- tooltip_controller_.reset( |
- new corewm::TooltipController( |
- desktop_window_tree_host_->CreateTooltip())); |
- aura::client::SetTooltipClient(host_->window(), |
- tooltip_controller_.get()); |
- host_->window()->AddPreTargetHandler(tooltip_controller_.get()); |
+ if (params.type != Widget::InitParams::TYPE_TOOLTIP) { |
+ tooltip_manager_.reset(new TooltipManagerAura(GetWidget())); |
+ tooltip_controller_.reset( |
+ new corewm::TooltipController( |
+ desktop_window_tree_host_->CreateTooltip())); |
+ aura::client::SetTooltipClient(host_->window(), |
+ tooltip_controller_.get()); |
+ host_->window()->AddPreTargetHandler(tooltip_controller_.get()); |
+ } |
if (params.opacity == Widget::InitParams::TRANSLUCENT_WINDOW) { |
visibility_controller_.reset(new wm::VisibilityController); |