Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Side by Side Diff: Source/core/layout/LayoutBoxModelObject.cpp

Issue 1033943002: Rename LayoutStyle to papayawhip (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: ensureComputedStyle Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/layout/LayoutBoxModelObject.h ('k') | Source/core/layout/LayoutButton.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com)
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
7 * Copyright (C) 2010 Google Inc. All rights reserved. 7 * Copyright (C) 2010 Google Inc. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 frameView->removeViewportConstrainedObject(this); 121 frameView->removeViewportConstrainedObject(this);
122 } 122 }
123 } 123 }
124 } 124 }
125 125
126 LayoutObject::willBeDestroyed(); 126 LayoutObject::willBeDestroyed();
127 127
128 destroyLayer(); 128 destroyLayer();
129 } 129 }
130 130
131 void LayoutBoxModelObject::styleWillChange(StyleDifference diff, const LayoutSty le& newStyle) 131 void LayoutBoxModelObject::styleWillChange(StyleDifference diff, const ComputedS tyle& newStyle)
132 { 132 {
133 // This object's layer may cease to be a stacking context, in which case the paint 133 // This object's layer may cease to be a stacking context, in which case the paint
134 // invalidation container of the children may change. Thus we need to invali date paint 134 // invalidation container of the children may change. Thus we need to invali date paint
135 // eagerly for all such children. 135 // eagerly for all such children.
136 if (hasLayer() 136 if (hasLayer()
137 && enclosingLayer()->stackingNode() 137 && enclosingLayer()->stackingNode()
138 && enclosingLayer()->stackingNode()->isStackingContext() 138 && enclosingLayer()->stackingNode()->isStackingContext()
139 && newStyle.hasAutoZIndex()) { 139 && newStyle.hasAutoZIndex()) {
140 // The following disablers are valid because we need to invalidate based on the current 140 // The following disablers are valid because we need to invalidate based on the current
141 // status. 141 // status.
142 DisableCompositingQueryAsserts compositingDisabler; 142 DisableCompositingQueryAsserts compositingDisabler;
143 DisablePaintInvalidationStateAsserts paintDisabler; 143 DisablePaintInvalidationStateAsserts paintDisabler;
144 invalidatePaintIncludingNonCompositingDescendants(); 144 invalidatePaintIncludingNonCompositingDescendants();
145 } 145 }
146 146
147 s_wasFloating = isFloating(); 147 s_wasFloating = isFloating();
148 148
149 if (const LayoutStyle* oldStyle = style()) { 149 if (const ComputedStyle* oldStyle = style()) {
150 if (parent() && diff.needsPaintInvalidationLayer()) { 150 if (parent() && diff.needsPaintInvalidationLayer()) {
151 if (oldStyle->hasAutoClip() != newStyle.hasAutoClip() 151 if (oldStyle->hasAutoClip() != newStyle.hasAutoClip()
152 || oldStyle->clip() != newStyle.clip()) 152 || oldStyle->clip() != newStyle.clip())
153 layer()->clipper().clearClipRectsIncludingDescendants(); 153 layer()->clipper().clearClipRectsIncludingDescendants();
154 } 154 }
155 } 155 }
156 156
157 LayoutObject::styleWillChange(diff, newStyle); 157 LayoutObject::styleWillChange(diff, newStyle);
158 } 158 }
159 159
160 void LayoutBoxModelObject::styleDidChange(StyleDifference diff, const LayoutStyl e* oldStyle) 160 void LayoutBoxModelObject::styleDidChange(StyleDifference diff, const ComputedSt yle* oldStyle)
161 { 161 {
162 bool hadTransform = hasTransformRelatedProperty(); 162 bool hadTransform = hasTransformRelatedProperty();
163 bool hadLayer = hasLayer(); 163 bool hadLayer = hasLayer();
164 bool layerWasSelfPainting = hadLayer && layer()->isSelfPaintingLayer(); 164 bool layerWasSelfPainting = hadLayer && layer()->isSelfPaintingLayer();
165 165
166 LayoutObject::styleDidChange(diff, oldStyle); 166 LayoutObject::styleDidChange(diff, oldStyle);
167 updateFromStyle(); 167 updateFromStyle();
168 168
169 DeprecatedPaintLayerType type = layerTypeRequired(); 169 DeprecatedPaintLayerType type = layerTypeRequired();
170 if (type != NoDeprecatedPaintLayer) { 170 if (type != NoDeprecatedPaintLayer) {
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 rect.moveBy(additionalOffset); 331 rect.moveBy(additionalOffset);
332 rects.append(rect); 332 rects.append(rect);
333 } 333 }
334 } 334 }
335 } 335 }
336 } 336 }
337 337
338 338
339 bool LayoutBoxModelObject::calculateHasBoxDecorations() const 339 bool LayoutBoxModelObject::calculateHasBoxDecorations() const
340 { 340 {
341 const LayoutStyle& styleToUse = styleRef(); 341 const ComputedStyle& styleToUse = styleRef();
342 return hasBackground() || styleToUse.hasBorder() || styleToUse.hasAppearance () || styleToUse.boxShadow(); 342 return hasBackground() || styleToUse.hasBorder() || styleToUse.hasAppearance () || styleToUse.boxShadow();
343 } 343 }
344 344
345 void LayoutBoxModelObject::updateFromStyle() 345 void LayoutBoxModelObject::updateFromStyle()
346 { 346 {
347 const LayoutStyle& styleToUse = styleRef(); 347 const ComputedStyle& styleToUse = styleRef();
348 setHasBoxDecorationBackground(calculateHasBoxDecorations()); 348 setHasBoxDecorationBackground(calculateHasBoxDecorations());
349 setInline(styleToUse.isDisplayInlineType()); 349 setInline(styleToUse.isDisplayInlineType());
350 setPositionState(styleToUse.position()); 350 setPositionState(styleToUse.position());
351 setHorizontalWritingMode(styleToUse.isHorizontalWritingMode()); 351 setHorizontalWritingMode(styleToUse.isHorizontalWritingMode());
352 } 352 }
353 353
354 static LayoutSize accumulateInFlowPositionOffsets(const LayoutObject* child) 354 static LayoutSize accumulateInFlowPositionOffsets(const LayoutObject* child)
355 { 355 {
356 if (!child->isAnonymousBlock() || !child->isRelPositioned()) 356 if (!child->isAnonymousBlock() || !child->isRelPositioned())
357 return LayoutSize(); 357 return LayoutSize();
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 } 715 }
716 716
717 LayoutRect LayoutBoxModelObject::localCaretRectForEmptyElement(LayoutUnit width, LayoutUnit textIndentOffset) 717 LayoutRect LayoutBoxModelObject::localCaretRectForEmptyElement(LayoutUnit width, LayoutUnit textIndentOffset)
718 { 718 {
719 ASSERT(!slowFirstChild()); 719 ASSERT(!slowFirstChild());
720 720
721 // FIXME: This does not take into account either :first-line or :first-lette r 721 // FIXME: This does not take into account either :first-line or :first-lette r
722 // However, as soon as some content is entered, the line boxes will be 722 // However, as soon as some content is entered, the line boxes will be
723 // constructed and this kludge is not called any more. So only the caret siz e 723 // constructed and this kludge is not called any more. So only the caret siz e
724 // of an empty :first-line'd block is wrong. I think we can live with that. 724 // of an empty :first-line'd block is wrong. I think we can live with that.
725 const LayoutStyle& currentStyle = firstLineStyleRef(); 725 const ComputedStyle& currentStyle = firstLineStyleRef();
726 726
727 enum CaretAlignment { AlignLeft, AlignRight, AlignCenter }; 727 enum CaretAlignment { AlignLeft, AlignRight, AlignCenter };
728 728
729 CaretAlignment alignment = AlignLeft; 729 CaretAlignment alignment = AlignLeft;
730 730
731 switch (currentStyle.textAlign()) { 731 switch (currentStyle.textAlign()) {
732 case LEFT: 732 case LEFT:
733 case WEBKIT_LEFT: 733 case WEBKIT_LEFT:
734 break; 734 break;
735 case CENTER: 735 case CENTER:
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
886 ASSERT(!beforeChild || toBoxModelObject == beforeChild->parent()); 886 ASSERT(!beforeChild || toBoxModelObject == beforeChild->parent());
887 for (LayoutObject* child = startChild; child && child != endChild; ) { 887 for (LayoutObject* child = startChild; child && child != endChild; ) {
888 // Save our next sibling as moveChildTo will clear it. 888 // Save our next sibling as moveChildTo will clear it.
889 LayoutObject* nextSibling = child->nextSibling(); 889 LayoutObject* nextSibling = child->nextSibling();
890 moveChildTo(toBoxModelObject, child, beforeChild, fullRemoveInsert); 890 moveChildTo(toBoxModelObject, child, beforeChild, fullRemoveInsert);
891 child = nextSibling; 891 child = nextSibling;
892 } 892 }
893 } 893 }
894 894
895 } // namespace blink 895 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutBoxModelObject.h ('k') | Source/core/layout/LayoutButton.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698