Diff
Modified: trunk/Source/WebCore/ChangeLog (163616 => 163617)
--- trunk/Source/WebCore/ChangeLog 2014-02-07 10:10:55 UTC (rev 163616)
+++ trunk/Source/WebCore/ChangeLog 2014-02-07 10:21:15 UTC (rev 163617)
@@ -1,3 +1,35 @@
+2014-02-07 Laszlo Vidacs <lvidacs.u-sze...@partner.samsung.com>
+
+ Renaming isTableElement() to isRenderedTable() as per the FIXME comment
+ https://bugs.webkit.org/show_bug.cgi?id=127769
+
+ Reviewed by Andreas Kling.
+
+ Rename method and use IsTable() instead of local type checking.
+
+ * dom/Position.cpp:
+ (WebCore::Position::parentAnchoredEquivalent):
+ (WebCore::Position::upstream):
+ (WebCore::Position::downstream):
+ (WebCore::Position::isCandidate):
+ * dom/PositionIterator.cpp:
+ (WebCore::PositionIterator::isCandidate):
+ * editing/CompositeEditCommand.cpp:
+ (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
+ (WebCore::CompositeEditCommand::moveParagraphWithClones):
+ * editing/FrameSelection.cpp:
+ (WebCore::caretRendersInsideNode):
+ * editing/VisibleUnits.cpp:
+ (WebCore::startOfParagraph):
+ (WebCore::endOfParagraph):
+ * editing/htmlediting.cpp:
+ (WebCore::firstInSpecialElement):
+ (WebCore::lastInSpecialElement):
+ (WebCore::isRenderedTable):
+ * editing/htmlediting.h:
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::localCaretRect):
+
2014-02-06 Brady Eidson <beid...@apple.com>
IDB: Remove the entirely unnecessary "Value Key" concept
Modified: trunk/Source/WebCore/dom/Position.cpp (163616 => 163617)
--- trunk/Source/WebCore/dom/Position.cpp 2014-02-07 10:10:55 UTC (rev 163616)
+++ trunk/Source/WebCore/dom/Position.cpp 2014-02-07 10:21:15 UTC (rev 163617)
@@ -236,13 +236,13 @@
// FIXME: This should only be necessary for legacy positions, but is also needed for positions before and after Tables
if (m_offset <= 0 && (m_anchorType != PositionIsAfterAnchor && m_anchorType != PositionIsAfterChildren)) {
- if (findParent(m_anchorNode.get()) && (editingIgnoresContent(m_anchorNode.get()) || isTableElement(m_anchorNode.get())))
+ if (findParent(m_anchorNode.get()) && (editingIgnoresContent(m_anchorNode.get()) || isRenderedTable(m_anchorNode.get())))
return positionInParentBeforeNode(m_anchorNode.get());
return Position(m_anchorNode.get(), 0, PositionIsOffsetInAnchor);
}
if (!m_anchorNode->offsetInCharacters()
&& (m_anchorType == PositionIsAfterAnchor || m_anchorType == PositionIsAfterChildren || static_cast<unsigned>(m_offset) == m_anchorNode->childNodeCount())
- && (editingIgnoresContent(m_anchorNode.get()) || isTableElement(m_anchorNode.get()))
+ && (editingIgnoresContent(m_anchorNode.get()) || isRenderedTable(m_anchorNode.get()))
&& containerNode()) {
return positionInParentAfterNode(m_anchorNode.get());
}
@@ -634,7 +634,7 @@
return lastVisible;
// Return position after tables and nodes which have content that can be ignored.
- if (editingIgnoresContent(currentNode) || isTableElement(currentNode)) {
+ if (editingIgnoresContent(currentNode) || isRenderedTable(currentNode)) {
if (currentPos.atEndOfNode())
return positionAfterNode(currentNode);
continue;
@@ -766,7 +766,7 @@
lastVisible = currentPos;
// Return position before tables and nodes which have content that can be ignored.
- if (editingIgnoresContent(currentNode) || isTableElement(currentNode)) {
+ if (editingIgnoresContent(currentNode) || isRenderedTable(currentNode)) {
if (currentPos.offsetInLeafNode() <= renderer->caretMinOffset())
return createLegacyEditingPosition(currentNode, renderer->caretMinOffset());
continue;
@@ -928,7 +928,7 @@
if (renderer->isText())
return !nodeIsUserSelectNone(deprecatedNode()) && toRenderText(renderer)->containsCaretOffset(m_offset);
- if (isTableElement(deprecatedNode()) || editingIgnoresContent(deprecatedNode()))
+ if (isRenderedTable(deprecatedNode()) || editingIgnoresContent(deprecatedNode()))
return (atFirstEditingPositionForNode() || atLastEditingPositionForNode()) && !nodeIsUserSelectNone(deprecatedNode()->parentNode());
if (m_anchorNode->hasTagName(htmlTag))
Modified: trunk/Source/WebCore/dom/PositionIterator.cpp (163616 => 163617)
--- trunk/Source/WebCore/dom/PositionIterator.cpp 2014-02-07 10:10:55 UTC (rev 163616)
+++ trunk/Source/WebCore/dom/PositionIterator.cpp 2014-02-07 10:21:15 UTC (rev 163617)
@@ -157,7 +157,7 @@
if (renderer->isText())
return !Position::nodeIsUserSelectNone(m_anchorNode) && toRenderText(renderer)->containsCaretOffset(m_offsetInAnchor);
- if (isTableElement(m_anchorNode) || editingIgnoresContent(m_anchorNode))
+ if (isRenderedTable(m_anchorNode) || editingIgnoresContent(m_anchorNode))
return (atStartOfNode() || atEndOfNode()) && !Position::nodeIsUserSelectNone(m_anchorNode->parentNode());
if (!m_anchorNode->hasTagName(htmlTag) && renderer->isRenderBlockFlow()) {
Modified: trunk/Source/WebCore/editing/CompositeEditCommand.cpp (163616 => 163617)
--- trunk/Source/WebCore/editing/CompositeEditCommand.cpp 2014-02-07 10:10:55 UTC (rev 163616)
+++ trunk/Source/WebCore/editing/CompositeEditCommand.cpp 2014-02-07 10:21:15 UTC (rev 163617)
@@ -1057,7 +1057,7 @@
if (outerNode->isRootEditableElement()) {
lastNode = blockElement;
} else {
- lastNode = outerNode->cloneNode(isTableElement(outerNode.get()));
+ lastNode = outerNode->cloneNode(isRenderedTable(outerNode.get()));
appendNode(lastNode, blockElement);
}
@@ -1072,7 +1072,7 @@
for (size_t i = ancestors.size(); i != 0; --i) {
Node* item = ancestors[i - 1].get();
- RefPtr<Node> child = item->cloneNode(isTableElement(item));
+ RefPtr<Node> child = item->cloneNode(isRenderedTable(item));
appendNode(child, toElement(lastNode.get()));
lastNode = child.release();
}
@@ -1190,7 +1190,7 @@
beforeParagraph = VisiblePosition(beforeParagraph.deepEquivalent());
afterParagraph = VisiblePosition(afterParagraph.deepEquivalent());
- if (beforeParagraph.isNotNull() && !isTableElement(beforeParagraph.deepEquivalent().deprecatedNode())
+ if (beforeParagraph.isNotNull() && !isRenderedTable(beforeParagraph.deepEquivalent().deprecatedNode())
&& ((!isEndOfParagraph(beforeParagraph) && !isStartOfParagraph(beforeParagraph)) || beforeParagraph == afterParagraph)) {
// FIXME: Trim text between beforeParagraph and afterParagraph if they aren't equal.
insertNodeAt(createBreakElement(document()), beforeParagraph.deepEquivalent());
Modified: trunk/Source/WebCore/editing/FrameSelection.cpp (163616 => 163617)
--- trunk/Source/WebCore/editing/FrameSelection.cpp 2014-02-07 10:10:55 UTC (rev 163616)
+++ trunk/Source/WebCore/editing/FrameSelection.cpp 2014-02-07 10:21:15 UTC (rev 163617)
@@ -1288,7 +1288,7 @@
static inline bool caretRendersInsideNode(Node* node)
{
- return node && !isTableElement(node) && !editingIgnoresContent(node);
+ return node && !isRenderedTable(node) && !editingIgnoresContent(node);
}
static RenderObject* caretRenderer(Node* node)
Modified: trunk/Source/WebCore/editing/VisibleUnits.cpp (163616 => 163617)
--- trunk/Source/WebCore/editing/VisibleUnits.cpp 2014-02-07 10:10:55 UTC (rev 163616)
+++ trunk/Source/WebCore/editing/VisibleUnits.cpp 2014-02-07 10:21:15 UTC (rev 163617)
@@ -1159,7 +1159,7 @@
node = n;
offset = 0;
n = NodeTraversal::previousPostOrder(n, startBlock);
- } else if (editingIgnoresContent(n) || isTableElement(n)) {
+ } else if (editingIgnoresContent(n) || isRenderedTable(n)) {
node = n;
type = Position::PositionIsBeforeAnchor;
n = n->previousSibling() ? n->previousSibling() : NodeTraversal::previousPostOrder(n, startBlock);
@@ -1239,7 +1239,7 @@
node = n;
offset = r->caretMaxOffset();
n = NodeTraversal::next(n, stayInsideBlock);
- } else if (editingIgnoresContent(n) || isTableElement(n)) {
+ } else if (editingIgnoresContent(n) || isRenderedTable(n)) {
node = n;
type = Position::PositionIsAfterAnchor;
n = NodeTraversal::nextSkippingChildren(n, stayInsideBlock);
Modified: trunk/Source/WebCore/editing/htmlediting.cpp (163616 => 163617)
--- trunk/Source/WebCore/editing/htmlediting.cpp 2014-02-07 10:10:55 UTC (rev 163616)
+++ trunk/Source/WebCore/editing/htmlediting.cpp 2014-02-07 10:21:15 UTC (rev 163617)
@@ -423,7 +423,7 @@
if (isSpecialElement(n)) {
VisiblePosition vPos = VisiblePosition(pos, DOWNSTREAM);
VisiblePosition firstInElement = VisiblePosition(firstPositionInOrBeforeNode(n), DOWNSTREAM);
- if (isTableElement(n) && vPos == firstInElement.next())
+ if (isRenderedTable(n) && vPos == firstInElement.next())
return n;
if (vPos == firstInElement)
return n;
@@ -438,7 +438,7 @@
if (isSpecialElement(n)) {
VisiblePosition vPos = VisiblePosition(pos, DOWNSTREAM);
VisiblePosition lastInElement = VisiblePosition(lastPositionInOrAfterNode(n), DOWNSTREAM);
- if (isTableElement(n) && vPos == lastInElement.previous())
+ if (isRenderedTable(n) && vPos == lastInElement.previous())
return n;
if (vPos == lastInElement)
return n;
@@ -807,14 +807,14 @@
return 0;
}
-// FIXME: do not require renderer, so that this can be used within fragments, or rename to isRenderedTable()
-bool isTableElement(Node* n)
+// FIXME: do not require renderer, so that this can be used within fragments
+bool isRenderedTable(const Node* n)
{
if (!n || !n->isElementNode())
return false;
RenderObject* renderer = n->renderer();
- return (renderer && (renderer->style().display() == TABLE || renderer->style().display() == INLINE_TABLE));
+ return (renderer && renderer->isTable());
}
bool isTableCell(const Node* node)
Modified: trunk/Source/WebCore/editing/htmlediting.h (163616 => 163617)
--- trunk/Source/WebCore/editing/htmlediting.h 2014-02-07 10:10:55 UTC (rev 163616)
+++ trunk/Source/WebCore/editing/htmlediting.h 2014-02-07 10:21:15 UTC (rev 163617)
@@ -108,7 +108,7 @@
bool isTabSpanNode(const Node*);
bool isTabSpanTextNode(const Node*);
bool isMailBlockquote(const Node*);
-bool isTableElement(Node*);
+bool isRenderedTable(const Node*);
bool isTableCell(const Node*);
bool isEmptyTableCell(const Node*);
bool isTableStructureNode(const Node*);
Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (163616 => 163617)
--- trunk/Source/WebCore/rendering/RenderBox.cpp 2014-02-07 10:10:55 UTC (rev 163616)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp 2014-02-07 10:21:15 UTC (rev 163617)
@@ -4116,7 +4116,7 @@
// FIXME: Border/padding should be added for all elements but this workaround
// is needed because we use offsets inside an "atomic" element to represent
// positions before and after the element in deprecated editing offsets.
- if (element() && !(editingIgnoresContent(element()) || isTableElement(element()))) {
+ if (element() && !(editingIgnoresContent(element()) || isRenderedTable(element()))) {
rect.setX(rect.x() + borderLeft() + paddingLeft());
rect.setY(rect.y() + paddingTop() + borderTop());
}