summaryrefslogtreecommitdiffstats
path: root/widget/ThemeCocoa.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--widget/ThemeCocoa.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/widget/ThemeCocoa.cpp b/widget/ThemeCocoa.cpp
new file mode 100644
index 0000000000..f095d9802b
--- /dev/null
+++ b/widget/ThemeCocoa.cpp
@@ -0,0 +1,29 @@
+/* -*- Mode: C++; tab-width: 40; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "ThemeCocoa.h"
+
+#include "cocoa/MacThemeGeometryType.h"
+#include "gfxPlatform.h"
+#include "mozilla/ClearOnShutdown.h"
+#include "mozilla/gfx/Helpers.h"
+#include "mozilla/LookAndFeel.h"
+#include "mozilla/ServoStyleConsts.h"
+
+namespace mozilla::widget {
+
+LayoutDeviceIntSize ThemeCocoa::GetMinimumWidgetSize(
+ nsPresContext* aPresContext, nsIFrame* aFrame,
+ StyleAppearance aAppearance) {
+ if (aAppearance == StyleAppearance::MozMenulistArrowButton) {
+ LayoutDeviceIntCoord size = ScrollbarDrawingCocoa::GetScrollbarSize(
+ StyleScrollbarWidth::Auto, /* aOverlay = */ false,
+ GetDPIRatio(aFrame, aAppearance));
+ return {size, size};
+ }
+ return Theme::GetMinimumWidgetSize(aPresContext, aFrame, aAppearance);
+}
+
+} // namespace mozilla::widget