summaryrefslogtreecommitdiffstats
path: root/ui/views/bubble
diff options
context:
space:
mode:
authordbeam@chromium.org <dbeam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-20 02:46:37 +0000
committerdbeam@chromium.org <dbeam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-20 02:46:37 +0000
commit415fe1d7c0dc7c06aaae7840c4d42d8120420fcf (patch)
tree0dfb1c998c8dae6fe5ecd5d458fefba56b5b2770 /ui/views/bubble
parentb963516676ef524cfa75da691a05b6aff1a3d175 (diff)
downloadchromium_src-415fe1d7c0dc7c06aaae7840c4d42d8120420fcf.zip
chromium_src-415fe1d7c0dc7c06aaae7840c4d42d8120420fcf.tar.gz
chromium_src-415fe1d7c0dc7c06aaae7840c4d42d8120420fcf.tar.bz2
Breaking KioskModeTest.EnableKioskModeTest on Linux ChromiumOS Tests (dbg)(3)
reliably and reverting locally fixed. Revert 133057 - Reland Propagate OnNativeWidgetMove to delegate/observers, etc. Continuation of reverted CL http://codereview.chromium.org/10021029 The original CL was reverted due to a naming conflict between: WidgetDelegate::OnWidgetMove and Widget::Observer::OnWidgetMove. I renamed the new Observer method to OnWidgetMoved. Original description: Propagate OnNativeWidgetMove to delegate/observers, etc. NativeWidget[Aura|Win] calls new Widget::OnNativeWidgetMove. Widgets alert delegates and new Widget::Observer::OnWidgetMove. TabDragController2: consume new observer method, simplify. Nix BrowserWindowMoveObserver; use Widget::Observer instead. Replace move_loop_browser_view_ with move_loop_widget. Replace GetAttachedBrowserView with GetAttachedBrowserWidget. BubbleDelegateView: consume new observer method. Make bubbles move with their anchor_view's Widgets. SchedulePaint on BubbleFrameView when mirroring its arrow. BUG=105151, 116336 TEST=Bubbles can move with the browser window (inspecting extension popups, etc.); no Ash / --enable-tab-browser-dragging regressions. Review URL: http://codereview.chromium.org/10025039 TBR=msw@chromium.org Review URL: https://chromiumcodereview.appspot.com/10142008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133132 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/views/bubble')
-rw-r--r--ui/views/bubble/bubble_delegate.cc36
-rw-r--r--ui/views/bubble/bubble_delegate.h2
-rw-r--r--ui/views/bubble/bubble_frame_view.cc7
3 files changed, 13 insertions, 32 deletions
diff --git a/ui/views/bubble/bubble_delegate.cc b/ui/views/bubble/bubble_delegate.cc
index 1fd3d4f..3942c92 100644
--- a/ui/views/bubble/bubble_delegate.cc
+++ b/ui/views/bubble/bubble_delegate.cc
@@ -171,30 +171,19 @@ NonClientFrameView* BubbleDelegateView::CreateNonClientFrameView(
return new BubbleFrameView(arrow_location(), color(), margin());
}
-void BubbleDelegateView::OnWidgetClosing(Widget* widget) {
- if (anchor_view() && anchor_view()->GetWidget() == widget)
- anchor_view_ = NULL;
-}
-
void BubbleDelegateView::OnWidgetVisibilityChanged(Widget* widget,
bool visible) {
- if (widget != GetWidget())
- return;
-
- Widget* anchor_widget = anchor_view() ? anchor_view()->GetWidget() : NULL;
- if (visible) {
- if (border_widget_)
- border_widget_->Show();
- if (anchor_widget)
- anchor_widget->AddObserver(this);
- GetFocusManager()->SetFocusedView(GetInitiallyFocusedView());
- if (anchor_widget && anchor_widget->GetTopLevelWidget())
- anchor_widget->GetTopLevelWidget()->DisableInactiveRendering();
- } else {
- if (border_widget_)
+ if (widget == GetWidget()) {
+ if (visible) {
+ if (border_widget_)
+ border_widget_->Show();
+ GetFocusManager()->SetFocusedView(GetInitiallyFocusedView());
+ Widget* anchor_widget = anchor_view() ? anchor_view()->GetWidget() : NULL;
+ if (anchor_widget && anchor_widget->GetTopLevelWidget())
+ anchor_widget->GetTopLevelWidget()->DisableInactiveRendering();
+ } else if (border_widget_) {
border_widget_->Hide();
- if (anchor_widget)
- anchor_widget->RemoveObserver(this);
+ }
}
}
@@ -204,11 +193,6 @@ void BubbleDelegateView::OnWidgetActivationChanged(Widget* widget,
GetWidget()->Close();
}
-void BubbleDelegateView::OnWidgetMoved(Widget* widget) {
- if (anchor_view() && anchor_view()->GetWidget() == widget)
- SizeToContents();
-}
-
gfx::Rect BubbleDelegateView::GetAnchorRect() {
return anchor_view() ? anchor_view()->GetScreenBounds() : gfx::Rect();
}
diff --git a/ui/views/bubble/bubble_delegate.h b/ui/views/bubble/bubble_delegate.h
index 145faf8..75f6c16 100644
--- a/ui/views/bubble/bubble_delegate.h
+++ b/ui/views/bubble/bubble_delegate.h
@@ -47,10 +47,8 @@ class VIEWS_EXPORT BubbleDelegateView : public WidgetDelegateView,
views::Widget* widget) OVERRIDE;
// Widget::Observer overrides:
- virtual void OnWidgetClosing(Widget* widget) OVERRIDE;
virtual void OnWidgetVisibilityChanged(Widget* widget, bool visible) OVERRIDE;
virtual void OnWidgetActivationChanged(Widget* widget, bool active) OVERRIDE;
- virtual void OnWidgetMoved(Widget* widget) OVERRIDE;
bool close_on_esc() const { return close_on_esc_; }
void set_close_on_esc(bool close_on_esc) { close_on_esc_ = close_on_esc; }
diff --git a/ui/views/bubble/bubble_frame_view.cc b/ui/views/bubble/bubble_frame_view.cc
index 176c010..ab2ae24 100644
--- a/ui/views/bubble/bubble_frame_view.cc
+++ b/ui/views/bubble/bubble_frame_view.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -117,10 +117,9 @@ void BubbleFrameView::MirrorArrowIfOffScreen(
bubble_border_->GetBounds(anchor_rect, client_size);
// Restore the original arrow if mirroring doesn't show more of the bubble.
if (GetOffScreenLength(monitor_rect, mirror_bounds, vertical) >=
- GetOffScreenLength(monitor_rect, window_bounds, vertical))
+ GetOffScreenLength(monitor_rect, window_bounds, vertical)) {
bubble_border_->set_arrow_location(arrow);
- else
- SchedulePaint();
+ }
}
}