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

Side by Side Diff: chrome/browser/ui/panels/panel_extension_browsertest.cc

Issue 15049004: Move ContextMenuParams(WebContextMenuInfo) ctor to content/renderer/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: class -> struct Created 7 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/extensions/platform_app_browsertest.cc ('k') | content/content_renderer.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/path_service.h" 6 #include "base/path_service.h"
7 #include "base/utf_string_conversions.h" 7 #include "base/utf_string_conversions.h"
8 #include "chrome/app/chrome_command_ids.h" 8 #include "chrome/app/chrome_command_ids.h"
9 #include "chrome/browser/extensions/extension_browsertest.h" 9 #include "chrome/browser/extensions/extension_browsertest.h"
10 #include "chrome/browser/extensions/extension_test_message_listener.h" 10 #include "chrome/browser/extensions/extension_test_message_listener.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 LoadExtension(test_data_dir_.AppendASCII("basic")); 145 LoadExtension(test_data_dir_.AppendASCII("basic"));
146 ASSERT_TRUE(listener.WaitUntilSatisfied()); 146 ASSERT_TRUE(listener.WaitUntilSatisfied());
147 147
148 // There should only be one panel. 148 // There should only be one panel.
149 PanelManager* panel_manager = PanelManager::GetInstance(); 149 PanelManager* panel_manager = PanelManager::GetInstance();
150 EXPECT_EQ(1, panel_manager->num_panels()); 150 EXPECT_EQ(1, panel_manager->num_panels());
151 Panel* panel = panel_manager->panels().front(); 151 Panel* panel = panel_manager->panels().front();
152 content::WebContents* web_contents = panel->GetWebContents(); 152 content::WebContents* web_contents = panel->GetWebContents();
153 ASSERT_TRUE(web_contents); 153 ASSERT_TRUE(web_contents);
154 154
155 WebKit::WebContextMenuData data;
156
157 // Verify basic menu contents. The basic extension does not add any 155 // Verify basic menu contents. The basic extension does not add any
158 // context menu items so the panel's menu should include only the 156 // context menu items so the panel's menu should include only the
159 // developer tools. 157 // developer tools.
160 { 158 {
161 content::ContextMenuParams params(data); 159 content::ContextMenuParams params;
162 params.page_url = web_contents->GetURL(); 160 params.page_url = web_contents->GetURL();
163 // Ensure context menu isn't swallowed by WebContentsDelegate (the panel). 161 // Ensure context menu isn't swallowed by WebContentsDelegate (the panel).
164 EXPECT_FALSE(web_contents->GetDelegate()->HandleContextMenu(params)); 162 EXPECT_FALSE(web_contents->GetDelegate()->HandleContextMenu(params));
165 163
166 scoped_ptr<PanelContextMenu> menu( 164 scoped_ptr<PanelContextMenu> menu(
167 new PanelContextMenu(web_contents, params)); 165 new PanelContextMenu(web_contents, params));
168 menu->Init(); 166 menu->Init();
169 167
170 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_INSPECTELEMENT)); 168 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_INSPECTELEMENT));
171 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_UNDO)); 169 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_UNDO));
172 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_PASTE)); 170 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_PASTE));
173 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPY)); 171 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPY));
174 EXPECT_FALSE(menu->HasCommandWithId(IDC_BACK)); 172 EXPECT_FALSE(menu->HasCommandWithId(IDC_BACK));
175 EXPECT_FALSE(menu->HasCommandWithId(IDC_SAVE_PAGE)); 173 EXPECT_FALSE(menu->HasCommandWithId(IDC_SAVE_PAGE));
176 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPYLINKLOCATION)); 174 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPYLINKLOCATION));
177 } 175 }
178 176
179 // Verify expected menu contents for editable item. 177 // Verify expected menu contents for editable item.
180 { 178 {
181 content::ContextMenuParams params(data); 179 content::ContextMenuParams params;
182 params.is_editable = true; 180 params.is_editable = true;
183 params.page_url = web_contents->GetURL(); 181 params.page_url = web_contents->GetURL();
184 // Ensure context menu isn't swallowed by WebContentsDelegate (the panel). 182 // Ensure context menu isn't swallowed by WebContentsDelegate (the panel).
185 EXPECT_FALSE(web_contents->GetDelegate()->HandleContextMenu(params)); 183 EXPECT_FALSE(web_contents->GetDelegate()->HandleContextMenu(params));
186 184
187 scoped_ptr<PanelContextMenu> menu( 185 scoped_ptr<PanelContextMenu> menu(
188 new PanelContextMenu(web_contents, params)); 186 new PanelContextMenu(web_contents, params));
189 menu->Init(); 187 menu->Init();
190 188
191 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_INSPECTELEMENT)); 189 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_INSPECTELEMENT));
192 EXPECT_TRUE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_UNDO)); 190 EXPECT_TRUE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_UNDO));
193 EXPECT_TRUE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_PASTE)); 191 EXPECT_TRUE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_PASTE));
194 EXPECT_TRUE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPY)); 192 EXPECT_TRUE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPY));
195 EXPECT_FALSE(menu->HasCommandWithId(IDC_BACK)); 193 EXPECT_FALSE(menu->HasCommandWithId(IDC_BACK));
196 EXPECT_FALSE(menu->HasCommandWithId(IDC_SAVE_PAGE)); 194 EXPECT_FALSE(menu->HasCommandWithId(IDC_SAVE_PAGE));
197 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPYLINKLOCATION)); 195 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPYLINKLOCATION));
198 } 196 }
199 197
200 // Verify expected menu contents for text selection. 198 // Verify expected menu contents for text selection.
201 { 199 {
202 content::ContextMenuParams params(data); 200 content::ContextMenuParams params;
203 params.page_url = web_contents->GetURL(); 201 params.page_url = web_contents->GetURL();
204 params.selection_text = ASCIIToUTF16("Select me"); 202 params.selection_text = ASCIIToUTF16("Select me");
205 // Ensure context menu isn't swallowed by WebContentsDelegate (the panel). 203 // Ensure context menu isn't swallowed by WebContentsDelegate (the panel).
206 EXPECT_FALSE(web_contents->GetDelegate()->HandleContextMenu(params)); 204 EXPECT_FALSE(web_contents->GetDelegate()->HandleContextMenu(params));
207 205
208 scoped_ptr<PanelContextMenu> menu( 206 scoped_ptr<PanelContextMenu> menu(
209 new PanelContextMenu(web_contents, params)); 207 new PanelContextMenu(web_contents, params));
210 menu->Init(); 208 menu->Init();
211 209
212 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_INSPECTELEMENT)); 210 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_INSPECTELEMENT));
213 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_UNDO)); 211 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_UNDO));
214 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_PASTE)); 212 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_PASTE));
215 EXPECT_TRUE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPY)); 213 EXPECT_TRUE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPY));
216 EXPECT_FALSE(menu->HasCommandWithId(IDC_BACK)); 214 EXPECT_FALSE(menu->HasCommandWithId(IDC_BACK));
217 EXPECT_FALSE(menu->HasCommandWithId(IDC_SAVE_PAGE)); 215 EXPECT_FALSE(menu->HasCommandWithId(IDC_SAVE_PAGE));
218 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPYLINKLOCATION)); 216 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPYLINKLOCATION));
219 } 217 }
220 218
221 // Verify expected menu contexts for a link. 219 // Verify expected menu contexts for a link.
222 { 220 {
223 content::ContextMenuParams params(data); 221 content::ContextMenuParams params;
224 params.page_url = web_contents->GetURL(); 222 params.page_url = web_contents->GetURL();
225 params.unfiltered_link_url = GURL("http://google.com/"); 223 params.unfiltered_link_url = GURL("http://google.com/");
226 // Ensure context menu isn't swallowed by WebContentsDelegate (the panel). 224 // Ensure context menu isn't swallowed by WebContentsDelegate (the panel).
227 EXPECT_FALSE(web_contents->GetDelegate()->HandleContextMenu(params)); 225 EXPECT_FALSE(web_contents->GetDelegate()->HandleContextMenu(params));
228 226
229 scoped_ptr<PanelContextMenu> menu( 227 scoped_ptr<PanelContextMenu> menu(
230 new PanelContextMenu(web_contents, params)); 228 new PanelContextMenu(web_contents, params));
231 menu->Init(); 229 menu->Init();
232 230
233 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_INSPECTELEMENT)); 231 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_INSPECTELEMENT));
(...skipping 16 matching lines...) Expand all
250 LoadExtension(test_data_dir_.AppendASCII("context_menu2")); 248 LoadExtension(test_data_dir_.AppendASCII("context_menu2"));
251 ASSERT_TRUE(bogey_listener.WaitUntilSatisfied()); 249 ASSERT_TRUE(bogey_listener.WaitUntilSatisfied());
252 250
253 // There should only be one panel. 251 // There should only be one panel.
254 PanelManager* panel_manager = PanelManager::GetInstance(); 252 PanelManager* panel_manager = PanelManager::GetInstance();
255 EXPECT_EQ(1, panel_manager->num_panels()); 253 EXPECT_EQ(1, panel_manager->num_panels());
256 Panel* panel = panel_manager->panels().front(); 254 Panel* panel = panel_manager->panels().front();
257 content::WebContents* web_contents = panel->GetWebContents(); 255 content::WebContents* web_contents = panel->GetWebContents();
258 ASSERT_TRUE(web_contents); 256 ASSERT_TRUE(web_contents);
259 257
260 WebKit::WebContextMenuData data; 258 content::ContextMenuParams params;
261 content::ContextMenuParams params(data);
262 params.page_url = web_contents->GetURL(); 259 params.page_url = web_contents->GetURL();
263 260
264 // Ensure context menu isn't swallowed by WebContentsDelegate (the panel). 261 // Ensure context menu isn't swallowed by WebContentsDelegate (the panel).
265 EXPECT_FALSE(web_contents->GetDelegate()->HandleContextMenu(params)); 262 EXPECT_FALSE(web_contents->GetDelegate()->HandleContextMenu(params));
266 263
267 // Verify menu contents contains the custom item added by their own extension. 264 // Verify menu contents contains the custom item added by their own extension.
268 scoped_ptr<PanelContextMenu> menu; 265 scoped_ptr<PanelContextMenu> menu;
269 menu.reset(new PanelContextMenu(web_contents, params)); 266 menu.reset(new PanelContextMenu(web_contents, params));
270 menu->Init(); 267 menu->Init();
271 EXPECT_TRUE(menu->HasCommandWithId(IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST)); 268 EXPECT_TRUE(menu->HasCommandWithId(IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST));
272 EXPECT_FALSE(menu->HasCommandWithId(IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST + 1)); 269 EXPECT_FALSE(menu->HasCommandWithId(IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST + 1));
273 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_INSPECTELEMENT)); 270 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_INSPECTELEMENT));
274 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_UNDO)); 271 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_UNDO));
275 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_PASTE)); 272 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_PASTE));
276 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPY)); 273 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPY));
277 EXPECT_FALSE(menu->HasCommandWithId(IDC_BACK)); 274 EXPECT_FALSE(menu->HasCommandWithId(IDC_BACK));
278 EXPECT_FALSE(menu->HasCommandWithId(IDC_SAVE_PAGE)); 275 EXPECT_FALSE(menu->HasCommandWithId(IDC_SAVE_PAGE));
279 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPYLINKLOCATION)); 276 EXPECT_FALSE(menu->HasCommandWithId(IDC_CONTENT_CONTEXT_COPYLINKLOCATION));
280 277
281 // Execute the extension's custom menu item and wait for the extension's 278 // Execute the extension's custom menu item and wait for the extension's
282 // script to tell us its onclick fired. 279 // script to tell us its onclick fired.
283 ExtensionTestMessageListener onclick_listener("clicked", false); 280 ExtensionTestMessageListener onclick_listener("clicked", false);
284 int command_id = IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST; 281 int command_id = IDC_EXTENSIONS_CONTEXT_CUSTOM_FIRST;
285 ASSERT_TRUE(menu->IsCommandIdEnabled(command_id)); 282 ASSERT_TRUE(menu->IsCommandIdEnabled(command_id));
286 menu->ExecuteCommand(command_id, 0); 283 menu->ExecuteCommand(command_id, 0);
287 EXPECT_TRUE(onclick_listener.WaitUntilSatisfied()); 284 EXPECT_TRUE(onclick_listener.WaitUntilSatisfied());
288 } 285 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/platform_app_browsertest.cc ('k') | content/content_renderer.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698