OLD | NEW |
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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 #include "core/svg/SVGElement.h" | 51 #include "core/svg/SVGElement.h" |
52 #include "wtf/HashSet.h" | 52 #include "wtf/HashSet.h" |
53 #include "wtf/text/AtomicString.h" | 53 #include "wtf/text/AtomicString.h" |
54 | 54 |
55 namespace WebCore { | 55 namespace WebCore { |
56 | 56 |
57 using namespace HTMLNames; | 57 using namespace HTMLNames; |
58 | 58 |
59 bool SharedStyleFinder::canShareStyleWithControl(Element& candidate) const | 59 bool SharedStyleFinder::canShareStyleWithControl(Element& candidate) const |
60 { | 60 { |
61 if (!candidate.hasTagName(inputTag) || !element().hasTagName(inputTag)) | 61 if (!isHTMLInputElement(candidate) || !isHTMLInputElement(element())) |
62 return false; | 62 return false; |
63 | 63 |
64 HTMLInputElement& candidateInput = toHTMLInputElement(candidate); | 64 HTMLInputElement& candidateInput = toHTMLInputElement(candidate); |
65 HTMLInputElement& thisInput = toHTMLInputElement(element()); | 65 HTMLInputElement& thisInput = toHTMLInputElement(element()); |
66 | 66 |
67 if (candidateInput.isAutofilled() != thisInput.isAutofilled()) | 67 if (candidateInput.isAutofilled() != thisInput.isAutofilled()) |
68 return false; | 68 return false; |
69 if (candidateInput.shouldAppearChecked() != thisInput.shouldAppearChecked()) | 69 if (candidateInput.shouldAppearChecked() != thisInput.shouldAppearChecked()) |
70 return false; | 70 return false; |
71 if (candidateInput.shouldAppearIndeterminate() != thisInput.shouldAppearInde
terminate()) | 71 if (candidateInput.shouldAppearIndeterminate() != thisInput.shouldAppearInde
terminate()) |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 } else { | 144 } else { |
145 return false; | 145 return false; |
146 } | 146 } |
147 | 147 |
148 if (element().presentationAttributeStyle() != candidate.presentationAttribut
eStyle()) | 148 if (element().presentationAttributeStyle() != candidate.presentationAttribut
eStyle()) |
149 return false; | 149 return false; |
150 | 150 |
151 // FIXME: Consider removing this, it's unlikely we'll have so many progress
elements | 151 // FIXME: Consider removing this, it's unlikely we'll have so many progress
elements |
152 // that sharing the style makes sense. Instead we should just not support st
yle sharing | 152 // that sharing the style makes sense. Instead we should just not support st
yle sharing |
153 // for them. | 153 // for them. |
154 if (element().hasTagName(progressTag)) { | 154 if (isHTMLProgressElement(element())) { |
155 if (element().shouldAppearIndeterminate() != candidate.shouldAppearIndet
erminate()) | 155 if (element().shouldAppearIndeterminate() != candidate.shouldAppearIndet
erminate()) |
156 return false; | 156 return false; |
157 } | 157 } |
158 | 158 |
159 return true; | 159 return true; |
160 } | 160 } |
161 | 161 |
162 bool SharedStyleFinder::sharingCandidateShadowHasSharedStyleSheetContents(Elemen
t& candidate) const | 162 bool SharedStyleFinder::sharingCandidateShadowHasSharedStyleSheetContents(Elemen
t& candidate) const |
163 { | 163 { |
164 if (!element().shadow() || !element().shadow()->containsActiveStyles()) | 164 if (!element().shadow() || !element().shadow()->containsActiveStyles()) |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 // Tracking child index requires unique style for each node. This may get se
t by the sibling rule match above. | 334 // Tracking child index requires unique style for each node. This may get se
t by the sibling rule match above. |
335 if (!SiblingRuleHelper(element().parentElementOrShadowRoot()).childrenSuppor
tStyleSharing()) { | 335 if (!SiblingRuleHelper(element().parentElementOrShadowRoot()).childrenSuppor
tStyleSharing()) { |
336 INCREMENT_STYLE_STATS_COUNTER(m_styleResolver, sharedStyleRejectedByPare
nt); | 336 INCREMENT_STYLE_STATS_COUNTER(m_styleResolver, sharedStyleRejectedByPare
nt); |
337 return 0; | 337 return 0; |
338 } | 338 } |
339 | 339 |
340 return shareElement->renderStyle(); | 340 return shareElement->renderStyle(); |
341 } | 341 } |
342 | 342 |
343 } | 343 } |
OLD | NEW |