commit 4ab5bc3c65070fa37825ea34cfbe0abc0da7d506
parent 3ff176856d241265cdf3243f9f4ef6bdf7bbafc6
Author: Emilio Cobos Álvarez <emilio@crisal.io>
Date: Tue, 30 Dec 2025 10:26:50 +0000
Bug 2007883 - Remove some unused nsNativeTheme XUL code. r=layout-reviewers,TYLin
Differential Revision: https://phabricator.services.mozilla.com/D277583
Diffstat:
2 files changed, 0 insertions(+), 204 deletions(-)
diff --git a/widget/nsNativeTheme.cpp b/widget/nsNativeTheme.cpp
@@ -140,23 +140,6 @@ bool nsNativeTheme::CheckBooleanAttr(nsIFrame* aFrame, nsAtom* aAtom) {
}
/* static */
-int32_t nsNativeTheme::CheckIntAttr(nsIFrame* aFrame, nsAtom* aAtom,
- int32_t defaultValue) {
- if (!aFrame) return defaultValue;
-
- nsIContent* content = aFrame->GetContent();
- if (!content || !content->IsElement()) return defaultValue;
-
- nsAutoString attr;
- content->AsElement()->GetAttr(aAtom, attr);
- nsresult err;
- int32_t value = attr.ToInteger(&err);
- if (attr.IsEmpty() || NS_FAILED(err)) return defaultValue;
-
- return value;
-}
-
-/* static */
double nsNativeTheme::GetProgressValue(nsIFrame* aFrame) {
if (!aFrame || !aFrame->GetContent()->IsHTMLElement(nsGkAtoms::progress)) {
return 0;
@@ -183,16 +166,6 @@ bool nsNativeTheme::IsButtonTypeMenu(nsIFrame* aFrame) {
u"menu"_ns, eCaseMatters);
}
-bool nsNativeTheme::IsPressedButton(nsIFrame* aFrame) {
- ElementState state = GetContentState(aFrame, StyleAppearance::Toolbarbutton);
- if (state.HasState(ElementState::DISABLED)) {
- return false;
- }
-
- return IsOpenButton(aFrame) ||
- state.HasAllStates(ElementState::ACTIVE | ElementState::HOVER);
-}
-
bool nsNativeTheme::IsWidgetStyled(nsPresContext* aPresContext,
nsIFrame* aFrame,
StyleAppearance aAppearance) {
@@ -246,99 +219,6 @@ bool nsNativeTheme::IsHTMLContent(nsIFrame* aFrame) {
return content && content->IsHTMLElement();
}
-// treeheadercell:
-nsNativeTheme::TreeSortDirection nsNativeTheme::GetTreeSortDirection(
- nsIFrame* aFrame) {
- if (!aFrame || !aFrame->GetContent()) return eTreeSortDirection_Natural;
-
- static Element::AttrValuesArray strings[] = {nsGkAtoms::descending,
- nsGkAtoms::ascending, nullptr};
-
- nsIContent* content = aFrame->GetContent();
- if (content->IsElement()) {
- switch (content->AsElement()->FindAttrValueIn(
- kNameSpaceID_None, nsGkAtoms::sortDirection, strings, eCaseMatters)) {
- case 0:
- return eTreeSortDirection_Descending;
- case 1:
- return eTreeSortDirection_Ascending;
- }
- }
-
- return eTreeSortDirection_Natural;
-}
-
-bool nsNativeTheme::IsLastTreeHeaderCell(nsIFrame* aFrame) {
- if (!aFrame) {
- return false;
- }
-
- // A tree column picker button is always the last header cell.
- if (aFrame->GetContent()->IsXULElement(nsGkAtoms::button)) {
- return true;
- }
-
- // Find the parent tree.
- nsIContent* parent = aFrame->GetContent()->GetParent();
- while (parent && !parent->IsXULElement(nsGkAtoms::tree)) {
- parent = parent->GetParent();
- }
-
- // If the column picker is visible, this can't be the last column.
- if (parent && !parent->AsElement()->AttrValueIs(kNameSpaceID_None,
- nsGkAtoms::hidecolumnpicker,
- u"true"_ns, eCaseMatters))
- return false;
-
- while ((aFrame = aFrame->GetNextSibling())) {
- if (aFrame->GetRect().Width() > 0) return false;
- }
- return true;
-}
-
-// tab:
-bool nsNativeTheme::IsBottomTab(nsIFrame* aFrame) {
- if (!aFrame) return false;
-
- nsAutoString classStr;
- if (aFrame->GetContent()->IsElement()) {
- aFrame->GetContent()->AsElement()->GetAttr(nsGkAtoms::_class, classStr);
- }
- // FIXME: This looks bogus, shouldn't this be looking at GetClasses()?
- return !classStr.IsEmpty() && classStr.Find(u"tab-bottom") != kNotFound;
-}
-
-bool nsNativeTheme::IsFirstTab(nsIFrame* aFrame) {
- if (!aFrame) return false;
-
- for (nsIFrame* first : aFrame->GetParent()->PrincipalChildList()) {
- if (first->GetRect().Width() > 0 &&
- first->GetContent()->IsXULElement(nsGkAtoms::tab))
- return (first == aFrame);
- }
- return false;
-}
-
-bool nsNativeTheme::IsNextToSelectedTab(nsIFrame* aFrame, int32_t aOffset) {
- if (!aFrame) return false;
-
- if (aOffset == 0) return IsSelectedTab(aFrame);
-
- int32_t thisTabIndex = -1, selectedTabIndex = -1;
-
- nsIFrame* currentTab = aFrame->GetParent()->PrincipalChildList().FirstChild();
- for (int32_t i = 0; currentTab; currentTab = currentTab->GetNextSibling()) {
- if (currentTab->GetRect().Width() == 0) continue;
- if (aFrame == currentTab) thisTabIndex = i;
- if (IsSelectedTab(currentTab)) selectedTabIndex = i;
- ++i;
- }
-
- if (thisTabIndex == -1 || selectedTabIndex == -1) return false;
-
- return (thisTabIndex - selectedTabIndex == aOffset);
-}
-
bool nsNativeTheme::IsVerticalProgress(nsIFrame* aFrame) {
if (!aFrame) {
return false;
@@ -362,30 +242,6 @@ bool nsNativeTheme::IsVerticalMeter(nsIFrame* aFrame) {
return false;
}
-// menupopup:
-bool nsNativeTheme::IsSubmenu(nsIFrame* aFrame, bool* aLeftOfParent) {
- if (!aFrame) return false;
-
- nsIContent* parentContent = aFrame->GetContent()->GetParent();
- if (!parentContent || !parentContent->IsXULElement(nsGkAtoms::menu))
- return false;
-
- nsIFrame* parent = aFrame;
- while ((parent = parent->GetParent())) {
- if (parent->GetContent() == parentContent) {
- if (aLeftOfParent) {
- LayoutDeviceIntRect selfBounds, parentBounds;
- selfBounds = aFrame->GetNearestWidget()->GetScreenBounds();
- parentBounds = parent->GetNearestWidget()->GetScreenBounds();
- *aLeftOfParent = selfBounds.X() < parentBounds.X();
- }
- return true;
- }
- }
-
- return false;
-}
-
bool nsNativeTheme::QueueAnimatedContentForRefresh(nsIContent* aContent,
uint32_t aMinimumFrameRate) {
NS_ASSERTION(aContent, "Null pointer!");
diff --git a/widget/nsNativeTheme.h b/widget/nsNativeTheme.h
@@ -46,11 +46,6 @@ class nsNativeTheme : public nsITimerCallback, public nsINamed {
eScrollbarButton_Bottom = 1 << 1
};
- enum TreeSortDirection {
- eTreeSortDirection_Descending,
- eTreeSortDirection_Natural,
- eTreeSortDirection_Ascending
- };
// Returns the content state (hover, focus, etc), see EventStateManager.h
static mozilla::dom::ElementState GetContentState(
nsIFrame* aFrame, mozilla::StyleAppearance aAppearance);
@@ -73,72 +68,17 @@ class nsNativeTheme : public nsITimerCallback, public nsINamed {
bool IsButtonTypeMenu(nsIFrame* aFrame);
- // tab:
- bool IsSelectedTab(nsIFrame* aFrame) {
- return CheckBooleanAttr(aFrame, nsGkAtoms::visuallyselected);
- }
-
- bool IsNextToSelectedTab(nsIFrame* aFrame, int32_t aOffset);
-
- bool IsBeforeSelectedTab(nsIFrame* aFrame) {
- return IsNextToSelectedTab(aFrame, -1);
- }
-
- bool IsAfterSelectedTab(nsIFrame* aFrame) {
- return IsNextToSelectedTab(aFrame, 1);
- }
-
- bool IsLeftToSelectedTab(nsIFrame* aFrame) {
- return IsFrameRTL(aFrame) ? IsAfterSelectedTab(aFrame)
- : IsBeforeSelectedTab(aFrame);
- }
-
- bool IsRightToSelectedTab(nsIFrame* aFrame) {
- return IsFrameRTL(aFrame) ? IsBeforeSelectedTab(aFrame)
- : IsAfterSelectedTab(aFrame);
- }
-
- // button / toolbarbutton:
- bool IsCheckedButton(nsIFrame* aFrame) {
- return CheckBooleanAttr(aFrame, nsGkAtoms::checked);
- }
-
- bool IsSelectedButton(nsIFrame* aFrame) {
- return CheckBooleanAttr(aFrame, nsGkAtoms::checked) ||
- CheckBooleanAttr(aFrame, nsGkAtoms::selected);
- }
-
bool IsOpenButton(nsIFrame* aFrame) {
return CheckBooleanAttr(aFrame, nsGkAtoms::open);
}
- bool IsPressedButton(nsIFrame* aFrame);
-
- // treeheadercell:
- TreeSortDirection GetTreeSortDirection(nsIFrame* aFrame);
- bool IsLastTreeHeaderCell(nsIFrame* aFrame);
-
- // tab:
- bool IsBottomTab(nsIFrame* aFrame);
- bool IsFirstTab(nsIFrame* aFrame);
-
// progressbar:
bool IsVerticalProgress(nsIFrame* aFrame);
// meter:
bool IsVerticalMeter(nsIFrame* aFrame);
- // textfield:
- bool IsReadOnly(nsIFrame* aFrame) {
- return CheckBooleanAttr(aFrame, nsGkAtoms::readonly);
- }
-
- // menupopup:
- bool IsSubmenu(nsIFrame* aFrame, bool* aLeftOfParent);
-
static bool CheckBooleanAttr(nsIFrame* aFrame, nsAtom* aAtom);
- static int32_t CheckIntAttr(nsIFrame* aFrame, nsAtom* aAtom,
- int32_t defaultValue);
// Helpers for progressbar.
static double GetProgressValue(nsIFrame* aFrame);