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()); |