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 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 741 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
752 } | 752 } |
753 | 753 |
754 void RenderWidgetCompositor::DidBeginMainFrame() { | 754 void RenderWidgetCompositor::DidBeginMainFrame() { |
755 widget_->InstrumentDidBeginFrame(); | 755 widget_->InstrumentDidBeginFrame(); |
756 } | 756 } |
757 | 757 |
758 void RenderWidgetCompositor::BeginMainFrame(const cc::BeginFrameArgs& args) { | 758 void RenderWidgetCompositor::BeginMainFrame(const cc::BeginFrameArgs& args) { |
759 VLOG(2) << "RenderWidgetCompositor::BeginMainFrame"; | 759 VLOG(2) << "RenderWidgetCompositor::BeginMainFrame"; |
760 begin_main_frame_time_ = args.frame_time; | 760 begin_main_frame_time_ = args.frame_time; |
761 begin_main_frame_interval_ = args.interval; | 761 begin_main_frame_interval_ = args.interval; |
762 double frame_time = (args.frame_time - base::TimeTicks()).InSecondsF(); | 762 double frame_time_sec = (args.frame_time - base::TimeTicks()).InSecondsF(); |
763 WebBeginFrameArgs web_begin_frame_args = WebBeginFrameArgs(frame_time); | 763 double deadline_sec = (args.deadline - base::TimeTicks()).InSecondsF(); |
764 double interval_sec = args.interval.InSecondsF(); | |
picksi1
2014/09/02 14:50:40
Is base::TimeTicks() potentially slow? Should we c
Sami
2014/09/02 14:53:30
It only constructs a TimeTicks instance that holds
| |
765 WebBeginFrameArgs web_begin_frame_args = | |
766 WebBeginFrameArgs(frame_time_sec, deadline_sec, interval_sec); | |
764 widget_->webwidget()->beginFrame(web_begin_frame_args); | 767 widget_->webwidget()->beginFrame(web_begin_frame_args); |
765 } | 768 } |
766 | 769 |
767 void RenderWidgetCompositor::Layout() { | 770 void RenderWidgetCompositor::Layout() { |
768 widget_->webwidget()->layout(); | 771 widget_->webwidget()->layout(); |
769 } | 772 } |
770 | 773 |
771 void RenderWidgetCompositor::ApplyScrollAndScale( | 774 void RenderWidgetCompositor::ApplyScrollAndScale( |
772 const gfx::Vector2d& scroll_delta, | 775 const gfx::Vector2d& scroll_delta, |
773 float page_scale) { | 776 float page_scale) { |
(...skipping 20 matching lines...) Expand all Loading... | |
794 if (idle_time > base::TimeDelta()) { | 797 if (idle_time > base::TimeDelta()) { |
795 // Convert to 32-bit microseconds first to avoid costly 64-bit division. | 798 // Convert to 32-bit microseconds first to avoid costly 64-bit division. |
796 int32 idle_time_in_us = idle_time.InMicroseconds(); | 799 int32 idle_time_in_us = idle_time.InMicroseconds(); |
797 int32 idle_time_in_ms = idle_time_in_us / 1000; | 800 int32 idle_time_in_ms = idle_time_in_us / 1000; |
798 blink::mainThreadIsolate()->IdleNotification(idle_time_in_ms); | 801 blink::mainThreadIsolate()->IdleNotification(idle_time_in_ms); |
799 } | 802 } |
800 } | 803 } |
801 | 804 |
802 widget_->DidCommitCompositorFrame(); | 805 widget_->DidCommitCompositorFrame(); |
803 widget_->didBecomeReadyForAdditionalInput(); | 806 widget_->didBecomeReadyForAdditionalInput(); |
807 widget_->webwidget()->didCommitFrameToCompositor(); | |
804 } | 808 } |
805 | 809 |
806 void RenderWidgetCompositor::DidCommitAndDrawFrame() { | 810 void RenderWidgetCompositor::DidCommitAndDrawFrame() { |
807 widget_->didCommitAndDrawCompositorFrame(); | 811 widget_->didCommitAndDrawCompositorFrame(); |
808 } | 812 } |
809 | 813 |
810 void RenderWidgetCompositor::DidCompleteSwapBuffers() { | 814 void RenderWidgetCompositor::DidCompleteSwapBuffers() { |
811 widget_->didCompleteSwapBuffers(); | 815 widget_->didCompleteSwapBuffers(); |
812 if (!threaded_) | 816 if (!threaded_) |
813 widget_->OnSwapBuffersComplete(); | 817 widget_->OnSwapBuffersComplete(); |
(...skipping 11 matching lines...) Expand all Loading... | |
825 widget_->OnSwapBuffersAborted(); | 829 widget_->OnSwapBuffersAborted(); |
826 } | 830 } |
827 | 831 |
828 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { | 832 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { |
829 cc::ContextProvider* provider = | 833 cc::ContextProvider* provider = |
830 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); | 834 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); |
831 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); | 835 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); |
832 } | 836 } |
833 | 837 |
834 } // namespace content | 838 } // namespace content |
OLD | NEW |