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

Side by Side Diff: third_party/WebKit/Source/core/css/resolver/SharedStyleFinder.cpp

Issue 2322213002: Refactor ElementShadow by separating v0 related features as ElementShadowV0 (Closed)
Patch Set: addressed Created 4 years, 3 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 | third_party/WebKit/Source/core/dom/BUILD.gn » ('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 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 { 173 {
174 const ElementShadow* elementShadow = element().shadow(); 174 const ElementShadow* elementShadow = element().shadow();
175 const ElementShadow* candidateShadow = candidate.shadow(); 175 const ElementShadow* candidateShadow = candidate.shadow();
176 176
177 if (!elementShadow && !candidateShadow) 177 if (!elementShadow && !candidateShadow)
178 return true; 178 return true;
179 179
180 if (static_cast<bool>(elementShadow) != static_cast<bool>(candidateShadow)) 180 if (static_cast<bool>(elementShadow) != static_cast<bool>(candidateShadow))
181 return false; 181 return false;
182 182
183 return elementShadow->hasSameStyles(candidateShadow); 183 return elementShadow->hasSameStyles(*candidateShadow);
184 } 184 }
185 185
186 bool SharedStyleFinder::sharingCandidateDistributedToSameInsertionPoint(Element& candidate) const 186 bool SharedStyleFinder::sharingCandidateDistributedToSameInsertionPoint(Element& candidate) const
187 { 187 {
188 HeapVector<Member<InsertionPoint>, 8> insertionPoints, candidateInsertionPoi nts; 188 HeapVector<Member<InsertionPoint>, 8> insertionPoints, candidateInsertionPoi nts;
189 collectDestinationInsertionPoints(element(), insertionPoints); 189 collectDestinationInsertionPoints(element(), insertionPoints);
190 collectDestinationInsertionPoints(candidate, candidateInsertionPoints); 190 collectDestinationInsertionPoints(candidate, candidateInsertionPoints);
191 if (insertionPoints.size() != candidateInsertionPoints.size()) 191 if (insertionPoints.size() != candidateInsertionPoints.size())
192 return false; 192 return false;
193 for (size_t i = 0; i < insertionPoints.size(); ++i) { 193 for (size_t i = 0; i < insertionPoints.size(); ++i) {
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 // Tracking child index requires unique style for each node. This may get se t by the sibling rule match above. 350 // Tracking child index requires unique style for each node. This may get se t by the sibling rule match above.
351 if (!element().parentElementOrShadowRoot()->childrenSupportStyleSharing()) { 351 if (!element().parentElementOrShadowRoot()->childrenSupportStyleSharing()) {
352 INCREMENT_STYLE_STATS_COUNTER(document().styleEngine(), sharedStyleRejec tedByParent, 1); 352 INCREMENT_STYLE_STATS_COUNTER(document().styleEngine(), sharedStyleRejec tedByParent, 1);
353 return nullptr; 353 return nullptr;
354 } 354 }
355 355
356 return shareElement->mutableComputedStyle(); 356 return shareElement->mutableComputedStyle();
357 } 357 }
358 358
359 } // namespace blink 359 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/dom/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698