| 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 1284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1295 // The starting position is the beginning of the first run within the is
olate that was identified | 1295 // The starting position is the beginning of the first run within the is
olate that was identified |
| 1296 // during the earlier call to createBidiRunsForLine. This can be but is
not necessarily the | 1296 // during the earlier call to createBidiRunsForLine. This can be but is
not necessarily the |
| 1297 // first run within the isolate. | 1297 // first run within the isolate. |
| 1298 InlineIterator iter = InlineIterator(isolatedInline, startObj, isolatedR
un->m_start); | 1298 InlineIterator iter = InlineIterator(isolatedInline, startObj, isolatedR
un->m_start); |
| 1299 isolatedResolver.setPositionIgnoringNestedIsolates(iter); | 1299 isolatedResolver.setPositionIgnoringNestedIsolates(iter); |
| 1300 // We stop at the next end of line; we may re-enter this isolate in the
next call to constructBidiRuns(). | 1300 // We stop at the next end of line; we may re-enter this isolate in the
next call to constructBidiRuns(). |
| 1301 // FIXME: What should end and previousLineBrokeCleanly be? | 1301 // FIXME: What should end and previousLineBrokeCleanly be? |
| 1302 // rniwa says previousLineBrokeCleanly is just a WinIE hack and could al
ways be false here? | 1302 // rniwa says previousLineBrokeCleanly is just a WinIE hack and could al
ways be false here? |
| 1303 isolatedResolver.createBidiRunsForLine(endOfRuns, NoVisualOverride, prev
iousLineBrokeCleanly); | 1303 isolatedResolver.createBidiRunsForLine(endOfRuns, NoVisualOverride, prev
iousLineBrokeCleanly); |
| 1304 | 1304 |
| 1305 // Note that we do not delete the runs from the resolver. | 1305 ASSERT(isolatedResolver.runs().runCount()); |
| 1306 // We're not guaranteed to get any BidiRuns in the previous step. If we
don't, we allow the placeholder | |
| 1307 // itself to be turned into an InlineBox. We can't remove it here withou
t potentially losing track of | |
| 1308 // the logically last run. | |
| 1309 if (isolatedResolver.runs().runCount()) | 1306 if (isolatedResolver.runs().runCount()) |
| 1310 bidiRuns.replaceRunWithRuns(isolatedRun, isolatedResolver.runs()); | 1307 bidiRuns.replaceRunWithRuns(isolatedRun, isolatedResolver.runs()); |
| 1311 | 1308 |
| 1312 // If we encountered any nested isolate runs, just move them | 1309 // If we encountered any nested isolate runs, just move them |
| 1313 // to the top resolver's list for later processing. | 1310 // to the top resolver's list for later processing. |
| 1314 if (!isolatedResolver.isolatedRuns().isEmpty()) { | 1311 if (!isolatedResolver.isolatedRuns().isEmpty()) { |
| 1315 topResolver.isolatedRuns().append(isolatedResolver.isolatedRuns()); | 1312 topResolver.isolatedRuns().append(isolatedResolver.isolatedRuns()); |
| 1316 currentRoot = isolatedInline; | 1313 currentRoot = isolatedInline; |
| 1317 restoreIsolatedMidpointStates(topResolver, isolatedResolver); | 1314 restoreIsolatedMidpointStates(topResolver, isolatedResolver); |
| 1318 } | 1315 } |
| (...skipping 2228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3547 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver
ticalPositionCache); | 3544 lineGridBox->alignBoxesInBlockDirection(logicalHeight(), textBoxDataMap, ver
ticalPositionCache); |
| 3548 | 3545 |
| 3549 setLineGridBox(lineGridBox); | 3546 setLineGridBox(lineGridBox); |
| 3550 | 3547 |
| 3551 // FIXME: If any of the characteristics of the box change compared to the ol
d one, then we need to do a deep dirtying | 3548 // FIXME: If any of the characteristics of the box change compared to the ol
d one, then we need to do a deep dirtying |
| 3552 // (similar to what happens when the page height changes). Ideally, though,
we only do this if someone is actually snapping | 3549 // (similar to what happens when the page height changes). Ideally, though,
we only do this if someone is actually snapping |
| 3553 // to this grid. | 3550 // to this grid. |
| 3554 } | 3551 } |
| 3555 | 3552 |
| 3556 } | 3553 } |
| OLD | NEW |