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

Side by Side Diff: chrome/browser/views/frame/browser_view.cc

Issue 28191: Fixes regression where bookmark bar would appear all black. Actually,... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 10 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 | « chrome/browser/views/frame/browser_view.h ('k') | 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 "base/command_line.h" 5 #include "base/command_line.h"
6 6
7 #include "chrome/browser/views/frame/browser_view.h" 7 #include "chrome/browser/views/frame/browser_view.h"
8 8
9 #include "base/file_version_info.h" 9 #include "base/file_version_info.h"
10 #include "base/time.h" 10 #include "base/time.h"
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 contents_container_(NULL), 188 contents_container_(NULL),
189 initialized_(false), 189 initialized_(false),
190 fullscreen_(false), 190 fullscreen_(false),
191 can_drop_(false), 191 can_drop_(false),
192 hung_window_detector_(&hung_plugin_action_), 192 hung_window_detector_(&hung_plugin_action_),
193 ticker_(0), 193 ticker_(0),
194 #ifdef CHROME_PERSONALIZATION 194 #ifdef CHROME_PERSONALIZATION
195 personalization_enabled_(false), 195 personalization_enabled_(false),
196 personalization_(NULL), 196 personalization_(NULL),
197 #endif 197 #endif
198 forwarding_to_tab_strip_(false), 198 forwarding_to_tab_strip_(false) {
199 is_removing_bookmark_bar_(false) {
200 InitClass(); 199 InitClass();
201 browser_->tabstrip_model()->AddObserver(this); 200 browser_->tabstrip_model()->AddObserver(this);
202 } 201 }
203 202
204 BrowserView::~BrowserView() { 203 BrowserView::~BrowserView() {
205 browser_->tabstrip_model()->RemoveObserver(this); 204 browser_->tabstrip_model()->RemoveObserver(this);
206 205
207 // Stop hung plugin monitoring. 206 // Stop hung plugin monitoring.
208 ticker_.Stop(); 207 ticker_.Stop();
209 ticker_.UnregisterTickHandler(&hung_window_detector_); 208 ticker_.UnregisterTickHandler(&hung_window_detector_);
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 void BrowserView::DestroyBrowser() { 693 void BrowserView::DestroyBrowser() {
695 // Explicitly delete the BookmarkBarView now. That way we don't have to 694 // Explicitly delete the BookmarkBarView now. That way we don't have to
696 // worry about the BookmarkBarView potentially outliving the Browser & 695 // worry about the BookmarkBarView potentially outliving the Browser &
697 // Profile. 696 // Profile.
698 bookmark_bar_view_.reset(); 697 bookmark_bar_view_.reset();
699 browser_.reset(); 698 browser_.reset();
700 } 699 }
701 700
702 bool BrowserView::IsBookmarkBarVisible() const { 701 bool BrowserView::IsBookmarkBarVisible() const {
703 return SupportsWindowFeature(FEATURE_BOOKMARKBAR) && 702 return SupportsWindowFeature(FEATURE_BOOKMARKBAR) &&
704 bookmark_bar_view_.get() && 703 active_bookmark_bar_ &&
705 (bookmark_bar_view_->GetPreferredSize().height() != 0); 704 (active_bookmark_bar_->GetPreferredSize().height() != 0);
706 } 705 }
707 706
708 gfx::Rect BrowserView::GetRootWindowResizerRect() const { 707 gfx::Rect BrowserView::GetRootWindowResizerRect() const {
709 // There is no resize corner when we are maximized 708 // There is no resize corner when we are maximized
710 if (IsMaximized()) 709 if (IsMaximized())
711 return gfx::Rect(); 710 return gfx::Rect();
712 711
713 // We don't specify a resize corner size if we have a bottom shelf either. 712 // We don't specify a resize corner size if we have a bottom shelf either.
714 // This is because we take care of drawing the resize corner on top of that 713 // This is because we take care of drawing the resize corner on top of that
715 // shelf, so we don't want others to do it for us in this case. 714 // shelf, so we don't want others to do it for us in this case.
(...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after
1347 int y = top - 1346 int y = top -
1348 ((visible && IsTabStripVisible()) ? kToolbarTabStripVerticalOverlap : 0); 1347 ((visible && IsTabStripVisible()) ? kToolbarTabStripVerticalOverlap : 0);
1349 int height = visible ? toolbar_->GetPreferredSize().height() : 0; 1348 int height = visible ? toolbar_->GetPreferredSize().height() : 0;
1350 toolbar_->SetVisible(visible); 1349 toolbar_->SetVisible(visible);
1351 toolbar_->SetBounds(0, y, browser_view_width, height); 1350 toolbar_->SetBounds(0, y, browser_view_width, height);
1352 return y + height; 1351 return y + height;
1353 } 1352 }
1354 1353
1355 int BrowserView::LayoutBookmarkAndInfoBars(int top) { 1354 int BrowserView::LayoutBookmarkAndInfoBars(int top) {
1356 find_bar_y_ = top + y() - 1; 1355 find_bar_y_ = top + y() - 1;
1357 if (bookmark_bar_view_.get()) { 1356 if (active_bookmark_bar_) {
1358 // If we're showing the Bookmark bar in detached style, then we need to show 1357 // If we're showing the Bookmark bar in detached style, then we need to show
1359 // any Info bar _above_ the Bookmark bar, since the Bookmark bar is styled 1358 // any Info bar _above_ the Bookmark bar, since the Bookmark bar is styled
1360 // to look like it's part of the page. 1359 // to look like it's part of the page.
1361 if (bookmark_bar_view_->IsDetachedStyle()) 1360 if (bookmark_bar_view_->IsDetachedStyle())
1362 return LayoutBookmarkBar(LayoutInfoBar(top)); 1361 return LayoutBookmarkBar(LayoutInfoBar(top));
1363 // Otherwise, Bookmark bar first, Info bar second. 1362 // Otherwise, Bookmark bar first, Info bar second.
1364 top = LayoutBookmarkBar(top); 1363 top = LayoutBookmarkBar(top);
1365 } 1364 }
1366 find_bar_y_ = top + y() - 1; 1365 find_bar_y_ = top + y() - 1;
1367 return LayoutInfoBar(top); 1366 return LayoutInfoBar(top);
1368 } 1367 }
1369 1368
1370 int BrowserView::LayoutBookmarkBar(int top) { 1369 int BrowserView::LayoutBookmarkBar(int top) {
1371 DCHECK(bookmark_bar_view_.get()); 1370 DCHECK(active_bookmark_bar_);
1372 bool visible = IsBookmarkBarVisible(); 1371 bool visible = IsBookmarkBarVisible();
1373 int height, y = top; 1372 int height, y = top;
1374 if (visible) { 1373 if (visible) {
1375 y -= kSeparationLineHeight + (bookmark_bar_view_->IsDetachedStyle() ? 1374 y -= kSeparationLineHeight + (bookmark_bar_view_->IsDetachedStyle() ?
1376 0 : bookmark_bar_view_->GetToolbarOverlap()); 1375 0 : bookmark_bar_view_->GetToolbarOverlap());
1377 height = bookmark_bar_view_->GetPreferredSize().height(); 1376 height = bookmark_bar_view_->GetPreferredSize().height();
1378 } else { 1377 } else {
1379 height = 0; 1378 height = 0;
1380 } 1379 }
1381 bookmark_bar_view_->SetVisible(visible); 1380 bookmark_bar_view_->SetVisible(visible);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1415 int overlap = kStatusBubbleOverlap + 1414 int overlap = kStatusBubbleOverlap +
1416 (IsMaximized() ? 0 : views::NonClientView::kClientEdgeThickness); 1415 (IsMaximized() ? 0 : views::NonClientView::kClientEdgeThickness);
1417 gfx::Point origin(-overlap, top - kStatusBubbleHeight + overlap); 1416 gfx::Point origin(-overlap, top - kStatusBubbleHeight + overlap);
1418 ConvertPointToView(this, GetParent(), &origin); 1417 ConvertPointToView(this, GetParent(), &origin);
1419 status_bubble_->SetBounds(origin.x(), origin.y(), width() / 3, 1418 status_bubble_->SetBounds(origin.x(), origin.y(), width() / 3,
1420 kStatusBubbleHeight); 1419 kStatusBubbleHeight);
1421 } 1420 }
1422 1421
1423 bool BrowserView::MaybeShowBookmarkBar(TabContents* contents) { 1422 bool BrowserView::MaybeShowBookmarkBar(TabContents* contents) {
1424 views::View* new_bookmark_bar_view = NULL; 1423 views::View* new_bookmark_bar_view = NULL;
1425 views::View* old_bookmark_bar_view = bookmark_bar_view_.get();
1426 if (SupportsWindowFeature(FEATURE_BOOKMARKBAR) && contents) { 1424 if (SupportsWindowFeature(FEATURE_BOOKMARKBAR) && contents) {
1427 if (!old_bookmark_bar_view) { 1425 if (!bookmark_bar_view_.get()) {
1428 bookmark_bar_view_.reset(new BookmarkBarView(contents->profile(), 1426 bookmark_bar_view_.reset(new BookmarkBarView(contents->profile(),
1429 browser_.get())); 1427 browser_.get()));
1430 bookmark_bar_view_->SetParentOwned(false); 1428 bookmark_bar_view_->SetParentOwned(false);
1431 } else { 1429 } else {
1432 bookmark_bar_view_->SetProfile(contents->profile()); 1430 bookmark_bar_view_->SetProfile(contents->profile());
1433 } 1431 }
1434 bookmark_bar_view_->SetPageNavigator(contents); 1432 bookmark_bar_view_->SetPageNavigator(contents);
1435 new_bookmark_bar_view = bookmark_bar_view_.get(); 1433 new_bookmark_bar_view = bookmark_bar_view_.get();
1436 } 1434 }
1437 is_removing_bookmark_bar_ = true; 1435 return UpdateChildViewAndLayout(new_bookmark_bar_view, &active_bookmark_bar_);
1438 bool result = UpdateChildViewAndLayout(new_bookmark_bar_view,
1439 &old_bookmark_bar_view);
1440 is_removing_bookmark_bar_ = false;
1441 return result;
1442 } 1436 }
1443 1437
1444 bool BrowserView::MaybeShowInfoBar(TabContents* contents) { 1438 bool BrowserView::MaybeShowInfoBar(TabContents* contents) {
1445 // TODO(beng): Remove this function once the interface between 1439 // TODO(beng): Remove this function once the interface between
1446 // InfoBarContainer, DownloadShelfView and TabContents and this 1440 // InfoBarContainer, DownloadShelfView and TabContents and this
1447 // view is sorted out. 1441 // view is sorted out.
1448 return true; 1442 return true;
1449 } 1443 }
1450 1444
1451 bool BrowserView::MaybeShowDownloadShelf(TabContents* contents) { 1445 bool BrowserView::MaybeShowDownloadShelf(TabContents* contents) {
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
1656 1650
1657 // static 1651 // static
1658 void BrowserView::InitClass() { 1652 void BrowserView::InitClass() {
1659 static bool initialized = false; 1653 static bool initialized = false;
1660 if (!initialized) { 1654 if (!initialized) {
1661 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 1655 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
1662 default_favicon_ = *rb.GetBitmapNamed(IDR_DEFAULT_FAVICON); 1656 default_favicon_ = *rb.GetBitmapNamed(IDR_DEFAULT_FAVICON);
1663 initialized = true; 1657 initialized = true;
1664 } 1658 }
1665 } 1659 }
OLDNEW
« no previous file with comments | « chrome/browser/views/frame/browser_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698