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

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: 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/shared_renderer_state.h
diff --git a/android_webview/browser/shared_renderer_state.h b/android_webview/browser/shared_renderer_state.h
deleted file mode 100644
index 29d05c2b18fd11b6a222ae175b0e8c0b4cdef5c4..0000000000000000000000000000000000000000
--- a/android_webview/browser/shared_renderer_state.h
+++ /dev/null
@@ -1,109 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef ANDROID_WEBVIEW_BROWSER_SHARED_RENDERER_STATE_H_
-#define ANDROID_WEBVIEW_BROWSER_SHARED_RENDERER_STATE_H_
-
-#include "android_webview/browser/parent_compositor_draw_constraints.h"
-#include "base/cancelable_callback.h"
-#include "base/memory/weak_ptr.h"
-#include "base/message_loop/message_loop_proxy.h"
-#include "base/synchronization/lock.h"
-#include "cc/output/compositor_frame.h"
-#include "cc/output/compositor_frame_ack.h"
-#include "ui/gfx/geometry/rect.h"
-#include "ui/gfx/geometry/vector2d.h"
-
-namespace android_webview {
-
-namespace internal {
-class RequestDrawGLTracker;
-}
-
-class BrowserViewRendererClient;
-class InsideHardwareReleaseReset;
-
-// This class is used to pass data between UI thread and RenderThread.
-class SharedRendererState {
- public:
- SharedRendererState(scoped_refptr<base::MessageLoopProxy> ui_loop,
- BrowserViewRendererClient* client);
- ~SharedRendererState();
-
- void ClientRequestDrawGL();
- void DidDrawGLProcess();
-
- void SetScrollOffset(gfx::Vector2d scroll_offset);
- gfx::Vector2d GetScrollOffset();
-
- bool HasCompositorFrame() const;
- void SetCompositorFrame(scoped_ptr<cc::CompositorFrame> frame,
- bool force_commit);
- scoped_ptr<cc::CompositorFrame> PassCompositorFrame();
- bool ForceCommit() const;
-
- bool IsInsideHardwareRelease() const;
- // Returns true if the draw constraints are updated.
- bool UpdateDrawConstraints(
- const ParentCompositorDrawConstraints& parent_draw_constraints);
- void PostExternalDrawConstraintsToChildCompositor(
- const ParentCompositorDrawConstraints& parent_draw_constraints);
- void DidSkipCommitFrame();
-
- const ParentCompositorDrawConstraints ParentDrawConstraints() const;
-
- void SetForceInvalidateOnNextDrawGL(
- bool needs_force_invalidate_on_next_draw_gl);
- bool NeedsForceInvalidateOnNextDrawGL() const;
-
- void InsertReturnedResources(const cc::ReturnedResourceArray& resources);
- void SwapReturnedResources(cc::ReturnedResourceArray* resources);
- bool ReturnedResourcesEmpty() const;
-
- private:
- friend class InsideHardwareReleaseReset;
- friend class internal::RequestDrawGLTracker;
-
- void ResetRequestDrawGLCallback();
- void ClientRequestDrawGLOnUIThread();
- void UpdateParentDrawConstraintsOnUIThread();
- void DidSkipCommitFrameOnUIThread();
- void SetInsideHardwareRelease(bool inside);
-
- scoped_refptr<base::MessageLoopProxy> ui_loop_;
- BrowserViewRendererClient* client_on_ui_;
- base::WeakPtr<SharedRendererState> ui_thread_weak_ptr_;
- base::CancelableClosure request_draw_gl_cancelable_closure_;
-
- // Accessed by both UI and RT thread.
- mutable base::Lock lock_;
- gfx::Vector2d scroll_offset_;
- scoped_ptr<cc::CompositorFrame> compositor_frame_;
- bool force_commit_;
- bool inside_hardware_release_;
- bool needs_force_invalidate_on_next_draw_gl_;
- ParentCompositorDrawConstraints parent_draw_constraints_;
- cc::ReturnedResourceArray returned_resources_;
- base::Closure request_draw_gl_closure_;
-
- base::WeakPtrFactory<SharedRendererState> weak_factory_on_ui_thread_;
-
- DISALLOW_COPY_AND_ASSIGN(SharedRendererState);
-};
-
-class InsideHardwareReleaseReset {
- public:
- explicit InsideHardwareReleaseReset(
- SharedRendererState* shared_renderer_state);
- ~InsideHardwareReleaseReset();
-
- private:
- SharedRendererState* shared_renderer_state_;
-
- DISALLOW_COPY_AND_ASSIGN(InsideHardwareReleaseReset);
-};
-
-} // namespace android_webview
-
-#endif // ANDROID_WEBVIEW_BROWSER_SHARED_RENDERER_STATE_H_

Powered by Google App Engine
This is Rietveld 408576698