Reland "content: Enable CompositorImageAnimation by default."

This reverts commit 2319141ff21e89976641299051172f8f211d47cf.

[email protected]
[email protected], [email protected]

Bug: 776216
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I36744f2939f565ce2e89a5d7c850dfcd138b70cb
Reviewed-on: https://chromium-review.googlesource.com/918122
Reviewed-by: Khushal <[email protected]>
Reviewed-by: Chris Harrelson <[email protected]>
Commit-Queue: Khushal <[email protected]>
Cr-Commit-Position: refs/heads/master@{#537261}
diff --git a/content/renderer/gpu/render_widget_compositor.h b/content/renderer/gpu/render_widget_compositor.h
index f95eed7..a8a87ae 100644
--- a/content/renderer/gpu/render_widget_compositor.h
+++ b/content/renderer/gpu/render_widget_compositor.h
@@ -154,6 +154,7 @@
       blink::WebLayoutAndPaintAsyncCallback* callback) override;
   void CompositeAndReadbackAsync(
       blink::WebCompositeAndReadbackAsyncCallback* callback) override;
+  void SynchronouslyCompositeNoRasterForTesting() override;
   void SetDeferCommits(bool defer_commits) override;
   void RegisterViewportLayers(
       const blink::WebLayerTreeView::ViewportLayers& viewport_layers) override;
@@ -234,10 +235,10 @@
  private:
   void SetLayerTreeFrameSink(
       std::unique_ptr<cc::LayerTreeFrameSink> layer_tree_frame_sink);
-  void LayoutAndUpdateLayers();
   void InvokeLayoutAndPaintCallback();
   bool CompositeIsSynchronous() const;
-  void SynchronouslyComposite();
+  void SynchronouslyComposite(bool raster,
+                              std::unique_ptr<cc::SwapPromise> swap_promise);
 
   RenderWidgetCompositorDelegate* const delegate_;
   CompositorDependencies* const compositor_deps_;
@@ -249,6 +250,7 @@
 
   bool layer_tree_frame_sink_request_failed_while_invisible_ = false;
 
+  bool in_synchronous_compositor_update_ = false;
   blink::WebLayoutAndPaintAsyncCallback* layout_and_paint_async_callback_;
 
   viz::FrameSinkId frame_sink_id_;