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

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

Issue 303033: Implements AeroPeek of Windows 7.. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 9 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') | chrome/chrome_browser.gypi » ('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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 #include "views/focus/view_storage.h" 74 #include "views/focus/view_storage.h"
75 #include "views/grid_layout.h" 75 #include "views/grid_layout.h"
76 #include "views/view.h" 76 #include "views/view.h"
77 #include "views/widget/root_view.h" 77 #include "views/widget/root_view.h"
78 #include "views/window/dialog_delegate.h" 78 #include "views/window/dialog_delegate.h"
79 #include "views/window/non_client_view.h" 79 #include "views/window/non_client_view.h"
80 #include "views/window/window.h" 80 #include "views/window/window.h"
81 81
82 #if defined(OS_WIN) 82 #if defined(OS_WIN)
83 #include "app/win_util.h" 83 #include "app/win_util.h"
84 #include "chrome/browser/aeropeek_manager.h"
84 #include "chrome/browser/jumplist.h" 85 #include "chrome/browser/jumplist.h"
85 #elif defined(OS_LINUX) 86 #elif defined(OS_LINUX)
86 #include "chrome/browser/views/accelerator_table_gtk.h" 87 #include "chrome/browser/views/accelerator_table_gtk.h"
87 #include "views/window/hit_test.h" 88 #include "views/window/hit_test.h"
88 #endif 89 #endif
89 90
90 using base::TimeDelta; 91 using base::TimeDelta;
91 using views::ColumnSet; 92 using views::ColumnSet;
92 using views::GridLayout; 93 using views::GridLayout;
93 94
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 last_focused_view_storage_id_( 420 last_focused_view_storage_id_(
420 views::ViewStorage::GetSharedInstance()->CreateStorageID()) { 421 views::ViewStorage::GetSharedInstance()->CreateStorageID()) {
421 InitClass(); 422 InitClass();
422 browser_->tabstrip_model()->AddObserver(this); 423 browser_->tabstrip_model()->AddObserver(this);
423 } 424 }
424 425
425 BrowserView::~BrowserView() { 426 BrowserView::~BrowserView() {
426 browser_->tabstrip_model()->RemoveObserver(this); 427 browser_->tabstrip_model()->RemoveObserver(this);
427 428
428 #if defined(OS_WIN) 429 #if defined(OS_WIN)
430 // Remove this observer.
431 if (aeropeek_manager_.get())
432 browser_->tabstrip_model()->RemoveObserver(aeropeek_manager_.get());
433
429 // Stop hung plugin monitoring. 434 // Stop hung plugin monitoring.
430 ticker_.Stop(); 435 ticker_.Stop();
431 ticker_.UnregisterTickHandler(&hung_window_detector_); 436 ticker_.UnregisterTickHandler(&hung_window_detector_);
432 #endif 437 #endif
433 438
434 // We destroy the download shelf before |browser_| to remove its child 439 // We destroy the download shelf before |browser_| to remove its child
435 // download views from the set of download observers (since the observed 440 // download views from the set of download observers (since the observed
436 // downloads can be destroyed along with |browser_| and the observer 441 // downloads can be destroyed along with |browser_| and the observer
437 // notifications will call back into deleted objects). 442 // notifications will call back into deleted objects).
438 download_shelf_.reset(); 443 download_shelf_.reset();
(...skipping 1125 matching lines...) Expand 10 before | Expand all | Expand 10 after
1564 std::string BrowserView::GetClassName() const { 1569 std::string BrowserView::GetClassName() const {
1565 return kViewClassName; 1570 return kViewClassName;
1566 } 1571 }
1567 1572
1568 void BrowserView::Layout() { 1573 void BrowserView::Layout() {
1569 if (ignore_layout_) 1574 if (ignore_layout_)
1570 return; 1575 return;
1571 if (GetLayoutManager()) { 1576 if (GetLayoutManager()) {
1572 GetLayoutManager()->Layout(this); 1577 GetLayoutManager()->Layout(this);
1573 SchedulePaint(); 1578 SchedulePaint();
1579 #if defined(OS_WIN)
1580 // Send the margins of the "user-perceived content area" of this
1581 // browser window so AeroPeekManager can render a background-tab image in
1582 // the area.
1583 if (aeropeek_manager_.get()) {
1584 gfx::Insets insets(GetFindBarBoundingBox().y() + 1,
1585 GetTabStripBounds().x(),
1586 GetTabStripBounds().x(),
1587 GetTabStripBounds().x());
1588 aeropeek_manager_->SetContentInsets(insets);
1589 }
1590 #endif
1574 } 1591 }
1575 } 1592 }
1576 1593
1577 void BrowserView::ViewHierarchyChanged(bool is_add, 1594 void BrowserView::ViewHierarchyChanged(bool is_add,
1578 views::View* parent, 1595 views::View* parent,
1579 views::View* child) { 1596 views::View* child) {
1580 if (is_add && child == this && GetWidget() && !initialized_) { 1597 if (is_add && child == this && GetWidget() && !initialized_) {
1581 Init(); 1598 Init();
1582 initialized_ = true; 1599 initialized_ = true;
1583 } 1600 }
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
1692 1709
1693 #if defined(OS_WIN) 1710 #if defined(OS_WIN)
1694 InitSystemMenu(); 1711 InitSystemMenu();
1695 1712
1696 // Create a custom JumpList and add it to an observer of TabRestoreService 1713 // Create a custom JumpList and add it to an observer of TabRestoreService
1697 // so we can update the custom JumpList when a tab is added or removed. 1714 // so we can update the custom JumpList when a tab is added or removed.
1698 if (JumpList::Enabled()) { 1715 if (JumpList::Enabled()) {
1699 jumplist_.reset(new JumpList); 1716 jumplist_.reset(new JumpList);
1700 jumplist_->AddObserver(browser_->profile()); 1717 jumplist_->AddObserver(browser_->profile());
1701 } 1718 }
1719
1720 if (AeroPeekManager::Enabled()) {
1721 gfx::Rect bounds(frame_->GetBoundsForTabStrip(tabstrip()));
1722 aeropeek_manager_.reset(new AeroPeekManager(
1723 frame_->GetWindow()->GetNativeWindow()));
1724 browser_->tabstrip_model()->AddObserver(aeropeek_manager_.get());
1725 }
1702 #endif 1726 #endif
1703 1727
1704 browser_extender_.reset(new BrowserExtender()); 1728 browser_extender_.reset(new BrowserExtender());
1705 } 1729 }
1706 1730
1707 #if defined(OS_WIN) 1731 #if defined(OS_WIN)
1708 void BrowserView::InitSystemMenu() { 1732 void BrowserView::InitSystemMenu() {
1709 system_menu_contents_.reset(new views::SystemMenuModel(this)); 1733 system_menu_contents_.reset(new views::SystemMenuModel(this));
1710 // We add the menu items in reverse order so that insertion_index never needs 1734 // We add the menu items in reverse order so that insertion_index never needs
1711 // to change. 1735 // to change.
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after
2130 BrowserView* view = new BrowserView(browser); 2154 BrowserView* view = new BrowserView(browser);
2131 BrowserFrame::Create(view, browser->profile()); 2155 BrowserFrame::Create(view, browser->profile());
2132 return view; 2156 return view;
2133 } 2157 }
2134 #endif 2158 #endif
2135 2159
2136 // static 2160 // static
2137 FindBar* BrowserWindow::CreateFindBar(Browser* browser) { 2161 FindBar* BrowserWindow::CreateFindBar(Browser* browser) {
2138 return browser::CreateFindBar(static_cast<BrowserView*>(browser->window())); 2162 return browser::CreateFindBar(static_cast<BrowserView*>(browser->window()));
2139 } 2163 }
OLDNEW
« no previous file with comments | « chrome/browser/views/frame/browser_view.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698