| 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 822 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 833 } | 833 } |
| 834 | 834 |
| 835 void DelegatedFrameHost::CreateCompositorFrameSinkSupport() { | 835 void DelegatedFrameHost::CreateCompositorFrameSinkSupport() { |
| 836 DCHECK(!support_); | 836 DCHECK(!support_); |
| 837 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); | 837 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
| 838 support_ = base::MakeUnique<cc::CompositorFrameSinkSupport>( | 838 support_ = base::MakeUnique<cc::CompositorFrameSinkSupport>( |
| 839 this, factory->GetContextFactoryPrivate()->GetSurfaceManager(), | 839 this, factory->GetContextFactoryPrivate()->GetSurfaceManager(), |
| 840 frame_sink_id_, false /* is_root */, | 840 frame_sink_id_, false /* is_root */, |
| 841 false /* handles_frame_sink_id_invalidation */, | 841 false /* handles_frame_sink_id_invalidation */, |
| 842 true /* needs_sync_points */); | 842 true /* needs_sync_points */); |
| 843 support_->Init(); |
| 843 if (compositor_) | 844 if (compositor_) |
| 844 compositor_->AddFrameSink(frame_sink_id_); | 845 compositor_->AddFrameSink(frame_sink_id_); |
| 845 if (needs_begin_frame_) | 846 if (needs_begin_frame_) |
| 846 support_->SetNeedsBeginFrame(true); | 847 support_->SetNeedsBeginFrame(true); |
| 847 } | 848 } |
| 848 | 849 |
| 849 void DelegatedFrameHost::ResetCompositorFrameSinkSupport() { | 850 void DelegatedFrameHost::ResetCompositorFrameSinkSupport() { |
| 850 if (!support_) | 851 if (!support_) |
| 851 return; | 852 return; |
| 852 if (compositor_) | 853 if (compositor_) |
| 853 compositor_->RemoveFrameSink(frame_sink_id_); | 854 compositor_->RemoveFrameSink(frame_sink_id_); |
| 854 support_.reset(); | 855 support_.reset(); |
| 855 } | 856 } |
| 856 | 857 |
| 857 void DelegatedFrameHost::DidFinishFrame(const cc::BeginFrameAck& ack) { | 858 void DelegatedFrameHost::DidFinishFrame(const cc::BeginFrameAck& ack) { |
| 858 if (ack.source_id != latest_confirmed_begin_frame_source_id_) { | 859 if (ack.source_id != latest_confirmed_begin_frame_source_id_) { |
| 859 // Source changed, we don't know our freshness anymore. | 860 // Source changed, we don't know our freshness anymore. |
| 860 latest_confirmed_begin_frame_sequence_number_ = | 861 latest_confirmed_begin_frame_sequence_number_ = |
| 861 cc::BeginFrameArgs::kInvalidFrameNumber; | 862 cc::BeginFrameArgs::kInvalidFrameNumber; |
| 862 } | 863 } |
| 863 | 864 |
| 864 if (!skipped_frames_) { | 865 if (!skipped_frames_) { |
| 865 latest_confirmed_begin_frame_source_id_ = ack.source_id; | 866 latest_confirmed_begin_frame_source_id_ = ack.source_id; |
| 866 latest_confirmed_begin_frame_sequence_number_ = | 867 latest_confirmed_begin_frame_sequence_number_ = |
| 867 ack.latest_confirmed_sequence_number; | 868 ack.latest_confirmed_sequence_number; |
| 868 } | 869 } |
| 869 } | 870 } |
| 870 | 871 |
| 871 } // namespace content | 872 } // namespace content |
| OLD | NEW |