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 |