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

Side by Side Diff: sky/engine/core/css/resolver/SharedStyleFinder.cpp

Issue 839153002: Fix crash in continuations. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: address review nit 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 unified diff | Download patch
« no previous file with comments | « no previous file | sky/engine/core/css/resolver/StyleAdjuster.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com)
4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com)
5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved. 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved.
6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org>
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved.
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 if (!style) 116 if (!style)
117 return false; 117 return false;
118 if (!style->isSharable()) 118 if (!style->isSharable())
119 return false; 119 return false;
120 ContainerNode* parent = NodeRenderingTraversal::parent(&candidate); 120 ContainerNode* parent = NodeRenderingTraversal::parent(&candidate);
121 if (!parent) 121 if (!parent)
122 return false; 122 return false;
123 RenderStyle* parentStyle = parent->renderStyle(); 123 RenderStyle* parentStyle = parent->renderStyle();
124 if (!parentStyle) 124 if (!parentStyle)
125 return false; 125 return false;
126 // The StyleAdjuster will change the display of the renderer depending
127 // on it's parent's display.
128 if (parentStyle->requiresOnlyBlockChildren() !=
129 m_renderingParent->renderStyle()->requiresOnlyBlockChildren())
130 return false;
126 if (m_renderingParent->renderStyle()->inheritedNotEqual(parentStyle)) 131 if (m_renderingParent->renderStyle()->inheritedNotEqual(parentStyle))
127 return false; 132 return false;
128 if (!sharingCandidateHasIdenticalStyleAffectingAttributes(candidate)) 133 if (!sharingCandidateHasIdenticalStyleAffectingAttributes(candidate))
129 return false; 134 return false;
130 if (!sharingCandidateCanShareHostStyles(candidate)) 135 if (!sharingCandidateCanShareHostStyles(candidate))
131 return false; 136 return false;
132 if (!candidate.treeScope().hasSameStyles(element().treeScope())) 137 if (!candidate.treeScope().hasSameStyles(element().treeScope()))
133 return false; 138 return false;
134 if (candidate.isUnresolvedCustomElement() != element().isUnresolvedCustomEle ment()) 139 if (candidate.isUnresolvedCustomElement() != element().isUnresolvedCustomEle ment())
135 return false; 140 return false;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 196
192 if (attributesAffectedByRules(*shareElement)) { 197 if (attributesAffectedByRules(*shareElement)) {
193 INCREMENT_STYLE_STATS_COUNTER(m_styleResolver, sharedStyleRejectedByAttr ibuteRules); 198 INCREMENT_STYLE_STATS_COUNTER(m_styleResolver, sharedStyleRejectedByAttr ibuteRules);
194 return 0; 199 return 0;
195 } 200 }
196 201
197 return shareElement->renderStyle(); 202 return shareElement->renderStyle();
198 } 203 }
199 204
200 } 205 }
OLDNEW
« no previous file with comments | « no previous file | sky/engine/core/css/resolver/StyleAdjuster.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698