Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / content / renderer / gpu / render_widget_compositor.h
index 5e4cadf..e0541ec 100644 (file)
@@ -9,8 +9,8 @@
 #include "base/memory/weak_ptr.h"
 #include "base/time/time.h"
 #include "base/values.h"
+#include "cc/base/swap_promise.h"
 #include "cc/base/swap_promise_monitor.h"
-#include "cc/debug/rendering_stats.h"
 #include "cc/input/top_controls_state.h"
 #include "cc/trees/layer_tree_host_client.h"
 #include "cc/trees/layer_tree_host_single_thread_client.h"
@@ -46,11 +46,9 @@ class RenderWidgetCompositor : public blink::WebLayerTreeView,
   const base::WeakPtr<cc::InputHandler>& GetInputHandler();
   void SetSuppressScheduleComposite(bool suppress);
   bool BeginMainFrameRequested() const;
-  void Animate(base::TimeTicks time);
-  void Composite(base::TimeTicks frame_begin_time);
+  void UpdateAnimations(base::TimeTicks time);
   void SetNeedsDisplayOnAllLayers();
   void SetRasterizeOnlyVisibleContent();
-  void GetRenderingStats(cc::RenderingStats* stats);
   void UpdateTopControlsState(cc::TopControlsState constraints,
                               cc::TopControlsState current,
                               bool animate);
@@ -66,13 +64,19 @@ class RenderWidgetCompositor : public blink::WebLayerTreeView,
   // into a LatencyInfoSwapPromise.
   scoped_ptr<cc::SwapPromiseMonitor> CreateLatencyInfoSwapPromiseMonitor(
       ui::LatencyInfo* latency);
+  // Calling QueueSwapPromise() to directly queue a SwapPromise into
+  // LayerTreeHost.
+  void QueueSwapPromise(scoped_ptr<cc::SwapPromise> swap_promise);
   int GetLayerTreeId() const;
+  int GetSourceFrameNumber() const;
+  void SetNeedsCommit();
   void NotifyInputThrottledUntilCommit();
   const cc::Layer* GetRootLayer() const;
-  bool ScheduleMicroBenchmark(
+  int ScheduleMicroBenchmark(
       const std::string& name,
       scoped_ptr<base::Value> value,
       const base::Callback<void(scoped_ptr<base::Value>)>& callback);
+  bool SendMessageToMicroBenchmark(int id, scoped_ptr<base::Value> value);
 
   // WebLayerTreeView implementation.
   virtual void setSurfaceReady();
@@ -81,6 +85,7 @@ class RenderWidgetCompositor : public blink::WebLayerTreeView,
   virtual void setViewportSize(
       const blink::WebSize& unused_deprecated,
       const blink::WebSize& device_viewport_size);
+  virtual void setViewportSize(const blink::WebSize& device_viewport_size);
   virtual blink::WebSize layoutViewportSize() const;
   virtual blink::WebSize deviceViewportSize() const;
   virtual blink::WebFloatPoint adjustEventPointForPinchZoom(
@@ -98,10 +103,12 @@ class RenderWidgetCompositor : public blink::WebLayerTreeView,
                                        bool use_anchor,
                                        float new_page_scale,
                                        double duration_sec);
+  virtual void heuristicsForGpuRasterizationUpdated(bool matches_heuristics);
   virtual void setNeedsAnimate();
   virtual bool commitRequested() const;
   virtual void didStopFlinging();
-  virtual bool compositeAndReadback(void *pixels, const blink::WebRect& rect);
+  virtual void compositeAndReadbackAsync(
+      blink::WebCompositeAndReadbackAsyncCallback* callback);
   virtual void finishAllRendering();
   virtual void setDeferCommits(bool defer_commits);
   virtual void registerForAnimations(blink::WebLayer* layer);
@@ -110,7 +117,9 @@ class RenderWidgetCompositor : public blink::WebLayerTreeView,
       const blink::WebLayer* innerViewportScrollLayer,
       const blink::WebLayer* outerViewportScrollLayer) OVERRIDE;
   virtual void clearViewportLayers() OVERRIDE;
-  virtual void renderingStats(blink::WebRenderingStats& stats) const {}
+  virtual void registerSelection(const blink::WebSelectionBound& start,
+                                 const blink::WebSelectionBound& end) OVERRIDE;
+  virtual void clearSelection() OVERRIDE;
   virtual void setShowFPSCounter(bool show);
   virtual void setShowPaintRects(bool show);
   virtual void setShowDebugBorders(bool show);
@@ -120,19 +129,17 @@ class RenderWidgetCompositor : public blink::WebLayerTreeView,
   // cc::LayerTreeHostClient implementation.
   virtual void WillBeginMainFrame(int frame_id) OVERRIDE;
   virtual void DidBeginMainFrame() OVERRIDE;
-  virtual void Animate(double frame_begin_time) OVERRIDE;
+  virtual void Animate(base::TimeTicks frame_begin_time) OVERRIDE;
   virtual void Layout() OVERRIDE;
-  virtual void ApplyScrollAndScale(gfx::Vector2d scroll_delta,
+  virtual void ApplyScrollAndScale(const gfx::Vector2d& scroll_delta,
                                    float page_scale) OVERRIDE;
   virtual scoped_ptr<cc::OutputSurface> CreateOutputSurface(bool fallback)
       OVERRIDE;
-  virtual void DidInitializeOutputSurface(bool success) OVERRIDE;
+  virtual void DidInitializeOutputSurface() OVERRIDE;
   virtual void WillCommit() OVERRIDE;
   virtual void DidCommit() OVERRIDE;
   virtual void DidCommitAndDrawFrame() OVERRIDE;
   virtual void DidCompleteSwapBuffers() OVERRIDE;
-  virtual scoped_refptr<cc::ContextProvider>
-      OffscreenContextProvider() OVERRIDE;
   virtual void RateLimitSharedMainThreadContext() OVERRIDE;
 
   // cc::LayerTreeHostSingleThreadClient implementation.