summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/gtk_theme_provider.h
diff options
context:
space:
mode:
authorerg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-10 22:23:02 +0000
committererg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-10 22:23:02 +0000
commitdd14da8f2d18c8f9b6a6c0a9b2bb4e03da92c90c (patch)
tree418b5e52f4908e3087e87a7c26dd227f4a52f0be /chrome/browser/gtk/gtk_theme_provider.h
parent21116a3982fa6a87189cdd0333315e8f74b36acc (diff)
downloadchromium_src-dd14da8f2d18c8f9b6a6c0a9b2bb4e03da92c90c.zip
chromium_src-dd14da8f2d18c8f9b6a6c0a9b2bb4e03da92c90c.tar.gz
chromium_src-dd14da8f2d18c8f9b6a6c0a9b2bb4e03da92c90c.tar.bz2
GTK: Always use default frame in popup windows.
Now that glen@ has spoken, make popup windows on linux match the XP behaviour by never using themed resources for the window frame. BUG=43938 TEST=none Review URL: http://codereview.chromium.org/2771011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49458 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/gtk_theme_provider.h')
-rw-r--r--chrome/browser/gtk/gtk_theme_provider.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/chrome/browser/gtk/gtk_theme_provider.h b/chrome/browser/gtk/gtk_theme_provider.h
index aca0cd9..e6321e9 100644
--- a/chrome/browser/gtk/gtk_theme_provider.h
+++ b/chrome/browser/gtk/gtk_theme_provider.h
@@ -84,6 +84,11 @@ class GtkThemeProvider : public BrowserThemeProvider,
// to send the image to the server on each expose.
CairoCachedSurface* GetSurfaceNamed(int id, GtkWidget* widget_on_display);
+ // Returns a CairoCachedSurface for a particular Display for an image
+ // resource that's unthemed.
+ CairoCachedSurface* GetUnthemedSurfaceNamed(
+ int id, GtkWidget* widget_on_display);
+
// Returns colors that we pass to webkit to match the system theme.
const SkColor& get_focus_ring_color() const { return focus_ring_color_; }
const SkColor& get_thumb_active_color() const { return thumb_active_color_; }
@@ -117,6 +122,8 @@ class GtkThemeProvider : public BrowserThemeProvider,
typedef std::map<int, SkColor> ColorMap;
typedef std::map<int, color_utils::HSL> TintMap;
typedef std::map<int, SkBitmap*> ImageCache;
+ typedef std::map<int, CairoCachedSurface*> CairoCachedSurfaceMap;
+ typedef std::map<GdkDisplay*, CairoCachedSurfaceMap> PerDisplaySurfaceMap;
// Clears all the GTK color overrides.
virtual void ClearAllThemeData();
@@ -147,7 +154,7 @@ class GtkThemeProvider : public BrowserThemeProvider,
// FreePlatformCaches() is called from the BrowserThemeProvider's destructor,
// but by the time ~BrowserThemeProvider() is run, the vtable no longer
// points to GtkThemeProvider's version.
- void FreePerDisplaySurfaces();
+ void FreePerDisplaySurfaces(PerDisplaySurfaceMap* per_display_map);
// Lazily generates each bitmap used in the gtk theme.
SkBitmap* GenerateGtkThemeBitmap(int id) const;
@@ -226,9 +233,8 @@ class GtkThemeProvider : public BrowserThemeProvider,
mutable ImageCache gtk_images_;
// Cairo surfaces for each GdkDisplay.
- typedef std::map<int, CairoCachedSurface*> CairoCachedSurfaceMap;
- typedef std::map<GdkDisplay*, CairoCachedSurfaceMap> PerDisplaySurfaceMap;
PerDisplaySurfaceMap per_display_surfaces_;
+ PerDisplaySurfaceMap per_display_unthemed_surfaces_;
// This is a dummy widget that only exists so we have something to pass to
// gtk_widget_render_icon().