diff options
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.cc | 25 |
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: |