summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authorenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-28 05:35:54 +0000
committerenne@chromium.org <enne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-28 05:35:54 +0000
commit1120afabccebfc07f6d6990b2696508f4a2f5ccc (patch)
tree87c7bb2c6aa8d53a763b2a0e4784c35197de8a3d /content/renderer
parentccf251570a3e16fa1cebc24ac8f8a3a3f05aabd1 (diff)
downloadchromium_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.cc30
-rw-r--r--content/renderer/gpu/render_widget_compositor.h4
-rw-r--r--content/renderer/render_widget.cc2
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.