Home | History | Annotate | Download | only in test
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CONTENT_TEST_WEB_LAYER_TREE_VIEW_IMPL_FOR_TESTING_H_
      6 #define CONTENT_TEST_WEB_LAYER_TREE_VIEW_IMPL_FOR_TESTING_H_
      7 
      8 #include "base/memory/scoped_ptr.h"
      9 #include "cc/trees/layer_tree_host_client.h"
     10 #include "cc/trees/layer_tree_host_single_thread_client.h"
     11 #include "third_party/WebKit/public/platform/WebLayerTreeView.h"
     12 
     13 namespace cc {
     14 class LayerTreeHost;
     15 }
     16 
     17 namespace blink { class WebLayer; }
     18 
     19 namespace content {
     20 
     21 class WebLayerTreeViewImplForTesting
     22     : public blink::WebLayerTreeView,
     23       public cc::LayerTreeHostClient,
     24       public cc::LayerTreeHostSingleThreadClient {
     25  public:
     26   WebLayerTreeViewImplForTesting();
     27   virtual ~WebLayerTreeViewImplForTesting();
     28 
     29   void Initialize();
     30 
     31   // blink::WebLayerTreeView implementation.
     32   virtual void setSurfaceReady();
     33   virtual void setRootLayer(const blink::WebLayer& layer);
     34   virtual void clearRootLayer();
     35   virtual void setViewportSize(const blink::WebSize& unused_deprecated,
     36                                const blink::WebSize& device_viewport_size);
     37   virtual void setViewportSize(const blink::WebSize& device_viewport_size);
     38   virtual blink::WebSize layoutViewportSize() const;
     39   virtual blink::WebSize deviceViewportSize() const;
     40   virtual void setDeviceScaleFactor(float scale_factor);
     41   virtual float deviceScaleFactor() const;
     42   virtual void setBackgroundColor(blink::WebColor);
     43   virtual void setHasTransparentBackground(bool transparent);
     44   virtual void setVisible(bool visible);
     45   virtual void setPageScaleFactorAndLimits(float page_scale_factor,
     46                                            float minimum,
     47                                            float maximum);
     48   virtual void startPageScaleAnimation(const blink::WebPoint& destination,
     49                                        bool use_anchor,
     50                                        float new_page_scale,
     51                                        double duration_sec);
     52   virtual void setNeedsAnimate();
     53   virtual bool commitRequested() const;
     54   virtual void didStopFlinging();
     55   virtual void finishAllRendering();
     56   virtual void setDeferCommits(bool defer_commits);
     57   virtual void registerViewportLayers(
     58       const blink::WebLayer* pageScaleLayerLayer,
     59       const blink::WebLayer* innerViewportScrollLayer,
     60       const blink::WebLayer* outerViewportScrollLayer) OVERRIDE;
     61   virtual void clearViewportLayers() OVERRIDE;
     62   virtual void registerSelection(
     63       const blink::WebSelectionBound& start,
     64       const blink::WebSelectionBound& end) OVERRIDE;
     65   virtual void clearSelection() OVERRIDE;
     66 
     67   // cc::LayerTreeHostClient implementation.
     68   virtual void WillBeginMainFrame(int frame_id) OVERRIDE {}
     69   virtual void DidBeginMainFrame() OVERRIDE {}
     70   virtual void BeginMainFrame(const cc::BeginFrameArgs& args) OVERRIDE {}
     71   virtual void Layout() OVERRIDE;
     72   virtual void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta,
     73                                    float page_scale,
     74                                    float top_controls_delta) OVERRIDE;
     75   virtual void RequestNewOutputSurface(bool fallback) OVERRIDE;
     76   virtual void DidInitializeOutputSurface() OVERRIDE {}
     77   virtual void WillCommit() OVERRIDE {}
     78   virtual void DidCommit() OVERRIDE {}
     79   virtual void DidCommitAndDrawFrame() OVERRIDE {}
     80   virtual void DidCompleteSwapBuffers() OVERRIDE {}
     81 
     82   // cc::LayerTreeHostSingleThreadClient implementation.
     83   virtual void DidPostSwapBuffers() OVERRIDE {}
     84   virtual void DidAbortSwapBuffers() OVERRIDE {}
     85 
     86  private:
     87   scoped_ptr<cc::LayerTreeHost> layer_tree_host_;
     88 
     89   DISALLOW_COPY_AND_ASSIGN(WebLayerTreeViewImplForTesting);
     90 };
     91 
     92 }  // namespace content
     93 
     94 #endif  // CONTENT_TEST_WEB_LAYER_TREE_VIEW_IMPL_FOR_TESTING_H_
     95