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

Unified Diff: third_party/WebKit/Source/core/dom/shadow/SlotAssignment.cpp

Issue 2420043002: Stop re-signaling a slotchange event (Closed)
Patch Set: rebased Created 4 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
« no previous file with comments | « third_party/WebKit/Source/core/dom/Node.cpp ('k') | third_party/WebKit/Source/core/html/HTMLSlotElement.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/dom/shadow/SlotAssignment.cpp
diff --git a/third_party/WebKit/Source/core/dom/shadow/SlotAssignment.cpp b/third_party/WebKit/Source/core/dom/shadow/SlotAssignment.cpp
index 4b4a66ccfd0177a14a0f0f134bc8ac79fb17cd99..110d27bcc434d4221c7551ca69e8a1908c767c2d 100644
--- a/third_party/WebKit/Source/core/dom/shadow/SlotAssignment.cpp
+++ b/third_party/WebKit/Source/core/dom/shadow/SlotAssignment.cpp
@@ -6,6 +6,7 @@
#include "core/HTMLNames.h"
#include "core/dom/ElementTraversal.h"
+#include "core/dom/Node.h"
#include "core/dom/NodeTraversal.h"
#include "core/dom/shadow/ElementShadow.h"
#include "core/dom/shadow/InsertionPoint.h"
@@ -35,7 +36,7 @@ void SlotAssignment::slotAdded(HTMLSlotElement& slot) {
return;
// |oldActive| is no longer an active slot.
if (oldActive.findHostChildWithSameSlotName())
- oldActive.enqueueSlotChangeEvent();
+ oldActive.didSlotChange(SlotChangeType::Initial);
// TODO(hayato): We should not enqeueue a slotchange event for |oldActive|
// if |oldActive| was inserted together with |slot|.
// This could happen if |oldActive| and |slot| are descendants of the inserted
@@ -54,7 +55,7 @@ void SlotAssignment::slotRemoved(HTMLSlotElement& slot) {
if (newActive && newActive != oldActive) {
// |newActive| slot becomes an active slot.
if (newActive->findHostChildWithSameSlotName())
- newActive->enqueueSlotChangeEvent();
+ newActive->didSlotChange(SlotChangeType::Initial);
// TODO(hayato): Prevent a false-positive slotchange.
// This could happen if more than one slots which have the same name are
// descendants of the removed node.
@@ -86,19 +87,19 @@ void SlotAssignment::slotRenamed(const AtomicString& oldSlotName,
bool hasAssignedNodesAfter = slot.hasAssignedNodesSlow();
if (hasAssignedNodesBefore || hasAssignedNodesAfter)
- slot.enqueueSlotChangeEvent();
+ slot.didSlotChange(SlotChangeType::Initial);
}
void SlotAssignment::hostChildSlotNameChanged(const AtomicString& oldValue,
const AtomicString& newValue) {
if (HTMLSlotElement* slot =
findSlotByName(HTMLSlotElement::normalizeSlotName(oldValue))) {
- slot->enqueueSlotChangeEvent();
+ slot->didSlotChange(SlotChangeType::Initial);
m_owner->owner()->setNeedsDistributionRecalc();
}
if (HTMLSlotElement* slot =
findSlotByName(HTMLSlotElement::normalizeSlotName(newValue))) {
- slot->enqueueSlotChangeEvent();
+ slot->didSlotChange(SlotChangeType::Initial);
m_owner->owner()->setNeedsDistributionRecalc();
}
}
« no previous file with comments | « third_party/WebKit/Source/core/dom/Node.cpp ('k') | third_party/WebKit/Source/core/html/HTMLSlotElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698