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

Unified Diff: android_webview/browser/test/rendering_test.cc

Issue 1911433002: Refactor BrowserViewRenderer-RenderThreadManager relationship. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: test comments; delete hardware renderer immediately when we change compositor_frame_consumer_ 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 side-by-side diff with in-line comments
Download patch
Index: android_webview/browser/test/rendering_test.cc
diff --git a/android_webview/browser/test/rendering_test.cc b/android_webview/browser/test/rendering_test.cc
index 0149400214eac752ccbb3c632682f3a2c04a0e82..5c203272205aa4901fe4761ef6575f02e3f4f2ca 100644
--- a/android_webview/browser/test/rendering_test.cc
+++ b/android_webview/browser/test/rendering_test.cc
@@ -16,6 +16,30 @@
namespace android_webview {
+namespace {
+// BrowserViewRenderer subclass used for enabling tests to observe
+// OnParentDrawConstraintsUpdated.
+class TestBrowserViewRenderer : public BrowserViewRenderer {
+ public:
+ TestBrowserViewRenderer(
+ RenderingTest* rendering_test,
+ const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner,
+ bool disable_page_visibility)
+ : BrowserViewRenderer(rendering_test,
+ ui_task_runner,
+ disable_page_visibility),
+ rendering_test_(rendering_test) {}
+
+ void OnParentDrawConstraintsUpdated() override {
+ BrowserViewRenderer::OnParentDrawConstraintsUpdated();
+ rendering_test_->OnParentDrawConstraintsUpdated();
+ }
+
+ private:
+ RenderingTest* const rendering_test_;
+};
+}
+
RenderingTest::RenderingTest() : message_loop_(new base::MessageLoop) {
ui_task_runner_ = base::ThreadTaskRunnerHandle::Get();
}
@@ -30,13 +54,22 @@ void RenderingTest::SetUpTestHarness() {
DCHECK(!render_thread_manager_.get());
render_thread_manager_.reset(
new RenderThreadManager(this, base::ThreadTaskRunnerHandle::Get()));
- browser_view_renderer_.reset(new BrowserViewRenderer(
+ browser_view_renderer_.reset(new TestBrowserViewRenderer(
this, base::ThreadTaskRunnerHandle::Get(), false));
- browser_view_renderer_->SetRenderThreadManager(render_thread_manager_.get());
+ browser_view_renderer_->SetCompositorFrameConsumer(
+ render_thread_manager_.get());
InitializeCompositor();
Attach();
}
+CompositorFrameConsumer* RenderingTest::GetCompositorFrameConsumer() {
+ return render_thread_manager_.get();
+}
+
+CompositorFrameProducer* RenderingTest::GetCompositorFrameProducer() {
+ return browser_view_renderer_.get();
+}
+
void RenderingTest::InitializeCompositor() {
DCHECK(!compositor_.get());
DCHECK(browser_view_renderer_.get());
@@ -114,10 +147,6 @@ void RenderingTest::PostInvalidate() {
window_->PostInvalidate();
}
-void RenderingTest::OnParentDrawConstraintsUpdated() {
- browser_view_renderer_->OnParentDrawConstraintsUpdated();
-}
-
void RenderingTest::DetachFunctorFromView() {
}

Powered by Google App Engine
This is Rietveld 408576698