Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ui / ozone / platform / drm / gpu / page_flip_request.cc
blob5b69d75f00c6e0c3caba20e3c36a908352e1cfab
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
3 // found in the LICENSE file.
5 #include "ui/ozone/platform/drm/gpu/page_flip_request.h"
7 namespace ui {
9 PageFlipRequest::PageFlipRequest(int crtc_count,
10 const SwapCompletionCallback& callback)
11 : callback_(callback), crtc_count_(crtc_count) {
14 PageFlipRequest::~PageFlipRequest() {
17 void PageFlipRequest::Signal(gfx::SwapResult result) {
18 if (result == gfx::SwapResult::SWAP_FAILED)
19 result_ = gfx::SwapResult::SWAP_FAILED;
20 else if (result != gfx::SwapResult::SWAP_ACK)
21 result_ = result;
23 if (!--crtc_count_) {
24 callback_.Run(result_);
25 callback_.Reset();
29 } // namespace ui