WebKit Bugzilla
Attachment 346157 Details for
Bug 185854
: [GTK] Buttons are drawn too large, text not centered
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-185854-20180731095247.patch (text/plain), 4.30 KB, created by
Carlos Bentzen
on 2018-07-31 05:52:49 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Carlos Bentzen
Created:
2018-07-31 05:52:49 PDT
Size:
4.30 KB
patch
obsolete
>Subversion Revision: 234349 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index bfef6390a7b391a9a7f5dd7cbb568021ed5ee4ad..5d6601c2f9e1e4687362511a44417e50ceec7194 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,25 @@ >+2018-07-31 Carlos Eduardo Ramalho <cadubentzen@gmail.com> >+ >+ [GTK] Buttons are drawn too large, text not centered >+ https://bugs.webkit.org/show_bug.cgi?id=185854 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 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-07-28 Darin Adler <darin@apple.com> > > [Cocoa] Update more WebCore Objective-C code to be ARC compatible >diff --git a/Source/WebCore/platform/gtk/RenderThemeGadget.cpp b/Source/WebCore/platform/gtk/RenderThemeGadget.cpp >index 6a2903b87513b60e0f082921f3fcc36fab784b08..dbdae9955af17d162d546acccf7f7c42a37735fa 100644 >--- a/Source/WebCore/platform/gtk/RenderThemeGadget.cpp >+++ b/Source/WebCore/platform/gtk/RenderThemeGadget.cpp >@@ -49,6 +49,8 @@ std::unique_ptr<RenderThemeGadget> RenderThemeGadget::create(const RenderThemeGa > 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 @@ void RenderThemeScrollbarGadget::renderStepper(cairo_t* cr, const FloatRect& pai > 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) >diff --git a/Source/WebCore/platform/gtk/RenderThemeGadget.h b/Source/WebCore/platform/gtk/RenderThemeGadget.h >index c46f1560652fedeb89251fd91b9b6654ad36f929..32f2602c1ddf938a2520263b0127b24857aa7d80 100644 >--- a/Source/WebCore/platform/gtk/RenderThemeGadget.h >+++ b/Source/WebCore/platform/gtk/RenderThemeGadget.h >@@ -50,7 +50,8 @@ public: > Radio, > Arrow, > Icon, >- Scrollbar >+ Scrollbar, >+ Button > }; > > struct Info { >@@ -169,6 +170,13 @@ private: > 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) >diff --git a/Source/WebCore/platform/gtk/RenderThemeWidget.cpp b/Source/WebCore/platform/gtk/RenderThemeWidget.cpp >index 88f708e7f4208ac592604fa29bd1d63136e46419..b72c107c1c43c5c8c382360887493873e1eb213a 100644 >--- a/Source/WebCore/platform/gtk/RenderThemeWidget.cpp >+++ b/Source/WebCore/platform/gtk/RenderThemeWidget.cpp >@@ -182,7 +182,7 @@ RenderThemeToggleButton::RenderThemeToggleButton(Type toggleType) > > 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);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 185854
:
340936
|
340937
| 346157 |
346158
|
346159
|
346160
|
346187