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

Unified Diff: android_webview/java/src/org/chromium/android_webview/JavaBrowserViewRendererHelper.java

Issue 17274013: [Android WebView] Clamp Bitmap size to max. dimensions when drawing into a Canvas (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: joth comments Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/java/src/org/chromium/android_webview/JavaBrowserViewRendererHelper.java
diff --git a/android_webview/java/src/org/chromium/android_webview/JavaBrowserViewRendererHelper.java b/android_webview/java/src/org/chromium/android_webview/JavaBrowserViewRendererHelper.java
index 85d32c194d1b41fd6805468035755d4bd6d63ad8..54bb33d6a21dda874127814112dd8d5c95379b7d 100644
--- a/android_webview/java/src/org/chromium/android_webview/JavaBrowserViewRendererHelper.java
+++ b/android_webview/java/src/org/chromium/android_webview/JavaBrowserViewRendererHelper.java
@@ -21,9 +21,17 @@ public class JavaBrowserViewRendererHelper {
/**
* Provides a Bitmap object with a given width and height used for auxiliary rasterization.
+ * |canvas| is optional and if supplied indicates the Canvas that this Bitmap will be
+ * drawn into. Note the Canvas will not be modified in any way.
*/
@CalledByNative
- private static Bitmap createBitmap(int width, int height) {
+ private static Bitmap createBitmap(int width, int height, Canvas canvas) {
+ if (canvas != null) {
+ // When drawing into a Canvas, there is a maximum size imposed
+ // on Bitmaps that can be drawn. Respect that limit.
+ width = Math.min(width, canvas.getMaximumBitmapWidth());
+ height = Math.min(height, canvas.getMaximumBitmapHeight());
+ }
return Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
}
« no previous file with comments | « android_webview/browser/in_process_view_renderer.cc ('k') | android_webview/native/java_browser_view_renderer_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698