summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_theme_provider.h
diff options
context:
space:
mode:
authorerg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-09 23:07:10 +0000
committererg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-09 23:07:10 +0000
commit40bad03889d4fc90799fdfe39a3fd503cdfb492e (patch)
tree97aaad871aabb0c5d6610a2f6b5cd090cab2ecf2 /chrome/browser/browser_theme_provider.h
parentcdbb8e420ace50fb0fe7bf57f82f000b45ed09cd (diff)
downloadchromium_src-40bad03889d4fc90799fdfe39a3fd503cdfb492e.zip
chromium_src-40bad03889d4fc90799fdfe39a3fd503cdfb492e.tar.gz
chromium_src-40bad03889d4fc90799fdfe39a3fd503cdfb492e.tar.bz2
Upload GdkPixbufs into cairo surfaces so they (hopefully) live on the X server and have better performance. In the presence of XRender, let cairo do things smarter.
This is a big win performance wise. BrowserWindowGtk::OnCustomFrameExpose, a heavy user of images sped up from an average runtime of 20.5ms to 0.7ms. TEST=Run through valgrind, don't leak memory. TEST=Run both before and after using xtrace. Notice fewer XCreatePixmap requests and more XRender-CreatePicture requests. BUG=http://crbug.com/10499 Review URL: http://codereview.chromium.org/197046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25814 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_theme_provider.h')
-rw-r--r--chrome/browser/browser_theme_provider.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/chrome/browser/browser_theme_provider.h b/chrome/browser/browser_theme_provider.h
index 0053ef2..7532f97 100644
--- a/chrome/browser/browser_theme_provider.h
+++ b/chrome/browser/browser_theme_provider.h
@@ -242,6 +242,10 @@ class BrowserThemeProvider : public base::RefCounted<BrowserThemeProvider>,
// Save the modified bitmap at image_cache_[id].
virtual void SaveThemeBitmap(const std::string resource_name, int id);
+ // Clears the platform-specific caches. Do not call directly; it's called
+ // from ClearCaches().
+ virtual void FreePlatformCaches();
+
Profile* profile() { return profile_; }
// Subclasses may need us to not use the on-disk image cache. The GTK
@@ -312,10 +316,6 @@ class BrowserThemeProvider : public base::RefCounted<BrowserThemeProvider>,
// Frees generated images and clears the image cache.
void ClearCaches();
- // Clears the platform-specific caches. Do not call directly; it's called
- // from ClearCaches().
- void FreePlatformCaches();
-
// Encode image at image_cache_[id] as PNG and write to disk.
bool WriteImagesToDisk();