summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-08 17:37:45 +0000
committerreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-08 17:37:45 +0000
commitd72493154d4cbf5271993496f7e842ef31c357ad (patch)
tree9ccd307169e53380ee303ac516789b03623f5559 /content
parent89d7ce0b57e6496ff43298498cc89b5dd3e1e9cf (diff)
downloadchromium_src-d72493154d4cbf5271993496f7e842ef31c357ad.zip
chromium_src-d72493154d4cbf5271993496f7e842ef31c357ad.tar.gz
chromium_src-d72493154d4cbf5271993496f7e842ef31c357ad.tar.bz2
skia: Use discardable memory for scaled image cache.
BUG=276675 Review URL: https://codereview.chromium.org/110863003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243592 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r--content/renderer/render_thread_impl.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index ec28fe5..c5fda84 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -26,6 +26,7 @@
#include "base/threading/thread_local.h"
#include "base/threading/thread_restrictions.h"
#include "base/values.h"
+#include "cc/base/switches.h"
#include "content/child/appcache/appcache_dispatcher.h"
#include "content/child/appcache/appcache_frontend_impl.h"
#include "content/child/child_histogram_message_filter.h"
@@ -742,6 +743,19 @@ void RenderThreadImpl::EnsureWebKitInitialized() {
ScheduleIdleHandler(kLongIdleHandlerDelayMs);
webkit::SetSharedMemoryAllocationFunction(AllocateSharedMemoryFunction);
+
+ // Limit use of the scaled image cache to when deferred image decoding
+ // is enabled.
+ // TODO(reveman): Allow use of this cache on Android once
+ // SkDiscardablePixelRef is used for decoded images. crbug.com/330041
+ bool use_skia_scaled_image_cache = false;
+#if !defined(OS_ANDROID)
+ use_skia_scaled_image_cache =
+ command_line.HasSwitch(switches::kEnableDeferredImageDecoding) ||
+ cc::switches::IsImplSidePaintingEnabled();
+#endif
+ if (!use_skia_scaled_image_cache)
+ SkGraphics::SetImageCacheByteLimit(0u);
}
void RenderThreadImpl::RegisterSchemes() {