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

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

Issue 2490163002: Reland of "Tracking reference filter mutation via SVGElementProxy" (Closed)
Patch Set: Fix double observer unregistration; simplify scope selection; add tests 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/Document.h ('k') | third_party/WebKit/Source/core/dom/Element.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/Document.cpp
diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp
index 814f71fd5e4707711f266950c0261cc6fbad7b14..e512e9cff7ca5069b9cac28a228ee8c15dc846bb 100644
--- a/third_party/WebKit/Source/core/dom/Document.cpp
+++ b/third_party/WebKit/Source/core/dom/Document.cpp
@@ -1568,8 +1568,6 @@ bool Document::needsFullLayoutTreeUpdate() const {
return false;
if (!m_useElementsNeedingUpdate.isEmpty())
return true;
- if (!m_layerUpdateSVGFilterElements.isEmpty())
- return true;
if (needsStyleRecalc())
return true;
if (needsStyleInvalidation())
@@ -1962,11 +1960,8 @@ void Document::updateStyle() {
if (Element* documentElement = this->documentElement()) {
inheritHtmlAndBodyElementStyles(change);
- dirtyElementsForLayerUpdate();
if (documentElement->shouldCallRecalcStyle(change))
documentElement->recalcStyle(change);
- while (dirtyElementsForLayerUpdate())
- documentElement->recalcStyle(NoChange);
}
view()->recalcOverflowAfterStyleChange();
@@ -2244,31 +2239,6 @@ void Document::setIsViewSource(bool isViewSource) {
didUpdateSecurityOrigin();
}
-bool Document::dirtyElementsForLayerUpdate() {
- if (m_layerUpdateSVGFilterElements.isEmpty())
- return false;
-
- for (Element* element : m_layerUpdateSVGFilterElements)
- element->setNeedsStyleRecalc(LocalStyleChange,
- StyleChangeReasonForTracing::create(
- StyleChangeReason::SVGFilterLayerUpdate));
- m_layerUpdateSVGFilterElements.clear();
- return true;
-}
-
-void Document::scheduleSVGFilterLayerUpdateHack(Element& element) {
- if (element.getStyleChangeType() == NeedsReattachStyleChange)
- return;
- element.setSVGFilterNeedsLayerUpdate();
- m_layerUpdateSVGFilterElements.add(&element);
- scheduleLayoutTreeUpdateIfNeeded();
-}
-
-void Document::unscheduleSVGFilterLayerUpdateHack(Element& element) {
- element.clearSVGFilterNeedsLayerUpdate();
- m_layerUpdateSVGFilterElements.remove(&element);
-}
-
void Document::scheduleUseShadowTreeUpdate(SVGUseElement& element) {
m_useElementsNeedingUpdate.add(&element);
scheduleLayoutTreeUpdateIfNeeded();
@@ -6405,7 +6375,6 @@ DEFINE_TRACE(Document) {
visitor->trace(m_customElementMicrotaskRunQueue);
visitor->trace(m_elementDataCache);
visitor->trace(m_useElementsNeedingUpdate);
- visitor->trace(m_layerUpdateSVGFilterElements);
visitor->trace(m_timers);
visitor->trace(m_templateDocument);
visitor->trace(m_templateDocumentHost);
« no previous file with comments | « third_party/WebKit/Source/core/dom/Document.h ('k') | third_party/WebKit/Source/core/dom/Element.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698