• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
63   // cc::LayerTreeHostClient implementation.
WillBeginMainFrame(int frame_id)64   virtual void WillBeginMainFrame(int frame_id) OVERRIDE {}
DidBeginMainFrame()65   virtual void DidBeginMainFrame() OVERRIDE {}
Animate(base::TimeTicks frame_begin_time)66   virtual void Animate(base::TimeTicks frame_begin_time) OVERRIDE {}
67   virtual void Layout() OVERRIDE;
68   virtual void ApplyScrollAndScale(const gfx::Vector2d& scroll_delta,
69                                    float page_scale) OVERRIDE;
70   virtual scoped_ptr<cc::OutputSurface> CreateOutputSurface(bool fallback)
71       OVERRIDE;
DidInitializeOutputSurface()72   virtual void DidInitializeOutputSurface() OVERRIDE {}
WillCommit()73   virtual void WillCommit() OVERRIDE {}
DidCommit()74   virtual void DidCommit() OVERRIDE {}
DidCommitAndDrawFrame()75   virtual void DidCommitAndDrawFrame() OVERRIDE {}
DidCompleteSwapBuffers()76   virtual void DidCompleteSwapBuffers() OVERRIDE {}
77 
78   // cc::LayerTreeHostSingleThreadClient implementation.
ScheduleComposite()79   virtual void ScheduleComposite() OVERRIDE {}
ScheduleAnimation()80   virtual void ScheduleAnimation() OVERRIDE {}
DidPostSwapBuffers()81   virtual void DidPostSwapBuffers() OVERRIDE {}
DidAbortSwapBuffers()82   virtual void DidAbortSwapBuffers() OVERRIDE {}
83 
84  private:
85   scoped_ptr<cc::LayerTreeHost> layer_tree_host_;
86 
87   DISALLOW_COPY_AND_ASSIGN(WebLayerTreeViewImplForTesting);
88 };
89 
90 }  // namespace content
91 
92 #endif  // CONTENT_TEST_WEB_LAYER_TREE_VIEW_IMPL_FOR_TESTING_H_
93