| Index: cc/trees/threaded_channel.cc
|
| diff --git a/cc/trees/threaded_channel.cc b/cc/trees/threaded_channel.cc
|
| index 32d148c0c1a19aaeb359bce2eb6199b1d5b72205..7bd4ea744a1a8ec216c2266aad667d5a6ce4eef4 100644
|
| --- a/cc/trees/threaded_channel.cc
|
| +++ b/cc/trees/threaded_channel.cc
|
| @@ -24,6 +24,7 @@ ThreadedChannel::ThreadedChannel(
|
| scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner)
|
| : proxy_main_(thread_proxy),
|
| proxy_impl_(thread_proxy),
|
| + proxy_(thread_proxy),
|
| main_task_runner_(main_task_runner),
|
| impl_task_runner_(impl_task_runner) {}
|
|
|
| @@ -42,12 +43,171 @@ void ThreadedChannel::UpdateTopControlsStateOnImpl(TopControlsState constraints,
|
| proxy_impl_->GetImplWeakPtr(), constraints, current, animate));
|
| }
|
|
|
| +void ThreadedChannel::InitializeOutputSurfaceOnImpl(
|
| + OutputSurface* output_surface) {
|
| + ImplThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyImpl::InitializeOutputSurfaceOnImpl,
|
| + proxy_impl_->GetImplWeakPtr(), output_surface));
|
| +}
|
| +
|
| +void ThreadedChannel::MainThreadHasStoppedFlingingOnImpl() {
|
| + ImplThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyImpl::MainThreadHasStoppedFlingingOnImpl,
|
| + proxy_impl_->GetImplWeakPtr()));
|
| +}
|
| +
|
| +void ThreadedChannel::SetInputThrottledUntilCommitOnImpl(bool is_throttled) {
|
| + ImplThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyImpl::SetInputThrottledUntilCommitOnImpl,
|
| + proxy_impl_->GetImplWeakPtr(), is_throttled));
|
| +}
|
| +
|
| +void ThreadedChannel::SetDeferCommitsOnImpl(bool defer_commits) {
|
| + ImplThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyImpl::SetDeferCommitsOnImpl,
|
| + proxy_impl_->GetImplWeakPtr(), defer_commits));
|
| +}
|
| +
|
| +void ThreadedChannel::FinishAllRenderingOnImpl(CompletionEvent* completion) {
|
| + ImplThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyImpl::FinishAllRenderingOnImpl,
|
| + proxy_impl_->GetImplWeakPtr(), completion));
|
| +}
|
| +
|
| +void ThreadedChannel::SetNeedsCommitOnImpl() {
|
| + ImplThreadTaskRunner()->PostTask(FROM_HERE,
|
| + base::Bind(&ProxyImpl::SetNeedsCommitOnImpl,
|
| + proxy_impl_->GetImplWeakPtr()));
|
| +}
|
| +
|
| +void ThreadedChannel::BeginMainFrameAbortedOnImpl(CommitEarlyOutReason reason) {
|
| + ImplThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyImpl::BeginMainFrameAbortedOnImpl,
|
| + proxy_impl_->GetImplWeakPtr(), reason));
|
| +}
|
| +
|
| +void ThreadedChannel::SetNeedsRedrawOnImpl(const gfx::Rect& damage_rect) {
|
| + ImplThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyImpl::SetNeedsRedrawOnImpl,
|
| + proxy_impl_->GetImplWeakPtr(), damage_rect));
|
| +}
|
| +
|
| +void ThreadedChannel::StartCommitOnImpl(
|
| + CompletionEvent* completion,
|
| + BlockedMainCommitState* blocked_main_commit_state) {
|
| + ImplThreadTaskRunner()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&ProxyImpl::StartCommitOnImpl, proxy_impl_->GetImplWeakPtr(),
|
| + completion, blocked_main_commit_state));
|
| +}
|
| +
|
| +void ThreadedChannel::SetVisibleOnImpl(CompletionEvent* completion,
|
| + bool visible) {
|
| + ImplThreadTaskRunner()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&ProxyImpl::SetVisibleOnImpl, proxy_impl_->GetImplWeakPtr(),
|
| + completion, visible));
|
| +}
|
| +
|
| +void ThreadedChannel::ReleaseOutputSurfaceOnImpl(CompletionEvent* completion) {
|
| + ImplThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyImpl::ReleaseOutputSurfaceOnImpl,
|
| + proxy_impl_->GetImplWeakPtr(), completion));
|
| +}
|
| +
|
| +void ThreadedChannel::FinishGLOnImpl(CompletionEvent* completion) {
|
| + ImplThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyImpl::FinishGLOnImpl,
|
| + proxy_impl_->GetImplWeakPtr(), completion));
|
| +}
|
| +
|
| +void ThreadedChannel::MainFrameWillHappenOnImplForTesting(
|
| + CompletionEvent* completion,
|
| + bool* main_frame_will_happen) {
|
| + ImplThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyImpl::MainFrameWillHappenOnImplForTesting,
|
| + proxy_impl_->GetImplWeakPtr(), completion,
|
| + main_frame_will_happen));
|
| +}
|
| +
|
| void ThreadedChannel::DidCompleteSwapBuffers() {
|
| MainThreadTaskRunner()->PostTask(
|
| FROM_HERE, base::Bind(&ProxyMain::DidCompleteSwapBuffers,
|
| proxy_main_->GetMainWeakPtr()));
|
| }
|
|
|
| +void ThreadedChannel::SetRendererCapabilitiesMainCopy(
|
| + const RendererCapabilities& capabilities) {
|
| + MainThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyMain::SetRendererCapabilitiesMainCopy,
|
| + proxy_main_->GetMainWeakPtr(), capabilities));
|
| +}
|
| +
|
| +void ThreadedChannel::BeginMainFrameNotExpectedSoon() {
|
| + MainThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyMain::BeginMainFrameNotExpectedSoon,
|
| + proxy_main_->GetMainWeakPtr()));
|
| +}
|
| +
|
| +void ThreadedChannel::DidCommitAndDrawFrame() {
|
| + MainThreadTaskRunner()->PostTask(FROM_HERE,
|
| + base::Bind(&ProxyMain::DidCommitAndDrawFrame,
|
| + proxy_main_->GetMainWeakPtr()));
|
| +}
|
| +
|
| +void ThreadedChannel::SetAnimationEvents(
|
| + scoped_ptr<AnimationEventsVector> queue) {
|
| + MainThreadTaskRunner()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&ProxyMain::SetAnimationEvents, proxy_main_->GetMainWeakPtr(),
|
| + base::Passed(&queue)));
|
| +}
|
| +
|
| +void ThreadedChannel::DidLoseOutputSurface() {
|
| + MainThreadTaskRunner()->PostTask(FROM_HERE,
|
| + base::Bind(&ProxyMain::DidLoseOutputSurface,
|
| + proxy_main_->GetMainWeakPtr()));
|
| +}
|
| +
|
| +void ThreadedChannel::RequestNewOutputSurface() {
|
| + MainThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyMain::RequestNewOutputSurface,
|
| + proxy_main_->GetMainWeakPtr()));
|
| +}
|
| +
|
| +void ThreadedChannel::DidInitializeOutputSurface(
|
| + bool success,
|
| + const RendererCapabilities& capabilities) {
|
| + MainThreadTaskRunner()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&ProxyMain::DidInitializeOutputSurface,
|
| + proxy_main_->GetMainWeakPtr(), success, capabilities));
|
| +}
|
| +
|
| +void ThreadedChannel::DidCompletePageScaleAnimation() {
|
| + MainThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyMain::DidCompletePageScaleAnimation,
|
| + proxy_main_->GetMainWeakPtr()));
|
| +}
|
| +
|
| +void ThreadedChannel::PostFrameTimingEventsOnMain(
|
| + scoped_ptr<FrameTimingTracker::CompositeTimingSet> composite_events,
|
| + scoped_ptr<FrameTimingTracker::MainFrameTimingSet> main_frame_events) {
|
| + MainThreadTaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&ProxyMain::PostFrameTimingEventsOnMain,
|
| + proxy_main_->GetMainWeakPtr(),
|
| + base::Passed(composite_events.Pass()),
|
| + base::Passed(main_frame_events.Pass())));
|
| +}
|
| +
|
| +void ThreadedChannel::BeginMainFrame(
|
| + scoped_ptr<BeginMainFrameAndCommitState> begin_main_frame_state) {
|
| + MainThreadTaskRunner()->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&ProxyMain::BeginMainFrame, proxy_main_->GetMainWeakPtr(),
|
| + base::Passed(&begin_main_frame_state)));
|
| +}
|
| +
|
| ThreadedChannel::~ThreadedChannel() {
|
| TRACE_EVENT0("cc", "ThreadChannel::~ThreadChannel");
|
| }
|
|
|