mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Create 2062 release branch for CEF3.
git-svn-id: https://chromiumembedded.googlecode.com/svn/branches/2062@1783 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
42
libcef_dll/base/cef_callback_helpers.cc
Normal file
42
libcef_dll/base/cef_callback_helpers.cc
Normal file
@ -0,0 +1,42 @@
|
||||
// Copyright 2013 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "include/base/cef_callback_helpers.h"
|
||||
|
||||
#include "include/base/cef_callback.h"
|
||||
|
||||
namespace base {
|
||||
|
||||
ScopedClosureRunner::ScopedClosureRunner() {
|
||||
}
|
||||
|
||||
ScopedClosureRunner::ScopedClosureRunner(const Closure& closure)
|
||||
: closure_(closure) {
|
||||
}
|
||||
|
||||
ScopedClosureRunner::~ScopedClosureRunner() {
|
||||
if (!closure_.is_null())
|
||||
closure_.Run();
|
||||
}
|
||||
|
||||
void ScopedClosureRunner::Reset() {
|
||||
Closure old_closure = Release();
|
||||
if (!old_closure.is_null())
|
||||
old_closure.Run();
|
||||
}
|
||||
|
||||
void ScopedClosureRunner::Reset(const Closure& closure) {
|
||||
Closure old_closure = Release();
|
||||
closure_ = closure;
|
||||
if (!old_closure.is_null())
|
||||
old_closure.Run();
|
||||
}
|
||||
|
||||
Closure ScopedClosureRunner::Release() {
|
||||
Closure result = closure_;
|
||||
closure_.Reset();
|
||||
return result;
|
||||
}
|
||||
|
||||
} // namespace base
|
Reference in New Issue
Block a user