Roll src/third_party/WebKit 605a979:06cb9e9 (svn 202556:202558)
[chromium-blink-merge.git] / components / scheduler / child / cancelable_closure_holder.cc
blob0e1660a948115f914377f67ffe830cdb113c19ff
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 "components/scheduler/child/cancelable_closure_holder.h"
7 namespace scheduler {
9 CancelableClosureHolder::CancelableClosureHolder() {
12 CancelableClosureHolder::~CancelableClosureHolder() {
15 void CancelableClosureHolder::Reset(const base::Closure& callback) {
16 callback_ = callback;
17 cancelable_callback_.Reset(callback_);
20 void CancelableClosureHolder::Cancel() {
21 DCHECK(!callback_.is_null());
22 cancelable_callback_.Reset(callback_);
25 const base::Closure& CancelableClosureHolder::callback() const {
26 DCHECK(!callback_.is_null());
27 return cancelable_callback_.callback();
30 } // namespace scheduler