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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutBoxModelObject.h

Issue 2511893002: Paint solid color background into both scrolling contents layer and graphics layer. (Closed)
Patch Set: Add Mac rebaselines. Created 4 years 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 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2003, 2006, 2007, 2009 Apple Inc. All rights reserved. 4 * Copyright (C) 2003, 2006, 2007, 2009 Apple Inc. All rights reserved.
5 * Copyright (C) 2010 Google Inc. All rights reserved. 5 * Copyright (C) 2010 Google Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 29 matching lines...) Expand all
40 40
41 enum PaintLayerType { 41 enum PaintLayerType {
42 NoPaintLayer, 42 NoPaintLayer,
43 NormalPaintLayer, 43 NormalPaintLayer,
44 // A forced or overflow clip layer is required for bookkeeping purposes, 44 // A forced or overflow clip layer is required for bookkeeping purposes,
45 // but does not force a layer to be self painting. 45 // but does not force a layer to be self painting.
46 OverflowClipPaintLayer, 46 OverflowClipPaintLayer,
47 ForcedPaintLayer 47 ForcedPaintLayer
48 }; 48 };
49 49
50 enum : uint32_t {
51 BackgroundPaintInGraphicsLayer = 1 << 0,
52 BackgroundPaintInScrollingContents = 1 << 1
53 };
54 using BackgroundPaintLocation = uint32_t;
55
50 // Modes for some of the line-related functions. 56 // Modes for some of the line-related functions.
51 enum LinePositionMode { PositionOnContainingLine, PositionOfInteriorLineBoxes }; 57 enum LinePositionMode { PositionOnContainingLine, PositionOfInteriorLineBoxes };
52 enum LineDirectionMode { HorizontalLine, VerticalLine }; 58 enum LineDirectionMode { HorizontalLine, VerticalLine };
53 59
54 class InlineFlowBox; 60 class InlineFlowBox;
55 61
56 struct LayoutBoxModelObjectRareData { 62 struct LayoutBoxModelObjectRareData {
57 WTF_MAKE_NONCOPYABLE(LayoutBoxModelObjectRareData); 63 WTF_MAKE_NONCOPYABLE(LayoutBoxModelObjectRareData);
58 USING_FAST_MALLOC(LayoutBoxModelObjectRareData); 64 USING_FAST_MALLOC(LayoutBoxModelObjectRareData);
59 65
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 // border boxes. 190 // border boxes.
185 virtual IntRect borderBoundingBox() const = 0; 191 virtual IntRect borderBoundingBox() const = 0;
186 192
187 virtual LayoutRect visualOverflowRect() const = 0; 193 virtual LayoutRect visualOverflowRect() const = 0;
188 194
189 // Checks if this box, or any of it's descendants, or any of it's 195 // Checks if this box, or any of it's descendants, or any of it's
190 // continuations, will take up space in the layout of the page. 196 // continuations, will take up space in the layout of the page.
191 bool hasNonEmptyLayoutSize() const; 197 bool hasNonEmptyLayoutSize() const;
192 bool usesCompositedScrolling() const; 198 bool usesCompositedScrolling() const;
193 199
194 // Checks if all of the background's layers can be painted as locally 200 // Returns which layers backgrounds should be painted into for overflow
195 // attached. 201 // scrolling boxes.
196 bool hasLocalEquivalentBackground() const; 202 BackgroundPaintLocation backgroundPaintLocation() const;
197 203
198 // These return the CSS computed padding values. 204 // These return the CSS computed padding values.
199 LayoutUnit computedCSSPaddingTop() const { 205 LayoutUnit computedCSSPaddingTop() const {
200 return computedCSSPadding(style()->paddingTop()); 206 return computedCSSPadding(style()->paddingTop());
201 } 207 }
202 LayoutUnit computedCSSPaddingBottom() const { 208 LayoutUnit computedCSSPaddingBottom() const {
203 return computedCSSPadding(style()->paddingBottom()); 209 return computedCSSPadding(style()->paddingBottom());
204 } 210 }
205 LayoutUnit computedCSSPaddingLeft() const { 211 LayoutUnit computedCSSPaddingLeft() const {
206 return computedCSSPadding(style()->paddingLeft()); 212 return computedCSSPadding(style()->paddingLeft());
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
520 std::unique_ptr<PaintLayer> m_layer; 526 std::unique_ptr<PaintLayer> m_layer;
521 527
522 std::unique_ptr<LayoutBoxModelObjectRareData> m_rareData; 528 std::unique_ptr<LayoutBoxModelObjectRareData> m_rareData;
523 }; 529 };
524 530
525 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBoxModelObject, isBoxModelObject()); 531 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBoxModelObject, isBoxModelObject());
526 532
527 } // namespace blink 533 } // namespace blink
528 534
529 #endif // LayoutBoxModelObject_h 535 #endif // LayoutBoxModelObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698