Index: Source/core/css/resolver/StyleAdjuster.cpp |
diff --git a/Source/core/css/resolver/StyleAdjuster.cpp b/Source/core/css/resolver/StyleAdjuster.cpp |
index 5ba4a8856b3e9f12261e8f555ab2cdc4b6bfea86..84a91f1232d94f6a7562e254eeef2e318eec17c9 100644 |
--- a/Source/core/css/resolver/StyleAdjuster.cpp |
+++ b/Source/core/css/resolver/StyleAdjuster.cpp |
@@ -34,6 +34,7 @@ |
#include "core/dom/ContainerNode.h" |
#include "core/dom/Document.h" |
#include "core/dom/Element.h" |
+#include "core/dom/NodeRenderStyle.h" |
#include "core/html/HTMLIFrameElement.h" |
#include "core/html/HTMLInputElement.h" |
#include "core/html/HTMLTableCellElement.h" |
@@ -315,6 +316,13 @@ void StyleAdjuster::adjustRenderStyle(RenderStyle* style, RenderStyle* parentSty |
if ((isSVGForeignObjectElement(*e) || isSVGTextElement(*e)) && style->isDisplayInlineType()) |
style->setDisplay(BLOCK); |
} |
+ |
+ if (e && e->renderStyle() && e->renderStyle()->textAutosizingMultiplier() != 1) { |
+ // Preserve the text autosizing multiplier on style recalc. |
+ // (The autosizer will update it during layout if it needs to be changed.) |
+ style->setTextAutosizingMultiplier(e->renderStyle()->textAutosizingMultiplier()); |
+ style->setUnique(); |
+ } |
} |
void StyleAdjuster::adjustStyleForTagName(RenderStyle* style, RenderStyle* parentStyle, Element& element) |