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

Unified 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/views/frame/browser_view.h ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/views/frame/browser_view.cc
===================================================================
--- chrome/browser/views/frame/browser_view.cc (revision 40972)
+++ chrome/browser/views/frame/browser_view.cc (working copy)
@@ -81,6 +81,7 @@
#if defined(OS_WIN)
#include "app/win_util.h"
+#include "chrome/browser/aeropeek_manager.h"
#include "chrome/browser/jumplist.h"
#elif defined(OS_LINUX)
#include "chrome/browser/views/accelerator_table_gtk.h"
@@ -426,6 +427,10 @@
browser_->tabstrip_model()->RemoveObserver(this);
#if defined(OS_WIN)
+ // Remove this observer.
+ if (aeropeek_manager_.get())
+ browser_->tabstrip_model()->RemoveObserver(aeropeek_manager_.get());
+
// Stop hung plugin monitoring.
ticker_.Stop();
ticker_.UnregisterTickHandler(&hung_window_detector_);
@@ -1571,6 +1576,18 @@
if (GetLayoutManager()) {
GetLayoutManager()->Layout(this);
SchedulePaint();
+#if defined(OS_WIN)
+ // Send the margins of the "user-perceived content area" of this
+ // browser window so AeroPeekManager can render a background-tab image in
+ // the area.
+ if (aeropeek_manager_.get()) {
+ gfx::Insets insets(GetFindBarBoundingBox().y() + 1,
+ GetTabStripBounds().x(),
+ GetTabStripBounds().x(),
+ GetTabStripBounds().x());
+ aeropeek_manager_->SetContentInsets(insets);
+ }
+#endif
}
}
@@ -1699,6 +1716,13 @@
jumplist_.reset(new JumpList);
jumplist_->AddObserver(browser_->profile());
}
+
+ if (AeroPeekManager::Enabled()) {
+ gfx::Rect bounds(frame_->GetBoundsForTabStrip(tabstrip()));
+ aeropeek_manager_.reset(new AeroPeekManager(
+ frame_->GetWindow()->GetNativeWindow()));
+ browser_->tabstrip_model()->AddObserver(aeropeek_manager_.get());
+ }
#endif
browser_extender_.reset(new BrowserExtender());
« 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