| Index: android_webview/browser/hardware_renderer.h
|
| diff --git a/android_webview/browser/hardware_renderer.h b/android_webview/browser/hardware_renderer.h
|
| index 169bbd3a5ce425fb397a4198fab3b4ec01aca39d..e5f4df23325bb7dce49f71b737b2b793cbb9be67 100644
|
| --- a/android_webview/browser/hardware_renderer.h
|
| +++ b/android_webview/browser/hardware_renderer.h
|
| @@ -5,46 +5,88 @@
|
| #ifndef ANDROID_WEBVIEW_BROWSER_HARDWARE_RENDERER_H_
|
| #define ANDROID_WEBVIEW_BROWSER_HARDWARE_RENDERER_H_
|
|
|
| -#include <queue>
|
| -
|
| +#include "android_webview/browser/hardware_renderer_interface.h"
|
| #include "android_webview/browser/shared_renderer_state.h"
|
| -#include "base/lazy_instance.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/threading/thread_local.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "base/memory/weak_ptr.h"
|
| +#include "cc/layers/delegated_frame_resource_collection.h"
|
| +#include "cc/trees/layer_tree_host_client.h"
|
| +#include "cc/trees/layer_tree_host_single_thread_client.h"
|
|
|
| struct AwDrawGLInfo;
|
|
|
| +namespace cc {
|
| +class DelegatedFrameProvider;
|
| +class DelegatedRendererLayer;
|
| +class Layer;
|
| +class LayerTreeHost;
|
| +}
|
| +
|
| namespace android_webview {
|
|
|
| class AwGLSurface;
|
| -class BrowserViewRendererClient;
|
| -
|
| -namespace internal {
|
| -class DeferredGpuCommandService;
|
| -} // namespace internal
|
| +class ParentOutputSurface;
|
|
|
| -class HardwareRenderer {
|
| +class HardwareRenderer : public HardwareRendererInterface,
|
| + public cc::LayerTreeHostClient,
|
| + public cc::LayerTreeHostSingleThreadClient,
|
| + public cc::DelegatedFrameResourceCollectionClient {
|
| public:
|
| explicit HardwareRenderer(SharedRendererState* state);
|
| - ~HardwareRenderer();
|
| -
|
| - bool DrawGL(bool stencil_enabled,
|
| - int framebuffer_binding_ext,
|
| - AwDrawGLInfo* draw_info,
|
| - DrawGLResult* result);
|
| + virtual ~HardwareRenderer();
|
| +
|
| + // HardwareRendererInterface.
|
| + virtual bool DrawGL(bool stencil_enabled,
|
| + int framebuffer_binding_ext,
|
| + AwDrawGLInfo* draw_info,
|
| + DrawGLResult* result) OVERRIDE;
|
| +
|
| + // cc::LayerTreeHostClient.
|
| + virtual void WillBeginMainFrame(int frame_id) OVERRIDE {}
|
| + virtual void DidBeginMainFrame() OVERRIDE {}
|
| + virtual void Animate(base::TimeTicks frame_begin_time) OVERRIDE {}
|
| + virtual void Layout() OVERRIDE {}
|
| + virtual void ApplyScrollAndScale(const gfx::Vector2d& scroll_delta,
|
| + float page_scale) OVERRIDE {}
|
| + virtual scoped_ptr<cc::OutputSurface> CreateOutputSurface(
|
| + bool fallback) OVERRIDE;
|
| + virtual void DidInitializeOutputSurface() OVERRIDE {}
|
| + virtual void WillCommit() OVERRIDE {}
|
| + virtual void DidCommit() OVERRIDE {}
|
| + virtual void DidCommitAndDrawFrame() OVERRIDE {}
|
| + virtual void DidCompleteSwapBuffers() OVERRIDE {}
|
| +
|
| + // cc::LayerTreeHostSingleThreadClient.
|
| + virtual void ScheduleComposite() OVERRIDE {}
|
| + virtual void ScheduleAnimation() OVERRIDE {}
|
| + virtual void DidPostSwapBuffers() OVERRIDE {}
|
| + virtual void DidAbortSwapBuffers() OVERRIDE {}
|
| +
|
| + // cc::DelegatedFrameResourceCollectionClient.
|
| + virtual void UnusedResourcesAreAvailable() OVERRIDE;
|
|
|
| private:
|
| - friend class internal::DeferredGpuCommandService;
|
| -
|
| - void SetCompositorMemoryPolicy();
|
| -
|
| SharedRendererState* shared_renderer_state_;
|
|
|
| typedef void* EGLContext;
|
| EGLContext last_egl_context_;
|
|
|
| + int view_width_;
|
| + int view_height_;
|
| + gfx::Vector2d scroll_offset_;
|
| +
|
| scoped_refptr<AwGLSurface> gl_surface_;
|
|
|
| + scoped_ptr<cc::LayerTreeHost> layer_tree_host_;
|
| + scoped_refptr<cc::Layer> root_layer_;
|
| +
|
| + scoped_refptr<cc::DelegatedFrameResourceCollection> resource_collection_;
|
| + scoped_refptr<cc::DelegatedFrameProvider> frame_provider_;
|
| + scoped_refptr<cc::DelegatedRendererLayer> layer_;
|
| +
|
| + scoped_ptr<ParentOutputSurface> output_surface_holder_;
|
| + base::WeakPtr<ParentOutputSurface> output_surface_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(HardwareRenderer);
|
| };
|
|
|
|
|