| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserv
ed. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 955 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 966 if (!node) | 966 if (!node) |
| 967 return VisiblePosition(); | 967 return VisiblePosition(); |
| 968 | 968 |
| 969 node->document().updateLayoutIgnorePendingStylesheets(); | 969 node->document().updateLayoutIgnorePendingStylesheets(); |
| 970 | 970 |
| 971 LayoutObject* layoutObject = node->layoutObject(); | 971 LayoutObject* layoutObject = node->layoutObject(); |
| 972 if (!layoutObject) | 972 if (!layoutObject) |
| 973 return VisiblePosition(); | 973 return VisiblePosition(); |
| 974 | 974 |
| 975 RootInlineBox* root = 0; | 975 RootInlineBox* root = 0; |
| 976 InlineBox* box = visiblePosition.computeInlineBoxPosition().inlineBox; | 976 InlineBox* box = computeInlineBoxPosition(visiblePosition).inlineBox; |
| 977 if (box) { | 977 if (box) { |
| 978 root = box->root().prevRootBox(); | 978 root = box->root().prevRootBox(); |
| 979 // We want to skip zero height boxes. | 979 // We want to skip zero height boxes. |
| 980 // This could happen in case it is a TrailingFloatsRootInlineBox. | 980 // This could happen in case it is a TrailingFloatsRootInlineBox. |
| 981 if (!root || !root->logicalHeight() || !root->firstLeafChild()) | 981 if (!root || !root->logicalHeight() || !root->firstLeafChild()) |
| 982 root = 0; | 982 root = 0; |
| 983 } | 983 } |
| 984 | 984 |
| 985 if (!root) { | 985 if (!root) { |
| 986 Position position = previousRootInlineBoxCandidatePosition(node, visible
Position, editableType); | 986 Position position = previousRootInlineBoxCandidatePosition(node, visible
Position, editableType); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1019 if (!node) | 1019 if (!node) |
| 1020 return VisiblePosition(); | 1020 return VisiblePosition(); |
| 1021 | 1021 |
| 1022 node->document().updateLayoutIgnorePendingStylesheets(); | 1022 node->document().updateLayoutIgnorePendingStylesheets(); |
| 1023 | 1023 |
| 1024 LayoutObject* layoutObject = node->layoutObject(); | 1024 LayoutObject* layoutObject = node->layoutObject(); |
| 1025 if (!layoutObject) | 1025 if (!layoutObject) |
| 1026 return VisiblePosition(); | 1026 return VisiblePosition(); |
| 1027 | 1027 |
| 1028 RootInlineBox* root = 0; | 1028 RootInlineBox* root = 0; |
| 1029 InlineBox* box = visiblePosition.computeInlineBoxPosition().inlineBox; | 1029 InlineBox* box = computeInlineBoxPosition(visiblePosition).inlineBox; |
| 1030 if (box) { | 1030 if (box) { |
| 1031 root = box->root().nextRootBox(); | 1031 root = box->root().nextRootBox(); |
| 1032 // We want to skip zero height boxes. | 1032 // We want to skip zero height boxes. |
| 1033 // This could happen in case it is a TrailingFloatsRootInlineBox. | 1033 // This could happen in case it is a TrailingFloatsRootInlineBox. |
| 1034 if (!root || !root->logicalHeight() || !root->firstLeafChild()) | 1034 if (!root || !root->logicalHeight() || !root->firstLeafChild()) |
| 1035 root = 0; | 1035 root = 0; |
| 1036 } | 1036 } |
| 1037 | 1037 |
| 1038 if (!root) { | 1038 if (!root) { |
| 1039 // FIXME: We need do the same in previousLinePosition. | 1039 // FIXME: We need do the same in previousLinePosition. |
| (...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1595 | 1595 |
| 1596 if (previousRenderedEditable(position1.anchorNode()) == position2.anchorNode
() | 1596 if (previousRenderedEditable(position1.anchorNode()) == position2.anchorNode
() |
| 1597 && !renderedOffset1 && renderedOffset2 == caretMaxOffset(position2.ancho
rNode())) { | 1597 && !renderedOffset1 && renderedOffset2 == caretMaxOffset(position2.ancho
rNode())) { |
| 1598 return false; | 1598 return false; |
| 1599 } | 1599 } |
| 1600 | 1600 |
| 1601 return true; | 1601 return true; |
| 1602 } | 1602 } |
| 1603 | 1603 |
| 1604 } | 1604 } |
| OLD | NEW |