Changeset 145374 in webkit
- Timestamp:
- Mar 11, 2013 10:32:14 AM (11 years ago)
- Location:
- branches/chromium/1410
- Files:
-
- 14 deleted
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/chromium/1410/LayoutTests/fast/css/first-letter-removed-added-expected.txt
r142015 r145374 35 35 PASS document.getElementById('test5').offsetWidth == document.getElementById('ref5').offsetWidth is true 36 36 PASS document.getElementById('test6').offsetWidth == document.getElementById('ref6').offsetWidth is true 37 PASS document.getElementById('test7').offsetWidth == document.getElementById('ref7').offsetWidth is true 37 FAIL document.getElementById('test7').offsetWidth == document.getElementById('ref7').offsetWidth should be true. Was false. 38 38 PASS document.getElementById('test8').offsetWidth == document.getElementById('ref8').offsetWidth is true 39 39 PASS successfullyParsed is true -
branches/chromium/1410/LayoutTests/fullscreen/full-screen-fixed-pos-parent-expected.txt
r142015 r145374 1 1 2 -
branches/chromium/1410/LayoutTests/platform/chromium-win/fast/dynamic/002-expected.txt
r142015 r145374 8 8 RenderText {#text} at (2,2) size 244x19 9 9 text run at (2,2) width 244: "I should become a right-floating element." 10 RenderText {#text} at (0,0) size 371x19 11 text run at (0,0) width 184: "This text should be on the left. " 12 text run at (184,0) width 187: "The float should be to the right." 10 RenderBlock (anonymous) at (0,0) size 784x20 11 RenderText {#text} at (0,0) size 371x19 12 text run at (0,0) width 184: "This text should be on the left. " 13 text run at (184,0) width 187: "The float should be to the right." 13 14 RenderBlock {DIV} at (0,20) size 784x30 14 15 RenderBlock {DIV} at (0,50) size 784x40 -
branches/chromium/1410/LayoutTests/platform/chromium/fast/dynamic/002-expected.txt
r142015 r145374 8 8 RenderText {#text} at (2,2) size 258x18 9 9 text run at (2,2) width 258: "I should become a right-floating element." 10 RenderText {#text} at (0,0) size 393x18 11 text run at (0,0) width 195: "This text should be on the left. " 12 text run at (195,0) width 198: "The float should be to the right." 10 RenderBlock (anonymous) at (0,0) size 784x18 11 RenderText {#text} at (0,0) size 393x18 12 text run at (0,0) width 195: "This text should be on the left. " 13 text run at (195,0) width 198: "The float should be to the right." 13 14 RenderBlock {DIV} at (0,18) size 784x30 14 15 RenderBlock {DIV} at (0,48) size 784x36 -
branches/chromium/1410/LayoutTests/platform/mac/fast/dynamic/002-expected.txt
r142015 r145374 8 8 RenderText {#text} at (2,2) size 258x18 9 9 text run at (2,2) width 258: "I should become a right-floating element." 10 RenderText {#text} at (0,0) size 393x18 11 text run at (0,0) width 195: "This text should be on the left. " 12 text run at (195,0) width 198: "The float should be to the right." 10 RenderBlock (anonymous) at (0,0) size 784x18 11 RenderText {#text} at (0,0) size 393x18 12 text run at (0,0) width 195: "This text should be on the left. " 13 text run at (195,0) width 198: "The float should be to the right." 13 14 RenderBlock {DIV} at (0,18) size 784x30 14 15 RenderBlock {DIV} at (0,48) size 784x36 -
branches/chromium/1410/Source/WebCore/dom/Node.cpp
r143086 r145374 383 383 ch = Detach; 384 384 385 // Re-attach the renderer when either the element changes from position:static to position:absolute/fixed, vice-versa386 // or float:none to floating, vice-versa.387 if ((s1 && s2 ) && (s1->isFloating() != s2->isFloating() || s1->hasOutOfFlowPosition() != s2->hasOutOfFlowPosition()))388 ch = Detach;389 390 385 return ch; 391 386 } -
branches/chromium/1410/Source/WebCore/rendering/RenderBlock.cpp
r145118 r145374 6936 6936 } 6937 6937 6938 void RenderBlock::childBecameNonInline(RenderObject*) 6939 { 6940 makeChildrenNonInline(); 6941 if (isAnonymousBlock() && parent() && parent()->isRenderBlock()) 6942 toRenderBlock(parent())->removeLeftoverAnonymousBlock(this); 6943 // |this| may be dead here 6944 } 6945 6938 6946 void RenderBlock::updateHitTestResult(HitTestResult& result, const LayoutPoint& point) 6939 6947 { -
branches/chromium/1410/Source/WebCore/rendering/RenderBlock.h
r145118 r145374 881 881 virtual RenderObject* hoverAncestor() const; 882 882 virtual void updateDragState(bool dragOn); 883 virtual void childBecameNonInline(RenderObject* child); 883 884 884 885 virtual LayoutRect selectionRectForRepaint(const RenderLayerModelObject* repaintContainer, bool /*clipToVisibleContent*/) OVERRIDE -
branches/chromium/1410/Source/WebCore/rendering/RenderBoxModelObject.h
r142015 r145374 146 146 147 147 virtual LayoutUnit containingBlockLogicalWidthForContent() const; 148 149 virtual void childBecameNonInline(RenderObject* /*child*/) { } 148 150 149 151 void paintBorder(const PaintInfo&, const LayoutRect&, const RenderStyle*, BackgroundBleedAvoidance = BackgroundBleedNone, bool includeLogicalLeftEdge = true, bool includeLogicalRightEdge = true); -
branches/chromium/1410/Source/WebCore/rendering/RenderInline.cpp
r145118 r145374 1225 1225 } 1226 1226 1227 void RenderInline::childBecameNonInline(RenderObject* child) 1228 { 1229 // We have to split the parent flow. 1230 RenderBlock* newBox = containingBlock()->createAnonymousBlock(); 1231 RenderBoxModelObject* oldContinuation = continuation(); 1232 setContinuation(newBox); 1233 RenderObject* beforeChild = child->nextSibling(); 1234 children()->removeChildNode(this, child); 1235 splitFlow(beforeChild, newBox, child, oldContinuation); 1236 } 1237 1227 1238 void RenderInline::updateHitTestResult(HitTestResult& result, const LayoutPoint& point) 1228 1239 { -
branches/chromium/1410/Source/WebCore/rendering/RenderInline.h
r145118 r145374 166 166 virtual LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const; 167 167 virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const; 168 169 virtual void childBecameNonInline(RenderObject* child); 168 170 169 171 virtual void updateHitTestResult(HitTestResult&, const LayoutPoint&); -
branches/chromium/1410/Source/WebCore/rendering/RenderObject.cpp
r145118 r145374 118 118 119 119 COMPILE_ASSERT(sizeof(RenderObject) == sizeof(SameSizeAsRenderObject), RenderObject_should_stay_small); 120 121 bool RenderObject::s_affectsParentBlock = false; 120 122 121 123 RenderObjectAncestorLineboxDirtySet* RenderObject::s_ancestorLineboxDirtySet = 0; … … 1677 1679 } 1678 1680 1681 void RenderObject::handleDynamicFloatPositionChange() 1682 { 1683 // We have gone from not affecting the inline status of the parent flow to suddenly 1684 // having an impact. See if there is a mismatch between the parent flow's 1685 // childrenInline() state and our state. 1686 setInline(style()->isDisplayInlineType()); 1687 if (isInline() != parent()->childrenInline()) { 1688 if (!isInline()) 1689 toRenderBoxModelObject(parent())->childBecameNonInline(this); 1690 else { 1691 // An anonymous block must be made to wrap this inline. 1692 RenderBlock* block = toRenderBlock(parent())->createAnonymousBlock(); 1693 RenderObjectChildList* childlist = parent()->virtualChildren(); 1694 childlist->insertChildNode(parent(), block, this); 1695 block->children()->appendChildNode(block, childlist->removeChildNode(parent(), this)); 1696 } 1697 } 1698 } 1699 1679 1700 void RenderObject::setAnimatableStyle(PassRefPtr<RenderStyle> style) 1680 1701 { … … 1874 1895 toRenderBox(this)->removeFloatingOrPositionedChildFromBlockLists(); 1875 1896 1897 s_affectsParentBlock = isFloatingOrOutOfFlowPositioned() 1898 && (!newStyle->isFloating() && !newStyle->hasOutOfFlowPosition()) 1899 && parent() && (parent()->isBlockFlow() || parent()->isRenderInline()); 1900 1876 1901 // reset style flags 1877 1902 if (diff == StyleDifferenceLayout || diff == StyleDifferenceLayoutPositionedMovementOnly) { … … 1884 1909 setHasTransform(false); 1885 1910 setHasReflection(false); 1886 } 1911 } else 1912 s_affectsParentBlock = false; 1887 1913 1888 1914 if (view()->frameView()) { … … 1936 1962 void RenderObject::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle) 1937 1963 { 1964 if (s_affectsParentBlock) 1965 handleDynamicFloatPositionChange(); 1938 1966 1939 1967 #if ENABLE(SVG) -
branches/chromium/1410/Source/WebCore/rendering/RenderObject.h
r145118 r145374 243 243 virtual RenderBlock* firstLineBlock() const; 244 244 245 // Called when an object that was floating or positioned becomes a normal flow object 246 // again. We have to make sure the render tree updates as needed to accommodate the new 247 // normal flow object. 248 void handleDynamicFloatPositionChange(); 249 245 250 // RenderObject tree manipulation 246 251 ////////////////////////////////////////// … … 1139 1144 void setIsDragging(bool b) { m_bitfields.setIsDragging(b); } 1140 1145 void setEverHadLayout(bool b) { m_bitfields.setEverHadLayout(b); } 1146 1147 private: 1148 // Store state between styleWillChange and styleDidChange 1149 static bool s_affectsParentBlock; 1141 1150 }; 1142 1151
Note: See TracChangeset
for help on using the changeset viewer.