| OLD | NEW | 
|    1 // Copyright 2011 The Chromium Authors. All rights reserved. |    1 // Copyright 2011 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 CC_TREES_LAYER_TREE_HOST_H_ |    5 #ifndef CC_TREES_LAYER_TREE_HOST_H_ | 
|    6 #define CC_TREES_LAYER_TREE_HOST_H_ |    6 #define CC_TREES_LAYER_TREE_HOST_H_ | 
|    7  |    7  | 
|    8 #include <limits> |    8 #include <limits> | 
|    9 #include <set> |    9 #include <set> | 
|   10 #include <string> |   10 #include <string> | 
|   11 #include <vector> |   11 #include <vector> | 
|   12  |   12  | 
|   13 #include "base/basictypes.h" |   13 #include "base/basictypes.h" | 
|   14 #include "base/cancelable_callback.h" |   14 #include "base/cancelable_callback.h" | 
|   15 #include "base/containers/hash_tables.h" |   15 #include "base/containers/hash_tables.h" | 
|   16 #include "base/memory/ref_counted.h" |   16 #include "base/memory/ref_counted.h" | 
|   17 #include "base/memory/scoped_ptr.h" |   17 #include "base/memory/scoped_ptr.h" | 
|   18 #include "base/memory/weak_ptr.h" |   18 #include "base/memory/weak_ptr.h" | 
|   19 #include "base/time/time.h" |   19 #include "base/time/time.h" | 
|   20 #include "base/timer/timer.h" |   20 #include "base/timer/timer.h" | 
|   21 #include "cc/animation/animation_events.h" |   21 #include "cc/animation/animation_events.h" | 
|   22 #include "cc/base/cc_export.h" |   22 #include "cc/base/cc_export.h" | 
|   23 #include "cc/base/scoped_ptr_vector.h" |   23 #include "cc/base/scoped_ptr_vector.h" | 
|   24 #include "cc/base/swap_promise.h" |  | 
|   25 #include "cc/base/swap_promise_monitor.h" |  | 
|   26 #include "cc/debug/micro_benchmark.h" |   24 #include "cc/debug/micro_benchmark.h" | 
|   27 #include "cc/debug/micro_benchmark_controller.h" |   25 #include "cc/debug/micro_benchmark_controller.h" | 
|   28 #include "cc/input/input_handler.h" |   26 #include "cc/input/input_handler.h" | 
|   29 #include "cc/input/layer_selection_bound.h" |   27 #include "cc/input/layer_selection_bound.h" | 
|   30 #include "cc/input/scrollbar.h" |   28 #include "cc/input/scrollbar.h" | 
|   31 #include "cc/input/top_controls_state.h" |   29 #include "cc/input/top_controls_state.h" | 
|   32 #include "cc/layers/layer_lists.h" |   30 #include "cc/layers/layer_lists.h" | 
|   33 #include "cc/output/output_surface.h" |   31 #include "cc/output/output_surface.h" | 
 |   32 #include "cc/output/renderer_capabilities.h" | 
 |   33 #include "cc/output/swap_promise.h" | 
|   34 #include "cc/resources/resource_format.h" |   34 #include "cc/resources/resource_format.h" | 
|   35 #include "cc/resources/scoped_ui_resource.h" |   35 #include "cc/resources/scoped_ui_resource.h" | 
|   36 #include "cc/surfaces/surface_sequence.h" |   36 #include "cc/surfaces/surface_sequence.h" | 
|   37 #include "cc/trees/layer_tree_host_client.h" |   37 #include "cc/trees/layer_tree_host_client.h" | 
|   38 #include "cc/trees/layer_tree_host_common.h" |   38 #include "cc/trees/layer_tree_host_common.h" | 
|   39 #include "cc/trees/layer_tree_settings.h" |   39 #include "cc/trees/layer_tree_settings.h" | 
|   40 #include "cc/trees/proxy.h" |   40 #include "cc/trees/proxy.h" | 
 |   41 #include "cc/trees/swap_promise_monitor.h" | 
|   41 #include "third_party/skia/include/core/SkColor.h" |   42 #include "third_party/skia/include/core/SkColor.h" | 
|   42 #include "ui/gfx/geometry/rect.h" |   43 #include "ui/gfx/geometry/rect.h" | 
|   43  |   44  | 
|   44 namespace gpu { |   45 namespace gpu { | 
|   45 class GpuMemoryBufferManager; |   46 class GpuMemoryBufferManager; | 
|   46 } |   47 } | 
|   47  |   48  | 
|   48 namespace cc { |   49 namespace cc { | 
|   49 class AnimationRegistrar; |   50 class AnimationRegistrar; | 
|   50 class BeginFrameSource; |   51 class BeginFrameSource; | 
|   51 class HeadsUpDisplayLayer; |   52 class HeadsUpDisplayLayer; | 
|   52 class Layer; |   53 class Layer; | 
|   53 class LayerTreeHostImpl; |   54 class LayerTreeHostImpl; | 
|   54 class LayerTreeHostImplClient; |   55 class LayerTreeHostImplClient; | 
|   55 class LayerTreeHostSingleThreadClient; |   56 class LayerTreeHostSingleThreadClient; | 
|   56 class PrioritizedResource; |   57 class PrioritizedResource; | 
|   57 class PrioritizedResourceManager; |   58 class PrioritizedResourceManager; | 
|   58 class Region; |   59 class Region; | 
|   59 class RenderingStatsInstrumentation; |   60 class RenderingStatsInstrumentation; | 
|   60 class ResourceProvider; |   61 class ResourceProvider; | 
|   61 class ResourceUpdateQueue; |   62 class ResourceUpdateQueue; | 
|   62 class SharedBitmapManager; |   63 class SharedBitmapManager; | 
|   63 class TopControlsManager; |   64 class TopControlsManager; | 
|   64 class UIResourceRequest; |   65 class UIResourceRequest; | 
|   65 struct PendingPageScaleAnimation; |   66 struct PendingPageScaleAnimation; | 
|   66 struct RenderingStats; |   67 struct RenderingStats; | 
|   67 struct ScrollAndScaleSet; |   68 struct ScrollAndScaleSet; | 
|   68 enum class GpuRasterizationStatus; |   69 enum class GpuRasterizationStatus; | 
|   69  |   70  | 
|   70 // Provides information on an Impl's rendering capabilities back to the |  | 
|   71 // LayerTreeHost. |  | 
|   72 struct CC_EXPORT RendererCapabilities { |  | 
|   73   RendererCapabilities(ResourceFormat best_texture_format, |  | 
|   74                        bool allow_partial_texture_updates, |  | 
|   75                        int max_texture_size, |  | 
|   76                        bool using_shared_memory_resources); |  | 
|   77  |  | 
|   78   RendererCapabilities(); |  | 
|   79   ~RendererCapabilities(); |  | 
|   80  |  | 
|   81   // Duplicate any modification to this list to RendererCapabilitiesImpl. |  | 
|   82   ResourceFormat best_texture_format; |  | 
|   83   bool allow_partial_texture_updates; |  | 
|   84   int max_texture_size; |  | 
|   85   bool using_shared_memory_resources; |  | 
|   86 }; |  | 
|   87  |  | 
|   88 class CC_EXPORT LayerTreeHost { |   71 class CC_EXPORT LayerTreeHost { | 
|   89  public: |   72  public: | 
|   90   // The SharedBitmapManager will be used on the compositor thread. |   73   // The SharedBitmapManager will be used on the compositor thread. | 
|   91   static scoped_ptr<LayerTreeHost> CreateThreaded( |   74   static scoped_ptr<LayerTreeHost> CreateThreaded( | 
|   92       LayerTreeHostClient* client, |   75       LayerTreeHostClient* client, | 
|   93       SharedBitmapManager* shared_bitmap_manager, |   76       SharedBitmapManager* shared_bitmap_manager, | 
|   94       gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, |   77       gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, | 
|   95       const LayerTreeSettings& settings, |   78       const LayerTreeSettings& settings, | 
|   96       scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, |   79       scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, | 
|   97       scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner, |   80       scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner, | 
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  463  |  446  | 
|  464   uint32_t surface_id_namespace_; |  447   uint32_t surface_id_namespace_; | 
|  465   uint32_t next_surface_sequence_; |  448   uint32_t next_surface_sequence_; | 
|  466  |  449  | 
|  467   DISALLOW_COPY_AND_ASSIGN(LayerTreeHost); |  450   DISALLOW_COPY_AND_ASSIGN(LayerTreeHost); | 
|  468 }; |  451 }; | 
|  469  |  452  | 
|  470 }  // namespace cc |  453 }  // namespace cc | 
|  471  |  454  | 
|  472 #endif  // CC_TREES_LAYER_TREE_HOST_H_ |  455 #endif  // CC_TREES_LAYER_TREE_HOST_H_ | 
| OLD | NEW |