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;
}