| 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 #include "content/browser/renderer_host/delegated_frame_host.h" | 5 #include "content/browser/renderer_host/delegated_frame_host.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 } | 59 } |
| 60 | 60 |
| 61 } // namespace | 61 } // namespace |
| 62 | 62 |
| 63 //////////////////////////////////////////////////////////////////////////////// | 63 //////////////////////////////////////////////////////////////////////////////// |
| 64 // DelegatedFrameHost | 64 // DelegatedFrameHost |
| 65 | 65 |
| 66 DelegatedFrameHost::DelegatedFrameHost(DelegatedFrameHostClient* client) | 66 DelegatedFrameHost::DelegatedFrameHost(DelegatedFrameHostClient* client) |
| 67 : client_(client), | 67 : client_(client), |
| 68 compositor_(nullptr), | 68 compositor_(nullptr), |
| 69 using_begin_frame_scheduling_( | |
| 70 !base::CommandLine::ForCurrentProcess()->HasSwitch( | |
| 71 cc::switches::kDisableBeginFrameScheduling)), | |
| 72 tick_clock_(new base::DefaultTickClock()), | 69 tick_clock_(new base::DefaultTickClock()), |
| 73 last_output_surface_id_(0), | 70 last_output_surface_id_(0), |
| 74 pending_delegated_ack_count_(0), | 71 pending_delegated_ack_count_(0), |
| 75 skipped_frames_(false), | 72 skipped_frames_(false), |
| 76 background_color_(SK_ColorRED), | 73 background_color_(SK_ColorRED), |
| 77 current_scale_factor_(1.f), | 74 current_scale_factor_(1.f), |
| 78 can_lock_compositor_(YES_CAN_LOCK), | 75 can_lock_compositor_(YES_CAN_LOCK), |
| 79 delegated_frame_evictor_(new DelegatedFrameEvictor(this)) { | 76 delegated_frame_evictor_(new DelegatedFrameEvictor(this)) { |
| 80 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); | 77 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
| 81 factory->GetContextFactory()->AddObserver(this); | 78 factory->GetContextFactory()->AddObserver(this); |
| (...skipping 719 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 801 void DelegatedFrameHost::OnCompositingShuttingDown(ui::Compositor* compositor) { | 798 void DelegatedFrameHost::OnCompositingShuttingDown(ui::Compositor* compositor) { |
| 802 DCHECK_EQ(compositor, compositor_); | 799 DCHECK_EQ(compositor, compositor_); |
| 803 ResetCompositor(); | 800 ResetCompositor(); |
| 804 DCHECK(!compositor_); | 801 DCHECK(!compositor_); |
| 805 } | 802 } |
| 806 | 803 |
| 807 void DelegatedFrameHost::OnUpdateVSyncParameters(base::TimeTicks timebase, | 804 void DelegatedFrameHost::OnUpdateVSyncParameters(base::TimeTicks timebase, |
| 808 base::TimeDelta interval) { | 805 base::TimeDelta interval) { |
| 809 vsync_timebase_ = timebase; | 806 vsync_timebase_ = timebase; |
| 810 vsync_interval_ = interval; | 807 vsync_interval_ = interval; |
| 811 if (!using_begin_frame_scheduling_ && client_->DelegatedFrameHostIsVisible()) | |
| 812 client_->DelegatedFrameHostUpdateVSyncParameters(timebase, interval); | |
| 813 } | 808 } |
| 814 | 809 |
| 815 //////////////////////////////////////////////////////////////////////////////// | 810 //////////////////////////////////////////////////////////////////////////////// |
| 816 // DelegatedFrameHost, ImageTransportFactoryObserver implementation: | 811 // DelegatedFrameHost, ImageTransportFactoryObserver implementation: |
| 817 | 812 |
| 818 void DelegatedFrameHost::OnLostResources() { | 813 void DelegatedFrameHost::OnLostResources() { |
| 819 if (!surface_id_.is_null()) | 814 if (!surface_id_.is_null()) |
| 820 EvictDelegatedFrame(); | 815 EvictDelegatedFrame(); |
| 821 idle_frame_subscriber_textures_.clear(); | 816 idle_frame_subscriber_textures_.clear(); |
| 822 yuv_readback_pipeline_.reset(); | 817 yuv_readback_pipeline_.reset(); |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 906 cc::SurfaceManager* manager = factory->GetSurfaceManager(); | 901 cc::SurfaceManager* manager = factory->GetSurfaceManager(); |
| 907 new_layer->SetShowSurface( | 902 new_layer->SetShowSurface( |
| 908 surface_id_, base::Bind(&SatisfyCallback, base::Unretained(manager)), | 903 surface_id_, base::Bind(&SatisfyCallback, base::Unretained(manager)), |
| 909 base::Bind(&RequireCallback, base::Unretained(manager)), | 904 base::Bind(&RequireCallback, base::Unretained(manager)), |
| 910 current_surface_size_, current_scale_factor_, | 905 current_surface_size_, current_scale_factor_, |
| 911 current_frame_size_in_dip_); | 906 current_frame_size_in_dip_); |
| 912 } | 907 } |
| 913 } | 908 } |
| 914 | 909 |
| 915 } // namespace content | 910 } // namespace content |
| OLD | NEW |