| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. |
| 3 * | 3 * |
| 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
| 5 * | 5 * |
| 6 * Other contributors: | 6 * Other contributors: |
| 7 * Robert O'Callahan <roc+@cs.cmu.edu> | 7 * Robert O'Callahan <roc+@cs.cmu.edu> |
| 8 * David Baron <dbaron@fas.harvard.edu> | 8 * David Baron <dbaron@fas.harvard.edu> |
| 9 * Christian Biesinger <cbiesinger@web.de> | 9 * Christian Biesinger <cbiesinger@web.de> |
| 10 * Randall Jesup <rjesup@wgate.com> | 10 * Randall Jesup <rjesup@wgate.com> |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 */ | 42 */ |
| 43 | 43 |
| 44 #include "config.h" | 44 #include "config.h" |
| 45 #include "core/paint/PaintLayer.h" | 45 #include "core/paint/PaintLayer.h" |
| 46 | 46 |
| 47 #include "core/CSSPropertyNames.h" | 47 #include "core/CSSPropertyNames.h" |
| 48 #include "core/HTMLNames.h" | 48 #include "core/HTMLNames.h" |
| 49 #include "core/css/PseudoStyleRequest.h" | 49 #include "core/css/PseudoStyleRequest.h" |
| 50 #include "core/dom/Document.h" | 50 #include "core/dom/Document.h" |
| 51 #include "core/dom/shadow/ShadowRoot.h" | 51 #include "core/dom/shadow/ShadowRoot.h" |
| 52 #include "core/frame/DeprecatedScheduleStyleRecalcDuringLayout.h" | |
| 53 #include "core/frame/FrameView.h" | 52 #include "core/frame/FrameView.h" |
| 54 #include "core/frame/LocalFrame.h" | 53 #include "core/frame/LocalFrame.h" |
| 55 #include "core/html/HTMLFrameElement.h" | 54 #include "core/html/HTMLFrameElement.h" |
| 56 #include "core/layout/HitTestRequest.h" | 55 #include "core/layout/HitTestRequest.h" |
| 57 #include "core/layout/HitTestResult.h" | 56 #include "core/layout/HitTestResult.h" |
| 58 #include "core/layout/HitTestingTransformState.h" | 57 #include "core/layout/HitTestingTransformState.h" |
| 59 #include "core/layout/LayoutFlowThread.h" | 58 #include "core/layout/LayoutFlowThread.h" |
| 60 #include "core/layout/LayoutGeometryMap.h" | 59 #include "core/layout/LayoutGeometryMap.h" |
| 61 #include "core/layout/LayoutInline.h" | 60 #include "core/layout/LayoutInline.h" |
| 62 #include "core/layout/LayoutPart.h" | 61 #include "core/layout/LayoutPart.h" |
| (...skipping 2638 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2701 filterInfo->setBuilder(nullptr); | 2700 filterInfo->setBuilder(nullptr); |
| 2702 | 2701 |
| 2703 return; | 2702 return; |
| 2704 } | 2703 } |
| 2705 | 2704 |
| 2706 ensureFilterInfo()->setBuilder(nullptr); | 2705 ensureFilterInfo()->setBuilder(nullptr); |
| 2707 } | 2706 } |
| 2708 | 2707 |
| 2709 void PaintLayer::filterNeedsPaintInvalidation() | 2708 void PaintLayer::filterNeedsPaintInvalidation() |
| 2710 { | 2709 { |
| 2711 { | 2710 toElement(layoutObject()->node())->scheduleSVGFilterLayerUpdateHack(); |
| 2712 DeprecatedScheduleStyleRecalcDuringLayout marker(layoutObject()->documen
t().lifecycle()); | |
| 2713 // It's possible for scheduleSVGFilterLayerUpdateHack to schedule a styl
e recalc, which | |
| 2714 // is a problem because this function can be called while performing lay
out. | |
| 2715 // Presumably this represents an illegal data flow of layout or composit
ing | |
| 2716 // information into the style system. | |
| 2717 toElement(layoutObject()->node())->scheduleSVGFilterLayerUpdateHack(); | |
| 2718 } | |
| 2719 | |
| 2720 layoutObject()->setShouldDoFullPaintInvalidation(); | 2711 layoutObject()->setShouldDoFullPaintInvalidation(); |
| 2721 } | 2712 } |
| 2722 | 2713 |
| 2723 void PaintLayer::addLayerHitTestRects(LayerHitTestRects& rects) const | 2714 void PaintLayer::addLayerHitTestRects(LayerHitTestRects& rects) const |
| 2724 { | 2715 { |
| 2725 computeSelfHitTestRects(rects); | 2716 computeSelfHitTestRects(rects); |
| 2726 for (PaintLayer* child = firstChild(); child; child = child->nextSibling()) | 2717 for (PaintLayer* child = firstChild(); child; child = child->nextSibling()) |
| 2727 child->addLayerHitTestRects(rects); | 2718 child->addLayerHitTestRects(rects); |
| 2728 } | 2719 } |
| 2729 | 2720 |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2830 | 2821 |
| 2831 void showLayerTree(const blink::LayoutObject* layoutObject) | 2822 void showLayerTree(const blink::LayoutObject* layoutObject) |
| 2832 { | 2823 { |
| 2833 if (!layoutObject) { | 2824 if (!layoutObject) { |
| 2834 fprintf(stderr, "Cannot showLayerTree. Root is (nil)\n"); | 2825 fprintf(stderr, "Cannot showLayerTree. Root is (nil)\n"); |
| 2835 return; | 2826 return; |
| 2836 } | 2827 } |
| 2837 showLayerTree(layoutObject->enclosingLayer()); | 2828 showLayerTree(layoutObject->enclosingLayer()); |
| 2838 } | 2829 } |
| 2839 #endif | 2830 #endif |
| OLD | NEW |