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 Apple Inc. All right r
eserved. | 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010 Apple Inc. All right r
eserved. |
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 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 return dir == RTL ? RightToLeftEmbedding : LeftToRightEmbedding; | 127 return dir == RTL ? RightToLeftEmbedding : LeftToRightEmbedding; |
128 return dir == RTL ? RightToLeftOverride : LeftToRightOverride; | 128 return dir == RTL ? RightToLeftOverride : LeftToRightOverride; |
129 } | 129 } |
130 | 130 |
131 template <class Observer> | 131 template <class Observer> |
132 static inline void notifyObserverEnteredObject(Observer* observer, LayoutObject*
object) | 132 static inline void notifyObserverEnteredObject(Observer* observer, LayoutObject*
object) |
133 { | 133 { |
134 if (!observer || !object || !object->isLayoutInline()) | 134 if (!observer || !object || !object->isLayoutInline()) |
135 return; | 135 return; |
136 | 136 |
137 const LayoutStyle& style = object->styleRef(); | 137 const ComputedStyle& style = object->styleRef(); |
138 EUnicodeBidi unicodeBidi = style.unicodeBidi(); | 138 EUnicodeBidi unicodeBidi = style.unicodeBidi(); |
139 if (unicodeBidi == UBNormal) { | 139 if (unicodeBidi == UBNormal) { |
140 // http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi | 140 // http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi |
141 // "The element does not open an additional level of embedding with resp
ect to the bidirectional algorithm." | 141 // "The element does not open an additional level of embedding with resp
ect to the bidirectional algorithm." |
142 // Thus we ignore any possible dir= attribute on the span. | 142 // Thus we ignore any possible dir= attribute on the span. |
143 return; | 143 return; |
144 } | 144 } |
145 if (isIsolated(unicodeBidi)) { | 145 if (isIsolated(unicodeBidi)) { |
146 // Make sure that explicit embeddings are committed before we enter the
isolated content. | 146 // Make sure that explicit embeddings are committed before we enter the
isolated content. |
147 observer->commitExplicitEmbedding(observer->runs()); | 147 observer->commitExplicitEmbedding(observer->runs()); |
(...skipping 589 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
737 m_sor = m_eor; | 737 m_sor = m_eor; |
738 } | 738 } |
739 | 739 |
740 m_direction = WTF::Unicode::OtherNeutral; | 740 m_direction = WTF::Unicode::OtherNeutral; |
741 m_status.eor = WTF::Unicode::OtherNeutral; | 741 m_status.eor = WTF::Unicode::OtherNeutral; |
742 } | 742 } |
743 | 743 |
744 } | 744 } |
745 | 745 |
746 #endif // InlineIterator_h | 746 #endif // InlineIterator_h |
OLD | NEW |