| Index: third_party/WebKit/Source/platform/graphics/CompositorMutatorClient.cpp
|
| diff --git a/third_party/WebKit/Source/platform/graphics/CompositorMutatorClient.cpp b/third_party/WebKit/Source/platform/graphics/CompositorMutatorClient.cpp
|
| index 3caccce0beefbb3a022ab1abf53c900e9262c2fb..8d7190abe5d0c736122e3a18e63bb4965aa23b2f 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/CompositorMutatorClient.cpp
|
| +++ b/third_party/WebKit/Source/platform/graphics/CompositorMutatorClient.cpp
|
| @@ -9,11 +9,14 @@
|
| #include "platform/TraceEvent.h"
|
| #include "platform/graphics/CompositorMutation.h"
|
| #include "platform/graphics/CompositorMutationsTarget.h"
|
| +#include "platform/graphics/CompositorMutator.h"
|
|
|
| namespace blink {
|
|
|
| -CompositorMutatorClient::CompositorMutatorClient(CompositorMutationsTarget* mutationsTarget)
|
| - : m_mutationsTarget(mutationsTarget)
|
| +CompositorMutatorClient::CompositorMutatorClient(CompositorMutator* mutator, CompositorMutationsTarget* mutationsTarget)
|
| + : m_client(nullptr)
|
| + , m_mutationsTarget(mutationsTarget)
|
| + , m_mutator(mutator)
|
| , m_mutations(nullptr)
|
| {
|
| TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("compositor-worker"), "CompositorMutatorClient::CompositorMutatorClient");
|
| @@ -24,6 +27,24 @@ CompositorMutatorClient::~CompositorMutatorClient()
|
| TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("compositor-worker"), "CompositorMutatorClient::~CompositorMutatorClient");
|
| }
|
|
|
| +bool CompositorMutatorClient::Mutate(
|
| + base::TimeTicks monotonicTime)
|
| +{
|
| + TRACE_EVENT0("compositor-worker", "CompositorMutatorClient::Mutate");
|
| + double monotonicTimeNow = (monotonicTime - base::TimeTicks()).InSecondsF();
|
| + if (!m_mutations)
|
| + m_mutations = adoptPtr(new CompositorMutations);
|
| + bool shouldReinvoke = m_mutator->mutate(monotonicTimeNow);
|
| + return shouldReinvoke;
|
| +}
|
| +
|
| +void CompositorMutatorClient::SetClient(cc::LayerTreeMutatorClient* client)
|
| +{
|
| + TRACE_EVENT0("compositor-worker", "CompositorMutatorClient::SetClient");
|
| + m_client = client;
|
| + setNeedsMutate();
|
| +}
|
| +
|
| base::Closure CompositorMutatorClient::TakeMutations()
|
| {
|
| TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("compositor-worker"), "CompositorMutatorClient::TakeMutations");
|
| @@ -35,6 +56,12 @@ base::Closure CompositorMutatorClient::TakeMutations()
|
| base::Owned(m_mutations.release().leakPtr()));
|
| }
|
|
|
| +void CompositorMutatorClient::setNeedsMutate()
|
| +{
|
| + TRACE_EVENT0("compositor-worker", "CompositorMutatorClient::setNeedsMutate");
|
| + m_client->SetNeedsMutate();
|
| +}
|
| +
|
| void CompositorMutatorClient::setMutationsForTesting(PassOwnPtr<CompositorMutations> mutations)
|
| {
|
| m_mutations = mutations;
|
|
|