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. 64 virtual void WillBeginMainFrame(int frame_id) OVERRIDE {} 65 virtual void DidBeginMainFrame() OVERRIDE {} 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; 72 virtual void DidInitializeOutputSurface() OVERRIDE {} 73 virtual void WillCommit() OVERRIDE {} 74 virtual void DidCommit() OVERRIDE {} 75 virtual void DidCommitAndDrawFrame() OVERRIDE {} 76 virtual void DidCompleteSwapBuffers() OVERRIDE {} 77 78 // cc::LayerTreeHostSingleThreadClient implementation. 79 virtual void ScheduleComposite() OVERRIDE {} 80 virtual void ScheduleAnimation() OVERRIDE {} 81 virtual void DidPostSwapBuffers() OVERRIDE {} 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