OLD | NEW |
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" |
(...skipping 30 matching lines...) Expand all Loading... |
41 | 41 |
42 void TestBrowserPluginGuest::SendMessageToEmbedder(IPC::Message* msg) { | 42 void TestBrowserPluginGuest::SendMessageToEmbedder(IPC::Message* msg) { |
43 if (msg->type() == BrowserPluginMsg_UpdateRect::ID) { | 43 if (msg->type() == BrowserPluginMsg_UpdateRect::ID) { |
44 update_rect_count_++; | 44 update_rect_count_++; |
45 int instance_id = 0; | 45 int instance_id = 0; |
46 BrowserPluginMsg_UpdateRect_Params params; | 46 BrowserPluginMsg_UpdateRect_Params params; |
47 BrowserPluginMsg_UpdateRect::Read(msg, &instance_id, ¶ms); | 47 BrowserPluginMsg_UpdateRect::Read(msg, &instance_id, ¶ms); |
48 last_view_size_observed_ = params.view_size; | 48 last_view_size_observed_ = params.view_size; |
49 if (!expected_auto_view_size_.IsEmpty() && | 49 if (!expected_auto_view_size_.IsEmpty() && |
50 expected_auto_view_size_ == params.view_size) { | 50 expected_auto_view_size_ == params.view_size) { |
51 if (auto_view_size_message_loop_runner_.get()) | 51 if (auto_view_size_message_loop_runner_) |
52 auto_view_size_message_loop_runner_->Quit(); | 52 auto_view_size_message_loop_runner_->Quit(); |
53 } | 53 } |
54 if (send_message_loop_runner_.get()) | 54 if (send_message_loop_runner_) |
55 send_message_loop_runner_->Quit(); | 55 send_message_loop_runner_->Quit(); |
56 } | 56 } |
57 BrowserPluginGuest::SendMessageToEmbedder(msg); | 57 BrowserPluginGuest::SendMessageToEmbedder(msg); |
58 } | 58 } |
59 | 59 |
60 void TestBrowserPluginGuest::WaitForUpdateRectMsg() { | 60 void TestBrowserPluginGuest::WaitForUpdateRectMsg() { |
61 // Check if we already got any UpdateRect message. | 61 // Check if we already got any UpdateRect message. |
62 if (update_rect_count_ > 0) | 62 if (update_rect_count_ > 0) |
63 return; | 63 return; |
64 send_message_loop_runner_ = new MessageLoopRunner(); | 64 send_message_loop_runner_ = new MessageLoopRunner(); |
(...skipping 13 matching lines...) Expand all Loading... |
78 waiting_for_damage_buffer_with_size_ = true; | 78 waiting_for_damage_buffer_with_size_ = true; |
79 damage_buffer_message_loop_runner_ = new MessageLoopRunner(); | 79 damage_buffer_message_loop_runner_ = new MessageLoopRunner(); |
80 damage_buffer_message_loop_runner_->Run(); | 80 damage_buffer_message_loop_runner_->Run(); |
81 } | 81 } |
82 | 82 |
83 void TestBrowserPluginGuest::RenderProcessGone(base::TerminationStatus status) { | 83 void TestBrowserPluginGuest::RenderProcessGone(base::TerminationStatus status) { |
84 exit_observed_ = true; | 84 exit_observed_ = true; |
85 if (status != base::TERMINATION_STATUS_NORMAL_TERMINATION && | 85 if (status != base::TERMINATION_STATUS_NORMAL_TERMINATION && |
86 status != base::TERMINATION_STATUS_STILL_RUNNING) | 86 status != base::TERMINATION_STATUS_STILL_RUNNING) |
87 VLOG(0) << "Guest crashed status: " << status; | 87 VLOG(0) << "Guest crashed status: " << status; |
88 if (crash_message_loop_runner_.get()) | 88 if (crash_message_loop_runner_) |
89 crash_message_loop_runner_->Quit(); | 89 crash_message_loop_runner_->Quit(); |
90 BrowserPluginGuest::RenderProcessGone(status); | 90 BrowserPluginGuest::RenderProcessGone(status); |
91 } | 91 } |
92 | 92 |
93 void TestBrowserPluginGuest::OnHandleInputEvent( | 93 void TestBrowserPluginGuest::OnHandleInputEvent( |
94 int instance_id, | 94 int instance_id, |
95 const gfx::Rect& guest_window_rect, | 95 const gfx::Rect& guest_window_rect, |
96 const blink::WebInputEvent* event) { | 96 const blink::WebInputEvent* event) { |
97 BrowserPluginGuest::OnHandleInputEvent(instance_id, | 97 BrowserPluginGuest::OnHandleInputEvent(instance_id, |
98 guest_window_rect, | 98 guest_window_rect, |
99 event); | 99 event); |
100 input_observed_ = true; | 100 input_observed_ = true; |
101 if (input_message_loop_runner_.get()) | 101 if (input_message_loop_runner_) |
102 input_message_loop_runner_->Quit(); | 102 input_message_loop_runner_->Quit(); |
103 } | 103 } |
104 | 104 |
105 void TestBrowserPluginGuest::WaitForExit() { | 105 void TestBrowserPluginGuest::WaitForExit() { |
106 // Check if we already observed a guest crash, return immediately if so. | 106 // Check if we already observed a guest crash, return immediately if so. |
107 if (exit_observed_) | 107 if (exit_observed_) |
108 return; | 108 return; |
109 | 109 |
110 crash_message_loop_runner_ = new MessageLoopRunner(); | 110 crash_message_loop_runner_ = new MessageLoopRunner(); |
111 crash_message_loop_runner_->Run(); | 111 crash_message_loop_runner_->Run(); |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 } | 189 } |
190 | 190 |
191 ime_cancel_message_loop_runner_ = new MessageLoopRunner(); | 191 ime_cancel_message_loop_runner_ = new MessageLoopRunner(); |
192 ime_cancel_message_loop_runner_->Run(); | 192 ime_cancel_message_loop_runner_->Run(); |
193 ime_cancel_observed_ = false; | 193 ime_cancel_observed_ = false; |
194 } | 194 } |
195 | 195 |
196 void TestBrowserPluginGuest::OnSetFocus(int instance_id, bool focused) { | 196 void TestBrowserPluginGuest::OnSetFocus(int instance_id, bool focused) { |
197 if (focused) { | 197 if (focused) { |
198 focus_observed_ = true; | 198 focus_observed_ = true; |
199 if (focus_message_loop_runner_.get()) | 199 if (focus_message_loop_runner_) |
200 focus_message_loop_runner_->Quit(); | 200 focus_message_loop_runner_->Quit(); |
201 } else { | 201 } else { |
202 blur_observed_ = true; | 202 blur_observed_ = true; |
203 if (blur_message_loop_runner_.get()) | 203 if (blur_message_loop_runner_) |
204 blur_message_loop_runner_->Quit(); | 204 blur_message_loop_runner_->Quit(); |
205 } | 205 } |
206 BrowserPluginGuest::OnSetFocus(instance_id, focused); | 206 BrowserPluginGuest::OnSetFocus(instance_id, focused); |
207 } | 207 } |
208 | 208 |
209 void TestBrowserPluginGuest::OnTakeFocus(bool reverse) { | 209 void TestBrowserPluginGuest::OnTakeFocus(bool reverse) { |
210 advance_focus_observed_ = true; | 210 advance_focus_observed_ = true; |
211 if (advance_focus_message_loop_runner_.get()) | 211 if (advance_focus_message_loop_runner_) |
212 advance_focus_message_loop_runner_->Quit(); | 212 advance_focus_message_loop_runner_->Quit(); |
213 BrowserPluginGuest::OnTakeFocus(reverse); | 213 BrowserPluginGuest::OnTakeFocus(reverse); |
214 } | 214 } |
215 | 215 |
216 void TestBrowserPluginGuest::SetDamageBuffer( | 216 void TestBrowserPluginGuest::SetDamageBuffer( |
217 const BrowserPluginHostMsg_ResizeGuest_Params& params) { | 217 const BrowserPluginHostMsg_ResizeGuest_Params& params) { |
218 ++damage_buffer_call_count_; | 218 ++damage_buffer_call_count_; |
219 last_damage_buffer_size_ = params.view_rect.size(); | 219 last_damage_buffer_size_ = params.view_rect.size(); |
220 | 220 |
221 if (waiting_for_damage_buffer_with_size_ && | 221 if (waiting_for_damage_buffer_with_size_ && |
222 expected_damage_buffer_size_ == params.view_rect.size() && | 222 expected_damage_buffer_size_ == params.view_rect.size() && |
223 damage_buffer_message_loop_runner_.get()) { | 223 damage_buffer_message_loop_runner_) { |
224 damage_buffer_message_loop_runner_->Quit(); | 224 damage_buffer_message_loop_runner_->Quit(); |
225 waiting_for_damage_buffer_with_size_ = false; | 225 waiting_for_damage_buffer_with_size_ = false; |
226 } | 226 } |
227 | 227 |
228 BrowserPluginGuest::SetDamageBuffer(params); | 228 BrowserPluginGuest::SetDamageBuffer(params); |
229 } | 229 } |
230 | 230 |
231 void TestBrowserPluginGuest::DidStopLoading( | 231 void TestBrowserPluginGuest::DidStopLoading( |
232 RenderViewHost* render_view_host) { | 232 RenderViewHost* render_view_host) { |
233 BrowserPluginGuest::DidStopLoading(render_view_host); | 233 BrowserPluginGuest::DidStopLoading(render_view_host); |
234 load_stop_observed_ = true; | 234 load_stop_observed_ = true; |
235 if (load_stop_message_loop_runner_.get()) | 235 if (load_stop_message_loop_runner_) |
236 load_stop_message_loop_runner_->Quit(); | 236 load_stop_message_loop_runner_->Quit(); |
237 } | 237 } |
238 | 238 |
239 void TestBrowserPluginGuest::OnImeCancelComposition() { | 239 void TestBrowserPluginGuest::OnImeCancelComposition() { |
240 if (!ime_cancel_observed_) { | 240 if (!ime_cancel_observed_) { |
241 ime_cancel_observed_ = true; | 241 ime_cancel_observed_ = true; |
242 if (ime_cancel_message_loop_runner_.get()) | 242 if (ime_cancel_message_loop_runner_) |
243 ime_cancel_message_loop_runner_->Quit(); | 243 ime_cancel_message_loop_runner_->Quit(); |
244 } | 244 } |
245 BrowserPluginGuest::OnImeCancelComposition(); | 245 BrowserPluginGuest::OnImeCancelComposition(); |
246 } | 246 } |
247 | 247 |
248 void TestBrowserPluginGuest::WasHidden() { | 248 void TestBrowserPluginGuest::WasHidden() { |
249 was_hidden_observed_ = true; | 249 was_hidden_observed_ = true; |
250 if (was_hidden_message_loop_runner_.get()) | 250 if (was_hidden_message_loop_runner_) |
251 was_hidden_message_loop_runner_->Quit(); | 251 was_hidden_message_loop_runner_->Quit(); |
252 } | 252 } |
253 | 253 |
254 } // namespace content | 254 } // namespace content |
OLD | NEW |