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

Unified Diff: content/browser/renderer_host/render_widget_host_view_android.cc

Issue 2617623002: Switch RenderWidgetHostViewAndroid to use Screen (Closed)
Patch Set: remove comment change Created 3 years, 11 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
« no previous file with comments | « no previous file | content/browser/web_contents/web_contents_android.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/renderer_host/render_widget_host_view_android.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
index 76c7f8c46273d5920d8c96b2d08af6e3130457f4..7cee98666b3e7f0e6cff40cbe8bbe23570f0f376 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -89,7 +89,6 @@
#include "ui/events/blink/web_input_event_traits.h"
#include "ui/events/gesture_detection/gesture_provider_config_helper.h"
#include "ui/events/gesture_detection/motion_event.h"
-#include "ui/gfx/android/device_display_info.h"
#include "ui/gfx/android/java_bitmap.h"
#include "ui/gfx/android/view_configuration.h"
#include "ui/gfx/geometry/dip_util.h"
@@ -189,11 +188,6 @@ void GLHelperHolder::Initialize() {
attributes.sample_buffers = 0;
attributes.bind_generates_resource = false;
- constexpr size_t kBytesPerPixel = 4;
- size_t full_screen_texture_size_in_bytes =
- gfx::DeviceDisplayInfo().GetDisplayHeight() *
- gfx::DeviceDisplayInfo().GetDisplayWidth() * kBytesPerPixel;
-
gpu::SharedMemoryLimits limits;
// The GLHelper context doesn't do a lot of stuff, so we don't expect it to
// need a lot of space for commands.
@@ -202,10 +196,22 @@ void GLHelperHolder::Initialize() {
// reasonable but small limit.
limits.start_transfer_buffer_size = 4 * 1024;
limits.min_transfer_buffer_size = 4 * 1024;
- limits.max_transfer_buffer_size = full_screen_texture_size_in_bytes;
+
+ // Use the largest available display size as the max texture size.
+ constexpr size_t kBytesPerPixel = 4;
+ size_t max_screen_texture_size_in_bytes = limits.min_transfer_buffer_size;
+ for (auto& display : display::Screen::GetScreen()->GetAllDisplays()) {
+ gfx::Size size = display.GetSizeInPixel();
+ size_t display_size_in_bytes =
+ kBytesPerPixel * size.width() * size.height();
+ if (display_size_in_bytes > max_screen_texture_size_in_bytes)
+ max_screen_texture_size_in_bytes = display_size_in_bytes;
+ }
+
+ limits.max_transfer_buffer_size = max_screen_texture_size_in_bytes;
// This context is used for doing async readbacks, so allow at least a full
// screen readback to be mapped.
- limits.mapped_memory_reclaim_limit = full_screen_texture_size_in_bytes;
+ limits.mapped_memory_reclaim_limit = max_screen_texture_size_in_bytes;
constexpr bool automatic_flushes = false;
constexpr bool support_locking = false;
« no previous file with comments | « no previous file | content/browser/web_contents/web_contents_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698