| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef ANDROID_WEBVIEW_BROWSER_HARDWARE_RENDERER_H_ | 5 #ifndef ANDROID_WEBVIEW_BROWSER_HARDWARE_RENDERER_H_ | 
| 6 #define ANDROID_WEBVIEW_BROWSER_HARDWARE_RENDERER_H_ | 6 #define ANDROID_WEBVIEW_BROWSER_HARDWARE_RENDERER_H_ | 
| 7 | 7 | 
| 8 #include "android_webview/browser/parent_compositor_draw_constraints.h" |  | 
| 9 #include "android_webview/browser/shared_renderer_state.h" | 8 #include "android_webview/browser/shared_renderer_state.h" | 
| 10 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" | 
| 11 #include "cc/layers/delegated_frame_resource_collection.h" | 10 #include "cc/layers/delegated_frame_resource_collection.h" | 
| 12 #include "cc/trees/layer_tree_host_client.h" | 11 #include "cc/trees/layer_tree_host_client.h" | 
| 13 #include "cc/trees/layer_tree_host_single_thread_client.h" | 12 #include "cc/trees/layer_tree_host_single_thread_client.h" | 
| 14 | 13 | 
| 15 struct AwDrawGLInfo; | 14 struct AwDrawGLInfo; | 
| 16 | 15 | 
| 17 namespace cc { | 16 namespace cc { | 
| 18 class DelegatedFrameProvider; | 17 class DelegatedFrameProvider; | 
| 19 class DelegatedRendererLayer; | 18 class DelegatedRendererLayer; | 
| 20 class Layer; | 19 class Layer; | 
| 21 class LayerTreeHost; | 20 class LayerTreeHost; | 
| 22 } | 21 } | 
| 23 | 22 | 
| 24 namespace android_webview { | 23 namespace android_webview { | 
| 25 | 24 | 
| 26 class AwGLSurface; | 25 class AwGLSurface; | 
|  | 26 class ChildFrame; | 
| 27 class ParentOutputSurface; | 27 class ParentOutputSurface; | 
| 28 | 28 | 
| 29 class HardwareRenderer : public cc::LayerTreeHostClient, | 29 class HardwareRenderer : public cc::LayerTreeHostClient, | 
| 30                          public cc::LayerTreeHostSingleThreadClient, | 30                          public cc::LayerTreeHostSingleThreadClient, | 
| 31                          public cc::DelegatedFrameResourceCollectionClient { | 31                          public cc::DelegatedFrameResourceCollectionClient { | 
| 32  public: | 32  public: | 
| 33   explicit HardwareRenderer(SharedRendererState* state); | 33   explicit HardwareRenderer(SharedRendererState* state); | 
| 34   ~HardwareRenderer() override; | 34   ~HardwareRenderer() override; | 
| 35 | 35 | 
| 36   void DrawGL(bool stencil_enabled, | 36   void DrawGL(bool stencil_enabled, | 
| (...skipping 25 matching lines...) Expand all  Loading... | 
| 62   void DidCompletePageScaleAnimation() override {} | 62   void DidCompletePageScaleAnimation() override {} | 
| 63 | 63 | 
| 64   // cc::LayerTreeHostSingleThreadClient overrides. | 64   // cc::LayerTreeHostSingleThreadClient overrides. | 
| 65   void DidPostSwapBuffers() override {} | 65   void DidPostSwapBuffers() override {} | 
| 66   void DidAbortSwapBuffers() override {} | 66   void DidAbortSwapBuffers() override {} | 
| 67 | 67 | 
| 68   // cc::DelegatedFrameResourceCollectionClient overrides. | 68   // cc::DelegatedFrameResourceCollectionClient overrides. | 
| 69   void UnusedResourcesAreAvailable() override; | 69   void UnusedResourcesAreAvailable() override; | 
| 70 | 70 | 
| 71  private: | 71  private: | 
| 72   void SetFrameData(); |  | 
| 73 |  | 
| 74   SharedRendererState* shared_renderer_state_; | 72   SharedRendererState* shared_renderer_state_; | 
| 75 | 73 | 
| 76   typedef void* EGLContext; | 74   typedef void* EGLContext; | 
| 77   EGLContext last_egl_context_; | 75   EGLContext last_egl_context_; | 
| 78 | 76 | 
| 79   scoped_ptr<cc::CompositorFrame> committed_frame_; |  | 
| 80 |  | 
| 81   // Information about last delegated frame. | 77   // Information about last delegated frame. | 
| 82   gfx::Size frame_size_; | 78   gfx::Size frame_size_; | 
| 83 | 79 | 
| 84   // Infromation from UI on last commit. | 80   // Infromation from UI on last commit. | 
| 85   gfx::Vector2d scroll_offset_; | 81   gfx::Vector2d scroll_offset_; | 
| 86 | 82 | 
| 87   // Information from draw. | 83   // Information from draw. | 
| 88   gfx::Size viewport_; | 84   gfx::Size viewport_; | 
| 89   gfx::Rect clip_; | 85   gfx::Rect clip_; | 
| 90   bool stencil_enabled_; | 86   bool stencil_enabled_; | 
| 91   bool viewport_clip_valid_for_dcheck_; | 87   bool viewport_clip_valid_for_dcheck_; | 
| 92 | 88 | 
|  | 89   scoped_ptr<ChildFrame> child_frame_; | 
|  | 90 | 
| 93   scoped_refptr<AwGLSurface> gl_surface_; | 91   scoped_refptr<AwGLSurface> gl_surface_; | 
| 94 | 92 | 
| 95   scoped_ptr<cc::LayerTreeHost> layer_tree_host_; | 93   scoped_ptr<cc::LayerTreeHost> layer_tree_host_; | 
| 96   scoped_refptr<cc::Layer> root_layer_; | 94   scoped_refptr<cc::Layer> root_layer_; | 
| 97 | 95 | 
| 98   scoped_refptr<cc::DelegatedFrameResourceCollection> resource_collection_; | 96   scoped_refptr<cc::DelegatedFrameResourceCollection> resource_collection_; | 
| 99   scoped_refptr<cc::DelegatedFrameProvider> frame_provider_; | 97   scoped_refptr<cc::DelegatedFrameProvider> frame_provider_; | 
| 100   scoped_refptr<cc::DelegatedRendererLayer> delegated_layer_; | 98   scoped_refptr<cc::DelegatedRendererLayer> delegated_layer_; | 
| 101 | 99 | 
| 102   // This is owned indirectly by |layer_tree_host_|. | 100   // This is owned indirectly by |layer_tree_host_|. | 
| 103   ParentOutputSurface* output_surface_; | 101   ParentOutputSurface* output_surface_; | 
| 104 | 102 | 
| 105   ParentCompositorDrawConstraints draw_constraints_; |  | 
| 106 |  | 
| 107   DISALLOW_COPY_AND_ASSIGN(HardwareRenderer); | 103   DISALLOW_COPY_AND_ASSIGN(HardwareRenderer); | 
| 108 }; | 104 }; | 
| 109 | 105 | 
| 110 }  // namespace android_webview | 106 }  // namespace android_webview | 
| 111 | 107 | 
| 112 #endif  // ANDROID_WEBVIEW_BROWSER_HARDWARE_RENDERER_H_ | 108 #endif  // ANDROID_WEBVIEW_BROWSER_HARDWARE_RENDERER_H_ | 
| OLD | NEW | 
|---|