| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
| 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) | 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv
ed. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv
ed. |
| 7 * Copyright (C) 2009 Google Inc. All rights reserved. | 7 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 1839 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1850 // Text nodes share style with their parents but transforms don't apply
to them, | 1850 // Text nodes share style with their parents but transforms don't apply
to them, |
| 1851 // hence the !isText() check. | 1851 // hence the !isText() check. |
| 1852 // FIXME: when transforms are taken into account for overflow, we will n
eed to do a layout. | 1852 // FIXME: when transforms are taken into account for overflow, we will n
eed to do a layout. |
| 1853 if (!isText() && (!hasLayer() || !toRenderLayerModelObject(this)->layer(
)->hasDirectReasonsForCompositing())) { | 1853 if (!isText() && (!hasLayer() || !toRenderLayerModelObject(this)->layer(
)->hasDirectReasonsForCompositing())) { |
| 1854 // We need to set at least SimplifiedLayout, but if PositionedMoveme
ntOnly is already set | 1854 // We need to set at least SimplifiedLayout, but if PositionedMoveme
ntOnly is already set |
| 1855 // then we actually need SimplifiedLayoutAndPositionedMovement. | 1855 // then we actually need SimplifiedLayoutAndPositionedMovement. |
| 1856 if (!hasLayer()) | 1856 if (!hasLayer()) |
| 1857 diff = StyleDifferenceLayout; // FIXME: Do this for now since Si
mplifiedLayout cannot handle updating floating objects lists. | 1857 diff = StyleDifferenceLayout; // FIXME: Do this for now since Si
mplifiedLayout cannot handle updating floating objects lists. |
| 1858 else if (diff < StyleDifferenceLayoutPositionedMovementOnly) | 1858 else if (diff < StyleDifferenceLayoutPositionedMovementOnly) |
| 1859 diff = StyleDifferenceSimplifiedLayout; | 1859 diff = StyleDifferenceSimplifiedLayout; |
| 1860 else if (diff < StyleDifferenceSimplifiedLayout) | |
| 1861 diff = StyleDifferenceSimplifiedLayoutAndPositionedMovement; | |
| 1862 } else if (diff < StyleDifferenceRecompositeLayer) | 1860 } else if (diff < StyleDifferenceRecompositeLayer) |
| 1863 diff = StyleDifferenceRecompositeLayer; | 1861 diff = StyleDifferenceRecompositeLayer; |
| 1864 } | 1862 } |
| 1865 | 1863 |
| 1866 // If opacity or filters changed, and the layer does not paint into its own
separate backing, then we need to repaint (also | 1864 // If opacity or filters changed, and the layer does not paint into its own
separate backing, then we need to repaint (also |
| 1867 // ignoring text nodes) | 1865 // ignoring text nodes) |
| 1868 if (contextSensitiveProperties & ContextSensitivePropertyOpacity && diff <=
StyleDifferenceRepaintLayer) { | 1866 if (contextSensitiveProperties & ContextSensitivePropertyOpacity && diff <=
StyleDifferenceRepaintLayer) { |
| 1869 if (!isText() && (!hasLayer() || !toRenderLayerModelObject(this)->layer(
)->hasDirectReasonsForCompositing())) | 1867 if (!isText() && (!hasLayer() || !toRenderLayerModelObject(this)->layer(
)->hasDirectReasonsForCompositing())) |
| 1870 diff = StyleDifferenceRepaintLayer; | 1868 diff = StyleDifferenceRepaintLayer; |
| 1871 else if (diff < StyleDifferenceRecompositeLayer) | 1869 else if (diff < StyleDifferenceRecompositeLayer) |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1980 | 1978 |
| 1981 // Now that the layer (if any) has been updated, we need to adjust the diff
again, | 1979 // Now that the layer (if any) has been updated, we need to adjust the diff
again, |
| 1982 // check whether we should layout now, and decide if we need to repaint. | 1980 // check whether we should layout now, and decide if we need to repaint. |
| 1983 StyleDifference updatedDiff = adjustStyleDifference(diff, contextSensitivePr
operties); | 1981 StyleDifference updatedDiff = adjustStyleDifference(diff, contextSensitivePr
operties); |
| 1984 | 1982 |
| 1985 if (diff <= StyleDifferenceLayoutPositionedMovementOnly) { | 1983 if (diff <= StyleDifferenceLayoutPositionedMovementOnly) { |
| 1986 if (updatedDiff == StyleDifferenceLayout) | 1984 if (updatedDiff == StyleDifferenceLayout) |
| 1987 setNeedsLayoutAndPrefWidthsRecalc(); | 1985 setNeedsLayoutAndPrefWidthsRecalc(); |
| 1988 else if (updatedDiff == StyleDifferenceLayoutPositionedMovementOnly) | 1986 else if (updatedDiff == StyleDifferenceLayoutPositionedMovementOnly) |
| 1989 setNeedsPositionedMovementLayout(); | 1987 setNeedsPositionedMovementLayout(); |
| 1990 else if (updatedDiff == StyleDifferenceSimplifiedLayoutAndPositionedMove
ment) { | 1988 else if (updatedDiff == StyleDifferenceSimplifiedLayout) |
| 1991 setNeedsPositionedMovementLayout(); | |
| 1992 setNeedsSimplifiedNormalFlowLayout(); | |
| 1993 } else if (updatedDiff == StyleDifferenceSimplifiedLayout) | |
| 1994 setNeedsSimplifiedNormalFlowLayout(); | 1989 setNeedsSimplifiedNormalFlowLayout(); |
| 1995 } | 1990 } |
| 1996 | 1991 |
| 1997 if (updatedDiff == StyleDifferenceRepaint || updatedDiff == StyleDifferenceR
epaintLayer) { | 1992 if (updatedDiff == StyleDifferenceRepaint || updatedDiff == StyleDifferenceR
epaintLayer) { |
| 1998 // Do a repaint with the new style now, e.g., for example if we go from | 1993 // Do a repaint with the new style now, e.g., for example if we go from |
| 1999 // not having an outline to having an outline. | 1994 // not having an outline to having an outline. |
| 2000 repaint(); | 1995 repaint(); |
| 2001 } | 1996 } |
| 2002 } | 1997 } |
| 2003 | 1998 |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2132 // to mark the new containing blocks for layout. The change that can | 2127 // to mark the new containing blocks for layout. The change that can |
| 2133 // directly affect the containing block of this object is a change to | 2128 // directly affect the containing block of this object is a change to |
| 2134 // the position style. | 2129 // the position style. |
| 2135 if (needsLayout() && oldStyle->position() != m_style->position()) | 2130 if (needsLayout() && oldStyle->position() != m_style->position()) |
| 2136 markContainingBlocksForLayout(); | 2131 markContainingBlocksForLayout(); |
| 2137 | 2132 |
| 2138 if (diff == StyleDifferenceLayout) | 2133 if (diff == StyleDifferenceLayout) |
| 2139 setNeedsLayoutAndPrefWidthsRecalc(); | 2134 setNeedsLayoutAndPrefWidthsRecalc(); |
| 2140 else | 2135 else |
| 2141 setNeedsSimplifiedNormalFlowLayout(); | 2136 setNeedsSimplifiedNormalFlowLayout(); |
| 2142 } else if (diff == StyleDifferenceSimplifiedLayoutAndPositionedMovement) { | |
| 2143 setNeedsPositionedMovementLayout(); | |
| 2144 setNeedsSimplifiedNormalFlowLayout(); | |
| 2145 } else if (diff == StyleDifferenceLayoutPositionedMovementOnly) | 2137 } else if (diff == StyleDifferenceLayoutPositionedMovementOnly) |
| 2146 setNeedsPositionedMovementLayout(); | 2138 setNeedsPositionedMovementLayout(); |
| 2147 | 2139 |
| 2148 // Don't check for repaint here; we need to wait until the layer has been | 2140 // Don't check for repaint here; we need to wait until the layer has been |
| 2149 // updated by subclasses before we know if we have to repaint (in setStyle()
). | 2141 // updated by subclasses before we know if we have to repaint (in setStyle()
). |
| 2150 | 2142 |
| 2151 if (oldStyle && !areCursorsEqual(oldStyle, style())) { | 2143 if (oldStyle && !areCursorsEqual(oldStyle, style())) { |
| 2152 if (LocalFrame* frame = this->frame()) | 2144 if (LocalFrame* frame = this->frame()) |
| 2153 frame->eventHandler().scheduleCursorUpdate(); | 2145 frame->eventHandler().scheduleCursorUpdate(); |
| 2154 } | 2146 } |
| (...skipping 1212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3367 { | 3359 { |
| 3368 if (object1) { | 3360 if (object1) { |
| 3369 const WebCore::RenderObject* root = object1; | 3361 const WebCore::RenderObject* root = object1; |
| 3370 while (root->parent()) | 3362 while (root->parent()) |
| 3371 root = root->parent(); | 3363 root = root->parent(); |
| 3372 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); | 3364 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); |
| 3373 } | 3365 } |
| 3374 } | 3366 } |
| 3375 | 3367 |
| 3376 #endif | 3368 #endif |
| OLD | NEW |