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

Unified Diff: sky/engine/core/rendering/RenderBox.h

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 side-by-side diff with in-line comments
Download patch
Index: sky/engine/core/rendering/RenderBox.h
diff --git a/sky/engine/core/rendering/RenderBox.h b/sky/engine/core/rendering/RenderBox.h
index 36efd23adf859665725ab9e0ffd68ad778c5b64f..3d71e3e97342c11c7f4c5ed2d3232ed5d6a37dc6 100644
--- a/sky/engine/core/rendering/RenderBox.h
+++ b/sky/engine/core/rendering/RenderBox.h
@@ -28,6 +28,7 @@
namespace blink {
+struct LayerPaintingInfo;
struct PaintInfo;
class RenderBlockFlow;
@@ -267,8 +268,10 @@ public:
virtual void absoluteQuads(Vector<FloatQuad>&) const override;
+ void paintLayer(GraphicsContext* context, RenderLayer* rootLayer, const IntRect& rect);
+
virtual void layout() override;
- virtual void paint(PaintInfo&, const LayoutPoint&) override;
+ virtual void paint(PaintInfo&, const LayoutPoint&, Vector<RenderBox*>& layers) override;
virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) override;
virtual LayoutUnit minPreferredLogicalWidth() const override;
@@ -379,7 +382,6 @@ public:
bool pushContentsClip(PaintInfo&, const LayoutPoint& accumulatedOffset, ContentsClipBehavior);
void popContentsClip(PaintInfo&, const LayoutPoint& accumulatedOffset);
- virtual void paintObject(PaintInfo&, const LayoutPoint&) { ASSERT_NOT_REACHED(); }
virtual void paintBoxDecorationBackground(PaintInfo&, const LayoutPoint&);
// Called when a positioned object moves but doesn't necessarily change size. A simplified layout is attempted
@@ -465,6 +467,8 @@ protected:
void updateIntrinsicContentLogicalHeight(LayoutUnit intrinsicContentLogicalHeight) const { m_intrinsicContentLogicalHeight = intrinsicContentLogicalHeight; }
private:
+ void paintLayerContents(GraphicsContext* context, const LayerPaintingInfo& paintingInfo, const IntRect& rect);
+
void shrinkToFitWidth(const LayoutUnit availableSpace, const LayoutUnit logicalLeftValue, const LayoutUnit bordersPlusPadding, LogicalExtentComputedValues&) const;
bool skipContainingBlockForPercentHeightCalculation(const RenderBox* containingBlock) const;

Powered by Google App Engine
This is Rietveld 408576698