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

Side by Side Diff: sky/engine/core/rendering/RenderView.cpp

Issue 899753003: Walk render tree instead of render layers for paint. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 10 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 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed. 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv ed.
4 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version. 8 * version 2 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 184
185 void RenderView::mapAbsoluteToLocalPoint(MapCoordinatesFlags mode, TransformStat e& transformState) const 185 void RenderView::mapAbsoluteToLocalPoint(MapCoordinatesFlags mode, TransformStat e& transformState) const
186 { 186 {
187 if (mode & UseTransforms && shouldUseTransformFromContainer(0)) { 187 if (mode & UseTransforms && shouldUseTransformFromContainer(0)) {
188 TransformationMatrix t; 188 TransformationMatrix t;
189 getTransformFromContainer(0, LayoutSize(), t); 189 getTransformFromContainer(0, LayoutSize(), t);
190 transformState.applyTransform(t); 190 transformState.applyTransform(t);
191 } 191 }
192 } 192 }
193 193
194 void RenderView::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset) 194 void RenderView::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset, Vec tor<RenderBox*>& layers)
195 { 195 {
196 // If we ever require layout but receive a paint anyway, something has gone horribly wrong. 196 // If we ever require layout but receive a paint anyway, something has gone horribly wrong.
197 ASSERT(!needsLayout()); 197 ASSERT(!needsLayout());
198 // RenderViews should never be called to paint with an offset not on device pixels. 198 // RenderViews should never be called to paint with an offset not on device pixels.
199 ASSERT(LayoutPoint(IntPoint(paintOffset.x(), paintOffset.y())) == paintOffse t); 199 ASSERT(LayoutPoint(IntPoint(paintOffset.x(), paintOffset.y())) == paintOffse t);
200 200
201 // This avoids painting garbage between columns if there is a column gap. 201 // This avoids painting garbage between columns if there is a column gap.
202 if (m_frameView && style()->isOverflowPaged()) 202 if (m_frameView && style()->isOverflowPaged())
203 paintInfo.context->fillRect(paintInfo.rect, m_frameView->baseBackgroundC olor()); 203 paintInfo.context->fillRect(paintInfo.rect, m_frameView->baseBackgroundC olor());
204 204
205 paintObject(paintInfo, paintOffset); 205 paintObject(paintInfo, paintOffset, layers);
206 } 206 }
207 207
208 static inline bool rendererObscuresBackground(RenderBox* rootBox) 208 static inline bool rendererObscuresBackground(RenderBox* rootBox)
209 { 209 {
210 ASSERT(rootBox); 210 ASSERT(rootBox);
211 RenderStyle* style = rootBox->style(); 211 RenderStyle* style = rootBox->style();
212 if (style->opacity() != 1 212 if (style->opacity() != 1
213 || style->hasFilter() 213 || style->hasFilter()
214 || style->hasTransform()) 214 || style->hasTransform())
215 return false; 215 return false;
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 m_iframes.remove(iframe); 467 m_iframes.remove(iframe);
468 } 468 }
469 469
470 void RenderView::updateIFramesAfterLayout() 470 void RenderView::updateIFramesAfterLayout()
471 { 471 {
472 for (auto& iframe: m_iframes) 472 for (auto& iframe: m_iframes)
473 iframe->updateWidgetBounds(); 473 iframe->updateWidgetBounds();
474 } 474 }
475 475
476 } // namespace blink 476 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698