- Revision
- 234592
- Author
- commit-qu...@webkit.org
- Date
- 2018-08-06 01:25:34 -0700 (Mon, 06 Aug 2018)
Log Message
[GTK] Buttons are drawn too large, text not centered
https://bugs.webkit.org/show_bug.cgi?id=185854
Patch by Carlos Eduardo Ramalho <cadubent...@gmail.com> on 2018-08-06
Reviewed by Carlos Garcia Campos.
Some pages require small buttons and the GTK theme was
drawing only down to a minimum size.
No new tests required. Current layout tests and ManualTests/gtk/theme.html
already cover it.
* platform/gtk/RenderThemeGadget.cpp:
(WebCore::RenderThemeGadget::create):
(WebCore::RenderThemeButtonGadget::RenderThemeButtonGadget): Added
(WebCore::RenderThemeButtonGadget::minimumSize const):
Allow sizes smaller than the minimum size.
* platform/gtk/RenderThemeGadget.h:
* platform/gtk/RenderThemeWidget.cpp:
(WebCore::RenderThemeButton::RenderThemeButton):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (234591 => 234592)
--- trunk/Source/WebCore/ChangeLog 2018-08-06 08:25:29 UTC (rev 234591)
+++ trunk/Source/WebCore/ChangeLog 2018-08-06 08:25:34 UTC (rev 234592)
@@ -1,3 +1,25 @@
+2018-08-06 Carlos Eduardo Ramalho <cadubent...@gmail.com>
+
+ [GTK] Buttons are drawn too large, text not centered
+ https://bugs.webkit.org/show_bug.cgi?id=185854
+
+ Reviewed by Carlos Garcia Campos.
+
+ Some pages require small buttons and the GTK theme was
+ drawing only down to a minimum size.
+
+ No new tests required. Current layout tests and ManualTests/gtk/theme.html
+ already cover it.
+
+ * platform/gtk/RenderThemeGadget.cpp:
+ (WebCore::RenderThemeGadget::create):
+ (WebCore::RenderThemeButtonGadget::RenderThemeButtonGadget): Added
+ (WebCore::RenderThemeButtonGadget::minimumSize const):
+ Allow sizes smaller than the minimum size.
+ * platform/gtk/RenderThemeGadget.h:
+ * platform/gtk/RenderThemeWidget.cpp:
+ (WebCore::RenderThemeButton::RenderThemeButton):
+
2018-08-05 Yusuke Suzuki <utatane....@gmail.com>
Implement self.queueMicrotask in Workers
Modified: trunk/Source/WebCore/platform/gtk/RenderThemeGadget.cpp (234591 => 234592)
--- trunk/Source/WebCore/platform/gtk/RenderThemeGadget.cpp 2018-08-06 08:25:29 UTC (rev 234591)
+++ trunk/Source/WebCore/platform/gtk/RenderThemeGadget.cpp 2018-08-06 08:25:34 UTC (rev 234592)
@@ -49,6 +49,8 @@
return std::make_unique<RenderThemeIconGadget>(info, parent, siblings, position);
case RenderThemeGadget::Type::Scrollbar:
return std::make_unique<RenderThemeScrollbarGadget>(info, parent, siblings, position);
+ case RenderThemeGadget::Type::Button:
+ return std::make_unique<RenderThemeButtonGadget>(info, parent, siblings, position);
}
ASSERT_NOT_REACHED();
@@ -386,6 +388,17 @@
contentsRect.y() + (contentsRect.height() - stepperSize) / 2, stepperSize);
}
+RenderThemeButtonGadget::RenderThemeButtonGadget(const Info& info, RenderThemeGadget* parent, const Vector<RenderThemeGadget::Info> siblings, unsigned position)
+ : RenderThemeGadget(info, parent, siblings, position)
+{
+}
+
+IntSize RenderThemeButtonGadget::minimumSize() const
+{
+ // Allow buttons to be smaller than the minimum size
+ return IntSize();
+}
+
} // namespace WebCore
#endif // GTK_CHECK_VERSION(3, 20, 0)
Modified: trunk/Source/WebCore/platform/gtk/RenderThemeGadget.h (234591 => 234592)
--- trunk/Source/WebCore/platform/gtk/RenderThemeGadget.h 2018-08-06 08:25:29 UTC (rev 234591)
+++ trunk/Source/WebCore/platform/gtk/RenderThemeGadget.h 2018-08-06 08:25:34 UTC (rev 234592)
@@ -50,7 +50,8 @@
Radio,
Arrow,
Icon,
- Scrollbar
+ Scrollbar,
+ Button
};
struct Info {
@@ -169,6 +170,13 @@
OptionSet<Steppers> m_steppers;
};
+class RenderThemeButtonGadget final : public RenderThemeGadget {
+public:
+ RenderThemeButtonGadget(const Info&, RenderThemeGadget* parent, const Vector<RenderThemeGadget::Info> siblings, unsigned position);
+
+ IntSize minimumSize() const override;
+};
+
} // namespace WebCore
#endif // GTK_CHECK_VERSION(3, 20, 0)
Modified: trunk/Source/WebCore/platform/gtk/RenderThemeWidget.cpp (234591 => 234592)
--- trunk/Source/WebCore/platform/gtk/RenderThemeWidget.cpp 2018-08-06 08:25:29 UTC (rev 234591)
+++ trunk/Source/WebCore/platform/gtk/RenderThemeWidget.cpp 2018-08-06 08:25:34 UTC (rev 234592)
@@ -182,7 +182,7 @@
RenderThemeButton::RenderThemeButton(Default isDefault)
{
- RenderThemeGadget::Info info = { RenderThemeGadget::Type::Generic, "button", { "text-button" } };
+ RenderThemeGadget::Info info = { RenderThemeGadget::Type::Button, "button", { "text-button" } };
if (isDefault == Default::Yes)
info.classList.append("default");
m_button = RenderThemeGadget::create(info);