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

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

Issue 1943963003: WIP Handle AwContents needing multiple live functors. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments from PS17 Created 4 years, 7 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 a3b78aac88f69120a2c90e9dc8cfee0e976e8f8f..1c92f34e98b05d64b3335cf9e75260e5680eed68 100644
--- a/android_webview/browser/test/rendering_test.cc
+++ b/android_webview/browser/test/rendering_test.cc
@@ -29,8 +29,10 @@ class TestBrowserViewRenderer : public BrowserViewRenderer {
~TestBrowserViewRenderer() override {}
- void OnParentDrawConstraintsUpdated() override {
- BrowserViewRenderer::OnParentDrawConstraintsUpdated();
+ void OnParentDrawConstraintsUpdated(
+ CompositorFrameConsumer* compositor_frame_consumer) override {
+ BrowserViewRenderer::OnParentDrawConstraintsUpdated(
+ compositor_frame_consumer);
rendering_test_->OnParentDrawConstraintsUpdated();
}
@@ -51,19 +53,23 @@ RenderingTest::~RenderingTest() {
void RenderingTest::SetUpTestHarness() {
DCHECK(!browser_view_renderer_.get());
- DCHECK(!render_thread_manager_.get());
- render_thread_manager_.reset(
- new RenderThreadManager(this, base::ThreadTaskRunnerHandle::Get()));
- browser_view_renderer_.reset(new TestBrowserViewRenderer(
- this, base::ThreadTaskRunnerHandle::Get()));
- browser_view_renderer_->SetCompositorFrameConsumer(
- render_thread_manager_.get());
+ DCHECK(!functor_.get());
+ browser_view_renderer_.reset(
+ new TestBrowserViewRenderer(this, base::ThreadTaskRunnerHandle::Get()));
InitializeCompositor();
- Attach();
+ std::unique_ptr<FakeWindow> window(
+ new FakeWindow(browser_view_renderer_.get(), this, gfx::Rect(100, 100)));
+ functor_.reset(new FakeFunctor);
+ functor_->Init(window.get(),
+ base::WrapUnique(new RenderThreadManager(
+ functor_.get(), base::ThreadTaskRunnerHandle::Get())));
+ browser_view_renderer_->SetCurrentCompositorFrameConsumer(
+ functor_->GetCompositorFrameConsumer());
+ window_ = std::move(window);
}
CompositorFrameConsumer* RenderingTest::GetCompositorFrameConsumer() {
- return render_thread_manager_.get();
+ return functor_->GetCompositorFrameConsumer();
}
CompositorFrameProducer* RenderingTest::GetCompositorFrameProducer() {
@@ -77,14 +83,6 @@ void RenderingTest::InitializeCompositor() {
compositor_->SetClient(browser_view_renderer_.get());
}
-void RenderingTest::Attach() {
- window_.reset(
- new FakeWindow(browser_view_renderer_.get(),
- base::Bind(&RenderThreadManager::DrawGL,
- base::Unretained(render_thread_manager_.get())),
- this, gfx::Rect(100, 100)));
-}
-
void RenderingTest::RunTest() {
SetUpTestHarness();
@@ -130,16 +128,15 @@ std::unique_ptr<cc::CompositorFrame> RenderingTest::ConstructFrame(
return compositor_frame;
}
+FakeFunctor* RenderingTest::GetFunctor() {
+ return functor_.get();
+}
+
void RenderingTest::WillOnDraw() {
DCHECK(compositor_);
compositor_->SetHardwareFrame(0u, ConstructEmptyFrame());
}
-bool RenderingTest::RequestInvokeGL(bool wait_for_completion) {
- window_->RequestInvokeGL(wait_for_completion);
- return true;
-}
-
bool RenderingTest::WillDrawOnRT(AwDrawGLInfo* draw_info) {
draw_info->width = window_->surface_size().width();
draw_info->height = window_->surface_size().height();
@@ -156,8 +153,6 @@ void RenderingTest::PostInvalidate() {
window_->PostInvalidate();
}
-void RenderingTest::DetachFunctorFromView() {}
-
gfx::Point RenderingTest::GetLocationOnScreen() {
return gfx::Point();
}
« no previous file with comments | « android_webview/browser/test/rendering_test.h ('k') | android_webview/java/src/org/chromium/android_webview/AwContents.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698