OLD | NEW |
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 #include "android_webview/browser/test/rendering_test.h" | 5 #include "android_webview/browser/test/rendering_test.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "android_webview/browser/browser_view_renderer.h" | 9 #include "android_webview/browser/browser_view_renderer.h" |
10 #include "android_webview/browser/child_frame.h" | 10 #include "android_webview/browser/child_frame.h" |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 ui_task_runner_->PostTask( | 60 ui_task_runner_->PostTask( |
61 FROM_HERE, | 61 FROM_HERE, |
62 base::Bind(&RenderingTest::QuitMessageLoop, base::Unretained(this))); | 62 base::Bind(&RenderingTest::QuitMessageLoop, base::Unretained(this))); |
63 } | 63 } |
64 | 64 |
65 void RenderingTest::QuitMessageLoop() { | 65 void RenderingTest::QuitMessageLoop() { |
66 DCHECK_EQ(base::MessageLoop::current(), message_loop_.get()); | 66 DCHECK_EQ(base::MessageLoop::current(), message_loop_.get()); |
67 message_loop_->QuitWhenIdle(); | 67 message_loop_->QuitWhenIdle(); |
68 } | 68 } |
69 | 69 |
70 void RenderingTest::SetCompositorFrame() { | 70 scoped_ptr<cc::CompositorFrame> RenderingTest::ConstructEmptyFrame() { |
71 DCHECK(compositor_.get()); | |
72 scoped_ptr<cc::CompositorFrame> compositor_frame(new cc::CompositorFrame); | 71 scoped_ptr<cc::CompositorFrame> compositor_frame(new cc::CompositorFrame); |
73 scoped_ptr<cc::DelegatedFrameData> frame(new cc::DelegatedFrameData); | 72 scoped_ptr<cc::DelegatedFrameData> frame(new cc::DelegatedFrameData); |
74 scoped_ptr<cc::RenderPass> root_pass(cc::RenderPass::Create()); | 73 scoped_ptr<cc::RenderPass> root_pass(cc::RenderPass::Create()); |
75 gfx::Rect viewport(browser_view_renderer_->size()); | 74 gfx::Rect viewport(browser_view_renderer_->size()); |
76 root_pass->SetNew(cc::RenderPassId(1, 1), viewport, viewport, | 75 root_pass->SetNew(cc::RenderPassId(1, 1), viewport, viewport, |
77 gfx::Transform()); | 76 gfx::Transform()); |
78 frame->render_pass_list.push_back(std::move(root_pass)); | 77 frame->render_pass_list.push_back(std::move(root_pass)); |
79 compositor_frame->delegated_frame_data = std::move(frame); | 78 compositor_frame->delegated_frame_data = std::move(frame); |
80 compositor_->SetHardwareFrame(std::move(compositor_frame)); | 79 return compositor_frame; |
81 } | 80 } |
82 | 81 |
83 void RenderingTest::WillOnDraw() { | 82 void RenderingTest::WillOnDraw() { |
84 SetCompositorFrame(); | 83 DCHECK(compositor_); |
| 84 compositor_->SetHardwareFrame(0u, ConstructEmptyFrame()); |
85 } | 85 } |
86 | 86 |
87 bool RenderingTest::RequestDrawGL(bool wait_for_completion) { | 87 bool RenderingTest::RequestDrawGL(bool wait_for_completion) { |
88 window_->RequestDrawGL(wait_for_completion); | 88 window_->RequestDrawGL(wait_for_completion); |
89 return true; | 89 return true; |
90 } | 90 } |
91 | 91 |
92 bool RenderingTest::WillDrawOnRT(SharedRendererState* functor, | 92 bool RenderingTest::WillDrawOnRT(SharedRendererState* functor, |
93 AwDrawGLInfo* draw_info) { | 93 AwDrawGLInfo* draw_info) { |
94 draw_info->width = window_->surface_size().width(); | 94 draw_info->width = window_->surface_size().width(); |
95 draw_info->height = window_->surface_size().height(); | 95 draw_info->height = window_->surface_size().height(); |
96 draw_info->is_layer = false; | 96 draw_info->is_layer = false; |
97 gfx::Transform transform; | 97 gfx::Transform transform; |
98 transform.matrix().asColMajorf(draw_info->transform); | 98 transform.matrix().asColMajorf(draw_info->transform); |
99 return true; | 99 return true; |
100 } | 100 } |
101 | 101 |
102 void RenderingTest::OnNewPicture() { | 102 void RenderingTest::OnNewPicture() { |
103 } | 103 } |
104 | 104 |
105 void RenderingTest::PostInvalidate() { | 105 void RenderingTest::PostInvalidate() { |
106 window_->PostInvalidate(); | 106 if (window_) |
| 107 window_->PostInvalidate(); |
107 } | 108 } |
108 | 109 |
109 void RenderingTest::DetachFunctorFromView() { | 110 void RenderingTest::DetachFunctorFromView() { |
110 } | 111 } |
111 | 112 |
112 gfx::Point RenderingTest::GetLocationOnScreen() { | 113 gfx::Point RenderingTest::GetLocationOnScreen() { |
113 return gfx::Point(); | 114 return gfx::Point(); |
114 } | 115 } |
115 | 116 |
116 } // namespace android_webview | 117 } // namespace android_webview |
OLD | NEW |