[chromium] Limiting render surface texture manager memory to 0 when contentsMemoryUse...
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 May 2012 20:04:08 +0000 (20:04 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 May 2012 20:04:08 +0000 (20:04 +0000)
https://bugs.webkit.org/show_bug.cgi?id=86764

Patch by Michal Mocny <mmocny@google.com> on 2012-05-17
Reviewed by Adrienne Walker.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::beginDrawingFrame):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@117485 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp

index 7600013..05cff4f 100644 (file)
@@ -1,3 +1,13 @@
+2012-05-17  Michal Mocny  <mmocny@google.com>
+
+        [chromium] Limiting render surface texture manager memory to 0 when contentsMemoryUseBytes is large.
+        https://bugs.webkit.org/show_bug.cgi?id=86764
+
+        Reviewed by Adrienne Walker.
+
+        * platform/graphics/chromium/LayerRendererChromium.cpp:
+        (WebCore::LayerRendererChromium::beginDrawingFrame):
+
 2012-05-17  Dan Bernstein  <mitz@apple.com>
 
         In vertical writing modes, pagination may split a line after a block shifts
index 9e4a0af..a9f3d46 100644 (file)
@@ -416,7 +416,8 @@ void LayerRendererChromium::beginDrawingFrame(CCRenderSurface* defaultRenderSurf
 
     size_t contentsMemoryUseBytes = m_contentsTextureAllocator->currentMemoryUseBytes();
     size_t maxLimit = TextureManager::highLimitBytes(viewportSize());
-    m_renderSurfaceTextureManager->setMaxMemoryLimitBytes(maxLimit - contentsMemoryUseBytes);
+    size_t newLimit = (maxLimit > contentsMemoryUseBytes) ? maxLimit - contentsMemoryUseBytes : 0;
+    m_renderSurfaceTextureManager->setMaxMemoryLimitBytes(newLimit);
 
     if (viewportSize().isEmpty())
         return;