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

Side by Side Diff: Source/core/dom/Document.cpp

Issue 42543007: StyleResolver should update RuleSets lazily. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Revised 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved.
9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved.
(...skipping 1729 matching lines...) Expand 10 before | Expand all | Expand 10 after
1740 clearChildNeedsStyleRecalc(); 1740 clearChildNeedsStyleRecalc();
1741 unscheduleStyleRecalc(); 1741 unscheduleStyleRecalc();
1742 1742
1743 // FIXME: SVG <use> element can schedule a recalc in the middle of an al ready running one. 1743 // FIXME: SVG <use> element can schedule a recalc in the middle of an al ready running one.
1744 // See StyleEngine::updateActiveStyleSheets. 1744 // See StyleEngine::updateActiveStyleSheets.
1745 if (m_styleEngine->needsUpdateActiveStylesheetsOnStyleRecalc()) 1745 if (m_styleEngine->needsUpdateActiveStylesheetsOnStyleRecalc())
1746 setNeedsStyleRecalc(); 1746 setNeedsStyleRecalc();
1747 1747
1748 if (m_styleEngine->hasResolver()) { 1748 if (m_styleEngine->hasResolver()) {
1749 // Pseudo element removal and similar may only work with these flags still set. Reset them after the style recalc. 1749 // Pseudo element removal and similar may only work with these flags still set. Reset them after the style recalc.
1750 m_styleEngine->resetCSSFeatureFlags(m_styleEngine->resolver()->ruleF eatureSet()); 1750 m_styleEngine->resetCSSFeatureFlags(m_styleEngine->resolver()->ensur eRuleFeatureSet());
1751 m_styleEngine->resolver()->clearStyleSharingList(); 1751 m_styleEngine->resolver()->clearStyleSharingList();
1752 } 1752 }
1753 } 1753 }
1754 1754
1755 InspectorInstrumentation::didRecalculateStyle(cookie); 1755 InspectorInstrumentation::didRecalculateStyle(cookie);
1756 1756
1757 // As a result of the style recalculation, the currently hovered element mig ht have been 1757 // As a result of the style recalculation, the currently hovered element mig ht have been
1758 // detached (for example, by setting display:none in the :hover style), sche dule another mouseMove event 1758 // detached (for example, by setting display:none in the :hover style), sche dule another mouseMove event
1759 // to check if any other elements ended up under the mouse pointer due to re -layout. 1759 // to check if any other elements ended up under the mouse pointer due to re -layout.
1760 if (hoverNode() && !hoverNode()->renderer() && frame()) 1760 if (hoverNode() && !hoverNode()->renderer() && frame())
(...skipping 3448 matching lines...) Expand 10 before | Expand all | Expand 10 after
5209 void Document::modifiedStyleSheet(StyleSheet* sheet, RecalcStyleTime when, Style ResolverUpdateMode updateMode) 5209 void Document::modifiedStyleSheet(StyleSheet* sheet, RecalcStyleTime when, Style ResolverUpdateMode updateMode)
5210 { 5210 {
5211 if (!isActive()) 5211 if (!isActive())
5212 return; 5212 return;
5213 5213
5214 styleEngine()->modifiedStyleSheet(sheet); 5214 styleEngine()->modifiedStyleSheet(sheet);
5215 styleResolverChanged(when, updateMode); 5215 styleResolverChanged(when, updateMode);
5216 } 5216 }
5217 5217
5218 } // namespace WebCore 5218 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698