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

Unified Diff: android_webview/browser/shared_renderer_state.h

Issue 655813004: Part 1: Refactor Android WebView graphics code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@refactor
Patch Set: rewrite, without renames 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/shared_renderer_state.h
diff --git a/android_webview/browser/shared_renderer_state.h b/android_webview/browser/shared_renderer_state.h
index 29d05c2b18fd11b6a222ae175b0e8c0b4cdef5c4..757bb049e635e75f76dde4e2ec7d37d2b02cc3e7 100644
--- a/android_webview/browser/shared_renderer_state.h
+++ b/android_webview/browser/shared_renderer_state.h
@@ -21,45 +21,47 @@ namespace internal {
class RequestDrawGLTracker;
}
-class BrowserViewRendererClient;
+class BrowserViewRenderer;
class InsideHardwareReleaseReset;
// This class is used to pass data between UI thread and RenderThread.
+// TODO(hush): this class should own HardwareRenderer.
class SharedRendererState {
public:
SharedRendererState(scoped_refptr<base::MessageLoopProxy> ui_loop,
- BrowserViewRendererClient* client);
+ BrowserViewRenderer* browser_view_renderer);
~SharedRendererState();
void ClientRequestDrawGL();
void DidDrawGLProcess();
- void SetScrollOffset(gfx::Vector2d scroll_offset);
- gfx::Vector2d GetScrollOffset();
+ void SetScrollOffsetOnUI(gfx::Vector2d scroll_offset);
+ gfx::Vector2d GetScrollOffsetOnRT();
- bool HasCompositorFrame() const;
- void SetCompositorFrame(scoped_ptr<cc::CompositorFrame> frame,
- bool force_commit);
+ bool HasCompositorFrameOnUI() const;
+ void SetCompositorFrameOnUI(scoped_ptr<cc::CompositorFrame> frame,
+ bool force_commit);
+ // Right now this method is called on both UI and RT.
+ // TODO(hush): Make it only called from RT.
scoped_ptr<cc::CompositorFrame> PassCompositorFrame();
- bool ForceCommit() const;
+ bool ForceCommitOnRT() const;
+ // TODO(hush): this will be private after DrawGL moves to this class.
bool IsInsideHardwareRelease() const;
// Returns true if the draw constraints are updated.
- bool UpdateDrawConstraints(
+ bool UpdateDrawConstraintsOnRT(
const ParentCompositorDrawConstraints& parent_draw_constraints);
- void PostExternalDrawConstraintsToChildCompositor(
+ void PostExternalDrawConstraintsToChildCompositorOnRT(
const ParentCompositorDrawConstraints& parent_draw_constraints);
- void DidSkipCommitFrame();
+ ParentCompositorDrawConstraints GetParentDrawConstraintsOnUI() const;
- const ParentCompositorDrawConstraints ParentDrawConstraints() const;
-
- void SetForceInvalidateOnNextDrawGL(
+ void DidSkipCommitFrameOnRT();
+ void SetForceInvalidateOnNextDrawGLOnUI(
bool needs_force_invalidate_on_next_draw_gl);
- bool NeedsForceInvalidateOnNextDrawGL() const;
+ bool NeedsForceInvalidateOnNextDrawGLOnUI() const;
- void InsertReturnedResources(const cc::ReturnedResourceArray& resources);
- void SwapReturnedResources(cc::ReturnedResourceArray* resources);
- bool ReturnedResourcesEmpty() const;
+ void InsertReturnedResourcesOnRT(const cc::ReturnedResourceArray& resources);
+ void SwapReturnedResourcesOnUI(cc::ReturnedResourceArray* resources);
private:
friend class InsideHardwareReleaseReset;
@@ -68,11 +70,11 @@ class SharedRendererState {
void ResetRequestDrawGLCallback();
void ClientRequestDrawGLOnUIThread();
void UpdateParentDrawConstraintsOnUIThread();
- void DidSkipCommitFrameOnUIThread();
+ void DidSkipCommitFrameOnUI();
void SetInsideHardwareRelease(bool inside);
scoped_refptr<base::MessageLoopProxy> ui_loop_;
- BrowserViewRendererClient* client_on_ui_;
+ BrowserViewRenderer* browser_view_renderer_;
base::WeakPtr<SharedRendererState> ui_thread_weak_ptr_;
base::CancelableClosure request_draw_gl_cancelable_closure_;

Powered by Google App Engine
This is Rietveld 408576698