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

Side by Side Diff: chrome/browser/ui/views/frame/top_container_view.cc

Issue 1053143002: Make View::Paint use ui::PaintRecorder to access PaintContext's canvas (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: paintrecorder: . Created 5 years, 8 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/ui/views/frame/top_container_view.h" 5 #include "chrome/browser/ui/views/frame/top_container_view.h"
6 6
7 #include "chrome/browser/ui/views/frame/browser_frame.h" 7 #include "chrome/browser/ui/views/frame/browser_frame.h"
8 #include "chrome/browser/ui/views/frame/browser_view.h" 8 #include "chrome/browser/ui/views/frame/browser_view.h"
9 #include "chrome/browser/ui/views/frame/immersive_mode_controller.h" 9 #include "chrome/browser/ui/views/frame/immersive_mode_controller.h"
10 #include "ui/compositor/paint_context.h"
10 11
11 TopContainerView::TopContainerView(BrowserView* browser_view) 12 TopContainerView::TopContainerView(BrowserView* browser_view)
12 : browser_view_(browser_view) { 13 : browser_view_(browser_view) {
13 } 14 }
14 15
15 TopContainerView::~TopContainerView() { 16 TopContainerView::~TopContainerView() {
16 } 17 }
17 18
18 const char* TopContainerView::GetClassName() const { 19 const char* TopContainerView::GetClassName() const {
19 return "TopContainerView"; 20 return "TopContainerView";
20 } 21 }
21 22
22 void TopContainerView::PaintChildren(const PaintContext& context) { 23 void TopContainerView::PaintChildren(const ui::PaintContext& context) {
23 if (browser_view_->immersive_mode_controller()->IsRevealed()) { 24 if (browser_view_->immersive_mode_controller()->IsRevealed()) {
24 // Top-views depend on parts of the frame (themes, window title, 25 // Top-views depend on parts of the frame (themes, window title,
25 // window controls) being painted underneath them. Clip rect has already 26 // window controls) being painted underneath them. Clip rect has already
26 // been set to the bounds of this view, so just paint the frame. 27 // been set to the bounds of this view, so just paint the frame.
27 views::View* frame = browser_view_->frame()->GetFrameView(); 28 views::View* frame = browser_view_->frame()->GetFrameView();
28 // Use a clone without invalidation info, as we're painting something 29 // Use a clone without invalidation info, as we're painting something
29 // outside of the normal parent-child relationship, so invalidations are 30 // outside of the normal parent-child relationship, so invalidations are
30 // no longer in the correct space to compare. 31 // no longer in the correct space to compare.
31 frame->Paint(context.CloneWithoutInvalidation()); 32 frame->Paint(context.CloneWithoutInvalidation());
32 } 33 }
33 View::PaintChildren(context); 34 View::PaintChildren(context);
34 } 35 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698