summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/css/selector_checker.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/css/selector_checker.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/css/selector_checker.cc25
1 files changed, 14 insertions, 11 deletions
diff --git a/chromium/third_party/blink/renderer/core/css/selector_checker.cc b/chromium/third_party/blink/renderer/core/css/selector_checker.cc
index af1ce205684..027612ad824 100644
--- a/chromium/third_party/blink/renderer/core/css/selector_checker.cc
+++ b/chromium/third_party/blink/renderer/core/css/selector_checker.cc
@@ -901,17 +901,20 @@ bool SelectorChecker::CheckPseudoClass(const SelectorCheckingContext& context,
return true;
}
} break;
- case CSSSelector::kPseudoAutofill:
- return element.IsFormControlElement() &&
- ToHTMLFormControlElement(element).IsAutofilled();
- case CSSSelector::kPseudoAutofillPreviewed:
- return element.IsFormControlElement() &&
- ToHTMLFormControlElement(element).GetAutofillState() ==
- WebAutofillState::kPreviewed;
- case CSSSelector::kPseudoAutofillSelected:
- return element.IsFormControlElement() &&
- ToHTMLFormControlElement(element).GetAutofillState() ==
- WebAutofillState::kAutofilled;
+ case CSSSelector::kPseudoAutofill: {
+ auto* html_form_element = DynamicTo<HTMLFormControlElement>(&element);
+ return html_form_element && html_form_element->IsAutofilled();
+ }
+ case CSSSelector::kPseudoAutofillPreviewed: {
+ auto* html_form_element = DynamicTo<HTMLFormControlElement>(&element);
+ return html_form_element && html_form_element->GetAutofillState() ==
+ WebAutofillState::kPreviewed;
+ }
+ case CSSSelector::kPseudoAutofillSelected: {
+ auto* html_form_element = DynamicTo<HTMLFormControlElement>(&element);
+ return html_form_element && html_form_element->GetAutofillState() ==
+ WebAutofillState::kAutofilled;
+ }
case CSSSelector::kPseudoAnyLink:
case CSSSelector::kPseudoWebkitAnyLink:
case CSSSelector::kPseudoLink: