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

Side by Side Diff: content/browser/browser_plugin/test_browser_plugin_guest.cc

Issue 251593004: Remove SW rendering path code from BrowserPlugin. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase after test file change commit Created 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/browser/browser_plugin/test_browser_plugin_guest.h" 5 #include "content/browser/browser_plugin/test_browser_plugin_guest.h"
6 6
7 #include "base/test/test_timeouts.h" 7 #include "base/test/test_timeouts.h"
8 #include "content/browser/renderer_host/render_view_host_impl.h" 8 #include "content/browser/renderer_host/render_view_host_impl.h"
9 #include "content/browser/web_contents/web_contents_impl.h" 9 #include "content/browser/web_contents/web_contents_impl.h"
10 #include "content/common/browser_plugin/browser_plugin_messages.h" 10 #include "content/common/browser_plugin/browser_plugin_messages.h"
11 11
12 namespace content { 12 namespace content {
13 13
14 class BrowserPluginGuest; 14 class BrowserPluginGuest;
15 15
16 TestBrowserPluginGuest::TestBrowserPluginGuest( 16 TestBrowserPluginGuest::TestBrowserPluginGuest(
17 int instance_id, 17 int instance_id,
18 WebContentsImpl* web_contents) 18 WebContentsImpl* web_contents)
19 : BrowserPluginGuest(instance_id, false, web_contents, NULL), 19 : BrowserPluginGuest(instance_id, false, web_contents, NULL),
20 update_rect_count_(0), 20 update_rect_count_(0),
21 damage_buffer_call_count_(0),
22 exit_observed_(false), 21 exit_observed_(false),
23 focus_observed_(false), 22 focus_observed_(false),
24 blur_observed_(false), 23 blur_observed_(false),
25 advance_focus_observed_(false), 24 advance_focus_observed_(false),
26 was_hidden_observed_(false), 25 was_hidden_observed_(false),
27 set_damage_buffer_observed_(false),
28 input_observed_(false), 26 input_observed_(false),
29 load_stop_observed_(false), 27 load_stop_observed_(false),
30 ime_cancel_observed_(false), 28 ime_cancel_observed_(false) {
31 waiting_for_damage_buffer_with_size_(false),
32 last_damage_buffer_size_(gfx::Size()) {
33 } 29 }
34 30
35 TestBrowserPluginGuest::~TestBrowserPluginGuest() { 31 TestBrowserPluginGuest::~TestBrowserPluginGuest() {
36 } 32 }
37 33
38 WebContentsImpl* TestBrowserPluginGuest::web_contents() const { 34 WebContentsImpl* TestBrowserPluginGuest::web_contents() const {
39 return static_cast<WebContentsImpl*>(BrowserPluginGuest::web_contents()); 35 return static_cast<WebContentsImpl*>(BrowserPluginGuest::web_contents());
40 } 36 }
41 37
42 void TestBrowserPluginGuest::SendMessageToEmbedder(IPC::Message* msg) { 38 void TestBrowserPluginGuest::SendMessageToEmbedder(IPC::Message* msg) {
(...skipping 19 matching lines...) Expand all
62 if (update_rect_count_ > 0) 58 if (update_rect_count_ > 0)
63 return; 59 return;
64 send_message_loop_runner_ = new MessageLoopRunner(); 60 send_message_loop_runner_ = new MessageLoopRunner();
65 send_message_loop_runner_->Run(); 61 send_message_loop_runner_->Run();
66 } 62 }
67 63
68 void TestBrowserPluginGuest::ResetUpdateRectCount() { 64 void TestBrowserPluginGuest::ResetUpdateRectCount() {
69 update_rect_count_ = 0; 65 update_rect_count_ = 0;
70 } 66 }
71 67
72 void TestBrowserPluginGuest::WaitForDamageBufferWithSize(
73 const gfx::Size& size) {
74 if (damage_buffer_call_count_ > 0 && last_damage_buffer_size_ == size)
75 return;
76
77 expected_damage_buffer_size_ = size;
78 waiting_for_damage_buffer_with_size_ = true;
79 damage_buffer_message_loop_runner_ = new MessageLoopRunner();
80 damage_buffer_message_loop_runner_->Run();
81 }
82
83 void TestBrowserPluginGuest::RenderProcessGone(base::TerminationStatus status) { 68 void TestBrowserPluginGuest::RenderProcessGone(base::TerminationStatus status) {
84 exit_observed_ = true; 69 exit_observed_ = true;
85 if (status != base::TERMINATION_STATUS_NORMAL_TERMINATION && 70 if (status != base::TERMINATION_STATUS_NORMAL_TERMINATION &&
86 status != base::TERMINATION_STATUS_STILL_RUNNING) 71 status != base::TERMINATION_STATUS_STILL_RUNNING)
87 VLOG(0) << "Guest crashed status: " << status; 72 VLOG(0) << "Guest crashed status: " << status;
88 if (crash_message_loop_runner_) 73 if (crash_message_loop_runner_)
89 crash_message_loop_runner_->Quit(); 74 crash_message_loop_runner_->Quit();
90 BrowserPluginGuest::RenderProcessGone(status); 75 BrowserPluginGuest::RenderProcessGone(status);
91 } 76 }
92 77
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 if (ime_cancel_observed_) { 171 if (ime_cancel_observed_) {
187 ime_cancel_observed_ = false; 172 ime_cancel_observed_ = false;
188 return; 173 return;
189 } 174 }
190 175
191 ime_cancel_message_loop_runner_ = new MessageLoopRunner(); 176 ime_cancel_message_loop_runner_ = new MessageLoopRunner();
192 ime_cancel_message_loop_runner_->Run(); 177 ime_cancel_message_loop_runner_->Run();
193 ime_cancel_observed_ = false; 178 ime_cancel_observed_ = false;
194 } 179 }
195 180
181 void TestBrowserPluginGuest::WaitForResizeGuest(const gfx::Size& view_size) {
182 if (last_size_observed_in_resize_ == view_size) {
183 last_size_observed_in_resize_ = gfx::Size();
184 return;
185 }
186
187 expected_view_size_in_resize_ = view_size;
188 resize_guest_message_loop_runner_ = new MessageLoopRunner();
189 resize_guest_message_loop_runner_->Run();
190 last_size_observed_in_resize_ = gfx::Size();
191 }
192
196 void TestBrowserPluginGuest::OnSetFocus(int instance_id, bool focused) { 193 void TestBrowserPluginGuest::OnSetFocus(int instance_id, bool focused) {
197 if (focused) { 194 if (focused) {
198 focus_observed_ = true; 195 focus_observed_ = true;
199 if (focus_message_loop_runner_) 196 if (focus_message_loop_runner_)
200 focus_message_loop_runner_->Quit(); 197 focus_message_loop_runner_->Quit();
201 } else { 198 } else {
202 blur_observed_ = true; 199 blur_observed_ = true;
203 if (blur_message_loop_runner_) 200 if (blur_message_loop_runner_)
204 blur_message_loop_runner_->Quit(); 201 blur_message_loop_runner_->Quit();
205 } 202 }
206 BrowserPluginGuest::OnSetFocus(instance_id, focused); 203 BrowserPluginGuest::OnSetFocus(instance_id, focused);
207 } 204 }
208 205
209 void TestBrowserPluginGuest::OnTakeFocus(bool reverse) { 206 void TestBrowserPluginGuest::OnTakeFocus(bool reverse) {
210 advance_focus_observed_ = true; 207 advance_focus_observed_ = true;
211 if (advance_focus_message_loop_runner_) 208 if (advance_focus_message_loop_runner_)
212 advance_focus_message_loop_runner_->Quit(); 209 advance_focus_message_loop_runner_->Quit();
213 BrowserPluginGuest::OnTakeFocus(reverse); 210 BrowserPluginGuest::OnTakeFocus(reverse);
214 } 211 }
215 212
216 void TestBrowserPluginGuest::SetDamageBuffer(
217 const BrowserPluginHostMsg_ResizeGuest_Params& params) {
218 ++damage_buffer_call_count_;
219 last_damage_buffer_size_ = params.view_rect.size();
220
221 if (waiting_for_damage_buffer_with_size_ &&
222 expected_damage_buffer_size_ == params.view_rect.size() &&
223 damage_buffer_message_loop_runner_) {
224 damage_buffer_message_loop_runner_->Quit();
225 waiting_for_damage_buffer_with_size_ = false;
226 }
227
228 BrowserPluginGuest::SetDamageBuffer(params);
229 }
230
231 void TestBrowserPluginGuest::DidStopLoading( 213 void TestBrowserPluginGuest::DidStopLoading(
232 RenderViewHost* render_view_host) { 214 RenderViewHost* render_view_host) {
233 BrowserPluginGuest::DidStopLoading(render_view_host); 215 BrowserPluginGuest::DidStopLoading(render_view_host);
234 load_stop_observed_ = true; 216 load_stop_observed_ = true;
235 if (load_stop_message_loop_runner_) 217 if (load_stop_message_loop_runner_)
236 load_stop_message_loop_runner_->Quit(); 218 load_stop_message_loop_runner_->Quit();
237 } 219 }
238 220
239 void TestBrowserPluginGuest::OnImeCancelComposition() { 221 void TestBrowserPluginGuest::OnImeCancelComposition() {
240 if (!ime_cancel_observed_) { 222 if (!ime_cancel_observed_) {
241 ime_cancel_observed_ = true; 223 ime_cancel_observed_ = true;
242 if (ime_cancel_message_loop_runner_) 224 if (ime_cancel_message_loop_runner_)
243 ime_cancel_message_loop_runner_->Quit(); 225 ime_cancel_message_loop_runner_->Quit();
244 } 226 }
245 BrowserPluginGuest::OnImeCancelComposition(); 227 BrowserPluginGuest::OnImeCancelComposition();
246 } 228 }
247 229
230 void TestBrowserPluginGuest::OnResizeGuest(
231 int instance_id,
232 const BrowserPluginHostMsg_ResizeGuest_Params& params) {
233 last_size_observed_in_resize_ = params.view_rect.size();
234 if (last_size_observed_in_resize_ == expected_view_size_in_resize_ &&
235 resize_guest_message_loop_runner_) {
236 resize_guest_message_loop_runner_->Quit();
237 }
238
239 BrowserPluginGuest::OnResizeGuest(instance_id, params);
240 }
241
248 void TestBrowserPluginGuest::WasHidden() { 242 void TestBrowserPluginGuest::WasHidden() {
249 was_hidden_observed_ = true; 243 was_hidden_observed_ = true;
250 if (was_hidden_message_loop_runner_) 244 if (was_hidden_message_loop_runner_)
251 was_hidden_message_loop_runner_->Quit(); 245 was_hidden_message_loop_runner_->Quit();
252 } 246 }
253 247
254 } // namespace content 248 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698