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

Side by Side Diff: Source/core/dom/ContainerNode.cpp

Issue 1033943002: Rename LayoutStyle to papayawhip (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: ensureComputedStyle Created 5 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/dom/CSSSelectorWatch.h ('k') | Source/core/dom/Document.h » ('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) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights reserved. 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 13 matching lines...) Expand all
24 #include "core/dom/ContainerNode.h" 24 #include "core/dom/ContainerNode.h"
25 25
26 #include "bindings/core/v8/ExceptionState.h" 26 #include "bindings/core/v8/ExceptionState.h"
27 #include "core/dom/ChildFrameDisconnector.h" 27 #include "core/dom/ChildFrameDisconnector.h"
28 #include "core/dom/ChildListMutationScope.h" 28 #include "core/dom/ChildListMutationScope.h"
29 #include "core/dom/ClassCollection.h" 29 #include "core/dom/ClassCollection.h"
30 #include "core/dom/ElementTraversal.h" 30 #include "core/dom/ElementTraversal.h"
31 #include "core/dom/ExceptionCode.h" 31 #include "core/dom/ExceptionCode.h"
32 #include "core/dom/NameNodeList.h" 32 #include "core/dom/NameNodeList.h"
33 #include "core/dom/NodeChildRemovalTracker.h" 33 #include "core/dom/NodeChildRemovalTracker.h"
34 #include "core/dom/NodeLayoutStyle.h" 34 #include "core/dom/NodeComputedStyle.h"
35 #include "core/dom/NodeRareData.h" 35 #include "core/dom/NodeRareData.h"
36 #include "core/dom/NodeTraversal.h" 36 #include "core/dom/NodeTraversal.h"
37 #include "core/dom/SelectorQuery.h" 37 #include "core/dom/SelectorQuery.h"
38 #include "core/dom/StaticNodeList.h" 38 #include "core/dom/StaticNodeList.h"
39 #include "core/dom/StyleEngine.h" 39 #include "core/dom/StyleEngine.h"
40 #include "core/dom/shadow/ElementShadow.h" 40 #include "core/dom/shadow/ElementShadow.h"
41 #include "core/dom/shadow/ShadowRoot.h" 41 #include "core/dom/shadow/ShadowRoot.h"
42 #include "core/events/MutationEvent.h" 42 #include "core/events/MutationEvent.h"
43 #include "core/html/HTMLCollection.h" 43 #include "core/html/HTMLCollection.h"
44 #include "core/html/HTMLFrameOwnerElement.h" 44 #include "core/html/HTMLFrameOwnerElement.h"
(...skipping 990 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 // This is used by FrameSelection to denote when the active-state of the page ha s changed 1035 // This is used by FrameSelection to denote when the active-state of the page ha s changed
1036 // independent of the focused element changing. 1036 // independent of the focused element changing.
1037 void ContainerNode::focusStateChanged() 1037 void ContainerNode::focusStateChanged()
1038 { 1038 {
1039 // If we're just changing the window's active state and the focused node has no 1039 // If we're just changing the window's active state and the focused node has no
1040 // renderer we can just ignore the state change. 1040 // renderer we can just ignore the state change.
1041 if (!layoutObject()) 1041 if (!layoutObject())
1042 return; 1042 return;
1043 1043
1044 if (styleChangeType() < SubtreeStyleChange) { 1044 if (styleChangeType() < SubtreeStyleChange) {
1045 if (layoutStyle()->affectedByFocus() && layoutStyle()->hasPseudoStyle(FI RST_LETTER)) 1045 if (computedStyle()->affectedByFocus() && computedStyle()->hasPseudoStyl e(FIRST_LETTER))
1046 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing: :createWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Focus )); 1046 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing: :createWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Focus ));
1047 else if (isElementNode() && toElement(this)->childrenOrSiblingsAffectedB yFocus()) 1047 else if (isElementNode() && toElement(this)->childrenOrSiblingsAffectedB yFocus())
1048 document().ensureStyleResolver().ensureUpdatedRuleFeatureSet().sched uleStyleInvalidationForPseudoChange(CSSSelector::PseudoFocus, *toElement(this)); 1048 document().ensureStyleResolver().ensureUpdatedRuleFeatureSet().sched uleStyleInvalidationForPseudoChange(CSSSelector::PseudoFocus, *toElement(this));
1049 else if (layoutStyle()->affectedByFocus()) 1049 else if (computedStyle()->affectedByFocus())
1050 setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracing::c reateWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Focus)) ; 1050 setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracing::c reateWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Focus)) ;
1051 } 1051 }
1052 1052
1053 if (layoutObject() && layoutObject()->style()->hasAppearance()) 1053 if (layoutObject() && layoutObject()->style()->hasAppearance())
1054 LayoutTheme::theme().stateChanged(layoutObject(), FocusControlState); 1054 LayoutTheme::theme().stateChanged(layoutObject(), FocusControlState);
1055 1055
1056 // If any of the shadow hosts above has :focus CSS style rule, this focus ha s to affect the 1056 // If any of the shadow hosts above has :focus CSS style rule, this focus ha s to affect the
1057 // style of the shadow host. 1057 // style of the shadow host.
1058 if (isInShadowTree()) { 1058 if (isInShadowTree()) {
1059 if (Element* host = shadowHost()) 1059 if (Element* host = shadowHost())
(...skipping 23 matching lines...) Expand all
1083 void ContainerNode::setActive(bool down) 1083 void ContainerNode::setActive(bool down)
1084 { 1084 {
1085 if (down == active()) 1085 if (down == active())
1086 return; 1086 return;
1087 1087
1088 Node::setActive(down); 1088 Node::setActive(down);
1089 1089
1090 // FIXME: Why does this not need to handle the display: none transition like :hover does? 1090 // FIXME: Why does this not need to handle the display: none transition like :hover does?
1091 if (layoutObject()) { 1091 if (layoutObject()) {
1092 if (styleChangeType() < SubtreeStyleChange) { 1092 if (styleChangeType() < SubtreeStyleChange) {
1093 if (layoutStyle()->affectedByActive() && layoutStyle()->hasPseudoSty le(FIRST_LETTER)) 1093 if (computedStyle()->affectedByActive() && computedStyle()->hasPseud oStyle(FIRST_LETTER))
1094 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTrac ing::createWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::A ctive)); 1094 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTrac ing::createWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::A ctive));
1095 else if (isElementNode() && toElement(this)->childrenOrSiblingsAffec tedByActive()) 1095 else if (isElementNode() && toElement(this)->childrenOrSiblingsAffec tedByActive())
1096 document().ensureStyleResolver().ensureUpdatedRuleFeatureSet().s cheduleStyleInvalidationForPseudoChange(CSSSelector::PseudoActive, *toElement(th is)); 1096 document().ensureStyleResolver().ensureUpdatedRuleFeatureSet().s cheduleStyleInvalidationForPseudoChange(CSSSelector::PseudoActive, *toElement(th is));
1097 else if (layoutStyle()->affectedByActive()) 1097 else if (computedStyle()->affectedByActive())
1098 setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracin g::createWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Act ive)); 1098 setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracin g::createWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Act ive));
1099 } 1099 }
1100 1100
1101 if (layoutStyle()->hasAppearance()) 1101 if (computedStyle()->hasAppearance())
1102 LayoutTheme::theme().stateChanged(layoutObject(), PressedControlStat e); 1102 LayoutTheme::theme().stateChanged(layoutObject(), PressedControlStat e);
1103 } 1103 }
1104 } 1104 }
1105 1105
1106 void ContainerNode::setHovered(bool over) 1106 void ContainerNode::setHovered(bool over)
1107 { 1107 {
1108 if (over == hovered()) 1108 if (over == hovered())
1109 return; 1109 return;
1110 1110
1111 Node::setHovered(over); 1111 Node::setHovered(over);
1112 1112
1113 // If :hover sets display: none we lose our hover but still need to recalc o ur style. 1113 // If :hover sets display: none we lose our hover but still need to recalc o ur style.
1114 if (!layoutObject()) { 1114 if (!layoutObject()) {
1115 if (over) 1115 if (over)
1116 return; 1116 return;
1117 if (isElementNode() && toElement(this)->childrenOrSiblingsAffectedByHove r() && styleChangeType() < SubtreeStyleChange) 1117 if (isElementNode() && toElement(this)->childrenOrSiblingsAffectedByHove r() && styleChangeType() < SubtreeStyleChange)
1118 document().ensureStyleResolver().ensureUpdatedRuleFeatureSet().sched uleStyleInvalidationForPseudoChange(CSSSelector::PseudoHover, *toElement(this)); 1118 document().ensureStyleResolver().ensureUpdatedRuleFeatureSet().sched uleStyleInvalidationForPseudoChange(CSSSelector::PseudoHover, *toElement(this));
1119 else 1119 else
1120 setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracing::c reateWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Hover)) ; 1120 setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracing::c reateWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Hover)) ;
1121 return; 1121 return;
1122 } 1122 }
1123 1123
1124 if (styleChangeType() < SubtreeStyleChange) { 1124 if (styleChangeType() < SubtreeStyleChange) {
1125 if (layoutStyle()->affectedByHover() && layoutStyle()->hasPseudoStyle(FI RST_LETTER)) 1125 if (computedStyle()->affectedByHover() && computedStyle()->hasPseudoStyl e(FIRST_LETTER))
1126 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing: :createWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Hover )); 1126 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing: :createWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Hover ));
1127 else if (isElementNode() && toElement(this)->childrenOrSiblingsAffectedB yHover()) 1127 else if (isElementNode() && toElement(this)->childrenOrSiblingsAffectedB yHover())
1128 document().ensureStyleResolver().ensureUpdatedRuleFeatureSet().sched uleStyleInvalidationForPseudoChange(CSSSelector::PseudoHover, *toElement(this)); 1128 document().ensureStyleResolver().ensureUpdatedRuleFeatureSet().sched uleStyleInvalidationForPseudoChange(CSSSelector::PseudoHover, *toElement(this));
1129 else if (layoutStyle()->affectedByHover()) 1129 else if (computedStyle()->affectedByHover())
1130 setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracing::c reateWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Hover)) ; 1130 setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracing::c reateWithExtraData(StyleChangeReason::PseudoClass, StyleChangeExtraData::Hover)) ;
1131 } 1131 }
1132 1132
1133 if (layoutObject()->style()->hasAppearance()) 1133 if (layoutObject()->style()->hasAppearance())
1134 LayoutTheme::theme().stateChanged(layoutObject(), HoverControlState); 1134 LayoutTheme::theme().stateChanged(layoutObject(), HoverControlState);
1135 } 1135 }
1136 1136
1137 PassRefPtrWillBeRawPtr<HTMLCollection> ContainerNode::children() 1137 PassRefPtrWillBeRawPtr<HTMLCollection> ContainerNode::children()
1138 { 1138 {
1139 return ensureCachedCollection<HTMLCollection>(NodeChildren); 1139 return ensureCachedCollection<HTMLCollection>(NodeChildren);
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
1485 return true; 1485 return true;
1486 1486
1487 if (node->isElementNode() && toElement(node)->shadow()) 1487 if (node->isElementNode() && toElement(node)->shadow())
1488 return true; 1488 return true;
1489 1489
1490 return false; 1490 return false;
1491 } 1491 }
1492 #endif 1492 #endif
1493 1493
1494 } // namespace blink 1494 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/dom/CSSSelectorWatch.h ('k') | Source/core/dom/Document.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698