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

Unified Diff: android_webview/browser/hardware_renderer.cc

Issue 655813004: Part 1: Refactor Android WebView graphics code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@refactor
Patch Set: rebase Created 6 years, 2 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/browser/hardware_renderer.cc
diff --git a/android_webview/browser/hardware_renderer.cc b/android_webview/browser/hardware_renderer.cc
index 3511bb8dc55e447f02bfe6df6c2f86d2c893f1c2..0de0b83b9000c2afd1350686edb497cf3438a55f 100644
--- a/android_webview/browser/hardware_renderer.cc
+++ b/android_webview/browser/hardware_renderer.cc
@@ -6,8 +6,8 @@
#include "android_webview/browser/aw_gl_surface.h"
#include "android_webview/browser/deferred_gpu_command_service.h"
+#include "android_webview/browser/hardware_renderer_proxy.h"
#include "android_webview/browser/parent_output_surface.h"
-#include "android_webview/browser/shared_renderer_state.h"
#include "android_webview/public/browser/draw_gl.h"
#include "base/auto_reset.h"
#include "base/debug/trace_event.h"
@@ -73,8 +73,8 @@ scoped_refptr<cc::ContextProvider> CreateContext(
} // namespace
-HardwareRenderer::HardwareRenderer(SharedRendererState* state)
- : shared_renderer_state_(state),
+HardwareRenderer::HardwareRenderer(HardwareRendererProxy* proxy)
+ : proxy_(proxy),
last_egl_context_(eglGetCurrentContext()),
stencil_enabled_(false),
viewport_clip_valid_for_dcheck_(false),
@@ -125,8 +125,7 @@ HardwareRenderer::~HardwareRenderer() {
resource_collection_->SetClient(NULL);
// Reset draw constraints.
- shared_renderer_state_->UpdateDrawConstraints(
- ParentCompositorDrawConstraints());
+ proxy_->SetParentCompositorDrawConstraints(ParentCompositorDrawConstraints());
}
void HardwareRenderer::DidBeginMainFrame() {
@@ -139,16 +138,16 @@ void HardwareRenderer::DidBeginMainFrame() {
}
void HardwareRenderer::CommitFrame() {
- scroll_offset_ = shared_renderer_state_->GetScrollOffset();
+ scroll_offset_ = proxy_->GetScrollOffset();
if (committed_frame_.get()) {
TRACE_EVENT_INSTANT0("android_webview",
"EarlyOut_PreviousFrameUnconsumed",
TRACE_EVENT_SCOPE_THREAD);
- shared_renderer_state_->DidSkipCommitFrame();
+ proxy_->DidSkipCommitFrame();
return;
}
- committed_frame_ = shared_renderer_state_->PassCompositorFrame();
+ committed_frame_ = proxy_->PassCompositorFrame();
// Happens with empty global visible rect.
if (!committed_frame_.get())
return;
@@ -207,7 +206,7 @@ void HardwareRenderer::DrawGL(bool stencil_enabled,
DLOG(WARNING) << "EGLContextChanged";
SetFrameData();
- if (shared_renderer_state_->ForceCommit()) {
+ if (proxy_->ForceCommit()) {
CommitFrame();
SetFrameData();
}
@@ -223,8 +222,7 @@ void HardwareRenderer::DrawGL(bool stencil_enabled,
draw_info->is_layer, transform, gfx::Rect(viewport_));
draw_constraints_ = draw_constraints;
- shared_renderer_state_->PostExternalDrawConstraintsToChildCompositor(
- draw_constraints);
+ proxy_->PostExternalDrawConstraintsToChildCompositor(draw_constraints);
if (!delegated_layer_.get())
return;
@@ -265,7 +263,7 @@ void HardwareRenderer::UnusedResourcesAreAvailable() {
cc::ReturnedResourceArray returned_resources;
resource_collection_->TakeUnusedResourcesForChildCompositor(
&returned_resources);
- shared_renderer_state_->InsertReturnedResources(returned_resources);
+ proxy_->InsertReturnedResources(returned_resources);
}
} // namespace android_webview

Powered by Google App Engine
This is Rietveld 408576698