| 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 |