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 3847 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3918 } | 3919 } |
3919 | 3920 |
3920 // If the filter fails to build, remove it from the layer. It will still att
empt to | 3921 // If the filter fails to build, remove it from the layer. It will still att
empt to |
3921 // go through regular processing (e.g. compositing), but never apply anythin
g. | 3922 // go through regular processing (e.g. compositing), but never apply anythin
g. |
3922 if (!filterInfo->renderer()->build(renderer(), computeFilterOperations(rende
rer()->style()))) | 3923 if (!filterInfo->renderer()->build(renderer(), computeFilterOperations(rende
rer()->style()))) |
3923 filterInfo->setRenderer(0); | 3924 filterInfo->setRenderer(0); |
3924 } | 3925 } |
3925 | 3926 |
3926 void RenderLayer::filterNeedsRepaint() | 3927 void RenderLayer::filterNeedsRepaint() |
3927 { | 3928 { |
3928 toElement(renderer()->node())->scheduleLayerUpdate(); | 3929 { |
| 3930 DeprecatedScheduleStyleRecalcDuringLayout marker(renderer()->document().
lifecycle()); |
| 3931 // It's possible for scheduleLayerUpdate to schedule a style recalc, whi
ch |
| 3932 // is a problem because this function can be called while performing lay
out. |
| 3933 // Presumably this represents an illegal data flow of layout or composit
ing |
| 3934 // information into the style system. |
| 3935 toElement(renderer()->node())->scheduleLayerUpdate(); |
| 3936 } |
| 3937 |
3929 if (renderer()->view()) { | 3938 if (renderer()->view()) { |
3930 if (RuntimeEnabledFeatures::repaintAfterLayoutEnabled() && renderer()->f
rameView()->isInPerformLayout()) | 3939 if (RuntimeEnabledFeatures::repaintAfterLayoutEnabled() && renderer()->f
rameView()->isInPerformLayout()) |
3931 renderer()->setShouldDoFullRepaintAfterLayout(true); | 3940 renderer()->setShouldDoFullRepaintAfterLayout(true); |
3932 else | 3941 else |
3933 renderer()->repaint(); | 3942 renderer()->repaint(); |
3934 } | 3943 } |
3935 } | 3944 } |
3936 | 3945 |
3937 void RenderLayer::addLayerHitTestRects(LayerHitTestRects& rects) const | 3946 void RenderLayer::addLayerHitTestRects(LayerHitTestRects& rects) const |
3938 { | 3947 { |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3987 } | 3996 } |
3988 } | 3997 } |
3989 | 3998 |
3990 void showLayerTree(const WebCore::RenderObject* renderer) | 3999 void showLayerTree(const WebCore::RenderObject* renderer) |
3991 { | 4000 { |
3992 if (!renderer) | 4001 if (!renderer) |
3993 return; | 4002 return; |
3994 showLayerTree(renderer->enclosingLayer()); | 4003 showLayerTree(renderer->enclosingLayer()); |
3995 } | 4004 } |
3996 #endif | 4005 #endif |
OLD | NEW |