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

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

Issue 281833003: BrowserPluginHostTest: Rewrite 3 focus related tests and 1 visibility test to browser_tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase @tott, fix conflict 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 "content/browser/renderer_host/render_view_host_impl.h" 7 #include "content/browser/renderer_host/render_view_host_impl.h"
8 #include "content/browser/web_contents/web_contents_impl.h" 8 #include "content/browser/web_contents/web_contents_impl.h"
9 #include "content/common/browser_plugin/browser_plugin_messages.h" 9 #include "content/common/browser_plugin/browser_plugin_messages.h"
10 10
11 namespace content { 11 namespace content {
12 12
13 class BrowserPluginGuest; 13 class BrowserPluginGuest;
14 14
15 TestBrowserPluginGuest::TestBrowserPluginGuest( 15 TestBrowserPluginGuest::TestBrowserPluginGuest(
16 int instance_id, 16 int instance_id,
17 WebContentsImpl* web_contents) 17 WebContentsImpl* web_contents)
18 : BrowserPluginGuest(instance_id, false, web_contents), 18 : BrowserPluginGuest(instance_id, false, web_contents),
19 update_rect_count_(0), 19 update_rect_count_(0),
20 focus_observed_(false),
21 blur_observed_(false),
22 advance_focus_observed_(false),
23 input_observed_(false), 20 input_observed_(false),
24 load_stop_observed_(false), 21 load_stop_observed_(false),
25 ime_cancel_observed_(false) { 22 ime_cancel_observed_(false) {
26 } 23 }
27 24
28 TestBrowserPluginGuest::~TestBrowserPluginGuest() { 25 TestBrowserPluginGuest::~TestBrowserPluginGuest() {
29 } 26 }
30 27
31 WebContentsImpl* TestBrowserPluginGuest::web_contents() const { 28 WebContentsImpl* TestBrowserPluginGuest::web_contents() const {
32 return static_cast<WebContentsImpl*>(BrowserPluginGuest::web_contents()); 29 return static_cast<WebContentsImpl*>(BrowserPluginGuest::web_contents());
33 } 30 }
34 31
35 void TestBrowserPluginGuest::SendMessageToEmbedder(IPC::Message* msg) { 32 void TestBrowserPluginGuest::SendMessageToEmbedder(IPC::Message* msg) {
36 if (msg->type() == BrowserPluginMsg_UpdateRect::ID) { 33 if (msg->type() == BrowserPluginMsg_UpdateRect::ID) {
37 update_rect_count_++; 34 update_rect_count_++;
38 BrowserPluginMsg_UpdateRect::Param param; 35 BrowserPluginMsg_UpdateRect::Param param;
39 BrowserPluginMsg_UpdateRect::Read(msg, &param); 36 BrowserPluginMsg_UpdateRect::Read(msg, &param);
40 BrowserPluginMsg_UpdateRect_Params params = param.b; 37 BrowserPluginMsg_UpdateRect_Params params = param.b;
41 last_view_size_observed_ = params.view_size;
42 if (!expected_auto_view_size_.IsEmpty() &&
43 expected_auto_view_size_ == params.view_size) {
44 if (auto_view_size_message_loop_runner_)
45 auto_view_size_message_loop_runner_->Quit();
46 }
47 if (send_message_loop_runner_) 38 if (send_message_loop_runner_)
48 send_message_loop_runner_->Quit(); 39 send_message_loop_runner_->Quit();
49 } 40 }
50 BrowserPluginGuest::SendMessageToEmbedder(msg); 41 BrowserPluginGuest::SendMessageToEmbedder(msg);
51 } 42 }
52 43
53 void TestBrowserPluginGuest::WaitForUpdateRectMsg() { 44 void TestBrowserPluginGuest::WaitForUpdateRectMsg() {
54 // Check if we already got any UpdateRect message. 45 // Check if we already got any UpdateRect message.
55 if (update_rect_count_ > 0) 46 if (update_rect_count_ > 0)
56 return; 47 return;
57 send_message_loop_runner_ = new MessageLoopRunner(); 48 send_message_loop_runner_ = new MessageLoopRunner();
58 send_message_loop_runner_->Run(); 49 send_message_loop_runner_->Run();
59 } 50 }
60 51
61 void TestBrowserPluginGuest::ResetUpdateRectCount() {
62 update_rect_count_ = 0;
63 }
64
65 void TestBrowserPluginGuest::OnHandleInputEvent( 52 void TestBrowserPluginGuest::OnHandleInputEvent(
66 int instance_id, 53 int instance_id,
67 const gfx::Rect& guest_window_rect, 54 const gfx::Rect& guest_window_rect,
68 const blink::WebInputEvent* event) { 55 const blink::WebInputEvent* event) {
69 BrowserPluginGuest::OnHandleInputEvent(instance_id, 56 BrowserPluginGuest::OnHandleInputEvent(instance_id,
70 guest_window_rect, 57 guest_window_rect,
71 event); 58 event);
72 input_observed_ = true; 59 input_observed_ = true;
73 if (input_message_loop_runner_) 60 if (input_message_loop_runner_)
74 input_message_loop_runner_->Quit(); 61 input_message_loop_runner_->Quit();
75 } 62 }
76 63
77 void TestBrowserPluginGuest::WaitForFocus() {
78 if (focus_observed_) {
79 focus_observed_ = false;
80 return;
81 }
82 focus_message_loop_runner_ = new MessageLoopRunner();
83 focus_message_loop_runner_->Run();
84 focus_observed_ = false;
85 }
86
87 void TestBrowserPluginGuest::WaitForBlur() {
88 if (blur_observed_) {
89 blur_observed_ = false;
90 return;
91 }
92 blur_message_loop_runner_ = new MessageLoopRunner();
93 blur_message_loop_runner_->Run();
94 blur_observed_ = false;
95 }
96
97 void TestBrowserPluginGuest::WaitForAdvanceFocus() {
98 if (advance_focus_observed_)
99 return;
100 advance_focus_message_loop_runner_ = new MessageLoopRunner();
101 advance_focus_message_loop_runner_->Run();
102 }
103
104 void TestBrowserPluginGuest::WaitForInput() { 64 void TestBrowserPluginGuest::WaitForInput() {
105 if (input_observed_) { 65 if (input_observed_) {
106 input_observed_ = false; 66 input_observed_ = false;
107 return; 67 return;
108 } 68 }
109 69
110 input_message_loop_runner_ = new MessageLoopRunner(); 70 input_message_loop_runner_ = new MessageLoopRunner();
111 input_message_loop_runner_->Run(); 71 input_message_loop_runner_->Run();
112 input_observed_ = false; 72 input_observed_ = false;
113 } 73 }
114 74
115 void TestBrowserPluginGuest::WaitForLoadStop() { 75 void TestBrowserPluginGuest::WaitForLoadStop() {
116 if (load_stop_observed_) { 76 if (load_stop_observed_) {
117 load_stop_observed_ = false; 77 load_stop_observed_ = false;
118 return; 78 return;
119 } 79 }
120 80
121 load_stop_message_loop_runner_ = new MessageLoopRunner(); 81 load_stop_message_loop_runner_ = new MessageLoopRunner();
122 load_stop_message_loop_runner_->Run(); 82 load_stop_message_loop_runner_->Run();
123 load_stop_observed_ = false; 83 load_stop_observed_ = false;
124 } 84 }
125 85
126 void TestBrowserPluginGuest::WaitForViewSize(const gfx::Size& view_size) {
127 if (last_view_size_observed_ == view_size) {
128 last_view_size_observed_ = gfx::Size();
129 return;
130 }
131
132 expected_auto_view_size_ = view_size;
133 auto_view_size_message_loop_runner_ = new MessageLoopRunner();
134 auto_view_size_message_loop_runner_->Run();
135 last_view_size_observed_ = gfx::Size();
136 }
137
138 void TestBrowserPluginGuest::WaitForImeCancel() { 86 void TestBrowserPluginGuest::WaitForImeCancel() {
139 if (ime_cancel_observed_) { 87 if (ime_cancel_observed_) {
140 ime_cancel_observed_ = false; 88 ime_cancel_observed_ = false;
141 return; 89 return;
142 } 90 }
143 91
144 ime_cancel_message_loop_runner_ = new MessageLoopRunner(); 92 ime_cancel_message_loop_runner_ = new MessageLoopRunner();
145 ime_cancel_message_loop_runner_->Run(); 93 ime_cancel_message_loop_runner_->Run();
146 ime_cancel_observed_ = false; 94 ime_cancel_observed_ = false;
147 } 95 }
148 96
149 void TestBrowserPluginGuest::OnSetFocus(int instance_id, bool focused) {
150 if (focused) {
151 focus_observed_ = true;
152 if (focus_message_loop_runner_)
153 focus_message_loop_runner_->Quit();
154 } else {
155 blur_observed_ = true;
156 if (blur_message_loop_runner_)
157 blur_message_loop_runner_->Quit();
158 }
159 BrowserPluginGuest::OnSetFocus(instance_id, focused);
160 }
161
162 void TestBrowserPluginGuest::OnTakeFocus(bool reverse) {
163 advance_focus_observed_ = true;
164 if (advance_focus_message_loop_runner_)
165 advance_focus_message_loop_runner_->Quit();
166 BrowserPluginGuest::OnTakeFocus(reverse);
167 }
168
169 void TestBrowserPluginGuest::DidStopLoading( 97 void TestBrowserPluginGuest::DidStopLoading(
170 RenderViewHost* render_view_host) { 98 RenderViewHost* render_view_host) {
171 BrowserPluginGuest::DidStopLoading(render_view_host); 99 BrowserPluginGuest::DidStopLoading(render_view_host);
172 load_stop_observed_ = true; 100 load_stop_observed_ = true;
173 if (load_stop_message_loop_runner_) 101 if (load_stop_message_loop_runner_)
174 load_stop_message_loop_runner_->Quit(); 102 load_stop_message_loop_runner_->Quit();
175 } 103 }
176 104
177 void TestBrowserPluginGuest::OnImeCancelComposition() { 105 void TestBrowserPluginGuest::OnImeCancelComposition() {
178 if (!ime_cancel_observed_) { 106 if (!ime_cancel_observed_) {
179 ime_cancel_observed_ = true; 107 ime_cancel_observed_ = true;
180 if (ime_cancel_message_loop_runner_) 108 if (ime_cancel_message_loop_runner_)
181 ime_cancel_message_loop_runner_->Quit(); 109 ime_cancel_message_loop_runner_->Quit();
182 } 110 }
183 BrowserPluginGuest::OnImeCancelComposition(); 111 BrowserPluginGuest::OnImeCancelComposition();
184 } 112 }
185 113
186 } // namespace content 114 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/browser_plugin/test_browser_plugin_guest.h ('k') | content/test/data/browser_plugin_focus.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698