| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2004, 2005, 2006, 2009 Apple Inc. All rights reserved. |
| 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 17 matching lines...) Expand all Loading... |
| 28 | 28 |
| 29 #include <stdio.h> | 29 #include <stdio.h> |
| 30 #include "HTMLNames.h" | 30 #include "HTMLNames.h" |
| 31 #include "core/css/CSSComputedStyleDeclaration.h" | 31 #include "core/css/CSSComputedStyleDeclaration.h" |
| 32 #include "core/dom/PositionIterator.h" | 32 #include "core/dom/PositionIterator.h" |
| 33 #include "core/dom/Text.h" | 33 #include "core/dom/Text.h" |
| 34 #include "core/editing/TextIterator.h" | 34 #include "core/editing/TextIterator.h" |
| 35 #include "core/editing/VisiblePosition.h" | 35 #include "core/editing/VisiblePosition.h" |
| 36 #include "core/editing/VisibleUnits.h" | 36 #include "core/editing/VisibleUnits.h" |
| 37 #include "core/editing/htmlediting.h" | 37 #include "core/editing/htmlediting.h" |
| 38 #include "core/html/HTMLTableElement.h" |
| 38 #include "core/platform/Logging.h" | 39 #include "core/platform/Logging.h" |
| 39 #include "core/rendering/InlineIterator.h" | 40 #include "core/rendering/InlineIterator.h" |
| 40 #include "core/rendering/InlineTextBox.h" | 41 #include "core/rendering/InlineTextBox.h" |
| 41 #include "core/rendering/RenderBlock.h" | 42 #include "core/rendering/RenderBlock.h" |
| 42 #include "core/rendering/RenderInline.h" | 43 #include "core/rendering/RenderInline.h" |
| 43 #include "core/rendering/RenderText.h" | 44 #include "core/rendering/RenderText.h" |
| 44 #include "wtf/text/CString.h" | 45 #include "wtf/text/CString.h" |
| 45 #include "wtf/unicode/CharacterNames.h" | 46 #include "wtf/unicode/CharacterNames.h" |
| 46 | 47 |
| 47 namespace WebCore { | 48 namespace WebCore { |
| (...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 541 // FIXME: Share code with isCandidate, if possible. | 542 // FIXME: Share code with isCandidate, if possible. |
| 542 static bool endsOfNodeAreVisuallyDistinctPositions(Node* node) | 543 static bool endsOfNodeAreVisuallyDistinctPositions(Node* node) |
| 543 { | 544 { |
| 544 if (!node || !node->renderer()) | 545 if (!node || !node->renderer()) |
| 545 return false; | 546 return false; |
| 546 | 547 |
| 547 if (!node->renderer()->isInline()) | 548 if (!node->renderer()->isInline()) |
| 548 return true; | 549 return true; |
| 549 | 550 |
| 550 // Don't include inline tables. | 551 // Don't include inline tables. |
| 551 if (node->hasTagName(tableTag)) | 552 if (isHTMLTableElement(node)) |
| 552 return false; | 553 return false; |
| 553 | 554 |
| 554 // There is a VisiblePosition inside an empty inline-block container. | 555 // There is a VisiblePosition inside an empty inline-block container. |
| 555 return node->renderer()->isReplaced() && canHaveChildrenForEditing(node) &&
toRenderBox(node->renderer())->height() != 0 && !node->firstChild(); | 556 return node->renderer()->isReplaced() && canHaveChildrenForEditing(node) &&
toRenderBox(node->renderer())->height() != 0 && !node->firstChild(); |
| 556 } | 557 } |
| 557 | 558 |
| 558 static Node* enclosingVisualBoundary(Node* node) | 559 static Node* enclosingVisualBoundary(Node* node) |
| 559 { | 560 { |
| 560 while (node && !endsOfNodeAreVisuallyDistinctPositions(node)) | 561 while (node && !endsOfNodeAreVisuallyDistinctPositions(node)) |
| 561 node = node->parentNode(); | 562 node = node->parentNode(); |
| (...skipping 828 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1390 pos.showTreeForThis(); | 1391 pos.showTreeForThis(); |
| 1391 } | 1392 } |
| 1392 | 1393 |
| 1393 void showTree(const WebCore::Position* pos) | 1394 void showTree(const WebCore::Position* pos) |
| 1394 { | 1395 { |
| 1395 if (pos) | 1396 if (pos) |
| 1396 pos->showTreeForThis(); | 1397 pos->showTreeForThis(); |
| 1397 } | 1398 } |
| 1398 | 1399 |
| 1399 #endif | 1400 #endif |
| OLD | NEW |