Node::document() should return a reference.
<https://webkit.org/b/120496>
Reviewed by Antti Koivisto.
Now that orphan DocumentType nodes also have document pointers, it's no longer
possible to have a null Node::document().
Cement this by making document() return a reference, and remove the various
null checks exposed by this.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/inspector/InspectorCSSAgent.cpp b/Source/WebCore/inspector/InspectorCSSAgent.cpp
index 56a72ce..dff0101 100644
--- a/Source/WebCore/inspector/InspectorCSSAgent.cpp
+++ b/Source/WebCore/inspector/InspectorCSSAgent.cpp
@@ -809,7 +809,7 @@
return;
// Matched rules.
- StyleResolver& styleResolver = element->document()->ensureStyleResolver();
+ StyleResolver& styleResolver = element->document().ensureStyleResolver();
Vector<RefPtr<StyleRuleBase> > matchedRules = styleResolver.styleRulesForElement(element, StyleResolver::AllCSSRules);
matchedCSSRules = buildArrayForMatchedRuleList(matchedRules, styleResolver, element);
@@ -834,7 +834,7 @@
RefPtr<TypeBuilder::Array<TypeBuilder::CSS::InheritedStyleEntry> > entries = TypeBuilder::Array<TypeBuilder::CSS::InheritedStyleEntry>::create();
Element* parentElement = element->parentElement();
while (parentElement) {
- StyleResolver& parentStyleResolver = parentElement->document()->ensureStyleResolver();
+ StyleResolver& parentStyleResolver = parentElement->document().ensureStyleResolver();
Vector<RefPtr<StyleRuleBase> > parentMatchedRules = parentStyleResolver.styleRulesForElement(parentElement, StyleResolver::AllCSSRules);
RefPtr<TypeBuilder::CSS::InheritedStyleEntry> entry = TypeBuilder::CSS::InheritedStyleEntry::create()
.setMatchedCSSRules(buildArrayForMatchedRuleList(parentMatchedRules, styleResolver, parentElement));
@@ -992,7 +992,7 @@
if (!node)
return;
- InspectorStyleSheet* inspectorStyleSheet = viaInspectorStyleSheet(node->document(), true);
+ InspectorStyleSheet* inspectorStyleSheet = viaInspectorStyleSheet(&node->document(), true);
if (!inspectorStyleSheet) {
*errorString = "No target stylesheet found";
return;
@@ -1053,7 +1053,7 @@
m_nodeIdToForcedPseudoState.set(nodeId, forcedPseudoState);
else
m_nodeIdToForcedPseudoState.remove(nodeId);
- element->document()->styleResolverChanged(RecalcStyleImmediately);
+ element->document().styleResolverChanged(RecalcStyleImmediately);
}
void InspectorCSSAgent::getNamedFlowCollection(ErrorString* errorString, int documentNodeId, RefPtr<TypeBuilder::Array<TypeBuilder::CSS::NamedFlow> >& result)
@@ -1453,9 +1453,8 @@
{
HashSet<Document*> documentsToChange;
for (NodeIdToForcedPseudoState::iterator it = m_nodeIdToForcedPseudoState.begin(), end = m_nodeIdToForcedPseudoState.end(); it != end; ++it) {
- Element* element = toElement(m_domAgent->nodeForId(it->key));
- if (element && element->document())
- documentsToChange.add(element->document());
+ if (Element* element = toElement(m_domAgent->nodeForId(it->key)))
+ documentsToChange.add(&element->document());
}
m_nodeIdToForcedPseudoState.clear();