| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/renderer/gpu/render_widget_compositor.h" | 5 #include "content/renderer/gpu/render_widget_compositor.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #if defined(OS_ANDROID) | 10 #if defined(OS_ANDROID) |
| (...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 341 void RenderWidgetCompositor::SetOverdrawBottomHeight( | 341 void RenderWidgetCompositor::SetOverdrawBottomHeight( |
| 342 float overdraw_bottom_height) { | 342 float overdraw_bottom_height) { |
| 343 layer_tree_host_->SetOverdrawBottomHeight(overdraw_bottom_height); | 343 layer_tree_host_->SetOverdrawBottomHeight(overdraw_bottom_height); |
| 344 } | 344 } |
| 345 | 345 |
| 346 void RenderWidgetCompositor::SetNeedsRedrawRect(gfx::Rect damage_rect) { | 346 void RenderWidgetCompositor::SetNeedsRedrawRect(gfx::Rect damage_rect) { |
| 347 layer_tree_host_->SetNeedsRedrawRect(damage_rect); | 347 layer_tree_host_->SetNeedsRedrawRect(damage_rect); |
| 348 } | 348 } |
| 349 | 349 |
| 350 void RenderWidgetCompositor::SetNeedsForcedRedraw() { | 350 void RenderWidgetCompositor::SetNeedsForcedRedraw() { |
| 351 layer_tree_host_->set_next_commit_forces_redraw(); | 351 layer_tree_host_->SetNextCommitForcesRedraw(); |
| 352 setNeedsUpdateLayers(); | 352 setNeedsAnimate(); |
| 353 } | 353 } |
| 354 | 354 |
| 355 scoped_ptr<cc::SwapPromiseMonitor> | 355 scoped_ptr<cc::SwapPromiseMonitor> |
| 356 RenderWidgetCompositor::CreateLatencyInfoSwapPromiseMonitor( | 356 RenderWidgetCompositor::CreateLatencyInfoSwapPromiseMonitor( |
| 357 ui::LatencyInfo* latency) { | 357 ui::LatencyInfo* latency) { |
| 358 return scoped_ptr<cc::SwapPromiseMonitor>( | 358 return scoped_ptr<cc::SwapPromiseMonitor>( |
| 359 new cc::LatencyInfoSwapPromiseMonitor( | 359 new cc::LatencyInfoSwapPromiseMonitor( |
| 360 latency, layer_tree_host_.get(), NULL)); | 360 latency, layer_tree_host_.get(), NULL)); |
| 361 } | 361 } |
| 362 | 362 |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 461 double duration_sec) { | 461 double duration_sec) { |
| 462 base::TimeDelta duration = base::TimeDelta::FromMicroseconds( | 462 base::TimeDelta duration = base::TimeDelta::FromMicroseconds( |
| 463 duration_sec * base::Time::kMicrosecondsPerSecond); | 463 duration_sec * base::Time::kMicrosecondsPerSecond); |
| 464 layer_tree_host_->StartPageScaleAnimation( | 464 layer_tree_host_->StartPageScaleAnimation( |
| 465 gfx::Vector2d(destination.x, destination.y), | 465 gfx::Vector2d(destination.x, destination.y), |
| 466 use_anchor, | 466 use_anchor, |
| 467 new_page_scale, | 467 new_page_scale, |
| 468 duration); | 468 duration); |
| 469 } | 469 } |
| 470 | 470 |
| 471 // Renamed. Staged for removal. | |
| 472 void RenderWidgetCompositor::setNeedsAnimate() { | 471 void RenderWidgetCompositor::setNeedsAnimate() { |
| 473 setNeedsUpdateLayers(); | 472 layer_tree_host_->SetNeedsAnimate(); |
| 474 } | 473 } |
| 475 | 474 |
| 476 void RenderWidgetCompositor::setNeedsUpdateLayers() { | |
| 477 layer_tree_host_->SetNeedsUpdateLayers(); | |
| 478 } | |
| 479 | |
| 480 // Unused. Staged for removal. | |
| 481 bool RenderWidgetCompositor::commitRequested() const { | 475 bool RenderWidgetCompositor::commitRequested() const { |
| 482 NOTREACHED(); | 476 return layer_tree_host_->CommitRequested(); |
| 483 return false; | |
| 484 } | 477 } |
| 485 | 478 |
| 486 void RenderWidgetCompositor::didStopFlinging() { | 479 void RenderWidgetCompositor::didStopFlinging() { |
| 487 layer_tree_host_->DidStopFlinging(); | 480 layer_tree_host_->DidStopFlinging(); |
| 488 } | 481 } |
| 489 | 482 |
| 490 void RenderWidgetCompositor::registerForAnimations(blink::WebLayer* layer) { | 483 void RenderWidgetCompositor::registerForAnimations(blink::WebLayer* layer) { |
| 491 cc::Layer* cc_layer = static_cast<webkit::WebLayerImpl*>(layer)->layer(); | 484 cc::Layer* cc_layer = static_cast<webkit::WebLayerImpl*>(layer)->layer(); |
| 492 cc_layer->layer_animation_controller()->SetAnimationRegistrar( | 485 cc_layer->layer_animation_controller()->SetAnimationRegistrar( |
| 493 layer_tree_host_->animation_registrar()); | 486 layer_tree_host_->animation_registrar()); |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 611 widget_->OnSwapBuffersComplete(); | 604 widget_->OnSwapBuffersComplete(); |
| 612 } | 605 } |
| 613 | 606 |
| 614 scoped_refptr<cc::ContextProvider> | 607 scoped_refptr<cc::ContextProvider> |
| 615 RenderWidgetCompositor::OffscreenContextProvider() { | 608 RenderWidgetCompositor::OffscreenContextProvider() { |
| 616 return RenderThreadImpl::current()->OffscreenCompositorContextProvider(); | 609 return RenderThreadImpl::current()->OffscreenCompositorContextProvider(); |
| 617 } | 610 } |
| 618 | 611 |
| 619 void RenderWidgetCompositor::ScheduleComposite() { | 612 void RenderWidgetCompositor::ScheduleComposite() { |
| 620 if (!suppress_schedule_composite_) | 613 if (!suppress_schedule_composite_) |
| 621 widget_->ScheduleComposite(); | 614 widget_->scheduleComposite(); |
| 622 } | 615 } |
| 623 | 616 |
| 624 void RenderWidgetCompositor::ScheduleAnimation() { | 617 void RenderWidgetCompositor::ScheduleAnimation() { |
| 625 widget_->ScheduleAnimation(); | 618 widget_->scheduleAnimation(); |
| 626 // ScheduleAnimation alone doesn't trigger a redraw. | |
| 627 // ScheduleComposite here to send an artifical invalidation. | |
| 628 ScheduleComposite(); | |
| 629 } | 619 } |
| 630 | 620 |
| 631 void RenderWidgetCompositor::DidPostSwapBuffers() { | 621 void RenderWidgetCompositor::DidPostSwapBuffers() { |
| 632 widget_->OnSwapBuffersPosted(); | 622 widget_->OnSwapBuffersPosted(); |
| 633 } | 623 } |
| 634 | 624 |
| 635 void RenderWidgetCompositor::DidAbortSwapBuffers() { | 625 void RenderWidgetCompositor::DidAbortSwapBuffers() { |
| 636 widget_->OnSwapBuffersAborted(); | 626 widget_->OnSwapBuffersAborted(); |
| 637 } | 627 } |
| 638 | 628 |
| 639 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { | 629 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { |
| 640 cc::ContextProvider* provider = | 630 cc::ContextProvider* provider = |
| 641 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); | 631 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); |
| 642 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); | 632 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); |
| 643 } | 633 } |
| 644 | 634 |
| 645 } // namespace content | 635 } // namespace content |
| OLD | NEW |