Modified: trunk/Source/WebCore/ChangeLog (260125 => 260126)
--- trunk/Source/WebCore/ChangeLog 2020-04-15 14:25:12 UTC (rev 260125)
+++ trunk/Source/WebCore/ChangeLog 2020-04-15 14:33:32 UTC (rev 260126)
@@ -1,3 +1,17 @@
+2020-04-15 Carlos Garcia Campos <cgar...@igalia.com>
+
+ [GTK] Remove IconGtk
+ https://bugs.webkit.org/show_bug.cgi?id=210546
+
+ Reviewed by Adrian Perez de Castro.
+
+ It's currently unused in GTK port since we never show an icon for file uploads.
+
+ * SourcesGTK.txt:
+ * platform/graphics/Icon.cpp:
+ * platform/graphics/Icon.h:
+ * platform/graphics/gtk/IconGtk.cpp: Removed.
+
2020-04-15 Adrian Perez de Castro <ape...@igalia.com>
[GTK4] Provide an alternative to gtk_widget_{get,is}_toplevel()
Modified: trunk/Source/WebCore/SourcesGTK.txt (260125 => 260126)
--- trunk/Source/WebCore/SourcesGTK.txt 2020-04-15 14:25:12 UTC (rev 260125)
+++ trunk/Source/WebCore/SourcesGTK.txt 2020-04-15 14:33:32 UTC (rev 260126)
@@ -85,7 +85,6 @@
platform/graphics/gtk/ColorGtk.cpp
platform/graphics/gtk/DisplayRefreshMonitorGtk.cpp
platform/graphics/gtk/GdkCairoUtilities.cpp
-platform/graphics/gtk/IconGtk.cpp
platform/graphics/gtk/ImageGtk.cpp
platform/graphics/gstreamer/ImageGStreamerCairo.cpp
Modified: trunk/Source/WebCore/platform/graphics/Icon.cpp (260125 => 260126)
--- trunk/Source/WebCore/platform/graphics/Icon.cpp 2020-04-15 14:25:12 UTC (rev 260125)
+++ trunk/Source/WebCore/platform/graphics/Icon.cpp 2020-04-15 14:33:32 UTC (rev 260126)
@@ -26,7 +26,7 @@
#include "config.h"
#include "Icon.h"
-#if !PLATFORM(GTK) && !PLATFORM(IOS_FAMILY) && !PLATFORM(MAC) && !PLATFORM(WIN)
+#if !PLATFORM(IOS_FAMILY) && !PLATFORM(MAC) && !PLATFORM(WIN)
namespace WebCore {
Modified: trunk/Source/WebCore/platform/graphics/Icon.h (260125 => 260126)
--- trunk/Source/WebCore/platform/graphics/Icon.h 2020-04-15 14:25:12 UTC (rev 260125)
+++ trunk/Source/WebCore/platform/graphics/Icon.h 2020-04-15 14:33:32 UTC (rev 260126)
@@ -33,8 +33,6 @@
OBJC_CLASS NSImage;
#elif PLATFORM(WIN)
typedef struct HICON__* HICON;
-#elif PLATFORM(GTK)
-typedef struct _GdkPixbuf GdkPixbuf;
#endif
namespace WebCore {
@@ -74,9 +72,6 @@
#elif PLATFORM(WIN)
Icon(HICON);
HICON m_hIcon;
-#elif PLATFORM(GTK)
- Icon();
- GdkPixbuf* m_icon;
#endif
};
Deleted: trunk/Source/WebCore/platform/graphics/gtk/IconGtk.cpp (260125 => 260126)
--- trunk/Source/WebCore/platform/graphics/gtk/IconGtk.cpp 2020-04-15 14:25:12 UTC (rev 260125)
+++ trunk/Source/WebCore/platform/graphics/gtk/IconGtk.cpp 2020-04-15 14:33:32 UTC (rev 260126)
@@ -1,129 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
- * Copyright (C) 2007 Holger Hans Peter Freyther
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "Icon.h"
-
-#include "GraphicsContext.h"
-#include "MIMETypeRegistry.h"
-#include "PlatformContextCairo.h"
-
-#include <gtk/gtk.h>
-
-#include <wtf/RefPtr.h>
-#include <wtf/text/CString.h>
-
-namespace WebCore {
-
-Icon::Icon()
- : m_icon(0)
-{
-}
-
-Icon::~Icon()
-{
- if (m_icon)
- g_object_unref(m_icon);
-}
-
-static String lookupIconName(String MIMEType)
-{
- /*
- Lookup an appropriate icon according to either the Icon Naming Spec
- or conventional Gnome icon names respectively.
-
- See http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
-
- The icon theme is probed for the following names:
- 1. media-subtype
- 2. gnome-mime-media-subtype
- 3. media-x-generic
- 4. gnome-mime-media
-
- In the worst case it falls back to the stock file icon.
- */
- int pos = MIMEType.find('/');
- if(pos >= 0) {
- String media = MIMEType.substring(0, pos);
- String subtype = MIMEType.substring(pos + 1);
- GtkIconTheme* iconTheme = gtk_icon_theme_get_default();
- String iconName = media + "-" + subtype;
- if(gtk_icon_theme_has_icon(iconTheme, iconName.utf8().data()))
- return iconName;
- iconName = "gnome-mime-" + media + "-" + subtype;
- if(gtk_icon_theme_has_icon(iconTheme, iconName.utf8().data()))
- return iconName;
- iconName = media + "-x-generic";
- if(gtk_icon_theme_has_icon(iconTheme, iconName.utf8().data()))
- return iconName;
- iconName = media + "gnome-mime-" + media;
- if(gtk_icon_theme_has_icon(iconTheme, iconName.utf8().data()))
- return iconName;
- }
- return "text-x-generic";
-}
-
-// FIXME: Move the code to ChromeClient::iconForFiles().
-RefPtr<Icon> Icon::createIconForFiles(const Vector<String>& filenames)
-{
- if (filenames.isEmpty())
- return nullptr;
-
- if (filenames.size() == 1) {
- if (!g_path_skip_root(filenames[0].utf8().data()))
- return nullptr;
-
- String MIMEType = MIMETypeRegistry::getMIMETypeForPath(filenames[0]);
- String iconName = lookupIconName(MIMEType);
-
- RefPtr<Icon> icon = adoptRef(new Icon);
- icon->m_icon = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), iconName.utf8().data(), 16, GTK_ICON_LOOKUP_USE_BUILTIN, 0);
- if (!icon->m_icon)
- return nullptr;
- return icon;
- }
-
- //FIXME: Implement this
- return 0;
-}
-
-void Icon::paint(GraphicsContext& context, const FloatRect& rect)
-{
- if (context.paintingDisabled())
- return;
-
- // TODO: Scale/clip the image if necessary.
- cairo_t* cr = context.platformContext()->cr();
- cairo_save(cr);
- gdk_cairo_set_source_pixbuf(cr, m_icon, rect.x(), rect.y());
- cairo_paint(cr);
- cairo_restore(cr);
-}
-
-}