Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef CONTENT_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_HOST_H_ | |
| 6 #define CONTENT_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_HOST_H_ | |
| 7 | |
| 8 #include "cc/output/compositor_frame.h" | |
| 9 #include "content/browser/android/synchronous_compositor_base.h" | |
| 10 #include "ui/gfx/geometry/scroll_offset.h" | |
| 11 #include "ui/gfx/geometry/size_f.h" | |
| 12 | |
| 13 namespace IPC { | |
| 14 class Sender; | |
| 15 } | |
| 16 | |
| 17 namespace content { | |
| 18 | |
| 19 class RenderWidgetHostViewAndroid; | |
| 20 class SynchronousCompositorClient; | |
| 21 struct CommonBrowserParams; | |
| 22 struct CommonRendererParams; | |
| 23 | |
| 24 class SynchronousCompositorHost : public SynchronousCompositorBase { | |
| 25 public: | |
| 26 ~SynchronousCompositorHost() override; | |
| 27 | |
| 28 // SynchronousCompositor overrides. | |
| 29 scoped_ptr<cc::CompositorFrame> DemandDrawHw( | |
| 30 gfx::Size surface_size, | |
|
dcheng
2015/10/27 21:06:58
gfx::Size and gfx::Rect are usually passed by cons
boliu
2015/10/28 02:07:06
I _remember_ at some point these were supposed to
| |
| 31 const gfx::Transform& transform, | |
| 32 gfx::Rect viewport, | |
| 33 gfx::Rect clip, | |
| 34 gfx::Rect viewport_rect_for_tile_priority, | |
| 35 const gfx::Transform& transform_for_tile_priority) override; | |
| 36 bool DemandDrawSw(SkCanvas* canvas) override; | |
| 37 void ReturnResources(const cc::CompositorFrameAck& frame_ack) override; | |
| 38 void SetMemoryPolicy(size_t bytes_limit) override; | |
| 39 void DidChangeRootLayerScrollOffset( | |
| 40 const gfx::ScrollOffset& root_offset) override; | |
| 41 void SetIsActive(bool is_active) override; | |
| 42 void OnComputeScroll(base::TimeTicks animation_time) override; | |
| 43 | |
| 44 // SynchronousCompositorBase overrides. | |
| 45 InputEventAckState HandleInputEvent( | |
| 46 const blink::WebInputEvent& input_event) override; | |
| 47 void BeginFrame(const cc::BeginFrameArgs& args) override; | |
| 48 bool OnMessageReceived(const IPC::Message& message) override; | |
| 49 | |
| 50 private: | |
| 51 friend class SynchronousCompositorBase; | |
| 52 SynchronousCompositorHost(RenderWidgetHostViewAndroid* rwhva, | |
| 53 SynchronousCompositorClient* client); | |
| 54 CommonBrowserParams ConstructCommonParams(); | |
| 55 void ProcessCommonParams(const CommonRendererParams& params); | |
| 56 void UpdateNeedsBeginFrames(); | |
| 57 void UpdateFrameMetaData(const cc::CompositorFrameMetadata& frame_metadata); | |
| 58 | |
| 59 RenderWidgetHostViewAndroid* const rwhva_; | |
| 60 SynchronousCompositorClient* const client_; | |
| 61 const int routing_id_; | |
| 62 IPC::Sender* const sender_; | |
| 63 | |
| 64 bool is_active_; | |
| 65 size_t bytes_limit_; | |
| 66 cc::ReturnedResourceArray returned_resources_; | |
| 67 | |
| 68 // Updated by both renderer and browser. | |
| 69 gfx::ScrollOffset root_scroll_offset_; | |
| 70 | |
| 71 // From renderer. | |
| 72 unsigned int renderer_param_version_; | |
| 73 bool need_animate_scroll_; | |
| 74 bool need_invalidate_; | |
| 75 bool need_begin_frame_; | |
| 76 bool did_activate_pending_tree_; | |
| 77 }; | |
| 78 | |
| 79 } // namespace content | |
| 80 | |
| 81 #endif // CONTENT_BROWSER_ANDROID_SYNCHRONOUS_COMPOSITOR_HOST_H_ | |
| OLD | NEW |