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

Unified Diff: third_party/WebKit/Source/core/dom/DocumentTest.cpp

Issue 2644063002: Make SynchronousMutationObserver::didMergeTextNodes() to take both merged and merging nodes (Closed)
Patch Set: 2017-01-19T17:22:18 Created 3 years, 11 months 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: third_party/WebKit/Source/core/dom/DocumentTest.cpp
diff --git a/third_party/WebKit/Source/core/dom/DocumentTest.cpp b/third_party/WebKit/Source/core/dom/DocumentTest.cpp
index 900b0d7e5c5409071cf6c5b68ce716948b44baf0..d9e2f2fa11a05e89f2ccce87903289a10a8db15c 100644
--- a/third_party/WebKit/Source/core/dom/DocumentTest.cpp
+++ b/third_party/WebKit/Source/core/dom/DocumentTest.cpp
@@ -30,6 +30,7 @@
#include "core/dom/Document.h"
+#include "core/dom/NodeWithIndex.h"
#include "core/dom/SynchronousMutationObserver.h"
#include "core/dom/Text.h"
#include "core/frame/FrameView.h"
@@ -79,13 +80,21 @@ class TestSynchronousMutationObserver
public:
struct MergeTextNodesRecord : GarbageCollected<MergeTextNodesRecord> {
- Member<Text> m_node;
+ Member<const Text> m_node;
+ Member<Node> m_nodeToBeRemoved;
unsigned m_offset = 0;
- MergeTextNodesRecord(Text* node, unsigned offset)
- : m_node(node), m_offset(offset) {}
+ MergeTextNodesRecord(const Text* node,
+ const NodeWithIndex& nodeWithIndex,
+ unsigned offset)
+ : m_node(node),
+ m_nodeToBeRemoved(nodeWithIndex.node()),
+ m_offset(offset) {}
- DEFINE_INLINE_TRACE() { visitor->trace(m_node); }
+ DEFINE_INLINE_TRACE() {
+ visitor->trace(m_node);
+ visitor->trace(m_nodeToBeRemoved);
+ }
};
struct UpdateCharacterDataRecord
@@ -150,7 +159,7 @@ class TestSynchronousMutationObserver
// Implement |SynchronousMutationObserver| member functions.
void contextDestroyed(Document*) final;
void didChangeChildren(const ContainerNode&) final;
- void didMergeTextNodes(Text&, unsigned) final;
+ void didMergeTextNodes(const Text&, const NodeWithIndex&, unsigned) final;
void didMoveTreeToNewDocument(const Node& root) final;
void didSplitTextNode(const Text&) final;
void didUpdateCharacterData(CharacterData*,
@@ -186,9 +195,12 @@ void TestSynchronousMutationObserver::didChangeChildren(
m_childrenChangedNodes.push_back(&container);
}
-void TestSynchronousMutationObserver::didMergeTextNodes(Text& node,
- unsigned offset) {
- m_mergeTextNodesRecords.push_back(new MergeTextNodesRecord(&node, offset));
+void TestSynchronousMutationObserver::didMergeTextNodes(
+ const Text& node,
+ const NodeWithIndex& nodeWithIndex,
+ unsigned offset) {
+ m_mergeTextNodesRecords.push_back(
+ new MergeTextNodesRecord(&node, nodeWithIndex, offset));
}
void TestSynchronousMutationObserver::didMoveTreeToNewDocument(
@@ -521,7 +533,9 @@ TEST_F(DocumentTest, SynchronousMutationNotifierMergeTextNodes) {
document().body()->normalize();
ASSERT_EQ(1u, observer.mergeTextNodesRecords().size());
- EXPECT_EQ(mergeSampleB, observer.mergeTextNodesRecords()[0]->m_node);
+ EXPECT_EQ(mergeSampleA, observer.mergeTextNodesRecords()[0]->m_node);
+ EXPECT_EQ(mergeSampleB,
+ observer.mergeTextNodesRecords()[0]->m_nodeToBeRemoved);
EXPECT_EQ(10u, observer.mergeTextNodesRecords()[0]->m_offset);
}
« no previous file with comments | « third_party/WebKit/Source/core/dom/Document.cpp ('k') | third_party/WebKit/Source/core/dom/SynchronousMutationNotifier.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698