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

Side by Side Diff: chrome/browser/ui/views/compact_nav/compact_location_bar_view_host.cc

Issue 6992031: Fixed a crash involving popup windows in compact nav mode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Fixed nits, comments. Created 9 years, 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/compact_nav/compact_location_bar_view_host.h" 5 #include "chrome/browser/ui/views/compact_nav/compact_location_bar_view_host.h"
6 6
7 #if defined(TOOLKIT_USES_GTK) 7 #if defined(TOOLKIT_USES_GTK)
8 #include <gtk/gtk.h> 8 #include <gtk/gtk.h>
9 #endif 9 #endif
10 10
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 bool observing_; 83 bool observing_;
84 84
85 DISALLOW_COPY_AND_ASSIGN(MouseObserver); 85 DISALLOW_COPY_AND_ASSIGN(MouseObserver);
86 }; 86 };
87 87
88 MouseObserver::MouseObserver(CompactLocationBarViewHost* host, 88 MouseObserver::MouseObserver(CompactLocationBarViewHost* host,
89 BrowserView* view) 89 BrowserView* view)
90 : host_(host), 90 : host_(host),
91 browser_view_(view), 91 browser_view_(view),
92 observing_(false) { 92 observing_(false) {
93 DCHECK(host_);
94 DCHECK(browser_view_);
95 DCHECK(browser_view_->GetWidget());
93 top_level_window_ = browser_view_->GetWidget()->GetNativeView(); 96 top_level_window_ = browser_view_->GetWidget()->GetNativeView();
94 } 97 }
95 98
96 MouseObserver::~MouseObserver() { 99 MouseObserver::~MouseObserver() {
97 StopObserving(MessageLoopForUI::current()); 100 StopObserving(MessageLoopForUI::current());
98 } 101 }
99 102
100 #if defined(OS_WIN) 103 #if defined(OS_WIN)
101 void MouseObserver::WillProcessMessage(const MSG& native_event) {} 104 void MouseObserver::WillProcessMessage(const MSG& native_event) {}
102 void MouseObserver::DidProcessMessage(const MSG& native_event) { 105 void MouseObserver::DidProcessMessage(const MSG& native_event) {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 #endif 159 #endif
157 } 160 }
158 161
159 bool MouseObserver::HitContentArea(int x, int y) { 162 bool MouseObserver::HitContentArea(int x, int y) {
160 gfx::Point p(x, y); 163 gfx::Point p(x, y);
161 // First, exclude the location bar as it's shown on top of 164 // First, exclude the location bar as it's shown on top of
162 // content area. 165 // content area.
163 if (HitOnScreen(host_->view(), p)) { 166 if (HitOnScreen(host_->view(), p)) {
164 return false; 167 return false;
165 } 168 }
166 // Treat the bookmark as a content area when it in detached mode. 169 // Treat the bookmark as a content area when it in detached mode. We must
167 if (browser_view_->GetBookmarkBarView()->IsDetached() && 170 // check the view itself as it can be NULL for example in popup windows.
171 if (browser_view_->GetBookmarkBarView() &&
172 browser_view_->GetBookmarkBarView()->IsDetached() &&
168 browser_view_->IsBookmarkBarVisible() && 173 browser_view_->IsBookmarkBarVisible() &&
169 HitOnScreen(browser_view_->GetBookmarkBarView(), p)) { 174 HitOnScreen(browser_view_->GetBookmarkBarView(), p)) {
170 return true; 175 return true;
171 } 176 }
172 if (HitOnScreen(browser_view_->GetContentsView(), p)) { 177 if (HitOnScreen(browser_view_->GetContentsView(), p)) {
173 return true; 178 return true;
174 } 179 }
175 return false; 180 return false;
176 } 181 }
177 182
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
508 bool CompactLocationBarViewHost::IsCurrentTabIndex(int index) { 513 bool CompactLocationBarViewHost::IsCurrentTabIndex(int index) {
509 return current_tab_model_index_ == index; 514 return current_tab_model_index_ == index;
510 } 515 }
511 516
512 bool CompactLocationBarViewHost::IsCurrentTab(TabContents* contents) { 517 bool CompactLocationBarViewHost::IsCurrentTab(TabContents* contents) {
513 TabStripModel* tab_strip_model = browser_view()->browser()->tabstrip_model(); 518 TabStripModel* tab_strip_model = browser_view()->browser()->tabstrip_model();
514 return tab_strip_model->ContainsIndex(current_tab_model_index_) && 519 return tab_strip_model->ContainsIndex(current_tab_model_index_) &&
515 tab_strip_model->GetTabContentsAt(current_tab_model_index_)-> 520 tab_strip_model->GetTabContentsAt(current_tab_model_index_)->
516 tab_contents() == contents; 521 tab_contents() == contents;
517 } 522 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698