Index: Source/core/rendering/RenderBlockLineLayout.cpp |
diff --git a/Source/core/rendering/RenderBlockLineLayout.cpp b/Source/core/rendering/RenderBlockLineLayout.cpp |
index 7e2b2528cdb5817b28f9b5a87ba97b171a76296c..f474f108cb9cb2f845e36b51d62087f9c7701891 100644 |
--- a/Source/core/rendering/RenderBlockLineLayout.cpp |
+++ b/Source/core/rendering/RenderBlockLineLayout.cpp |
@@ -65,6 +65,15 @@ struct RenderTextInfo { |
OwnPtr<TextLayout> m_layout; |
LazyLineBreakIterator m_lineBreakIterator; |
const Font* m_font; |
+ |
+ void createLayout(RenderText* renderText, float xPos, bool collapseWhiteSpace) |
+ { |
+#if OS(MACOSX) |
+ m_layout = m_font.createLayout(RenderBlockFlow::constructTextRun(renderText, m_font, renderText, renderText->style()), renderText->textLength(), xPos, collapseWhiteSpace); |
+#else |
+ m_layout = nullptr; |
eae
2013/11/12 17:00:30
This doesn't seem right, why would createLayout be
|
+#endif |
+ } |
}; |
class TrailingObjects { |
@@ -2971,11 +2980,11 @@ inline bool BreakingContext::handleText(WordMeasurements& wordMeasurements, bool |
if (m_renderTextInfo.m_text != renderText) { |
m_renderTextInfo.m_text = renderText; |
m_renderTextInfo.m_font = &font; |
- m_renderTextInfo.m_layout = font.createLayout(renderText, m_width.currentWidth(), m_collapseWhiteSpace); |
+ m_renderTextInfo.createLayout(renderText, m_width.currentWidth(), m_collapseWhiteSpace); |
m_renderTextInfo.m_lineBreakIterator.resetStringAndReleaseIterator(renderText->text(), style->locale()); |
} else if (m_renderTextInfo.m_layout && m_renderTextInfo.m_font != &font) { |
m_renderTextInfo.m_font = &font; |
- m_renderTextInfo.m_layout = font.createLayout(renderText, m_width.currentWidth(), m_collapseWhiteSpace); |
+ m_renderTextInfo.createLayout(renderText, m_width.currentWidth(), m_collapseWhiteSpace); |
} |
TextLayout* textLayout = m_renderTextInfo.m_layout.get(); |