OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ight reserved. | 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ight reserved. |
4 * Copyright (C) 2010 Google Inc. All rights reserved. | 4 * Copyright (C) 2010 Google Inc. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 14 matching lines...) Expand all Loading... | |
25 | 25 |
26 #include "sky/engine/core/rendering/line/BreakingContextInlineHeaders.h" | 26 #include "sky/engine/core/rendering/line/BreakingContextInlineHeaders.h" |
27 | 27 |
28 namespace blink { | 28 namespace blink { |
29 | 29 |
30 void LineBreaker::skipLeadingWhitespace(InlineBidiResolver& resolver, LineInfo& lineInfo, | 30 void LineBreaker::skipLeadingWhitespace(InlineBidiResolver& resolver, LineInfo& lineInfo, |
31 FloatingObject* lastFloatFromPreviousLine, LineWidth& width) | 31 FloatingObject* lastFloatFromPreviousLine, LineWidth& width) |
32 { | 32 { |
33 while (!resolver.position().atEnd() && !requiresLineBox(resolver.position(), lineInfo, LeadingWhitespace)) { | 33 while (!resolver.position().atEnd() && !requiresLineBox(resolver.position(), lineInfo, LeadingWhitespace)) { |
34 RenderObject* object = resolver.position().object(); | 34 RenderObject* object = resolver.position().object(); |
35 if (object->isOutOfFlowPositioned()) { | 35 if (object->isOutOfFlowPositioned() |
36 setStaticPositions(m_block, toRenderBox(object)); | 36 && object->style()->isOriginalDisplayInlineType()) { |
ojan
2015/02/21 04:29:19
I maintained behavior here, but I'm not really sur
| |
37 if (object->style()->isOriginalDisplayInlineType()) { | 37 resolver.runs().addRun(createRun(0, 1, object, resolver)); |
38 resolver.runs().addRun(createRun(0, 1, object, resolver)); | 38 lineInfo.incrementRunsFromLeadingWhitespace(); |
39 lineInfo.incrementRunsFromLeadingWhitespace(); | |
40 } | |
41 } | 39 } |
42 resolver.position().increment(&resolver); | 40 resolver.position().increment(&resolver); |
43 } | 41 } |
44 resolver.commitExplicitEmbedding(resolver.runs()); | 42 resolver.commitExplicitEmbedding(resolver.runs()); |
45 } | 43 } |
46 | 44 |
47 void LineBreaker::reset() | 45 void LineBreaker::reset() |
48 { | 46 { |
49 m_positionedObjects.clear(); | 47 m_positionedObjects.clear(); |
50 m_hyphenated = false; | 48 m_hyphenated = false; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
96 | 94 |
97 context.increment(); | 95 context.increment(); |
98 } | 96 } |
99 | 97 |
100 context.clearLineBreakIfFitsOnLine(); | 98 context.clearLineBreakIfFitsOnLine(); |
101 | 99 |
102 return context.handleEndOfLine(); | 100 return context.handleEndOfLine(); |
103 } | 101 } |
104 | 102 |
105 } | 103 } |
OLD | NEW |