| 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 341 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 352         // FIXME: Support SkipEmptyInlines and observer parameters. | 352         // FIXME: Support SkipEmptyInlines and observer parameters. | 
| 353         m_current = bidiNextIncludingEmptyInlines(m_root, m_current, &m_atEndOfI
     nline); | 353         m_current = bidiNextIncludingEmptyInlines(m_root, m_current, &m_atEndOfI
     nline); | 
| 354         return m_current; | 354         return m_current; | 
| 355     } | 355     } | 
| 356 private: | 356 private: | 
| 357     RenderObject* m_root; | 357     RenderObject* m_root; | 
| 358     RenderObject* m_current; | 358     RenderObject* m_current; | 
| 359     bool m_atEndOfInline; | 359     bool m_atEndOfInline; | 
| 360 }; | 360 }; | 
| 361 | 361 | 
|  | 362 static inline bool endOfLineHasIsolatedObjectAncestor(const InlineIterator& isol
     atedIterator, const InlineIterator& ancestorItertor) | 
|  | 363 { | 
|  | 364     if (!isolatedIterator.object() || !isIsolated(isolatedIterator.object()->sty
     le()->unicodeBidi())) | 
|  | 365         return false; | 
|  | 366 | 
|  | 367     RenderObject* innerIsolatedObject = isolatedIterator.object(); | 
|  | 368     while (innerIsolatedObject && innerIsolatedObject != isolatedIterator.root()
     ) { | 
|  | 369         if (innerIsolatedObject == ancestorItertor.object()) | 
|  | 370             return true; | 
|  | 371         innerIsolatedObject = innerIsolatedObject->parent(); | 
|  | 372     } | 
|  | 373     return false; | 
|  | 374 } | 
|  | 375 | 
| 362 inline void InlineIterator::increment(InlineBidiResolver* resolver, IncrementRul
     e rule) | 376 inline void InlineIterator::increment(InlineBidiResolver* resolver, IncrementRul
     e rule) | 
| 363 { | 377 { | 
| 364     if (!m_obj) | 378     if (!m_obj) | 
| 365         return; | 379         return; | 
| 366 | 380 | 
| 367     if (resolver && resolver->inIsolate() && rule == FastIncrementInIsolatedRend
     erer) { | 381     if (rule == FastIncrementInIsolatedRenderer | 
|  | 382         && resolver && resolver->inIsolate() | 
|  | 383         && !endOfLineHasIsolatedObjectAncestor(resolver->endOfLine(), resolver->
     position())) { | 
| 368         moveTo(bidiNextSkippingEmptyInlines(m_root, m_obj, resolver), 0); | 384         moveTo(bidiNextSkippingEmptyInlines(m_root, m_obj, resolver), 0); | 
| 369         return; | 385         return; | 
| 370     } | 386     } | 
| 371 | 387 | 
| 372     if (m_obj->isText()) { | 388     if (m_obj->isText()) { | 
| 373         fastIncrementInTextNode(); | 389         fastIncrementInTextNode(); | 
| 374         if (m_pos < toRenderText(m_obj)->textLength()) | 390         if (m_pos < toRenderText(m_obj)->textLength()) | 
| 375             return; | 391             return; | 
| 376     } | 392     } | 
| 377     // bidiNext can return 0, so use moveTo instead of moveToStartOf | 393     // bidiNext can return 0, so use moveTo instead of moveToStartOf | 
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 635         m_sor = m_eor; | 651         m_sor = m_eor; | 
| 636     } | 652     } | 
| 637 | 653 | 
| 638     m_direction = WTF::Unicode::OtherNeutral; | 654     m_direction = WTF::Unicode::OtherNeutral; | 
| 639     m_status.eor = WTF::Unicode::OtherNeutral; | 655     m_status.eor = WTF::Unicode::OtherNeutral; | 
| 640 } | 656 } | 
| 641 | 657 | 
| 642 } | 658 } | 
| 643 | 659 | 
| 644 #endif // InlineIterator_h | 660 #endif // InlineIterator_h | 
| OLD | NEW | 
|---|