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

Unified Diff: Source/core/css/resolver/StyleResolver.cpp

Issue 889563002: Make RenderObject::style() return a const object (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Blind fix for Mac. Created 5 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
« no previous file with comments | « Source/core/css/resolver/StyleResolver.h ('k') | Source/core/css/resolver/StyleResolverState.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/css/resolver/StyleResolver.cpp
diff --git a/Source/core/css/resolver/StyleResolver.cpp b/Source/core/css/resolver/StyleResolver.cpp
index ada9f62818f3ec4ab276f8f0e3d05647a38aa019..8ac858abd2312551ef00df5cc04ae3c3642e6415 100644
--- a/Source/core/css/resolver/StyleResolver.cpp
+++ b/Source/core/css/resolver/StyleResolver.cpp
@@ -539,7 +539,7 @@ void StyleResolver::loadPendingResources(StyleResolverState& state)
document().styleEngine()->fontSelector()->fontLoader()->loadPendingFonts();
}
-PassRefPtr<RenderStyle> StyleResolver::styleForElement(Element* element, RenderStyle* defaultParent, StyleSharingBehavior sharingBehavior,
+PassRefPtr<RenderStyle> StyleResolver::styleForElement(Element* element, const RenderStyle* defaultParent, StyleSharingBehavior sharingBehavior,
RuleMatchingBehavior matchingBehavior)
{
ASSERT(document().frame());
@@ -596,7 +596,7 @@ PassRefPtr<RenderStyle> StyleResolver::styleForElement(Element* element, RenderS
// be propagated from shadow host to distributed node.
if (state.distributedToInsertionPoint()) {
if (Element* parent = element->parentElement()) {
- if (RenderStyle* styleOfShadowHost = parent->renderStyle())
+ if (RenderStyle* styleOfShadowHost = parent->mutableRenderStyle())
andersr 2015/01/29 18:10:07 We can use a const RenderStyle here?
state.style()->setUserModify(styleOfShadowHost->userModify());
}
}
@@ -660,7 +660,7 @@ PassRefPtr<RenderStyle> StyleResolver::styleForElement(Element* element, RenderS
return state.takeStyle();
}
-PassRefPtr<RenderStyle> StyleResolver::styleForKeyframe(Element& element, const RenderStyle& elementStyle, RenderStyle* parentStyle, const StyleRuleKeyframe* keyframe, const AtomicString& animationName)
+PassRefPtr<RenderStyle> StyleResolver::styleForKeyframe(Element& element, const RenderStyle& elementStyle, const RenderStyle* parentStyle, const StyleRuleKeyframe* keyframe, const AtomicString& animationName)
{
ASSERT(document().frame());
ASSERT(document().settings());
@@ -745,8 +745,9 @@ PassRefPtrWillBeRawPtr<PseudoElement> StyleResolver::createPseudoElementIfNeeded
if (!parentRenderer->canHaveGeneratedChildren())
return nullptr;
- RenderStyle* parentStyle = parentRenderer->style();
- if (RenderStyle* cachedStyle = parentStyle->getCachedPseudoStyle(pseudoId)) {
+ // Required for addCachedPseudoStyle, should probably make it logical const.
+ RenderStyle* parentStyle = parentRenderer->deprecatedMutableStyle();
+ if (const RenderStyle* cachedStyle = parentStyle->getCachedPseudoStyle(pseudoId)) {
if (!pseudoElementRendererIsNeeded(cachedStyle))
return nullptr;
return createPseudoElement(&parent, pseudoId);
@@ -770,7 +771,7 @@ PassRefPtrWillBeRawPtr<PseudoElement> StyleResolver::createPseudoElementIfNeeded
return pseudo.release();
}
-bool StyleResolver::pseudoStyleForElementInternal(Element& element, const PseudoStyleRequest& pseudoStyleRequest, RenderStyle* parentStyle, StyleResolverState& state)
+bool StyleResolver::pseudoStyleForElementInternal(Element& element, const PseudoStyleRequest& pseudoStyleRequest, const RenderStyle* parentStyle, StyleResolverState& state)
{
ASSERT(document().frame());
ASSERT(document().settings());
@@ -839,7 +840,7 @@ bool StyleResolver::pseudoStyleForElementInternal(Element& element, const Pseudo
return true;
}
-PassRefPtr<RenderStyle> StyleResolver::pseudoStyleForElement(Element* element, const PseudoStyleRequest& pseudoStyleRequest, RenderStyle* parentStyle)
+PassRefPtr<RenderStyle> StyleResolver::pseudoStyleForElement(Element* element, const PseudoStyleRequest& pseudoStyleRequest, const RenderStyle* parentStyle)
{
ASSERT(parentStyle);
if (!element)
@@ -928,7 +929,7 @@ PassRefPtr<RenderStyle> StyleResolver::styleForText(Text* textNode)
Node* parentNode = NodeRenderingTraversal::parent(*textNode);
if (!parentNode || !parentNode->renderStyle())
return defaultStyleForElement();
- return parentNode->renderStyle();
+ return parentNode->mutableRenderStyle();
}
void StyleResolver::updateFont(StyleResolverState& state)
« no previous file with comments | « Source/core/css/resolver/StyleResolver.h ('k') | Source/core/css/resolver/StyleResolverState.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698