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 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
352 void RenderWidgetCompositor::SetOverdrawBottomHeight( | 352 void RenderWidgetCompositor::SetOverdrawBottomHeight( |
353 float overdraw_bottom_height) { | 353 float overdraw_bottom_height) { |
354 layer_tree_host_->SetOverdrawBottomHeight(overdraw_bottom_height); | 354 layer_tree_host_->SetOverdrawBottomHeight(overdraw_bottom_height); |
355 } | 355 } |
356 | 356 |
357 void RenderWidgetCompositor::SetNeedsRedrawRect(gfx::Rect damage_rect) { | 357 void RenderWidgetCompositor::SetNeedsRedrawRect(gfx::Rect damage_rect) { |
358 layer_tree_host_->SetNeedsRedrawRect(damage_rect); | 358 layer_tree_host_->SetNeedsRedrawRect(damage_rect); |
359 } | 359 } |
360 | 360 |
361 void RenderWidgetCompositor::SetNeedsForcedRedraw() { | 361 void RenderWidgetCompositor::SetNeedsForcedRedraw() { |
362 layer_tree_host_->SetNextCommitForcesRedraw(); | 362 layer_tree_host_->set_next_commit_forces_redraw(); |
363 setNeedsAnimate(); | 363 setNeedsUpdateLayers(); |
364 } | 364 } |
365 | 365 |
366 scoped_ptr<cc::SwapPromiseMonitor> | 366 scoped_ptr<cc::SwapPromiseMonitor> |
367 RenderWidgetCompositor::CreateLatencyInfoSwapPromiseMonitor( | 367 RenderWidgetCompositor::CreateLatencyInfoSwapPromiseMonitor( |
368 ui::LatencyInfo* latency) { | 368 ui::LatencyInfo* latency) { |
369 return scoped_ptr<cc::SwapPromiseMonitor>( | 369 return scoped_ptr<cc::SwapPromiseMonitor>( |
370 new cc::LatencyInfoSwapPromiseMonitor( | 370 new cc::LatencyInfoSwapPromiseMonitor( |
371 latency, layer_tree_host_.get(), NULL)); | 371 latency, layer_tree_host_.get(), NULL)); |
372 } | 372 } |
373 | 373 |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
472 double duration_sec) { | 472 double duration_sec) { |
473 base::TimeDelta duration = base::TimeDelta::FromMicroseconds( | 473 base::TimeDelta duration = base::TimeDelta::FromMicroseconds( |
474 duration_sec * base::Time::kMicrosecondsPerSecond); | 474 duration_sec * base::Time::kMicrosecondsPerSecond); |
475 layer_tree_host_->StartPageScaleAnimation( | 475 layer_tree_host_->StartPageScaleAnimation( |
476 gfx::Vector2d(destination.x, destination.y), | 476 gfx::Vector2d(destination.x, destination.y), |
477 use_anchor, | 477 use_anchor, |
478 new_page_scale, | 478 new_page_scale, |
479 duration); | 479 duration); |
480 } | 480 } |
481 | 481 |
| 482 // Renamed. Staged for removal. |
482 void RenderWidgetCompositor::setNeedsAnimate() { | 483 void RenderWidgetCompositor::setNeedsAnimate() { |
483 layer_tree_host_->SetNeedsAnimate(); | 484 setNeedsUpdateLayers(); |
484 } | 485 } |
485 | 486 |
| 487 void RenderWidgetCompositor::setNeedsUpdateLayers() { |
| 488 layer_tree_host_->SetNeedsUpdateLayers(); |
| 489 } |
| 490 |
| 491 // Unused. Staged for removal. |
486 bool RenderWidgetCompositor::commitRequested() const { | 492 bool RenderWidgetCompositor::commitRequested() const { |
487 return layer_tree_host_->CommitRequested(); | 493 NOTREACHED(); |
| 494 return false; |
488 } | 495 } |
489 | 496 |
490 void RenderWidgetCompositor::didStopFlinging() { | 497 void RenderWidgetCompositor::didStopFlinging() { |
491 layer_tree_host_->DidStopFlinging(); | 498 layer_tree_host_->DidStopFlinging(); |
492 } | 499 } |
493 | 500 |
494 void RenderWidgetCompositor::registerForAnimations(blink::WebLayer* layer) { | 501 void RenderWidgetCompositor::registerForAnimations(blink::WebLayer* layer) { |
495 cc::Layer* cc_layer = static_cast<webkit::WebLayerImpl*>(layer)->layer(); | 502 cc::Layer* cc_layer = static_cast<webkit::WebLayerImpl*>(layer)->layer(); |
496 cc_layer->layer_animation_controller()->SetAnimationRegistrar( | 503 cc_layer->layer_animation_controller()->SetAnimationRegistrar( |
497 layer_tree_host_->animation_registrar()); | 504 layer_tree_host_->animation_registrar()); |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
615 widget_->OnSwapBuffersComplete(); | 622 widget_->OnSwapBuffersComplete(); |
616 } | 623 } |
617 | 624 |
618 scoped_refptr<cc::ContextProvider> | 625 scoped_refptr<cc::ContextProvider> |
619 RenderWidgetCompositor::OffscreenContextProvider() { | 626 RenderWidgetCompositor::OffscreenContextProvider() { |
620 return RenderThreadImpl::current()->OffscreenCompositorContextProvider(); | 627 return RenderThreadImpl::current()->OffscreenCompositorContextProvider(); |
621 } | 628 } |
622 | 629 |
623 void RenderWidgetCompositor::ScheduleComposite() { | 630 void RenderWidgetCompositor::ScheduleComposite() { |
624 if (!suppress_schedule_composite_) | 631 if (!suppress_schedule_composite_) |
625 widget_->scheduleComposite(); | 632 widget_->ScheduleComposite(); |
626 } | 633 } |
627 | 634 |
628 void RenderWidgetCompositor::ScheduleAnimation() { | 635 void RenderWidgetCompositor::ScheduleAnimation() { |
629 widget_->scheduleAnimation(); | 636 widget_->ScheduleAnimation(); |
| 637 // ScheduleAnimation alone doesn't trigger a redraw. |
| 638 // ScheduleComposite here to send an artifical invalidation. |
| 639 ScheduleComposite(); |
630 } | 640 } |
631 | 641 |
632 void RenderWidgetCompositor::DidPostSwapBuffers() { | 642 void RenderWidgetCompositor::DidPostSwapBuffers() { |
633 widget_->OnSwapBuffersPosted(); | 643 widget_->OnSwapBuffersPosted(); |
634 } | 644 } |
635 | 645 |
636 void RenderWidgetCompositor::DidAbortSwapBuffers() { | 646 void RenderWidgetCompositor::DidAbortSwapBuffers() { |
637 widget_->OnSwapBuffersAborted(); | 647 widget_->OnSwapBuffersAborted(); |
638 } | 648 } |
639 | 649 |
640 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { | 650 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { |
641 cc::ContextProvider* provider = | 651 cc::ContextProvider* provider = |
642 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); | 652 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); |
643 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); | 653 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); |
644 } | 654 } |
645 | 655 |
646 } // namespace content | 656 } // namespace content |
OLD | NEW |