| Index: third_party/WebKit/Source/core/css/SelectorChecker.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/SelectorChecker.cpp b/third_party/WebKit/Source/core/css/SelectorChecker.cpp
|
| index bd025d51f8dedf3da6c07a797ab5a300b94e7dad..229a71e81340ebe9e641110aa07932d153a98d9c 100644
|
| --- a/third_party/WebKit/Source/core/css/SelectorChecker.cpp
|
| +++ b/third_party/WebKit/Source/core/css/SelectorChecker.cpp
|
| @@ -914,6 +914,22 @@ bool SelectorChecker::CheckPseudoClass(const SelectorCheckingContext& context,
|
| }
|
| }
|
| return MatchesFocusPseudoClass(element);
|
| + case CSSSelector::kPseudoFocusWithin:
|
| + if (mode_ == kSharingRules)
|
| + return true;
|
| + if (mode_ == kResolvingStyle) {
|
| + if (context.in_rightmost_compound) {
|
| + element_style_->SetAffectedByFocusWithin();
|
| + } else {
|
| + element_style_->SetUnique();
|
| + element.SetChildrenOrSiblingsAffectedByFocusWithin();
|
| + }
|
| + }
|
| + probe::forcePseudoState(&element, CSSSelector::kPseudoFocusWithin,
|
| + &force_pseudo_state);
|
| + if (force_pseudo_state)
|
| + return true;
|
| + return element.HasFocusWithin();
|
| case CSSSelector::kPseudoHover:
|
| if (mode_ == kSharingRules)
|
| return true;
|
|
|