diff --git a/layout/reftests/outline/outline-auto-explicit-native-widget-ref.html b/layout/reftests/outline/outline-auto-explicit-native-widget-ref.html deleted file mode 100644 index ede3ee72a4e1..000000000000 --- a/layout/reftests/outline/outline-auto-explicit-native-widget-ref.html +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/layout/reftests/outline/outline-auto-explicit-native-widget.html b/layout/reftests/outline/outline-auto-explicit-native-widget.html deleted file mode 100644 index 4cbf40a517f2..000000000000 --- a/layout/reftests/outline/outline-auto-explicit-native-widget.html +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/layout/reftests/outline/reftest.list b/layout/reftests/outline/reftest.list index 41edfba916b4..db3083ea6c62 100644 --- a/layout/reftests/outline/reftest.list +++ b/layout/reftests/outline/reftest.list @@ -14,7 +14,6 @@ pref(layout.css.outline-style-auto.enabled,false) == outline-auto-001.html outli skip-if(nativeThemePref) != outline-auto-follows-border-radius-non-native.html outline-auto-follows-border-radius-non-native-notref.html skip-if(nativeThemePref) == outline-auto-follows-border-radius-non-native-02.html outline-auto-follows-border-radius-non-native.html needs-focus skip-if(nativeThemePref) == outline-auto-suppressed-native-widget.html outline-auto-suppressed-native-widget-ref.html -needs-focus skip-if(nativeThemePref) == outline-auto-explicit-native-widget.html outline-auto-explicit-native-widget-ref.html == outline-initial-1a.html outline-initial-1-ref.html == outline-initial-1b.html outline-initial-1-ref.html == outline-on-table.html outline-on-table-ref.html diff --git a/widget/Theme.cpp b/widget/Theme.cpp index 6a50d99f171d..a173b2c00bea 100644 --- a/widget/Theme.cpp +++ b/widget/Theme.cpp @@ -1065,12 +1065,10 @@ bool Theme::DoDrawWidgetBackground(PaintBackendData& aPaintData, } } - // Paint the outline iff we're asked to draw overflow and we have - // outline-style: auto. - if (aDrawOverflow == DrawOverflow::Yes && - aFrame->StyleOutline()->mOutlineStyle.IsAuto()) { - eventState |= NS_EVENT_STATE_FOCUSRING; - } else { + // Don't paint the outline if we're asked not to draw overflow, or if the + // author has specified another kind of outline on focus. + if (aDrawOverflow == DrawOverflow::No || + !aFrame->StyleOutline()->mOutlineStyle.IsAuto()) { eventState &= ~NS_EVENT_STATE_FOCUSRING; }