diff options
author | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-28 05:35:54 +0000 |
---|---|---|
committer | enne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-28 05:35:54 +0000 |
commit | 1120afabccebfc07f6d6990b2696508f4a2f5ccc (patch) | |
tree | 87c7bb2c6aa8d53a763b2a0e4784c35197de8a3d /content/renderer | |
parent | ccf251570a3e16fa1cebc24ac8f8a3a3f05aabd1 (diff) | |
download | chromium_src-1120afabccebfc07f6d6990b2696508f4a2f5ccc.zip chromium_src-1120afabccebfc07f6d6990b2696508f4a2f5ccc.tar.gz chromium_src-1120afabccebfc07f6d6990b2696508f4a2f5ccc.tar.bz2 |
Make SingleThreadProxy a SchedulerClient
This makes ui::Compositor no longer in charge of
scheduling commits and draws, deferring it to cc::Scheduler.
BUG=329552, 287250
Review URL: https://codereview.chromium.org/134623005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@280493 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer')
-rw-r--r-- | content/renderer/gpu/render_widget_compositor.cc | 30 | ||||
-rw-r--r-- | content/renderer/gpu/render_widget_compositor.h | 4 | ||||
-rw-r--r-- | content/renderer/render_widget.cc | 2 |
3 files changed, 5 insertions, 31 deletions
diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc index 33612b0..997021e 100644 --- a/content/renderer/gpu/render_widget_compositor.cc +++ b/content/renderer/gpu/render_widget_compositor.cc @@ -320,7 +320,6 @@ scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create( RenderWidgetCompositor::RenderWidgetCompositor(RenderWidget* widget, bool threaded) : threaded_(threaded), - suppress_schedule_composite_(false), widget_(widget) { } @@ -332,26 +331,13 @@ RenderWidgetCompositor::GetInputHandler() { } void RenderWidgetCompositor::SetSuppressScheduleComposite(bool suppress) { - if (suppress_schedule_composite_ == suppress) - return; - - if (suppress) - TRACE_EVENT_ASYNC_BEGIN0("gpu", - "RenderWidgetCompositor::SetSuppressScheduleComposite", this); - else - TRACE_EVENT_ASYNC_END0("gpu", - "RenderWidgetCompositor::SetSuppressScheduleComposite", this); - suppress_schedule_composite_ = suppress; + layer_tree_host_->SetDeferCommits(suppress); } bool RenderWidgetCompositor::BeginMainFrameRequested() const { return layer_tree_host_->BeginMainFrameRequested(); } -void RenderWidgetCompositor::UpdateAnimations(base::TimeTicks time) { - layer_tree_host_->UpdateClientAnimations(time); -} - void RenderWidgetCompositor::SetNeedsDisplayOnAllLayers() { layer_tree_host_->SetNeedsDisplayOnAllLayers(); } @@ -444,7 +430,10 @@ void RenderWidgetCompositor::Initialize(cc::LayerTreeSettings settings) { } void RenderWidgetCompositor::setSurfaceReady() { - layer_tree_host_->SetLayerTreeHostClientReady(); + // In tests without a RenderThreadImpl, don't set ready as this kicks + // off creating output surfaces that the test can't create. + if (RenderThreadImpl::current()) + layer_tree_host_->SetLayerTreeHostClientReady(); } void RenderWidgetCompositor::setRootLayer(const blink::WebLayer& layer) { @@ -683,15 +672,6 @@ void RenderWidgetCompositor::DidCompleteSwapBuffers() { widget_->OnSwapBuffersComplete(); } -void RenderWidgetCompositor::ScheduleComposite() { - if (!suppress_schedule_composite_) - widget_->scheduleComposite(); -} - -void RenderWidgetCompositor::ScheduleAnimation() { - widget_->scheduleAnimation(); -} - void RenderWidgetCompositor::DidPostSwapBuffers() { widget_->OnSwapBuffersPosted(); } diff --git a/content/renderer/gpu/render_widget_compositor.h b/content/renderer/gpu/render_widget_compositor.h index 4160df2..adcc73d 100644 --- a/content/renderer/gpu/render_widget_compositor.h +++ b/content/renderer/gpu/render_widget_compositor.h @@ -46,7 +46,6 @@ class RenderWidgetCompositor : public blink::WebLayerTreeView, const base::WeakPtr<cc::InputHandler>& GetInputHandler(); void SetSuppressScheduleComposite(bool suppress); bool BeginMainFrameRequested() const; - void UpdateAnimations(base::TimeTicks time); void SetNeedsDisplayOnAllLayers(); void SetRasterizeOnlyVisibleContent(); void UpdateTopControlsState(cc::TopControlsState constraints, @@ -138,8 +137,6 @@ class RenderWidgetCompositor : public blink::WebLayerTreeView, virtual void RateLimitSharedMainThreadContext() OVERRIDE; // cc::LayerTreeHostSingleThreadClient implementation. - virtual void ScheduleComposite() OVERRIDE; - virtual void ScheduleAnimation() OVERRIDE; virtual void DidPostSwapBuffers() OVERRIDE; virtual void DidAbortSwapBuffers() OVERRIDE; @@ -149,7 +146,6 @@ class RenderWidgetCompositor : public blink::WebLayerTreeView, void Initialize(cc::LayerTreeSettings settings); bool threaded_; - bool suppress_schedule_composite_; RenderWidget* widget_; scoped_ptr<cc::LayerTreeHost> layer_tree_host_; }; diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc index 7d6583a..3912568 100644 --- a/content/renderer/render_widget.cc +++ b/content/renderer/render_widget.cc @@ -1184,8 +1184,6 @@ void RenderWidget::suppressCompositorScheduling(bool enable) { void RenderWidget::willBeginCompositorFrame() { TRACE_EVENT0("gpu", "RenderWidget::willBeginCompositorFrame"); - DCHECK(RenderThreadImpl::current()->compositor_message_loop_proxy().get()); - // The following two can result in further layout and possibly // enable GPU acceleration so they need to be called before any painting // is done. |