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 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 #include "core/rendering/RenderLayer.h" | 45 #include "core/rendering/RenderLayer.h" |
46 | 46 |
47 #include "CSSPropertyNames.h" | 47 #include "CSSPropertyNames.h" |
48 #include "HTMLNames.h" | 48 #include "HTMLNames.h" |
49 #include "RuntimeEnabledFeatures.h" | 49 #include "RuntimeEnabledFeatures.h" |
50 #include "SVGNames.h" | 50 #include "SVGNames.h" |
51 #include "core/animation/ActiveAnimations.h" | 51 #include "core/animation/ActiveAnimations.h" |
52 #include "core/css/PseudoStyleRequest.h" | 52 #include "core/css/PseudoStyleRequest.h" |
53 #include "core/dom/Document.h" | 53 #include "core/dom/Document.h" |
54 #include "core/dom/shadow/ShadowRoot.h" | 54 #include "core/dom/shadow/ShadowRoot.h" |
55 #include "core/html/HTMLFrameElement.h" | 55 #include "core/frame/DeprecatedScheduleStyleRecalcDuringLayout.h" |
56 #include "core/frame/Frame.h" | 56 #include "core/frame/Frame.h" |
57 #include "core/frame/FrameView.h" | 57 #include "core/frame/FrameView.h" |
58 #include "core/page/Page.h" | |
59 #include "core/frame/Settings.h" | 58 #include "core/frame/Settings.h" |
60 #include "core/frame/animation/AnimationController.h" | 59 #include "core/frame/animation/AnimationController.h" |
| 60 #include "core/html/HTMLFrameElement.h" |
| 61 #include "core/page/Page.h" |
61 #include "core/page/scrolling/ScrollingCoordinator.h" | 62 #include "core/page/scrolling/ScrollingCoordinator.h" |
62 #include "core/rendering/ColumnInfo.h" | 63 #include "core/rendering/ColumnInfo.h" |
63 #include "core/rendering/CompositedLayerMapping.h" | 64 #include "core/rendering/CompositedLayerMapping.h" |
64 #include "core/rendering/FilterEffectRenderer.h" | 65 #include "core/rendering/FilterEffectRenderer.h" |
65 #include "core/rendering/HitTestRequest.h" | 66 #include "core/rendering/HitTestRequest.h" |
66 #include "core/rendering/HitTestResult.h" | 67 #include "core/rendering/HitTestResult.h" |
67 #include "core/rendering/HitTestingTransformState.h" | 68 #include "core/rendering/HitTestingTransformState.h" |
68 #include "core/rendering/RenderFlowThread.h" | 69 #include "core/rendering/RenderFlowThread.h" |
69 #include "core/rendering/RenderGeometryMap.h" | 70 #include "core/rendering/RenderGeometryMap.h" |
70 #include "core/rendering/RenderInline.h" | 71 #include "core/rendering/RenderInline.h" |
(...skipping 3844 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3915 } | 3916 } |
3916 | 3917 |
3917 // If the filter fails to build, remove it from the layer. It will still att
empt to | 3918 // If the filter fails to build, remove it from the layer. It will still att
empt to |
3918 // go through regular processing (e.g. compositing), but never apply anythin
g. | 3919 // go through regular processing (e.g. compositing), but never apply anythin
g. |
3919 if (!filterInfo->renderer()->build(renderer(), computeFilterOperations(rende
rer()->style()))) | 3920 if (!filterInfo->renderer()->build(renderer(), computeFilterOperations(rende
rer()->style()))) |
3920 filterInfo->setRenderer(0); | 3921 filterInfo->setRenderer(0); |
3921 } | 3922 } |
3922 | 3923 |
3923 void RenderLayer::filterNeedsRepaint() | 3924 void RenderLayer::filterNeedsRepaint() |
3924 { | 3925 { |
3925 toElement(renderer()->node())->scheduleLayerUpdate(); | 3926 { |
| 3927 DeprecatedScheduleStyleRecalcDuringLayout marker(renderer()->document().
lifecycle()); |
| 3928 // It's possible for scheduleLayerUpdate to schedule a style recalc, whi
ch |
| 3929 // is a problem because this function can be called while performing lay
out. |
| 3930 // Presumably this represents an illegal data flow of layout or composit
ing |
| 3931 // information into the style system. |
| 3932 toElement(renderer()->node())->scheduleLayerUpdate(); |
| 3933 } |
| 3934 |
3926 if (renderer()->view()) { | 3935 if (renderer()->view()) { |
3927 if (RuntimeEnabledFeatures::repaintAfterLayoutEnabled() && renderer()->f
rameView()->isInPerformLayout()) | 3936 if (RuntimeEnabledFeatures::repaintAfterLayoutEnabled() && renderer()->f
rameView()->isInPerformLayout()) |
3928 renderer()->setShouldDoFullRepaintAfterLayout(true); | 3937 renderer()->setShouldDoFullRepaintAfterLayout(true); |
3929 else | 3938 else |
3930 renderer()->repaint(); | 3939 renderer()->repaint(); |
3931 } | 3940 } |
3932 } | 3941 } |
3933 | 3942 |
3934 void RenderLayer::addLayerHitTestRects(LayerHitTestRects& rects) const | 3943 void RenderLayer::addLayerHitTestRects(LayerHitTestRects& rects) const |
3935 { | 3944 { |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3984 } | 3993 } |
3985 } | 3994 } |
3986 | 3995 |
3987 void showLayerTree(const WebCore::RenderObject* renderer) | 3996 void showLayerTree(const WebCore::RenderObject* renderer) |
3988 { | 3997 { |
3989 if (!renderer) | 3998 if (!renderer) |
3990 return; | 3999 return; |
3991 showLayerTree(renderer->enclosingLayer()); | 4000 showLayerTree(renderer->enclosingLayer()); |
3992 } | 4001 } |
3993 #endif | 4002 #endif |
OLD | NEW |