Chromium Code Reviews| 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(); |