OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "content/browser/renderer_host/render_widget_host_view_android.h" | 5 #include "content/browser/renderer_host/render_widget_host_view_android.h" |
6 | 6 |
7 #include <android/bitmap.h> | 7 #include <android/bitmap.h> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
148 weak_ptr_factory_(this), | 148 weak_ptr_factory_(this), |
149 overscroll_effect_enabled_( | 149 overscroll_effect_enabled_( |
150 !CommandLine::ForCurrentProcess()-> | 150 !CommandLine::ForCurrentProcess()-> |
151 HasSwitch(switches::kDisableOverscrollEdgeEffect)), | 151 HasSwitch(switches::kDisableOverscrollEdgeEffect)), |
152 overscroll_effect_(OverscrollGlow::Create(overscroll_effect_enabled_)), | 152 overscroll_effect_(OverscrollGlow::Create(overscroll_effect_enabled_)), |
153 flush_input_requested_(false), | 153 flush_input_requested_(false), |
154 accelerated_surface_route_id_(0), | 154 accelerated_surface_route_id_(0), |
155 using_synchronous_compositor_(SynchronousCompositorImpl::FromID( | 155 using_synchronous_compositor_(SynchronousCompositorImpl::FromID( |
156 widget_host->GetProcess()->GetID(), | 156 widget_host->GetProcess()->GetID(), |
157 widget_host->GetRoutingID()) != NULL), | 157 widget_host->GetRoutingID()) != NULL), |
158 frame_evictor_(new DelegatedFrameEvictor(this)) { | 158 frame_evictor_(new DelegatedFrameEvictor(this)), |
159 if (!UsingDelegatedRenderer()) { | 159 using_delegated_renderer_(UsingDelegatedRenderer()) { |
no sievers
2014/02/14 18:42:48
I'd remove the function now and inline the code he
sivag
2014/02/17 07:51:13
Done.
| |
160 if (!using_delegated_renderer_) { | |
160 texture_layer_ = cc::TextureLayer::Create(NULL); | 161 texture_layer_ = cc::TextureLayer::Create(NULL); |
161 layer_ = texture_layer_; | 162 layer_ = texture_layer_; |
162 } | 163 } |
163 | 164 |
164 host_->SetView(this); | 165 host_->SetView(this); |
165 SetContentViewCore(content_view_core); | 166 SetContentViewCore(content_view_core); |
166 ImageTransportFactoryAndroid::AddObserver(this); | 167 ImageTransportFactoryAndroid::AddObserver(this); |
167 } | 168 } |
168 | 169 |
169 RenderWidgetHostViewAndroid::~RenderWidgetHostViewAndroid() { | 170 RenderWidgetHostViewAndroid::~RenderWidgetHostViewAndroid() { |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
317 | 318 |
318 bool RenderWidgetHostViewAndroid::HasValidFrame() const { | 319 bool RenderWidgetHostViewAndroid::HasValidFrame() const { |
319 if (!content_view_core_) | 320 if (!content_view_core_) |
320 return false; | 321 return false; |
321 if (!layer_) | 322 if (!layer_) |
322 return false; | 323 return false; |
323 | 324 |
324 if (texture_size_in_layer_.IsEmpty()) | 325 if (texture_size_in_layer_.IsEmpty()) |
325 return false; | 326 return false; |
326 | 327 |
327 if (UsingDelegatedRenderer()) { | 328 if (using_delegated_renderer_) { |
328 if (!delegated_renderer_layer_.get()) | 329 if (!delegated_renderer_layer_.get()) |
329 return false; | 330 return false; |
330 } else { | 331 } else { |
331 if (texture_id_in_layer_ == 0) | 332 if (texture_id_in_layer_ == 0) |
332 return false; | 333 return false; |
333 } | 334 } |
334 | 335 |
335 return true; | 336 return true; |
336 } | 337 } |
337 | 338 |
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
846 | 847 |
847 if (layer_ && layer_->layer_tree_host()) { | 848 if (layer_ && layer_->layer_tree_host()) { |
848 for (size_t i = 0; i < frame->metadata.latency_info.size(); i++) { | 849 for (size_t i = 0; i < frame->metadata.latency_info.size(); i++) { |
849 scoped_ptr<cc::SwapPromise> swap_promise( | 850 scoped_ptr<cc::SwapPromise> swap_promise( |
850 new cc::LatencyInfoSwapPromise(frame->metadata.latency_info[i])); | 851 new cc::LatencyInfoSwapPromise(frame->metadata.latency_info[i])); |
851 layer_->layer_tree_host()->QueueSwapPromise(swap_promise.Pass()); | 852 layer_->layer_tree_host()->QueueSwapPromise(swap_promise.Pass()); |
852 } | 853 } |
853 } | 854 } |
854 | 855 |
855 if (frame->delegated_frame_data) { | 856 if (frame->delegated_frame_data) { |
856 DCHECK(UsingDelegatedRenderer()); | 857 DCHECK(using_delegated_renderer_); |
857 | 858 |
858 DCHECK(frame->delegated_frame_data); | 859 DCHECK(frame->delegated_frame_data); |
859 DCHECK(!frame->delegated_frame_data->render_pass_list.empty()); | 860 DCHECK(!frame->delegated_frame_data->render_pass_list.empty()); |
860 | 861 |
861 cc::RenderPass* root_pass = | 862 cc::RenderPass* root_pass = |
862 frame->delegated_frame_data->render_pass_list.back(); | 863 frame->delegated_frame_data->render_pass_list.back(); |
863 texture_size_in_layer_ = root_pass->output_rect.size(); | 864 texture_size_in_layer_ = root_pass->output_rect.size(); |
864 ComputeContentsSize(frame->metadata); | 865 ComputeContentsSize(frame->metadata); |
865 | 866 |
866 SwapDelegatedFrame(output_surface_id, frame->delegated_frame_data.Pass()); | 867 SwapDelegatedFrame(output_surface_id, frame->delegated_frame_data.Pass()); |
867 frame_evictor_->SwappedFrame(!host_->is_hidden()); | 868 frame_evictor_->SwappedFrame(!host_->is_hidden()); |
868 return; | 869 return; |
869 } | 870 } |
870 | 871 |
871 DCHECK(!UsingDelegatedRenderer()); | 872 DCHECK(!using_delegated_renderer_); |
872 | 873 |
873 if (!frame->gl_frame_data || frame->gl_frame_data->mailbox.IsZero()) | 874 if (!frame->gl_frame_data || frame->gl_frame_data->mailbox.IsZero()) |
874 return; | 875 return; |
875 | 876 |
876 if (output_surface_id != last_output_surface_id_) { | 877 if (output_surface_id != last_output_surface_id_) { |
877 current_mailbox_ = gpu::Mailbox(); | 878 current_mailbox_ = gpu::Mailbox(); |
878 last_output_surface_id_ = kUndefinedOutputSurfaceId; | 879 last_output_surface_id_ = kUndefinedOutputSurfaceId; |
879 } | 880 } |
880 | 881 |
881 base::Closure callback = base::Bind(&InsertSyncPointAndAckForCompositor, | 882 base::Closure callback = base::Bind(&InsertSyncPointAndAckForCompositor, |
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1506 // RenderWidgetHostView, public: | 1507 // RenderWidgetHostView, public: |
1507 | 1508 |
1508 // static | 1509 // static |
1509 RenderWidgetHostView* | 1510 RenderWidgetHostView* |
1510 RenderWidgetHostView::CreateViewForWidget(RenderWidgetHost* widget) { | 1511 RenderWidgetHostView::CreateViewForWidget(RenderWidgetHost* widget) { |
1511 RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(widget); | 1512 RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(widget); |
1512 return new RenderWidgetHostViewAndroid(rwhi, NULL); | 1513 return new RenderWidgetHostViewAndroid(rwhi, NULL); |
1513 } | 1514 } |
1514 | 1515 |
1515 } // namespace content | 1516 } // namespace content |
OLD | NEW |