| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "services/ui/surfaces/display_compositor.h" | 5 #include "services/ui/surfaces/display_compositor.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 this, frame_sink_id, std::move(display), | 244 this, frame_sink_id, std::move(display), |
| 245 std::move(begin_frame_source), std::move(request), | 245 std::move(begin_frame_source), std::move(request), |
| 246 std::move(private_request), std::move(client), | 246 std::move(private_request), std::move(client), |
| 247 std::move(display_request)); | 247 std::move(display_request)); |
| 248 } | 248 } |
| 249 | 249 |
| 250 const cc::SurfaceId& DisplayCompositor::GetRootSurfaceId() const { | 250 const cc::SurfaceId& DisplayCompositor::GetRootSurfaceId() const { |
| 251 return reference_manager_->GetRootSurfaceId(); | 251 return reference_manager_->GetRootSurfaceId(); |
| 252 } | 252 } |
| 253 | 253 |
| 254 void DisplayCompositor::OnSurfaceCreated(const cc::SurfaceId& surface_id, | 254 void DisplayCompositor::OnSurfaceCreated(const cc::SurfaceInfo& surface_info) { |
| 255 const gfx::Size& frame_size, | |
| 256 float device_scale_factor) { | |
| 257 DCHECK(thread_checker_.CalledOnValidThread()); | 255 DCHECK(thread_checker_.CalledOnValidThread()); |
| 258 DCHECK_GT(device_scale_factor, 0.0f); | 256 DCHECK_GT(surface_info.device_scale_factor(), 0.0f); |
| 259 // We can get into a situation where multiple CompositorFrames arrive for a | 257 // We can get into a situation where multiple CompositorFrames arrive for a |
| 260 // CompositorFrameSink before the DisplayCompositorClient can add any | 258 // CompositorFrameSink before the DisplayCompositorClient can add any |
| 261 // references for the frame. When the second frame with a new size arrives, | 259 // references for the frame. When the second frame with a new size arrives, |
| 262 // the first will be destroyed and then if there are no references it will be | 260 // the first will be destroyed and then if there are no references it will be |
| 263 // deleted during surface GC. A temporary reference, removed when a real | 261 // deleted during surface GC. A temporary reference, removed when a real |
| 264 // reference is received, is added to prevent this from happening. | 262 // reference is received, is added to prevent this from happening. |
| 265 reference_manager_->AddSurfaceReference(GetRootSurfaceId(), surface_id); | 263 reference_manager_->AddSurfaceReference(GetRootSurfaceId(), |
| 266 temp_references_[surface_id.frame_sink_id()].push_back( | 264 surface_info.id()); |
| 267 surface_id.local_frame_id()); | 265 temp_references_[surface_info.id().frame_sink_id()].push_back( |
| 266 surface_info.id().local_frame_id()); |
| 268 | 267 |
| 269 if (client_) | 268 if (client_) |
| 270 client_->OnSurfaceCreated(surface_id, frame_size, device_scale_factor); | 269 client_->OnSurfaceCreated(surface_info); |
| 271 } | 270 } |
| 272 | 271 |
| 273 void DisplayCompositor::OnSurfaceDamaged(const cc::SurfaceId& surface_id, | 272 void DisplayCompositor::OnSurfaceDamaged(const cc::SurfaceId& surface_id, |
| 274 bool* changed) {} | 273 bool* changed) {} |
| 275 | 274 |
| 276 } // namespace ui | 275 } // namespace ui |
| OLD | NEW |