Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Unified Diff: chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc

Issue 24469006: Fixing crash Report - Magic Signature: views::View::ConvertPointToScreen (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed - git what are you doing today? Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc
diff --git a/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc b/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc
index 5aa2b0f83de7170ac837d2ff9ec5701d60e31c06..8f061776edc3fb9e79b698a6c4cc1e363bbe59c1 100644
--- a/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc
+++ b/chrome/browser/ui/views/frame/immersive_mode_controller_ash.cc
@@ -586,8 +586,8 @@ void ImmersiveModeControllerAsh::OnAddTransientChild(aura::Window* window,
aura::Window* transient) {
views::BubbleDelegateView* bubble_delegate = AsBubbleDelegate(transient);
if (bubble_delegate &&
- bubble_delegate->anchor_view() &&
- top_container_->Contains(bubble_delegate->anchor_view())) {
+ bubble_delegate->GetAnchorView() &&
+ top_container_->Contains(bubble_delegate->GetAnchorView())) {
// Observe the aura::Window because the BubbleDelegateView may not be
// parented to the widget's root view yet so |bubble_delegate->GetWidget()|
// may still return NULL.
@@ -837,10 +837,13 @@ void ImmersiveModeControllerAsh::UpdateFocusRevealedLock() {
native_window_->GetRootWindow())->GetActiveWindow();
views::BubbleDelegateView* bubble_delegate =
AsBubbleDelegate(active_window);
- if (bubble_delegate && bubble_delegate->anchor_view()) {
+ if (bubble_delegate && bubble_delegate->has_anchor_view()) {
msw 2013/09/27 21:21:53 It seems like this code is avoiding a lock here fo
Mr4D (OOO till 08-26) 2013/09/27 22:52:21 Okay - I see you really really really don't want t
// BubbleManager will already have locked the top-of-window views if the
// bubble is anchored to a child of |top_container_|. Don't acquire
// |focus_revealed_lock_| here for the sake of simplicity.
+ // Note that even though the anchor view might already be gone, the owning
+ // anchor widget does still exist and as such it should be handled as if
+ // the view is still there.
} else {
// The currently active window is not |native_window_| and it is not a
// bubble with an anchor view. The top-of-window views should be revealed
@@ -1170,8 +1173,8 @@ void ImmersiveModeControllerAsh::RecreateBubbleManager() {
views::BubbleDelegateView* bubble_delegate =
AsBubbleDelegate(transient_child);
if (bubble_delegate &&
- bubble_delegate->anchor_view() &&
- top_container_->Contains(bubble_delegate->anchor_view())) {
+ bubble_delegate->GetAnchorView() &&
+ top_container_->Contains(bubble_delegate->GetAnchorView())) {
bubble_manager_->StartObserving(transient_child);
}
}

Powered by Google App Engine
This is Rietveld 408576698