Title: [232454] trunk/Source/WebCore
Revision
232454
Author
[email protected]
Date
2018-06-03 15:15:21 -0700 (Sun, 03 Jun 2018)

Log Message

REGRESSION(r232338): [GTK] Broke a few layout tests
https://bugs.webkit.org/show_bug.cgi?id=186244

Unreviewed, rollout r232338.

* platform/gtk/RenderThemeGadget.cpp:
(WebCore::RenderThemeGadget::RenderThemeGadget):
(WebCore::baseStyleContext): Deleted.
* rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::adjustButtonStyle const):
(WebCore::RenderThemeGtk::adjustTextFieldStyle const):
(WebCore::RenderThemeGtk::adjustSearchFieldStyle const):
(WebCore::styleColor):
(WebCore::RenderThemeGtk::adjustTextAreaStyle const): Deleted.
* rendering/RenderThemeGtk.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (232453 => 232454)


--- trunk/Source/WebCore/ChangeLog	2018-06-03 20:22:05 UTC (rev 232453)
+++ trunk/Source/WebCore/ChangeLog	2018-06-03 22:15:21 UTC (rev 232454)
@@ -1,3 +1,21 @@
+2018-06-03  Michael Catanzaro  <[email protected]>
+
+        REGRESSION(r232338): [GTK] Broke a few layout tests
+        https://bugs.webkit.org/show_bug.cgi?id=186244
+
+        Unreviewed, rollout r232338.
+
+        * platform/gtk/RenderThemeGadget.cpp:
+        (WebCore::RenderThemeGadget::RenderThemeGadget):
+        (WebCore::baseStyleContext): Deleted.
+        * rendering/RenderThemeGtk.cpp:
+        (WebCore::RenderThemeGtk::adjustButtonStyle const):
+        (WebCore::RenderThemeGtk::adjustTextFieldStyle const):
+        (WebCore::RenderThemeGtk::adjustSearchFieldStyle const):
+        (WebCore::styleColor):
+        (WebCore::RenderThemeGtk::adjustTextAreaStyle const): Deleted.
+        * rendering/RenderThemeGtk.h:
+
 2018-06-03  Eric Carlson  <[email protected]>
 
         [iOS] MediaPlayer.framework is not always available

Modified: trunk/Source/WebCore/platform/gtk/RenderThemeGadget.cpp (232453 => 232454)


--- trunk/Source/WebCore/platform/gtk/RenderThemeGadget.cpp	2018-06-03 20:22:05 UTC (rev 232453)
+++ trunk/Source/WebCore/platform/gtk/RenderThemeGadget.cpp	2018-06-03 22:15:21 UTC (rev 232454)
@@ -30,7 +30,6 @@
 
 #include "FloatRect.h"
 #include "GRefPtrGtk.h"
-#include <mutex>
 
 namespace WebCore {
 
@@ -73,26 +72,6 @@
         gtk_widget_path_iter_add_class(path, -1, className);
 }
 
-static GtkStyleContext* baseStyleContext()
-{
-    // Leaking here on purpose for it not to be destroyed unsafely at exit time.
-    static GtkStyleContext* baseContext;
-    static std::once_flag onceFlag;
-
-    std::call_once(onceFlag, []() {
-        GRefPtr<GtkWidgetPath> path = adoptGRef(gtk_widget_path_new());
-        gtk_widget_path_append_type(path.get(), GTK_TYPE_WINDOW);
-        gtk_widget_path_iter_set_object_name(path.get(), -1, "window");
-        gtk_widget_path_iter_add_class(path.get(), -1, GTK_STYLE_CLASS_BACKGROUND);
-
-        baseContext = gtk_style_context_new();
-        gtk_style_context_set_path(baseContext, path.get());
-        gtk_style_context_set_parent(baseContext, nullptr);
-    });
-
-    return baseContext;
-}
-
 RenderThemeGadget::RenderThemeGadget(const RenderThemeGadget::Info& info, RenderThemeGadget* parent, const Vector<RenderThemeGadget::Info> siblings, unsigned position)
 {
     GRefPtr<GtkWidgetPath> path = parent ? adoptGRef(gtk_widget_path_copy(gtk_style_context_get_path(parent->context()))) : adoptGRef(gtk_widget_path_new());
@@ -103,7 +82,7 @@
         gtk_widget_path_append_with_siblings(path.get(), siblingsPath.get(), position);
     } else
         appendElementToPath(path.get(), info);
-    m_context = createStyleContext(path.get(), parent ? parent->context() : baseStyleContext());
+    m_context = createStyleContext(path.get(), parent ? parent->context() : nullptr);
 }
 
 RenderThemeGadget::~RenderThemeGadget() = default;

Modified: trunk/Source/WebCore/rendering/RenderThemeGtk.cpp (232453 => 232454)


--- trunk/Source/WebCore/rendering/RenderThemeGtk.cpp	2018-06-03 20:22:05 UTC (rev 232453)
+++ trunk/Source/WebCore/rendering/RenderThemeGtk.cpp	2018-06-03 22:15:21 UTC (rev 232454)
@@ -493,53 +493,8 @@
 }
 #endif // GTK_CHECK_VERSION(3, 20, 0)
 
-enum StyleColorType { StyleColorBackground, StyleColorForeground };
-
-#if GTK_CHECK_VERSION(3, 20, 0)
-static Color styleColor(RenderThemePart themePart, GtkStateFlags state, StyleColorType colorType)
+void RenderThemeGtk::adjustButtonStyle(StyleResolver&, RenderStyle& style, const Element*) const
 {
-    RenderThemeGadget* gadget = nullptr;
-    switch (themePart) {
-    default:
-        ASSERT_NOT_REACHED();
-        FALLTHROUGH;
-    case Entry:
-        gadget = &static_cast<RenderThemeEntry&>(RenderThemeWidget::getOrCreate(RenderThemeWidget::Type::Entry)).entry();
-        break;
-    case EntrySelection:
-        gadget = static_cast<RenderThemeEntry&>(RenderThemeWidget::getOrCreate(RenderThemeWidget::Type::SelectedEntry)).selection();
-        break;
-    case ListBox:
-        gadget = &static_cast<RenderThemeListView&>(RenderThemeWidget::getOrCreate(RenderThemeWidget::Type::ListView)).treeview();
-        break;
-    case Button:
-        gadget = &static_cast<RenderThemeButton&>(RenderThemeWidget::getOrCreate(RenderThemeWidget::Type::Button)).button();
-        break;
-    }
-
-    ASSERT(gadget);
-    gadget->setState(state);
-    return colorType == StyleColorBackground ? gadget->backgroundColor() : gadget->color();
-}
-#else
-static Color styleColor(RenderThemePart themePart, GtkStateFlags state, StyleColorType colorType)
-{
-    GRefPtr<GtkStyleContext> context = createStyleContext(themePart);
-    gtk_style_context_set_state(context.get(), state);
-
-    GdkRGBA gdkRGBAColor;
-    if (colorType == StyleColorBackground)
-        gtk_style_context_get_background_color(context.get(), state, &gdkRGBAColor);
-    else
-        gtk_style_context_get_color(context.get(), state, &gdkRGBAColor);
-    return gdkRGBAColor;
-}
-#endif // GTK_CHECK_VERSION(3, 20, 0)
-
-void RenderThemeGtk::adjustButtonStyle(StyleResolver&, RenderStyle& style, const Element* element) const
-{
-    if (element)
-        style.setColor(styleColor(Button, element->isDisabledFormControl() ? GTK_STATE_FLAG_INSENSITIVE : GTK_STATE_FLAG_NORMAL, StyleColorForeground));
     // Some layout tests check explicitly that buttons ignore line-height.
     if (style.appearance() == PushButtonPart)
         style.setLineHeight(RenderStyle::initialLineHeight());
@@ -990,9 +945,6 @@
 
 void RenderThemeGtk::adjustTextFieldStyle(StyleResolver&, RenderStyle& style, const Element* element) const
 {
-    if (element)
-        style.setColor(styleColor(Entry, element->isDisabledFormControl() ? GTK_STATE_FLAG_INSENSITIVE : GTK_STATE_FLAG_NORMAL, StyleColorForeground));
-
     if (!is<HTMLInputElement>(element) || !shouldHaveSpinButton(downcast<HTMLInputElement>(*element)))
         return;
 
@@ -1129,12 +1081,6 @@
 }
 #endif
 
-void RenderThemeGtk::adjustTextAreaStyle(StyleResolver&, RenderStyle& style, const Element* element) const
-{
-    if (element)
-        style.setColor(styleColor(Entry, element->isDisabledFormControl() ? GTK_STATE_FLAG_INSENSITIVE : GTK_STATE_FLAG_NORMAL, StyleColorForeground));
-}
-
 void RenderThemeGtk::adjustListboxStyle(StyleResolver&, RenderStyle& style, const Element* element) const
 {
     if (element)
@@ -1260,10 +1206,8 @@
 }
 #endif // GTK_CHECK_VERSION(3, 20, 0)
 
-void RenderThemeGtk::adjustSearchFieldStyle(StyleResolver&, RenderStyle& style, const Element* element) const
+void RenderThemeGtk::adjustSearchFieldStyle(StyleResolver&, RenderStyle& style, const Element*) const
 {
-    if (element)
-        style.setColor(styleColor(Entry, element->isDisabledFormControl() ? GTK_STATE_FLAG_INSENSITIVE : GTK_STATE_FLAG_NORMAL, StyleColorForeground));
     // We cannot give a proper rendering when border radius is active, unfortunately.
     style.resetBorderRadius();
     style.setLineHeight(RenderStyle::initialLineHeight());
@@ -1735,6 +1679,49 @@
     return 500_us * time;
 }
 
+enum StyleColorType { StyleColorBackground, StyleColorForeground };
+
+#if GTK_CHECK_VERSION(3, 20, 0)
+static Color styleColor(RenderThemePart themePart, GtkStateFlags state, StyleColorType colorType)
+{
+    RenderThemeGadget* gadget = nullptr;
+    switch (themePart) {
+    default:
+        ASSERT_NOT_REACHED();
+        FALLTHROUGH;
+    case Entry:
+        gadget = &static_cast<RenderThemeEntry&>(RenderThemeWidget::getOrCreate(RenderThemeWidget::Type::Entry)).entry();
+        break;
+    case EntrySelection:
+        gadget = static_cast<RenderThemeEntry&>(RenderThemeWidget::getOrCreate(RenderThemeWidget::Type::SelectedEntry)).selection();
+        break;
+    case ListBox:
+        gadget = &static_cast<RenderThemeListView&>(RenderThemeWidget::getOrCreate(RenderThemeWidget::Type::ListView)).treeview();
+        break;
+    case Button:
+        gadget = &static_cast<RenderThemeButton&>(RenderThemeWidget::getOrCreate(RenderThemeWidget::Type::Button)).button();
+        break;
+    }
+
+    ASSERT(gadget);
+    gadget->setState(state);
+    return colorType == StyleColorBackground ? gadget->backgroundColor() : gadget->color();
+}
+#else
+static Color styleColor(RenderThemePart themePart, GtkStateFlags state, StyleColorType colorType)
+{
+    GRefPtr<GtkStyleContext> context = createStyleContext(themePart);
+    gtk_style_context_set_state(context.get(), state);
+
+    GdkRGBA gdkRGBAColor;
+    if (colorType == StyleColorBackground)
+        gtk_style_context_get_background_color(context.get(), state, &gdkRGBAColor);
+    else
+        gtk_style_context_get_color(context.get(), state, &gdkRGBAColor);
+    return gdkRGBAColor;
+}
+#endif // GTK_CHECK_VERSION(3, 20, 0)
+
 Color RenderThemeGtk::platformActiveSelectionBackgroundColor() const
 {
     return styleColor(EntrySelection, static_cast<GtkStateFlags>(GTK_STATE_FLAG_SELECTED | GTK_STATE_FLAG_FOCUSED), StyleColorBackground);

Modified: trunk/Source/WebCore/rendering/RenderThemeGtk.h (232453 => 232454)


--- trunk/Source/WebCore/rendering/RenderThemeGtk.h	2018-06-03 20:22:05 UTC (rev 232453)
+++ trunk/Source/WebCore/rendering/RenderThemeGtk.h	2018-06-03 22:15:21 UTC (rev 232454)
@@ -118,8 +118,6 @@
 
     void adjustTextFieldStyle(StyleResolver&, RenderStyle&, const Element*) const override;
     bool paintTextField(const RenderObject&, const PaintInfo&, const FloatRect&) override;
-
-    void adjustTextAreaStyle(StyleResolver&, RenderStyle&, const Element*) const override;
     bool paintTextArea(const RenderObject&, const PaintInfo&, const FloatRect&) override;
 
     LengthBox popupInternalPaddingBox(const RenderStyle&) const override;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to