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 834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
845 // confirming newer sequence numbers. | 845 // confirming newer sequence numbers. |
846 modified_ack.has_damage = false; | 846 modified_ack.has_damage = false; |
847 modified_ack.latest_confirmed_sequence_number = | 847 modified_ack.latest_confirmed_sequence_number = |
848 latest_confirmed_begin_frame_sequence_number_; | 848 latest_confirmed_begin_frame_sequence_number_; |
849 } else { | 849 } else { |
850 latest_confirmed_begin_frame_source_id_ = modified_ack.source_id; | 850 latest_confirmed_begin_frame_source_id_ = modified_ack.source_id; |
851 latest_confirmed_begin_frame_sequence_number_ = | 851 latest_confirmed_begin_frame_sequence_number_ = |
852 modified_ack.latest_confirmed_sequence_number; | 852 modified_ack.latest_confirmed_sequence_number; |
853 } | 853 } |
854 | 854 |
855 // TODO(eseckler): The interface to CompositorFrameSinkSupport should use | 855 // If there was damage, the unmodified ack was sent with the CompositorFrame. |
856 // SubmitCompositorFrame and BeginFrameDidNotSwap instead of DidFinishFrame. | 856 if (!modified_ack.has_damage) |
857 support_->DidFinishFrame(modified_ack); | 857 support_->BeginFrameDidNotSwap(modified_ack); |
858 } | 858 } |
859 | 859 |
860 void DelegatedFrameHost::CreateCompositorFrameSinkSupport() { | 860 void DelegatedFrameHost::CreateCompositorFrameSinkSupport() { |
861 DCHECK(!support_); | 861 DCHECK(!support_); |
862 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); | 862 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
863 support_ = base::MakeUnique<cc::CompositorFrameSinkSupport>( | 863 support_ = base::MakeUnique<cc::CompositorFrameSinkSupport>( |
864 this, factory->GetContextFactoryPrivate()->GetSurfaceManager(), | 864 this, factory->GetContextFactoryPrivate()->GetSurfaceManager(), |
865 frame_sink_id_, false /* is_root */, | 865 frame_sink_id_, false /* is_root */, |
866 false /* handles_frame_sink_id_invalidation */, | 866 false /* handles_frame_sink_id_invalidation */, |
867 true /* needs_sync_points */); | 867 true /* needs_sync_points */); |
868 if (compositor_) | 868 if (compositor_) |
869 compositor_->AddFrameSink(frame_sink_id_); | 869 compositor_->AddFrameSink(frame_sink_id_); |
870 if (needs_begin_frame_) | 870 if (needs_begin_frame_) |
871 support_->SetNeedsBeginFrame(true); | 871 support_->SetNeedsBeginFrame(true); |
872 } | 872 } |
873 | 873 |
874 void DelegatedFrameHost::ResetCompositorFrameSinkSupport() { | 874 void DelegatedFrameHost::ResetCompositorFrameSinkSupport() { |
875 if (!support_) | 875 if (!support_) |
876 return; | 876 return; |
877 if (compositor_) | 877 if (compositor_) |
878 compositor_->RemoveFrameSink(frame_sink_id_); | 878 compositor_->RemoveFrameSink(frame_sink_id_); |
879 support_.reset(); | 879 support_.reset(); |
880 } | 880 } |
881 | 881 |
882 } // namespace content | 882 } // namespace content |
OLD | NEW |