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