| 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 "ui/ozone/platform/drm/gpu/page_flip_request.h" | 5 #include "ui/ozone/platform/drm/gpu/page_flip_request.h" |
| 6 | 6 |
| 7 namespace ui { | 7 namespace ui { |
| 8 | 8 |
| 9 PageFlipRequest::PageFlipRequest(int crtc_count, | 9 PageFlipRequest::PageFlipRequest(int crtc_count, |
| 10 const SwapCompletionCallback& callback) | 10 SwapCompletionOnceCallback callback) |
| 11 : callback_(callback), crtc_count_(crtc_count) { | 11 : callback_(std::move(callback)), crtc_count_(crtc_count) {} |
| 12 } | |
| 13 | 12 |
| 14 PageFlipRequest::~PageFlipRequest() { | 13 PageFlipRequest::~PageFlipRequest() { |
| 15 } | 14 } |
| 16 | 15 |
| 17 void PageFlipRequest::Signal(gfx::SwapResult result) { | 16 void PageFlipRequest::Signal(gfx::SwapResult result) { |
| 18 if (result == gfx::SwapResult::SWAP_FAILED) | 17 if (result == gfx::SwapResult::SWAP_FAILED) |
| 19 result_ = gfx::SwapResult::SWAP_FAILED; | 18 result_ = gfx::SwapResult::SWAP_FAILED; |
| 20 else if (result != gfx::SwapResult::SWAP_ACK) | 19 else if (result != gfx::SwapResult::SWAP_ACK) |
| 21 result_ = result; | 20 result_ = result; |
| 22 | 21 |
| 23 if (!--crtc_count_) { | 22 if (!--crtc_count_) { |
| 24 callback_.Run(result_); | 23 std::move(callback_).Run(result_); |
| 25 callback_.Reset(); | |
| 26 } | 24 } |
| 27 } | 25 } |
| 28 | 26 |
| 29 } // namespace ui | 27 } // namespace ui |
| OLD | NEW |