Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(265)

Side by Side Diff: android_webview/browser/test/rendering_test.h

Issue 1816283005: Move SharedRendererState ownership to AwContents (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: All tests passing Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef ANDROID_WEBVIEW_BROWSER_TEST_RENDERING_TEST_H_ 5 #ifndef ANDROID_WEBVIEW_BROWSER_TEST_RENDERING_TEST_H_
6 #define ANDROID_WEBVIEW_BROWSER_TEST_RENDERING_TEST_H_ 6 #define ANDROID_WEBVIEW_BROWSER_TEST_RENDERING_TEST_H_
7 7
8 #include "android_webview/browser/browser_view_renderer_client.h" 8 #include "android_webview/browser/browser_view_renderer_client.h"
9 #include "android_webview/browser/shared_renderer_state_client.h"
9 #include "android_webview/browser/test/fake_window.h" 10 #include "android_webview/browser/test/fake_window.h"
10 #include "base/macros.h" 11 #include "base/macros.h"
11 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
12 #include "base/single_thread_task_runner.h" 13 #include "base/single_thread_task_runner.h"
13 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
14 15
15 namespace base { 16 namespace base {
16 class MessageLoop; 17 class MessageLoop;
17 } 18 }
18 19
19 namespace cc { 20 namespace cc {
20 class CompositorFrame; 21 class CompositorFrame;
21 } 22 }
22 23
23 namespace content { 24 namespace content {
24 class TestSynchronousCompositor; 25 class TestSynchronousCompositor;
25 } 26 }
26 27
27 namespace android_webview { 28 namespace android_webview {
28 29
29 class BrowserViewRenderer; 30 class BrowserViewRenderer;
30 class FakeWindow; 31 class FakeWindow;
31 struct ParentCompositorDrawConstraints; 32 struct ParentCompositorDrawConstraints;
32 33
33 class RenderingTest : public testing::Test, 34 class RenderingTest : public testing::Test,
34 public BrowserViewRendererClient, 35 public BrowserViewRendererClient,
36 public SharedRendererStateClient,
35 public WindowHooks { 37 public WindowHooks {
36 public: 38 public:
37 // BrowserViewRendererClient overrides. 39 // BrowserViewRendererClient overrides.
38 bool RequestDrawGL(bool wait_for_completion) override;
39 void OnNewPicture() override; 40 void OnNewPicture() override;
40 void PostInvalidate() override; 41 void PostInvalidate() override;
41 void DetachFunctorFromView() override;
42 gfx::Point GetLocationOnScreen() override; 42 gfx::Point GetLocationOnScreen() override;
43 void ScrollContainerViewTo(const gfx::Vector2d& new_value) override {} 43 void ScrollContainerViewTo(const gfx::Vector2d& new_value) override {}
44 void UpdateScrollState(const gfx::Vector2d& max_scroll_offset, 44 void UpdateScrollState(const gfx::Vector2d& max_scroll_offset,
45 const gfx::SizeF& contents_size_dip, 45 const gfx::SizeF& contents_size_dip,
46 float page_scale_factor, 46 float page_scale_factor,
47 float min_page_scale_factor, 47 float min_page_scale_factor,
48 float max_page_scale_factor) override {} 48 float max_page_scale_factor) override {}
49 void DidOverscroll(const gfx::Vector2d& overscroll_delta, 49 void DidOverscroll(const gfx::Vector2d& overscroll_delta,
50 const gfx::Vector2dF& overscroll_velocity) override {} 50 const gfx::Vector2dF& overscroll_velocity) override {}
51 void ParentDrawConstraintsUpdated( 51 void ParentDrawConstraintsUpdated(
52 const ParentCompositorDrawConstraints& draw_constraints) override {} 52 const ParentCompositorDrawConstraints& draw_constraints) override {}
53
54 // SharedRendererStateClient overrides.
55 void UpdateParentDrawConstraints() override;
56 bool RequestDrawGL(bool wait_for_completion) override;
57 void DetachFunctorFromView() override;
58
53 // WindowHooks overrides. 59 // WindowHooks overrides.
54 void WillOnDraw() override; 60 void WillOnDraw() override;
55 void DidOnDraw(bool success) override {} 61 void DidOnDraw(bool success) override {}
56 void WillSyncOnRT(SharedRendererState* functor) override {} 62 void WillSyncOnRT(SharedRendererState* functor) override {}
57 void DidSyncOnRT(SharedRendererState* functor) override {} 63 void DidSyncOnRT(SharedRendererState* functor) override {}
58 void WillProcessOnRT(SharedRendererState* functor) override {} 64 void WillProcessOnRT(SharedRendererState* functor) override {}
59 void DidProcessOnRT(SharedRendererState* functor) override {} 65 void DidProcessOnRT(SharedRendererState* functor) override {}
60 bool WillDrawOnRT(SharedRendererState* functor, 66 bool WillDrawOnRT(SharedRendererState* functor,
61 AwDrawGLInfo* draw_info) override; 67 AwDrawGLInfo* draw_info) override;
62 void DidDrawOnRT(SharedRendererState* functor) override {} 68 void DidDrawOnRT(SharedRendererState* functor) override {}
63 69
64 protected: 70 protected:
65 71
66 RenderingTest(); 72 RenderingTest();
67 ~RenderingTest() override; 73 ~RenderingTest() override;
68 74
69 virtual void SetUpTestHarness(); 75 virtual void SetUpTestHarness();
70 virtual void StartTest(); 76 virtual void StartTest();
71 77
72 void RunTest(); 78 void RunTest();
73 void InitializeCompositor(); 79 void InitializeCompositor();
74 void Attach(); 80 void Attach();
75 void EndTest(); 81 void EndTest();
76 scoped_ptr<cc::CompositorFrame> ConstructEmptyFrame(); 82 scoped_ptr<cc::CompositorFrame> ConstructEmptyFrame();
77 83
78 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; 84 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_;
79 scoped_ptr<BrowserViewRenderer> browser_view_renderer_; 85 scoped_ptr<BrowserViewRenderer> browser_view_renderer_;
86 scoped_ptr<SharedRendererState> shared_renderer_state_;
boliu 2016/03/30 16:12:13 need to be above BVR like in aw_contents
Tobias Sargeant 2016/03/30 17:17:17 Done.
80 scoped_ptr<content::TestSynchronousCompositor> compositor_; 87 scoped_ptr<content::TestSynchronousCompositor> compositor_;
81 scoped_ptr<FakeWindow> window_; 88 scoped_ptr<FakeWindow> window_;
82 89
83 private: 90 private:
84 void QuitMessageLoop(); 91 void QuitMessageLoop();
85 92
86 const scoped_ptr<base::MessageLoop> message_loop_; 93 const scoped_ptr<base::MessageLoop> message_loop_;
87 94
88 DISALLOW_COPY_AND_ASSIGN(RenderingTest); 95 DISALLOW_COPY_AND_ASSIGN(RenderingTest);
89 }; 96 };
90 97
91 #define RENDERING_TEST_F(TEST_FIXTURE_NAME) \ 98 #define RENDERING_TEST_F(TEST_FIXTURE_NAME) \
92 TEST_F(TEST_FIXTURE_NAME, RunTest) { RunTest(); } \ 99 TEST_F(TEST_FIXTURE_NAME, RunTest) { RunTest(); } \
93 class NeedsSemicolon##TEST_FIXTURE_NAME {} 100 class NeedsSemicolon##TEST_FIXTURE_NAME {}
94 101
95 } // namespace android_webview 102 } // namespace android_webview
96 103
97 #endif // ANDROID_WEBVIEW_BROWSER_TEST_RENDERING_TEST_H_ 104 #endif // ANDROID_WEBVIEW_BROWSER_TEST_RENDERING_TEST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698