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

Side by Side Diff: third_party/WebKit/Source/core/dom/Element.cpp

Issue 2613213002: Support Style Sharing for Shadow DOM V1 (Closed)
Patch Set: improve check Created 3 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
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 Peter Kelly (pmk@post.com) 4 * (C) 2001 Peter Kelly (pmk@post.com)
5 * (C) 2001 Dirk Mueller (mueller@kde.org) 5 * (C) 2001 Dirk Mueller (mueller@kde.org)
6 * (C) 2007 David Smith (catfish.man@gmail.com) 6 * (C) 2007 David Smith (catfish.man@gmail.com)
7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc. 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
8 * All rights reserved. 8 * All rights reserved.
9 * (C) 2007 Eric Seidel (eric@webkit.org) 9 * (C) 2007 Eric Seidel (eric@webkit.org)
10 * 10 *
(...skipping 4005 matching lines...) Expand 10 before | Expand all | Expand 10 after
4016 // and no siblings or cousins will have the same state. There's also only one 4016 // and no siblings or cousins will have the same state. There's also only one
4017 // :focus element per scope so we don't need to attempt to share. 4017 // :focus element per scope so we don't need to attempt to share.
4018 if (isUserActionElement()) 4018 if (isUserActionElement())
4019 return false; 4019 return false;
4020 if (!parentOrShadowHostElement()->childrenSupportStyleSharing()) 4020 if (!parentOrShadowHostElement()->childrenSupportStyleSharing())
4021 return false; 4021 return false;
4022 if (this == document().cssTarget()) 4022 if (this == document().cssTarget())
4023 return false; 4023 return false;
4024 if (isHTMLElement() && toHTMLElement(this)->hasDirectionAuto()) 4024 if (isHTMLElement() && toHTMLElement(this)->hasDirectionAuto())
4025 return false; 4025 return false;
4026 // TODO(kochi): This prevents any slotted elements from sharing styles.
4027 // Investigate cases where we share styles to optimize styling performance.
4028 if (isChildOfV1ShadowHost())
4029 return false;
4030 if (hasAnimations()) 4026 if (hasAnimations())
4031 return false; 4027 return false;
4032 if (Fullscreen::isFullscreenElement(*this)) 4028 if (Fullscreen::isFullscreenElement(*this))
4033 return false; 4029 return false;
4034 return true; 4030 return true;
4035 } 4031 }
4036 4032
4037 void Element::logAddElementIfIsolatedWorldAndInDocument( 4033 void Element::logAddElementIfIsolatedWorldAndInDocument(
4038 const char element[], 4034 const char element[],
4039 const QualifiedName& attr1) { 4035 const QualifiedName& attr1) {
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
4110 } 4106 }
4111 4107
4112 DEFINE_TRACE_WRAPPERS(Element) { 4108 DEFINE_TRACE_WRAPPERS(Element) {
4113 if (hasRareData()) { 4109 if (hasRareData()) {
4114 visitor->traceWrappers(elementRareData()); 4110 visitor->traceWrappers(elementRareData());
4115 } 4111 }
4116 ContainerNode::traceWrappers(visitor); 4112 ContainerNode::traceWrappers(visitor);
4117 } 4113 }
4118 4114
4119 } // namespace blink 4115 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698