Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Issue 10254020: Merge 114791 - [chromium] Clip TransparencyWin to prevent OOM from large Skia canvas (Closed)

Created:
8 years, 7 months ago by enne (OOO)
Modified:
8 years, 7 months ago
Reviewers:
enne_
CC:
chromium-reviews
Base URL:
http://svn.webkit.org/repository/webkit/branches/chromium/1084/
Visibility:
Public.

Description

Merge 114791 - [chromium] Clip TransparencyWin to prevent OOM from large Skia canvas https://bugs.webkit.org/show_bug.cgi?id=84289 Reviewed by James Robinson. Source/WebCore: TransparencyWin will create a Skia canvas of whatever size is passed in, even if the result will ultimately be clipped. Handle the clip implicitly and try (in some cases) to create a smaller canvas. This can happen due to RenderBox::paintBoxDecorations passing a paint rect down of the entire element's size. Modes with more complicated transforms (ScaleTransform, UnTransform) are not handled yet. Tests: TransparencyWin.ClippedKeepTransformNoLayer TransparencyWin.ClippedKeepTransformOpaqueCompositeLayer TransparencyWin.ClippedKeepTransformOpaqueWhiteLayer * platform/graphics/chromium/TransparencyWin.cpp: (WebCore::TransparencyWin::computeLayerSize): Source/WebKit/chromium: Add a test that would OOM if the layer wasn't clipped. Also, verify that clipping the canvas doesn't shift pixels around incorrectly. * tests/TransparencyWinTest.cpp: (WebCore::testClippedLayerKeepTransform): (WebCore): (WebCore::TEST): TBR=enne@google.com Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=115492

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+72 lines, -4 lines) Patch
M Source/WebCore/platform/graphics/chromium/TransparencyWin.cpp View 1 chunk +12 lines, -4 lines 0 comments Download
M Source/WebKit/chromium/tests/TransparencyWinTest.cpp View 1 chunk +60 lines, -0 lines 0 comments Download

Messages

Total messages: 1 (0 generated)
enne (OOO)
8 years, 7 months ago (2012-04-27 21:06:51 UTC) #1

          

Powered by Google App Engine
This is Rietveld 408576698