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

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

Issue 396006: Revert 32012-32017 (Closed)
Patch Set: Created 11 years, 1 month 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
« no previous file with comments | « chrome/browser/views/frame/browser_view.h ('k') | chrome/browser/views/toolbar_view.h » ('j') | 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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/views/frame/browser_view.h" 5 #include "chrome/browser/views/frame/browser_view.h"
6 6
7 #if defined(OS_LINUX) 7 #if defined(OS_LINUX)
8 #include <gtk/gtk.h> 8 #include <gtk/gtk.h>
9 #endif 9 #endif
10 10
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 static const int kWindowBorderWidth = 5; 118 static const int kWindowBorderWidth = 5;
119 119
120 // If not -1, windows are shown with this state. 120 // If not -1, windows are shown with this state.
121 static int explicit_show_state = -1; 121 static int explicit_show_state = -1;
122 122
123 // How round the 'new tab' style bookmarks bar is. 123 // How round the 'new tab' style bookmarks bar is.
124 static const int kNewtabBarRoundness = 5; 124 static const int kNewtabBarRoundness = 5;
125 // ------------ 125 // ------------
126 126
127 // Returned from BrowserView::GetClassName. 127 // Returned from BrowserView::GetClassName.
128 const char BrowserView::kViewClassName[] = "browser/views/BrowserView"; 128 static const char kBrowserViewClassName[] = "browser/views/BrowserView";
129 129
130 /////////////////////////////////////////////////////////////////////////////// 130 ///////////////////////////////////////////////////////////////////////////////
131 // BookmarkExtensionBackground, private: 131 // BookmarkExtensionBackground, private:
132 // This object serves as the views::Background object which is used to layout 132 // This object serves as the views::Background object which is used to layout
133 // and paint the bookmark bar. 133 // and paint the bookmark bar.
134 class BookmarkExtensionBackground : public views::Background { 134 class BookmarkExtensionBackground : public views::Background {
135 public: 135 public:
136 explicit BookmarkExtensionBackground(BrowserView* browser_view, 136 explicit BookmarkExtensionBackground(BrowserView* browser_view,
137 DetachableToolbarView* host_view, 137 DetachableToolbarView* host_view,
138 Browser* browser); 138 Browser* browser);
(...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after
650 } 650 }
651 return otr_avatar_; 651 return otr_avatar_;
652 } 652 }
653 653
654 #if defined(OS_WIN) 654 #if defined(OS_WIN)
655 void BrowserView::PrepareToRunSystemMenu(HMENU menu) { 655 void BrowserView::PrepareToRunSystemMenu(HMENU menu) {
656 system_menu_->UpdateStates(); 656 system_menu_->UpdateStates();
657 } 657 }
658 #endif 658 #endif
659 659
660 void BrowserView::TraverseNextAccessibleToolbar(bool forward) {
661 // TODO(mohamed) This needs to be smart, that applies to all toolbars.
662 // Currently it just traverses between bookmarks and toolbar.
663 if (!forward && toolbar_->IsVisible() && toolbar_->IsEnabled()) {
664 toolbar_->InitiateTraversal();
665 } else if (forward && bookmark_bar_view_->IsVisible() &&
666 bookmark_bar_view_->IsEnabled()) {
667 bookmark_bar_view_->InitiateTraversal();
668 }
669 }
670
671 // static 660 // static
672 void BrowserView::RegisterBrowserViewPrefs(PrefService* prefs) { 661 void BrowserView::RegisterBrowserViewPrefs(PrefService* prefs) {
673 prefs->RegisterIntegerPref(prefs::kPluginMessageResponseTimeout, 662 prefs->RegisterIntegerPref(prefs::kPluginMessageResponseTimeout,
674 kDefaultPluginMessageResponseTimeout); 663 kDefaultPluginMessageResponseTimeout);
675 prefs->RegisterIntegerPref(prefs::kHungPluginDetectFrequency, 664 prefs->RegisterIntegerPref(prefs::kHungPluginDetectFrequency,
676 kDefaultHungPluginDetectFrequency); 665 kDefaultHungPluginDetectFrequency);
677 } 666 }
678 667
679 void BrowserView::AttachBrowserBubble(BrowserBubble* bubble) { 668 void BrowserView::AttachBrowserBubble(BrowserBubble* bubble) {
680 browser_bubbles_.insert(bubble); 669 browser_bubbles_.insert(bubble);
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 toolbar_->go_button()->ChangeMode( 952 toolbar_->go_button()->ChangeMode(
964 is_loading ? GoButton::MODE_STOP : GoButton::MODE_GO, force); 953 is_loading ? GoButton::MODE_STOP : GoButton::MODE_GO, force);
965 } 954 }
966 955
967 void BrowserView::UpdateToolbar(TabContents* contents, 956 void BrowserView::UpdateToolbar(TabContents* contents,
968 bool should_restore_state) { 957 bool should_restore_state) {
969 toolbar_->Update(contents, should_restore_state); 958 toolbar_->Update(contents, should_restore_state);
970 } 959 }
971 960
972 void BrowserView::FocusToolbar() { 961 void BrowserView::FocusToolbar() {
973 toolbar_->InitiateTraversal(); 962 toolbar_->InitializeTraversal();
974 } 963 }
975 964
976 void BrowserView::DestroyBrowser() { 965 void BrowserView::DestroyBrowser() {
977 // Explicitly delete the BookmarkBarView now. That way we don't have to 966 // Explicitly delete the BookmarkBarView now. That way we don't have to
978 // worry about the BookmarkBarView potentially outliving the Browser & 967 // worry about the BookmarkBarView potentially outliving the Browser &
979 // Profile. 968 // Profile.
980 bookmark_bar_view_.reset(); 969 bookmark_bar_view_.reset();
981 browser_.reset(); 970 browser_.reset();
982 } 971 }
983 972
(...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after
1558 } 1547 }
1559 #endif 1548 #endif
1560 } 1549 }
1561 1550
1562 gfx::Point point_in_browser_view_coords(point); 1551 gfx::Point point_in_browser_view_coords(point);
1563 View::ConvertPointToView(GetParent(), this, &point_in_browser_view_coords); 1552 View::ConvertPointToView(GetParent(), this, &point_in_browser_view_coords);
1564 1553
1565 // Determine if the TabStrip exists and is capable of being clicked on. We 1554 // Determine if the TabStrip exists and is capable of being clicked on. We
1566 // might be a popup window without a TabStrip. 1555 // might be a popup window without a TabStrip.
1567 if (IsTabStripVisible()) { 1556 if (IsTabStripVisible()) {
1557
1568 // See if the mouse pointer is within the bounds of the TabStrip. 1558 // See if the mouse pointer is within the bounds of the TabStrip.
1569 gfx::Point point_in_tabstrip_coords(point); 1559 gfx::Point point_in_tabstrip_coords(point);
1570 View::ConvertPointToView(GetParent(), tabstrip_->GetView(), 1560 View::ConvertPointToView(GetParent(), tabstrip_->GetView(),
1571 &point_in_tabstrip_coords); 1561 &point_in_tabstrip_coords);
1572 if (tabstrip_->GetView()->HitTest(point_in_tabstrip_coords)) { 1562 if (tabstrip_->GetView()->HitTest(point_in_tabstrip_coords)) {
1573 if (tabstrip_->IsPositionInWindowCaption(point_in_tabstrip_coords)) 1563 if (tabstrip_->IsPositionInWindowCaption(point_in_tabstrip_coords))
1574 return HTCAPTION; 1564 return HTCAPTION;
1575 return HTCLIENT; 1565 return HTCLIENT;
1576 } 1566 }
1577 1567
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1645 int widths[] = { tabstrip_size.width(), toolbar_size.width(), 1635 int widths[] = { tabstrip_size.width(), toolbar_size.width(),
1646 bookmark_bar_size.width(), contents_size.width() }; 1636 bookmark_bar_size.width(), contents_size.width() };
1647 int min_width = *std::max_element(&widths[0], &widths[arraysize(widths)]); 1637 int min_width = *std::max_element(&widths[0], &widths[arraysize(widths)]);
1648 return gfx::Size(min_width, min_height); 1638 return gfx::Size(min_width, min_height);
1649 } 1639 }
1650 1640
1651 /////////////////////////////////////////////////////////////////////////////// 1641 ///////////////////////////////////////////////////////////////////////////////
1652 // BrowserView, views::View overrides: 1642 // BrowserView, views::View overrides:
1653 1643
1654 std::string BrowserView::GetClassName() const { 1644 std::string BrowserView::GetClassName() const {
1655 return kViewClassName; 1645 return kBrowserViewClassName;
1656 } 1646 }
1657 1647
1658 void BrowserView::Layout() { 1648 void BrowserView::Layout() {
1659 if (ignore_layout_) 1649 if (ignore_layout_)
1660 return; 1650 return;
1661 1651
1662 int top = LayoutTabStrip(); 1652 int top = LayoutTabStrip();
1663 top = LayoutToolbar(top); 1653 top = LayoutToolbar(top);
1664 top = LayoutBookmarkAndInfoBars(top); 1654 top = LayoutBookmarkAndInfoBars(top);
1665 int bottom = LayoutExtensionAndDownloadShelves(); 1655 int bottom = LayoutExtensionAndDownloadShelves();
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after
2079 } 2069 }
2080 bool changed = false; 2070 bool changed = false;
2081 if (new_height != current_height) { 2071 if (new_height != current_height) {
2082 changed = true; 2072 changed = true;
2083 } else if (new_view && *old_view) { 2073 } else if (new_view && *old_view) {
2084 // The view changed, but the new view wants the same size, give it the 2074 // The view changed, but the new view wants the same size, give it the
2085 // bounds of the last view and have it repaint. 2075 // bounds of the last view and have it repaint.
2086 new_view->SetBounds((*old_view)->bounds()); 2076 new_view->SetBounds((*old_view)->bounds());
2087 new_view->SchedulePaint(); 2077 new_view->SchedulePaint();
2088 } else if (new_view) { 2078 } else if (new_view) {
2089 DCHECK_EQ(0, new_height); 2079 DCHECK(new_height == 0);
2090 // The heights are the same, but the old view is null. This only happens 2080 // The heights are the same, but the old view is null. This only happens
2091 // when the height is zero. Zero out the bounds. 2081 // when the height is zero. Zero out the bounds.
2092 new_view->SetBounds(0, 0, 0, 0); 2082 new_view->SetBounds(0, 0, 0, 0);
2093 } 2083 }
2094 *old_view = new_view; 2084 *old_view = new_view;
2095 return changed; 2085 return changed;
2096 } 2086 }
2097 2087
2098 void BrowserView::LoadAccelerators() { 2088 void BrowserView::LoadAccelerators() {
2099 #if defined(OS_WIN) 2089 #if defined(OS_WIN)
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
2292 2282
2293 // static 2283 // static
2294 FindBar* BrowserWindow::CreateFindBar(Browser* browser) { 2284 FindBar* BrowserWindow::CreateFindBar(Browser* browser) {
2295 return browser::CreateFindBar(static_cast<BrowserView*>(browser->window())); 2285 return browser::CreateFindBar(static_cast<BrowserView*>(browser->window()));
2296 } 2286 }
2297 2287
2298 // static 2288 // static
2299 void BrowserList::AllBrowsersClosed() { 2289 void BrowserList::AllBrowsersClosed() {
2300 views::Window::CloseAllSecondaryWindows(); 2290 views::Window::CloseAllSecondaryWindows();
2301 } 2291 }
OLDNEW
« no previous file with comments | « chrome/browser/views/frame/browser_view.h ('k') | chrome/browser/views/toolbar_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698