Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(821)

Unified Diff: Source/core/editing/htmlediting.cpp

Issue 59963002: Unable to delete the first and the last characters of a contenteditable div with display: table. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Tweaking the testcase Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/editing/htmlediting.cpp
diff --git a/Source/core/editing/htmlediting.cpp b/Source/core/editing/htmlediting.cpp
index fbd399dd2eea8690e31726151f52181b2c5b6bed..09630644a12c0d2c8dafbab301c7a2edfc09e994 100644
--- a/Source/core/editing/htmlediting.cpp
+++ b/Source/core/editing/htmlediting.cpp
@@ -160,7 +160,7 @@ bool isEditablePosition(const Position& p, EditableType editableType, EUpdateSty
else
ASSERT(updateStyle == DoNotUpdateStyle);
- if (node->renderer() && node->renderer()->isTable())
+ if (isTableElement(node))
node = node->parentNode();
return node->rendererIsEditable(editableType);
@@ -179,7 +179,7 @@ bool isRichlyEditablePosition(const Position& p, EditableType editableType)
if (!node)
return false;
- if (node->renderer() && node->renderer()->isTable())
+ if (isTableElement(node))
node = node->parentNode();
return node->rendererIsRichlyEditable(editableType);
@@ -191,7 +191,7 @@ Element* editableRootForPosition(const Position& p, EditableType editableType)
if (!node)
return 0;
- if (node->renderer() && node->renderer()->isTable())
+ if (isTableElement(node))
node = node->parentNode();
return node->rootEditableElement(editableType);
@@ -752,12 +752,20 @@ bool canMergeLists(Element* firstList, Element* secondList)
// Make sure there is no visible content between this li and the previous list
}
-bool isRenderedTable(const Node* n)
+bool isTableElement(const Node* n)
leviw_travelin_and_unemployed 2013/11/26 01:39:43 Nit: node instead of n
arpitab_ 2013/11/26 09:09:09 Done.
{
if (!n || !n->isElementNode())
return false;
- RenderObject* renderer = n->renderer();
+ return n->hasTagName(tableTag);
+}
+
+bool isRenderedTable(const Node* node)
+{
+ if (!node || !node->isElementNode())
+ return false;
+
+ RenderObject* renderer = node->renderer();
return (renderer && renderer->isTable());
}
« LayoutTests/editing/deleting/display-table.html ('K') | « Source/core/editing/htmlediting.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698