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

Unified Diff: cc/output/software_renderer.cc

Issue 2254543003: cc: Delete the RendererClient class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@setvisible-browser
Patch Set: deleterendererclient: rebase Created 4 years, 4 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/output/software_renderer.h ('k') | cc/output/software_renderer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/software_renderer.cc
diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc
index b49fcf2a8782269e0c0f13e100da9cf509fe80f6..768f7086bd0070f63568afdf2d00a9b471f833d5 100644
--- a/cc/output/software_renderer.cc
+++ b/cc/output/software_renderer.cc
@@ -51,15 +51,11 @@ bool IsScaleAndIntegerTranslate(const SkMatrix& matrix) {
} // anonymous namespace
-SoftwareRenderer::SoftwareRenderer(RendererClient* client,
- const RendererSettings* settings,
+SoftwareRenderer::SoftwareRenderer(const RendererSettings* settings,
OutputSurface* output_surface,
ResourceProvider* resource_provider)
- : DirectRenderer(client, settings, output_surface, resource_provider),
- is_scissor_enabled_(false),
- is_backbuffer_discarded_(false),
- output_device_(output_surface->software_device()),
- current_canvas_(nullptr) {
+ : DirectRenderer(settings, output_surface, resource_provider),
+ output_device_(output_surface->software_device()) {
if (resource_provider_) {
capabilities_.max_texture_size = resource_provider_->max_texture_size();
capabilities_.best_texture_format =
@@ -89,13 +85,14 @@ void SoftwareRenderer::FinishDrawingFrame(DrawingFrame* frame) {
TRACE_EVENT0("cc", "SoftwareRenderer::FinishDrawingFrame");
current_framebuffer_lock_ = nullptr;
current_framebuffer_canvas_.reset();
- current_canvas_ = NULL;
- root_canvas_ = NULL;
+ current_canvas_ = nullptr;
+ root_canvas_ = nullptr;
output_device_->EndPaint();
}
void SoftwareRenderer::SwapBuffers(CompositorFrameMetadata metadata) {
+ DCHECK(visible());
TRACE_EVENT0("cc,benchmark", "SoftwareRenderer::SwapBuffers");
CompositorFrame compositor_frame;
compositor_frame.metadata = std::move(metadata);
@@ -597,31 +594,11 @@ void SoftwareRenderer::CopyCurrentRenderPassToBitmap(
request->SendBitmapResult(std::move(bitmap));
}
-void SoftwareRenderer::DiscardBackbuffer() {
- if (is_backbuffer_discarded_)
- return;
-
- output_surface_->DiscardBackbuffer();
-
- is_backbuffer_discarded_ = true;
-
- // Damage tracker needs a full reset every time framebuffer is discarded.
- client_->SetFullRootLayerDamage();
-}
-
-void SoftwareRenderer::EnsureBackbuffer() {
- if (!is_backbuffer_discarded_)
- return;
-
- output_surface_->EnsureBackbuffer();
- is_backbuffer_discarded_ = false;
-}
-
void SoftwareRenderer::DidChangeVisibility() {
if (visible())
- EnsureBackbuffer();
+ output_surface_->EnsureBackbuffer();
else
- DiscardBackbuffer();
+ output_surface_->DiscardBackbuffer();
}
bool SoftwareRenderer::ShouldApplyBackgroundFilters(
« no previous file with comments | « cc/output/software_renderer.h ('k') | cc/output/software_renderer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698