| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2013 Intel Corporation. All rights reserved. | 3 * Copyright (C) 2013 Intel Corporation. All rights reserved. |
| 4 * | 4 * |
| 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
| 6 * | 6 * |
| 7 * Other contributors: | 7 * Other contributors: |
| 8 * Robert O'Callahan <roc+@cs.cmu.edu> | 8 * Robert O'Callahan <roc+@cs.cmu.edu> |
| 9 * David Baron <dbaron@fas.harvard.edu> | 9 * David Baron <dbaron@fas.harvard.edu> |
| 10 * Christian Biesinger <cbiesinger@web.de> | 10 * Christian Biesinger <cbiesinger@web.de> |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 | 208 |
| 209 bool canUseConvertToLayerCoords() const | 209 bool canUseConvertToLayerCoords() const |
| 210 { | 210 { |
| 211 // These RenderObjects have an impact on their layers without the render
ers knowing about it. | 211 // These RenderObjects have an impact on their layers without the render
ers knowing about it. |
| 212 return !renderer()->hasColumns() && !renderer()->hasTransformRelatedProp
erty() && !renderer()->isSVGRoot(); | 212 return !renderer()->hasColumns() && !renderer()->hasTransformRelatedProp
erty() && !renderer()->isSVGRoot(); |
| 213 } | 213 } |
| 214 | 214 |
| 215 void convertToLayerCoords(const RenderLayer* ancestorLayer, LayoutPoint&) co
nst; | 215 void convertToLayerCoords(const RenderLayer* ancestorLayer, LayoutPoint&) co
nst; |
| 216 void convertToLayerCoords(const RenderLayer* ancestorLayer, LayoutRect&) con
st; | 216 void convertToLayerCoords(const RenderLayer* ancestorLayer, LayoutRect&) con
st; |
| 217 | 217 |
| 218 // Does the same as convertToLayerCoords() when not in multicol. For multico
l, however, |
| 219 // convertToLayerCoords() calculates the offset in flow-thread coordinates (
what the layout |
| 220 // engine uses internally), while this method calculates the visual coordina
tes; i.e. it figures |
| 221 // out which column the layer starts in and adds in the offset. See |
| 222 // http://www.chromium.org/developers/design-documents/multi-column-layout f
or more info. |
| 218 LayoutPoint visualOffsetFromAncestor(const RenderLayer* ancestorLayer) const
; | 223 LayoutPoint visualOffsetFromAncestor(const RenderLayer* ancestorLayer) const
; |
| 219 | 224 |
| 220 // The hitTest() method looks for mouse events by walking layers that inters
ect the point from front to back. | 225 // The hitTest() method looks for mouse events by walking layers that inters
ect the point from front to back. |
| 221 bool hitTest(const HitTestRequest&, HitTestResult&); | 226 bool hitTest(const HitTestRequest&, HitTestResult&); |
| 222 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&); | 227 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&); |
| 223 | 228 |
| 224 // Pass offsetFromRoot if known. | 229 // Pass offsetFromRoot if known. |
| 225 bool intersectsDamageRect(const LayoutRect& layerBounds, const LayoutRect& d
amageRect, const RenderLayer* rootLayer, const LayoutPoint* offsetFromRoot = 0)
const; | 230 bool intersectsDamageRect(const LayoutRect& layerBounds, const LayoutRect& d
amageRect, const RenderLayer* rootLayer, const LayoutPoint* offsetFromRoot = 0)
const; |
| 226 | 231 |
| 227 // Bounding box relative to some ancestor layer. Pass offsetFromRoot if know
n. | 232 // Bounding box relative to some ancestor layer. Pass offsetFromRoot if know
n. |
| (...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 669 // The layer's width/height | 674 // The layer's width/height |
| 670 IntSize m_size; | 675 IntSize m_size; |
| 671 | 676 |
| 672 // Cached normal flow values for absolute positioned elements with static le
ft/top values. | 677 // Cached normal flow values for absolute positioned elements with static le
ft/top values. |
| 673 LayoutUnit m_staticInlinePosition; | 678 LayoutUnit m_staticInlinePosition; |
| 674 LayoutUnit m_staticBlockPosition; | 679 LayoutUnit m_staticBlockPosition; |
| 675 | 680 |
| 676 OwnPtr<TransformationMatrix> m_transform; | 681 OwnPtr<TransformationMatrix> m_transform; |
| 677 | 682 |
| 678 // Pointer to the enclosing RenderLayer that caused us to be paginated. It i
s 0 if we are not paginated. | 683 // Pointer to the enclosing RenderLayer that caused us to be paginated. It i
s 0 if we are not paginated. |
| 684 // |
| 685 // See RenderMultiColumnFlowThread and |
| 686 // https://sites.google.com/a/chromium.org/dev/developers/design-documents/m
ulti-column-layout |
| 687 // for more information about the multicol implementation. It's important to
understand the |
| 688 // difference between flow thread coordinates and visual coordinates when wo
rking with multicol |
| 689 // in RenderLayer, since RenderLayer is one of the few places where we have
to worry about the |
| 690 // visual ones. Internally we try to use flow-thread coordinates whenever po
ssible. |
| 679 RenderLayer* m_enclosingPaginationLayer; | 691 RenderLayer* m_enclosingPaginationLayer; |
| 680 | 692 |
| 681 // These compositing reasons are updated whenever style changes, not while u
pdating compositing layers. | 693 // These compositing reasons are updated whenever style changes, not while u
pdating compositing layers. |
| 682 // They should not be used to infer the compositing state of this layer. | 694 // They should not be used to infer the compositing state of this layer. |
| 683 CompositingReasons m_potentialCompositingReasonsFromStyle; | 695 CompositingReasons m_potentialCompositingReasonsFromStyle; |
| 684 | 696 |
| 685 // Once computed, indicates all that a layer needs to become composited usin
g the CompositingReasons enum bitfield. | 697 // Once computed, indicates all that a layer needs to become composited usin
g the CompositingReasons enum bitfield. |
| 686 CompositingReasons m_compositingReasons; | 698 CompositingReasons m_compositingReasons; |
| 687 | 699 |
| 688 DescendantDependentCompositingInputs m_descendantDependentCompositingInputs; | 700 DescendantDependentCompositingInputs m_descendantDependentCompositingInputs; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 704 | 716 |
| 705 } // namespace blink | 717 } // namespace blink |
| 706 | 718 |
| 707 #ifndef NDEBUG | 719 #ifndef NDEBUG |
| 708 // Outside the WebCore namespace for ease of invocation from gdb. | 720 // Outside the WebCore namespace for ease of invocation from gdb. |
| 709 void showLayerTree(const blink::RenderLayer*); | 721 void showLayerTree(const blink::RenderLayer*); |
| 710 void showLayerTree(const blink::RenderObject*); | 722 void showLayerTree(const blink::RenderObject*); |
| 711 #endif | 723 #endif |
| 712 | 724 |
| 713 #endif // RenderLayer_h | 725 #endif // RenderLayer_h |
| OLD | NEW |