diff options
author | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-10 22:23:02 +0000 |
---|---|---|
committer | erg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-10 22:23:02 +0000 |
commit | dd14da8f2d18c8f9b6a6c0a9b2bb4e03da92c90c (patch) | |
tree | 418b5e52f4908e3087e87a7c26dd227f4a52f0be /chrome/browser/gtk/gtk_theme_provider.h | |
parent | 21116a3982fa6a87189cdd0333315e8f74b36acc (diff) | |
download | chromium_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.h | 12 |
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(). |