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

Unified Diff: chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc

Issue 8351042: Gets disable inactive frame rendering to work correctly for aura. This (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Tweaks Created 9 years, 2 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
Index: chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc
index b77b80ce952871982e8177029d253afab49ee61f..d989108f038af0923e00305905721e2ae4c53fd8 100644
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_aura.cc
@@ -259,7 +259,8 @@ int BrowserNonClientFrameViewAura::NonClientHitTestImpl(
// OnWidgetActivationChanged() to be called before GetWidget()->IsActive()
// changes state.
gfx::Rect BrowserNonClientFrameViewAura::GetFrameBackgroundBounds(
- int hittest_code, bool active_window) {
+ int hittest_code,
+ bool active_window) {
bool show_left = false;
bool show_top = false;
bool show_right = false;
@@ -320,6 +321,18 @@ void BrowserNonClientFrameViewAura::UpdateFrameBackground(bool active_window) {
frame_background_->Configure(start_bounds, end_bounds);
}
+void BrowserNonClientFrameViewAura::ActiveStateChanged() {
+ bool active = ShouldPaintAsActive();
+ // Active windows have different background bounds.
+ UpdateFrameBackground(active);
+ if (active)
+ frame_background_->Show();
+ else
+ frame_background_->Hide();
+ maximize_button_->SetVisible(active);
+ close_button_->SetVisible(active);
+}
+
///////////////////////////////////////////////////////////////////////////////
// BrowserNonClientFrameView overrides:
@@ -397,6 +410,10 @@ void BrowserNonClientFrameViewAura::UpdateWindowIcon() {
// TODO(jamescook): We will need this for app frames.
}
+void BrowserNonClientFrameViewAura::ShouldPaintAsActiveChanged() {
+ ActiveStateChanged();
+}
+
///////////////////////////////////////////////////////////////////////////////
// views::View overrides:
@@ -410,7 +427,7 @@ void BrowserNonClientFrameViewAura::Layout() {
preferred = maximize_button_->GetPreferredSize();
maximize_button_->SetBounds(right - preferred.width(), kTopBorderThickness,
preferred.width(), preferred.height());
- UpdateFrameBackground(GetWidget()->IsActive());
+ UpdateFrameBackground(ShouldPaintAsActive());
}
views::View* BrowserNonClientFrameViewAura::GetEventHandlerForPoint(
@@ -456,7 +473,7 @@ bool BrowserNonClientFrameViewAura::HitTest(const gfx::Point& p) const {
void BrowserNonClientFrameViewAura::OnMouseMoved(
const views::MouseEvent& event) {
// We may be hovering over the resize edge.
- UpdateFrameBackground(GetWidget()->IsActive());
+ UpdateFrameBackground(ShouldPaintAsActive());
frame_background_->Show();
}
@@ -515,16 +532,10 @@ void BrowserNonClientFrameViewAura::ButtonPressed(views::Button* sender,
}
///////////////////////////////////////////////////////////////////////////////
-// views::ButtonListener overrides:
+// views::Widget::Observer overrides:
void BrowserNonClientFrameViewAura::OnWidgetActivationChanged(
- views::Widget* widget, bool active) {
- // Active windows have different background bounds.
- UpdateFrameBackground(active);
- if (active)
- frame_background_->Show();
- else
- frame_background_->Hide();
- maximize_button_->SetVisible(active);
- close_button_->SetVisible(active);
+ views::Widget* widget,
+ bool active) {
+ ActiveStateChanged();
}

Powered by Google App Engine
This is Rietveld 408576698