OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2016 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 "platform/graphics/CompositorMutatorClient.h" | |
6 | |
7 #include "base/bind.h" | |
8 #include "base/callback.h" | |
9 #include "platform/TraceEvent.h" | |
10 #include "platform/graphics/CompositorMutation.h" | |
11 #include "platform/graphics/CompositorMutationsTarget.h" | |
12 | |
13 namespace blink { | |
14 | |
15 CompositorMutatorClient::CompositorMutatorClient(CompositorMutationsTarget* muta tionsTarget) | |
16 : m_mutationsTarget(mutationsTarget) | |
17 , m_mutations(nullptr) | |
18 { | |
19 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("compositor-worker"), "CompositorMuta torClient::CompositorMutatorClient"); | |
20 } | |
21 | |
22 CompositorMutatorClient::~CompositorMutatorClient() | |
23 { | |
24 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("compositor-worker"), "CompositorMuta torClient::~CompositorMutatorClient"); | |
25 } | |
26 | |
27 CompositorMutatorClient::ApplyMutationsCallback CompositorMutatorClient::TakeMut ations() | |
28 { | |
29 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("compositor-worker"), "CompositorMuta torClient::TakeMutations"); | |
30 if (!m_mutations) | |
31 return base::Closure(); | |
32 | |
33 return base::Bind(&CompositorMutationsTarget::applyMutations, | |
esprehn
2016/03/31 05:03:11
What keeps m_mutationsTarget alive for this callba
majidvp
2016/03/31 19:43:03
It is kept alive by CompositorMutatorImpl (also ow
| |
34 base::Unretained(m_mutationsTarget), | |
35 base::Owned(m_mutations.release().leakPtr())); | |
36 } | |
37 | |
38 void CompositorMutatorClient::setMutationsForTesting(PassOwnPtr<CompositorMutati ons> mutations) | |
39 { | |
40 m_mutations = mutations; | |
41 } | |
42 | |
43 } // namespace blink | |
OLD | NEW |