blob: 7ec58c8de0be3c8afe1b2fcf7ec35a3dfd16973c [file] [log] [blame]
[email protected]5e5648a2013-11-18 00:39:331// Copyright 2013 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.
4
5#include "cc/debug/micro_benchmark_impl.h"
6
7#include "base/bind.h"
8#include "base/callback.h"
9#include "base/memory/scoped_ptr.h"
10#include "base/message_loop/message_loop.h"
11#include "base/values.h"
12
13namespace cc {
14
15namespace {
16
17void RunCallback(const MicroBenchmarkImpl::DoneCallback& callback,
18 scoped_ptr<base::Value> result) {
19 callback.Run(result.Pass());
20}
21
22}
23
24MicroBenchmarkImpl::MicroBenchmarkImpl(
25 const DoneCallback& callback,
26 scoped_refptr<base::MessageLoopProxy> origin_loop)
27 : callback_(callback), is_done_(false), origin_loop_(origin_loop) {}
28
29MicroBenchmarkImpl::~MicroBenchmarkImpl() {}
30
31bool MicroBenchmarkImpl::IsDone() const {
32 return is_done_;
33}
34
35void MicroBenchmarkImpl::DidCompleteCommit(LayerTreeHostImpl* host) {}
36
37void MicroBenchmarkImpl::NotifyDone(scoped_ptr<base::Value> result) {
38 origin_loop_->PostTask(
39 FROM_HERE,
40 base::Bind(RunCallback, callback_, base::Passed(&result)));
41 is_done_ = true;
42}
43
44void MicroBenchmarkImpl::RunOnLayer(LayerImpl* layer) {}
45
46void MicroBenchmarkImpl::RunOnLayer(PictureLayerImpl* layer) {}
47
48} // namespace cc