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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 #ifndef Layer_h | 45 #ifndef Layer_h |
46 #define Layer_h | 46 #define Layer_h |
47 | 47 |
48 #include "core/layout/LayerClipper.h" | 48 #include "core/layout/LayerClipper.h" |
49 #include "core/layout/LayerFilterInfo.h" | 49 #include "core/layout/LayerFilterInfo.h" |
50 #include "core/layout/LayerFragment.h" | 50 #include "core/layout/LayerFragment.h" |
51 #include "core/layout/LayerReflectionInfo.h" | 51 #include "core/layout/LayerReflectionInfo.h" |
52 #include "core/layout/LayerScrollableArea.h" | 52 #include "core/layout/LayerScrollableArea.h" |
53 #include "core/layout/LayerStackingNode.h" | 53 #include "core/layout/LayerStackingNode.h" |
54 #include "core/layout/LayerStackingNodeIterator.h" | 54 #include "core/layout/LayerStackingNodeIterator.h" |
55 #include "core/rendering/RenderBox.h" | 55 #include "core/layout/LayoutBox.h" |
56 #include "platform/graphics/CompositingReasons.h" | 56 #include "platform/graphics/CompositingReasons.h" |
57 #include "public/platform/WebBlendMode.h" | 57 #include "public/platform/WebBlendMode.h" |
58 #include "wtf/OwnPtr.h" | 58 #include "wtf/OwnPtr.h" |
59 | 59 |
60 namespace blink { | 60 namespace blink { |
61 | 61 |
62 class FilterEffectRenderer; | 62 class FilterEffectRenderer; |
63 class FilterOperations; | 63 class FilterOperations; |
64 class HitTestRequest; | 64 class HitTestRequest; |
65 class HitTestResult; | 65 class HitTestResult; |
(...skipping 21 matching lines...) Expand all Loading... |
87 | 87 |
88 class Layer { | 88 class Layer { |
89 WTF_MAKE_NONCOPYABLE(Layer); | 89 WTF_MAKE_NONCOPYABLE(Layer); |
90 public: | 90 public: |
91 Layer(LayoutBoxModelObject*, LayerType); | 91 Layer(LayoutBoxModelObject*, LayerType); |
92 ~Layer(); | 92 ~Layer(); |
93 | 93 |
94 String debugName() const; | 94 String debugName() const; |
95 | 95 |
96 LayoutBoxModelObject* renderer() const { return m_renderer; } | 96 LayoutBoxModelObject* renderer() const { return m_renderer; } |
97 RenderBox* renderBox() const { return m_renderer && m_renderer->isBox() ? to
RenderBox(m_renderer) : 0; } | 97 LayoutBox* layoutBox() const { return m_renderer && m_renderer->isBox() ? to
LayoutBox(m_renderer) : 0; } |
98 Layer* parent() const { return m_parent; } | 98 Layer* parent() const { return m_parent; } |
99 Layer* previousSibling() const { return m_previous; } | 99 Layer* previousSibling() const { return m_previous; } |
100 Layer* nextSibling() const { return m_next; } | 100 Layer* nextSibling() const { return m_next; } |
101 Layer* firstChild() const { return m_first; } | 101 Layer* firstChild() const { return m_first; } |
102 Layer* lastChild() const { return m_last; } | 102 Layer* lastChild() const { return m_last; } |
103 | 103 |
104 const Layer* compositingContainer() const; | 104 const Layer* compositingContainer() const; |
105 | 105 |
106 void addChild(Layer* newChild, Layer* beforeChild = 0); | 106 void addChild(Layer* newChild, Layer* beforeChild = 0); |
107 Layer* removeChild(Layer*); | 107 Layer* removeChild(Layer*); |
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 ASSERT(!m_hasSelfPaintingLayerDescendantDirty); | 502 ASSERT(!m_hasSelfPaintingLayerDescendantDirty); |
503 return m_hasSelfPaintingLayerDescendant; | 503 return m_hasSelfPaintingLayerDescendant; |
504 } | 504 } |
505 LayoutRect paintingExtent(const Layer* rootLayer, const LayoutRect& paintDir
tyRect, const LayoutSize& subPixelAccumulation, PaintBehavior); | 505 LayoutRect paintingExtent(const Layer* rootLayer, const LayoutRect& paintDir
tyRect, const LayoutSize& subPixelAccumulation, PaintBehavior); |
506 void appendSingleFragmentIgnoringPagination(LayerFragments&, const Layer* ro
otLayer, const LayoutRect& dirtyRect, ClipRectsCacheSlot, OverlayScrollbarSizeRe
levancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip = RespectOverflo
wClip, const LayoutPoint* offsetFromRoot = 0, const LayoutSize& subPixelAccumula
tion = LayoutSize()); | 506 void appendSingleFragmentIgnoringPagination(LayerFragments&, const Layer* ro
otLayer, const LayoutRect& dirtyRect, ClipRectsCacheSlot, OverlayScrollbarSizeRe
levancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip = RespectOverflo
wClip, const LayoutPoint* offsetFromRoot = 0, const LayoutSize& subPixelAccumula
tion = LayoutSize()); |
507 void collectFragments(LayerFragments&, const Layer* rootLayer, const LayoutR
ect& dirtyRect, | 507 void collectFragments(LayerFragments&, const Layer* rootLayer, const LayoutR
ect& dirtyRect, |
508 ClipRectsCacheSlot, OverlayScrollbarSizeRelevancy inOverlayScrollbarSize
Relevancy = IgnoreOverlayScrollbarSize, | 508 ClipRectsCacheSlot, OverlayScrollbarSizeRelevancy inOverlayScrollbarSize
Relevancy = IgnoreOverlayScrollbarSize, |
509 ShouldRespectOverflowClip = RespectOverflowClip, const LayoutPoint* offs
etFromRoot = 0, | 509 ShouldRespectOverflowClip = RespectOverflowClip, const LayoutPoint* offs
etFromRoot = 0, |
510 const LayoutSize& subPixelAccumulation = LayoutSize(), const LayoutRect*
layerBoundingBox = 0); | 510 const LayoutSize& subPixelAccumulation = LayoutSize(), const LayoutRect*
layerBoundingBox = 0); |
511 | 511 |
512 LayoutPoint renderBoxLocation() const { return renderer()->isBox() ? toRende
rBox(renderer())->location() : LayoutPoint(); } | 512 LayoutPoint layoutBoxLocation() const { return renderer()->isBox() ? toLayou
tBox(renderer())->location() : LayoutPoint(); } |
513 | 513 |
514 enum TransparencyClipBoxBehavior { | 514 enum TransparencyClipBoxBehavior { |
515 PaintingTransparencyClipBox, | 515 PaintingTransparencyClipBox, |
516 HitTestingTransparencyClipBox | 516 HitTestingTransparencyClipBox |
517 }; | 517 }; |
518 | 518 |
519 enum TransparencyClipBoxMode { | 519 enum TransparencyClipBoxMode { |
520 DescendantsOfTransparencyClipBox, | 520 DescendantsOfTransparencyClipBox, |
521 RootOfTransparencyClipBox | 521 RootOfTransparencyClipBox |
522 }; | 522 }; |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
576 | 576 |
577 bool shouldBeSelfPaintingLayer() const; | 577 bool shouldBeSelfPaintingLayer() const; |
578 | 578 |
579 // FIXME: We should only create the stacking node if needed. | 579 // FIXME: We should only create the stacking node if needed. |
580 bool requiresStackingNode() const { return true; } | 580 bool requiresStackingNode() const { return true; } |
581 void updateStackingNode(); | 581 void updateStackingNode(); |
582 | 582 |
583 void updateReflectionInfo(const LayoutStyle*); | 583 void updateReflectionInfo(const LayoutStyle*); |
584 | 584 |
585 // FIXME: We could lazily allocate our ScrollableArea based on style propert
ies ('overflow', ...) | 585 // FIXME: We could lazily allocate our ScrollableArea based on style propert
ies ('overflow', ...) |
586 // but for now, we are always allocating it for RenderBox as it's safer. | 586 // but for now, we are always allocating it for LayoutBox as it's safer. |
587 bool requiresScrollableArea() const { return renderBox(); } | 587 bool requiresScrollableArea() const { return layoutBox(); } |
588 void updateScrollableArea(); | 588 void updateScrollableArea(); |
589 | 589 |
590 void dirtyAncestorChainVisibleDescendantStatus(); | 590 void dirtyAncestorChainVisibleDescendantStatus(); |
591 | 591 |
592 bool attemptDirectCompositingUpdate(StyleDifference, const LayoutStyle* oldS
tyle); | 592 bool attemptDirectCompositingUpdate(StyleDifference, const LayoutStyle* oldS
tyle); |
593 void updateTransform(const LayoutStyle* oldStyle, const LayoutStyle& newStyl
e); | 593 void updateTransform(const LayoutStyle* oldStyle, const LayoutStyle& newStyl
e); |
594 | 594 |
595 void dirty3DTransformedDescendantStatus(); | 595 void dirty3DTransformedDescendantStatus(); |
596 // Both updates the status, and returns true if descendants of this have 3d. | 596 // Both updates the status, and returns true if descendants of this have 3d. |
597 bool update3DTransformedDescendantStatus(); | 597 bool update3DTransformedDescendantStatus(); |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
717 | 717 |
718 } // namespace blink | 718 } // namespace blink |
719 | 719 |
720 #ifndef NDEBUG | 720 #ifndef NDEBUG |
721 // Outside the WebCore namespace for ease of invocation from gdb. | 721 // Outside the WebCore namespace for ease of invocation from gdb. |
722 void showLayerTree(const blink::Layer*); | 722 void showLayerTree(const blink::Layer*); |
723 void showLayerTree(const blink::LayoutObject*); | 723 void showLayerTree(const blink::LayoutObject*); |
724 #endif | 724 #endif |
725 | 725 |
726 #endif // Layer_h | 726 #endif // Layer_h |
OLD | NEW |