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

Unified Diff: cc/surfaces/display.cc

Issue 2036563002: Delete OnscreenDisplayClient and TopLevelDisplayClient. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: onscreendisplayclient: webview-scoped-allow-gl-for-hardwarerenderer-constructor Created 4 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
« no previous file with comments | « cc/surfaces/display.h ('k') | cc/surfaces/display_client.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/surfaces/display.cc
diff --git a/cc/surfaces/display.cc b/cc/surfaces/display.cc
index 71420e5183ffdac4703b289571af66f6af879dd3..c0c8b14e007ae0348be81093d9053f5f96c194c9 100644
--- a/cc/surfaces/display.cc
+++ b/cc/surfaces/display.cc
@@ -15,7 +15,6 @@
#include "cc/output/gl_renderer.h"
#include "cc/output/renderer_settings.h"
#include "cc/output/software_renderer.h"
-#include "cc/output/texture_mailbox_deleter.h"
#include "cc/surfaces/display_client.h"
#include "cc/surfaces/display_scheduler.h"
#include "cc/surfaces/surface.h"
@@ -42,22 +41,21 @@ class EmptyBeginFrameSource : public cc::BeginFrameSource {
namespace cc {
-Display::Display(DisplayClient* client,
- SurfaceManager* manager,
+Display::Display(SurfaceManager* manager,
SharedBitmapManager* bitmap_manager,
gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
const RendererSettings& settings,
- uint32_t compositor_surface_namespace)
- : client_(client),
- surface_manager_(manager),
+ uint32_t compositor_surface_namespace,
+ base::SingleThreadTaskRunner* task_runner,
+ std::unique_ptr<OutputSurface> output_surface)
+ : surface_manager_(manager),
bitmap_manager_(bitmap_manager),
gpu_memory_buffer_manager_(gpu_memory_buffer_manager),
settings_(settings),
compositor_surface_namespace_(compositor_surface_namespace),
- device_scale_factor_(1.f),
- swapped_since_resize_(false),
- vsync_begin_frame_source_(nullptr),
- observed_begin_frame_source_(nullptr) {
+ task_runner_(task_runner),
+ output_surface_(std::move(output_surface)),
+ texture_mailbox_deleter_(task_runner) {
surface_manager_->AddObserver(this);
}
@@ -74,9 +72,9 @@ Display::~Display() {
}
}
-void Display::CreateScheduler(base::SingleThreadTaskRunner* task_runner) {
+void Display::CreateScheduler() {
DCHECK(!scheduler_);
- if (!task_runner) {
+ if (!task_runner_) {
// WebView doesn't have a task runner or a real begin frame source,
// so just create something fake here.
internal_begin_frame_source_.reset(new EmptyBeginFrameSource());
@@ -88,37 +86,30 @@ void Display::CreateScheduler(base::SingleThreadTaskRunner* task_runner) {
observed_begin_frame_source_ = vsync_begin_frame_source_;
if (settings_.disable_display_vsync) {
internal_begin_frame_source_.reset(
- new BackToBackBeginFrameSource(task_runner));
+ new BackToBackBeginFrameSource(task_runner_));
observed_begin_frame_source_ = internal_begin_frame_source_.get();
}
}
scheduler_.reset(
- new DisplayScheduler(this, observed_begin_frame_source_, task_runner,
+ new DisplayScheduler(this, observed_begin_frame_source_, task_runner_,
output_surface_->capabilities().max_frames_pending));
surface_manager_->RegisterBeginFrameSource(observed_begin_frame_source_,
compositor_surface_namespace_);
}
-bool Display::Initialize(std::unique_ptr<OutputSurface> output_surface,
- base::SingleThreadTaskRunner* task_runner) {
- DCHECK(!output_surface_);
- output_surface_ = std::move(output_surface);
+bool Display::Initialize(DisplayClient* client) {
+ client_ = client;
if (!output_surface_->BindToClient(this))
return false;
- texture_mailbox_deleter_.reset(new TextureMailboxDeleter(task_runner));
- CreateScheduler(task_runner);
+ CreateScheduler();
return true;
}
-bool Display::InitializeSynchronous(
- std::unique_ptr<OutputSurface> output_surface,
- base::SingleThreadTaskRunner* task_runner) {
- DCHECK(!output_surface_);
- output_surface_ = std::move(output_surface);
+bool Display::InitializeSynchronous(DisplayClient* client) {
+ client_ = client;
if (!output_surface_->BindToClient(this))
return false;
- texture_mailbox_deleter_.reset(new TextureMailboxDeleter(task_runner));
// No scheduler created here.
return true;
}
@@ -191,7 +182,7 @@ void Display::InitializeRenderer() {
if (output_surface_->context_provider()) {
std::unique_ptr<GLRenderer> renderer = GLRenderer::Create(
this, &settings_, output_surface_.get(), resource_provider.get(),
- texture_mailbox_deleter_.get(), settings_.highp_threshold_min);
+ &texture_mailbox_deleter_, settings_.highp_threshold_min);
if (!renderer)
return;
renderer_ = std::move(renderer);
@@ -199,7 +190,7 @@ void Display::InitializeRenderer() {
#if defined(ENABLE_VULKAN)
std::unique_ptr<VulkanRenderer> renderer = VulkanRenderer::Create(
this, &settings_, output_surface_.get(), resource_provider.get(),
- texture_mailbox_deleter_.get(), settings_.highp_threshold_min);
+ &texture_mailbox_deleter_, settings_.highp_threshold_min);
if (!renderer)
return;
renderer_ = std::move(renderer);
@@ -232,7 +223,7 @@ void Display::DidLoseOutputSurface() {
scheduler_->OutputSurfaceLost();
// WARNING: The client may delete the Display in this method call. Do not
// make any additional references to members after this call.
- client_->OutputSurfaceLost();
+ client_->DisplayOutputSurfaceLost();
}
void Display::UpdateRootSurfaceResourcesLocked() {
@@ -376,7 +367,7 @@ void Display::SetBeginFrameSource(BeginFrameSource* source) {
}
void Display::SetMemoryPolicy(const ManagedMemoryPolicy& policy) {
- client_->SetMemoryPolicy(policy);
+ client_->DisplaySetMemoryPolicy(policy);
}
void Display::OnDraw(const gfx::Transform& transform,
« no previous file with comments | « cc/surfaces/display.h ('k') | cc/surfaces/display_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698