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

Side by Side Diff: Source/core/css/resolver/StyleAdjuster.cpp

Issue 695423002: Push LayoutState from RenderSVGText (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Updated Created 6 years, 1 month 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com)
4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com)
5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved. 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved.
6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org>
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved.
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 style->setTransformStyle3D(TransformStyle3DFlat); 226 style->setTransformStyle3D(TransformStyle3DFlat);
227 227
228 if (e && e->isSVGElement()) { 228 if (e && e->isSVGElement()) {
229 // Only the root <svg> element in an SVG document fragment tree honors c ss position 229 // Only the root <svg> element in an SVG document fragment tree honors c ss position
230 if (!(isSVGSVGElement(*e) && e->parentNode() && !e->parentNode()->isSVGE lement())) 230 if (!(isSVGSVGElement(*e) && e->parentNode() && !e->parentNode()->isSVGE lement()))
231 style->setPosition(RenderStyle::initialPosition()); 231 style->setPosition(RenderStyle::initialPosition());
232 232
233 // SVG text layout code expects us to be a block-level style element. 233 // SVG text layout code expects us to be a block-level style element.
234 if ((isSVGForeignObjectElement(*e) || isSVGTextElement(*e)) && style->is DisplayInlineType()) 234 if ((isSVGForeignObjectElement(*e) || isSVGTextElement(*e)) && style->is DisplayInlineType())
235 style->setDisplay(BLOCK); 235 style->setDisplay(BLOCK);
236
237 // Columns don't apply to svg text elements.
238 if (isSVGTextElement(*e))
239 style->clearMultiCol();
236 } 240 }
237 241
238 if (e && e->renderStyle() && e->renderStyle()->textAutosizingMultiplier() != 1) { 242 if (e && e->renderStyle() && e->renderStyle()->textAutosizingMultiplier() != 1) {
239 // Preserve the text autosizing multiplier on style recalc. 243 // Preserve the text autosizing multiplier on style recalc.
240 // (The autosizer will update it during layout if it needs to be changed .) 244 // (The autosizer will update it during layout if it needs to be changed .)
241 style->setTextAutosizingMultiplier(e->renderStyle()->textAutosizingMulti plier()); 245 style->setTextAutosizingMultiplier(e->renderStyle()->textAutosizingMulti plier());
242 style->setUnique(); 246 style->setUnique();
243 } 247 }
244 248
245 adjustStyleForAlignment(*style, *parentStyle); 249 adjustStyleForAlignment(*style, *parentStyle);
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 if (style->writingMode() != TopToBottomWritingMode && (style->display() == B OX || style->display() == INLINE_BOX)) 466 if (style->writingMode() != TopToBottomWritingMode && (style->display() == B OX || style->display() == INLINE_BOX))
463 style->setWritingMode(TopToBottomWritingMode); 467 style->setWritingMode(TopToBottomWritingMode);
464 468
465 if (parentStyle->isDisplayFlexibleOrGridBox()) { 469 if (parentStyle->isDisplayFlexibleOrGridBox()) {
466 style->setFloating(NoFloat); 470 style->setFloating(NoFloat);
467 style->setDisplay(equivalentBlockDisplay(style->display(), style->isFloa ting(), !m_useQuirksModeStyles)); 471 style->setDisplay(equivalentBlockDisplay(style->display(), style->isFloa ting(), !m_useQuirksModeStyles));
468 } 472 }
469 } 473 }
470 474
471 } 475 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698