Index: Source/core/css/SelectorChecker.cpp |
diff --git a/Source/core/css/SelectorChecker.cpp b/Source/core/css/SelectorChecker.cpp |
index c4f4d7a468ef9bc2ab151b844a694025ad8b71d6..5c96f10b6bec7102b4c377c6c0a8df8758810c84 100644 |
--- a/Source/core/css/SelectorChecker.cpp |
+++ b/Source/core/css/SelectorChecker.cpp |
@@ -154,7 +154,7 @@ SelectorChecker::Match SelectorChecker::match(const SelectorCheckingContext& con |
PseudoId pseudoId = CSSSelector::pseudoId(context.selector->pseudoType()); |
if (pseudoId == FIRST_LETTER) |
- context.element->document()->styleSheetCollections()->setUsesFirstLetterRules(true); |
+ context.element->document().styleSheetCollections()->setUsesFirstLetterRules(true); |
if (pseudoId != NOPSEUDO && m_mode != SharingRules) |
dynamicPseudo = pseudoId; |
} |
@@ -435,10 +435,10 @@ bool SelectorChecker::checkOne(const SelectorCheckingContext& context, const Sib |
} else if (context.hasScrollbarPseudo) { |
// CSS scrollbars match a specific subset of pseudo classes, and they have specialized rules for each |
// (since there are no elements involved). |
- return checkScrollbarPseudoClass(context, element->document(), selector); |
+ return checkScrollbarPseudoClass(context, &element->document(), selector); |
} else if (context.hasSelectionPseudo) { |
if (selector->pseudoType() == CSSSelector::PseudoWindowInactive) |
- return !element->document()->page()->focusController().isActive(); |
+ return !element->document().page()->focusController().isActive(); |
} |
// Normal element pseudo class checking. |
@@ -466,7 +466,7 @@ bool SelectorChecker::checkOne(const SelectorCheckingContext& context, const Sib |
element->setStyleAffectedByEmpty(); |
if (context.elementStyle) |
context.elementStyle->setEmptyState(result); |
- else if (element->renderStyle() && (element->document()->styleSheetCollections()->usesSiblingRules() || element->renderStyle()->unique())) |
+ else if (element->renderStyle() && (element->document().styleSheetCollections()->usesSiblingRules() || element->renderStyle()->unique())) |
element->renderStyle()->setEmptyState(result); |
} |
return result; |
@@ -601,7 +601,7 @@ bool SelectorChecker::checkOne(const SelectorCheckingContext& context, const Sib |
} |
break; |
case CSSSelector::PseudoTarget: |
- if (element == element->document()->cssTarget()) |
+ if (element == element->document().cssTarget()) |
return true; |
break; |
case CSSSelector::PseudoAny: |
@@ -673,7 +673,7 @@ bool SelectorChecker::checkOne(const SelectorCheckingContext& context, const Sib |
return !element->isDisabledFormControl(); |
break; |
case CSSSelector::PseudoFullPageMedia: |
- return element && element->document()->isMediaDocument(); |
+ return element && element->document().isMediaDocument(); |
break; |
case CSSSelector::PseudoDefault: |
return element && element->isDefaultButtonForForm(); |
@@ -692,12 +692,12 @@ bool SelectorChecker::checkOne(const SelectorCheckingContext& context, const Sib |
case CSSSelector::PseudoValid: |
if (!element) |
return false; |
- element->document()->setContainsValidityStyleRules(); |
+ element->document().setContainsValidityStyleRules(); |
return element->willValidate() && element->isValidFormControlElement(); |
case CSSSelector::PseudoInvalid: |
if (!element) |
return false; |
- element->document()->setContainsValidityStyleRules(); |
+ element->document().setContainsValidityStyleRules(); |
return element->willValidate() && !element->isValidFormControlElement(); |
case CSSSelector::PseudoChecked: |
{ |
@@ -719,7 +719,7 @@ bool SelectorChecker::checkOne(const SelectorCheckingContext& context, const Sib |
case CSSSelector::PseudoIndeterminate: |
return element && element->shouldAppearIndeterminate(); |
case CSSSelector::PseudoRoot: |
- if (element == element->document()->documentElement()) |
+ if (element == element->document().documentElement()) |
return true; |
break; |
case CSSSelector::PseudoLang: |
@@ -743,7 +743,7 @@ bool SelectorChecker::checkOne(const SelectorCheckingContext& context, const Sib |
// context's Document is in the fullscreen state has the 'full-screen' pseudoclass applied. |
if (element->isFrameElementBase() && element->containsFullScreenElement()) |
return true; |
- if (FullscreenElementStack* fullscreen = FullscreenElementStack::fromIfExists(element->document())) { |
+ if (FullscreenElementStack* fullscreen = FullscreenElementStack::fromIfExists(&element->document())) { |
if (!fullscreen->webkitIsFullScreen()) |
return false; |
return element == fullscreen->webkitCurrentFullScreenElement(); |
@@ -754,22 +754,22 @@ bool SelectorChecker::checkOne(const SelectorCheckingContext& context, const Sib |
case CSSSelector::PseudoFullScreenDocument: |
// While a Document is in the fullscreen state, the 'full-screen-document' pseudoclass applies |
// to all elements of that Document. |
- if (!FullscreenElementStack::isFullScreen(element->document())) |
+ if (!FullscreenElementStack::isFullScreen(&element->document())) |
return false; |
return true; |
case CSSSelector::PseudoSeamlessDocument: |
// While a document is rendered in a seamless iframe, the 'seamless-document' pseudoclass applies |
// to all elements of that Document. |
- return element->document()->shouldDisplaySeamlesslyWithParent(); |
+ return element->document().shouldDisplaySeamlesslyWithParent(); |
case CSSSelector::PseudoInRange: |
if (!element) |
return false; |
- element->document()->setContainsValidityStyleRules(); |
+ element->document().setContainsValidityStyleRules(); |
return element->isInRange(); |
case CSSSelector::PseudoOutOfRange: |
if (!element) |
return false; |
- element->document()->setContainsValidityStyleRules(); |
+ element->document().setContainsValidityStyleRules(); |
return element->isOutOfRange(); |
case CSSSelector::PseudoFutureCue: |
return (element->isWebVTTElement() && !toWebVTTElement(element)->isPastNode()); |
@@ -778,7 +778,7 @@ bool SelectorChecker::checkOne(const SelectorCheckingContext& context, const Sib |
case CSSSelector::PseudoScope: |
{ |
- const Node* contextualReferenceNode = !context.scope || (context.behaviorAtBoundary & BoundaryBehaviorMask) == CrossesBoundary ? element->document()->documentElement() : context.scope; |
+ const Node* contextualReferenceNode = !context.scope || (context.behaviorAtBoundary & BoundaryBehaviorMask) == CrossesBoundary ? element->document().documentElement() : context.scope; |
if (element == contextualReferenceNode) |
return true; |
break; |
@@ -982,7 +982,7 @@ unsigned SelectorChecker::determineLinkMatchType(const CSSSelector* selector) |
bool SelectorChecker::isFrameFocused(const Element* element) |
{ |
- return element->document()->frame() && element->document()->frame()->selection()->isFocusedAndActive(); |
+ return element->document().frame() && element->document().frame()->selection()->isFocusedAndActive(); |
} |
bool SelectorChecker::matchesFocusPseudoClass(const Element* element) |