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

Side by Side Diff: chrome/browser/ui/omnibox/omnibox_view_browsertest.cc

Issue 7327007: Moving notification types which are chrome specific to a new header file chrome_notification_type... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <stdio.h> 5 #include <stdio.h>
6 6
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/string16.h" 8 #include "base/string16.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/time.h" 10 #include "base/time.h"
11 #include "base/utf_string_conversions.h" 11 #include "base/utf_string_conversions.h"
12 #include "chrome/app/chrome_command_ids.h" 12 #include "chrome/app/chrome_command_ids.h"
13 #include "chrome/browser/autocomplete/autocomplete.h" 13 #include "chrome/browser/autocomplete/autocomplete.h"
14 #include "chrome/browser/autocomplete/autocomplete_edit.h" 14 #include "chrome/browser/autocomplete/autocomplete_edit.h"
15 #include "chrome/browser/autocomplete/autocomplete_match.h" 15 #include "chrome/browser/autocomplete/autocomplete_match.h"
16 #include "chrome/browser/autocomplete/autocomplete_popup_model.h" 16 #include "chrome/browser/autocomplete/autocomplete_popup_model.h"
17 #include "chrome/browser/bookmarks/bookmark_model.h" 17 #include "chrome/browser/bookmarks/bookmark_model.h"
18 #include "chrome/browser/history/history.h" 18 #include "chrome/browser/history/history.h"
19 #include "chrome/browser/profiles/profile.h" 19 #include "chrome/browser/profiles/profile.h"
20 #include "chrome/browser/search_engines/template_url.h" 20 #include "chrome/browser/search_engines/template_url.h"
21 #include "chrome/browser/search_engines/template_url_service.h" 21 #include "chrome/browser/search_engines/template_url_service.h"
22 #include "chrome/browser/search_engines/template_url_service_factory.h" 22 #include "chrome/browser/search_engines/template_url_service_factory.h"
23 #include "chrome/browser/ui/browser.h" 23 #include "chrome/browser/ui/browser.h"
24 #include "chrome/browser/ui/browser_window.h" 24 #include "chrome/browser/ui/browser_window.h"
25 #include "chrome/browser/ui/omnibox/location_bar.h" 25 #include "chrome/browser/ui/omnibox/location_bar.h"
26 #include "chrome/browser/ui/omnibox/omnibox_view.h" 26 #include "chrome/browser/ui/omnibox/omnibox_view.h"
27 #include "chrome/common/chrome_notification_types.h"
27 #include "chrome/common/chrome_paths.h" 28 #include "chrome/common/chrome_paths.h"
28 #include "chrome/common/url_constants.h" 29 #include "chrome/common/url_constants.h"
29 #include "chrome/test/in_process_browser_test.h" 30 #include "chrome/test/in_process_browser_test.h"
30 #include "chrome/test/ui_test_utils.h" 31 #include "chrome/test/ui_test_utils.h"
31 #include "content/browser/tab_contents/tab_contents.h" 32 #include "content/browser/tab_contents/tab_contents.h"
32 #include "content/common/notification_service.h" 33 #include "content/common/notification_service.h"
33 #include "net/base/mock_host_resolver.h" 34 #include "net/base/mock_host_resolver.h"
34 #include "ui/base/events.h" 35 #include "ui/base/events.h"
35 #include "ui/base/keycodes/keyboard_codes.h" 36 #include "ui/base/keycodes/keyboard_codes.h"
36 37
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 } 194 }
194 195
195 void SendKeySequence(const wchar_t* keys) { 196 void SendKeySequence(const wchar_t* keys) {
196 for (; *keys; ++keys) 197 for (; *keys; ++keys)
197 ASSERT_NO_FATAL_FAILURE(SendKey(static_cast<ui::KeyboardCode>(*keys), 0)); 198 ASSERT_NO_FATAL_FAILURE(SendKey(static_cast<ui::KeyboardCode>(*keys), 0));
198 } 199 }
199 200
200 bool SendKeyAndWait(const Browser* browser, 201 bool SendKeyAndWait(const Browser* browser,
201 ui::KeyboardCode key, 202 ui::KeyboardCode key,
202 int modifiers, 203 int modifiers,
203 NotificationType type, 204 int type,
204 const NotificationSource& source) WARN_UNUSED_RESULT { 205 const NotificationSource& source) WARN_UNUSED_RESULT {
205 return ui_test_utils::SendKeyPressAndWait( 206 return ui_test_utils::SendKeyPressAndWait(
206 browser, key, 207 browser, key,
207 (modifiers & ui::EF_CONTROL_DOWN) != 0, 208 (modifiers & ui::EF_CONTROL_DOWN) != 0,
208 (modifiers & ui::EF_SHIFT_DOWN) != 0, 209 (modifiers & ui::EF_SHIFT_DOWN) != 0,
209 (modifiers & ui::EF_ALT_DOWN) != 0, 210 (modifiers & ui::EF_ALT_DOWN) != 0,
210 (modifiers & ui::EF_COMMAND_DOWN) != 0, 211 (modifiers & ui::EF_COMMAND_DOWN) != 0,
211 type, source); 212 type, source);
212 } 213 }
213 214
214 void WaitForTabOpenOrCloseForBrowser(const Browser* browser, 215 void WaitForTabOpenOrCloseForBrowser(const Browser* browser,
215 int expected_tab_count) { 216 int expected_tab_count) {
216 int tab_count = browser->tab_count(); 217 int tab_count = browser->tab_count();
217 if (tab_count == expected_tab_count) 218 if (tab_count == expected_tab_count)
218 return; 219 return;
219 220
220 NotificationRegistrar registrar; 221 NotificationRegistrar registrar;
221 registrar.Add(this, 222 registrar.Add(this,
222 (tab_count < expected_tab_count ? 223 (tab_count < expected_tab_count ?
223 NotificationType::TAB_PARENTED : 224 content::NOTIFICATION_TAB_PARENTED :
224 NotificationType::TAB_CLOSED), 225 content::NOTIFICATION_TAB_CLOSED),
225 NotificationService::AllSources()); 226 NotificationService::AllSources());
226 227
227 while (!HasFailure() && browser->tab_count() != expected_tab_count) 228 while (!HasFailure() && browser->tab_count() != expected_tab_count)
228 ui_test_utils::RunMessageLoop(); 229 ui_test_utils::RunMessageLoop();
229 230
230 ASSERT_EQ(expected_tab_count, browser->tab_count()); 231 ASSERT_EQ(expected_tab_count, browser->tab_count());
231 } 232 }
232 233
233 void WaitForTabOpenOrClose(int expected_tab_count) { 234 void WaitForTabOpenOrClose(int expected_tab_count) {
234 WaitForTabOpenOrCloseForBrowser(browser(), expected_tab_count); 235 WaitForTabOpenOrCloseForBrowser(browser(), expected_tab_count);
235 } 236 }
236 237
237 void WaitForAutocompleteControllerDone() { 238 void WaitForAutocompleteControllerDone() {
238 OmniboxView* omnibox_view = NULL; 239 OmniboxView* omnibox_view = NULL;
239 ASSERT_NO_FATAL_FAILURE(GetOmniboxView(&omnibox_view)); 240 ASSERT_NO_FATAL_FAILURE(GetOmniboxView(&omnibox_view));
240 241
241 AutocompleteController* controller = 242 AutocompleteController* controller =
242 omnibox_view->model()->popup_model()->autocomplete_controller(); 243 omnibox_view->model()->popup_model()->autocomplete_controller();
243 ASSERT_TRUE(controller); 244 ASSERT_TRUE(controller);
244 245
245 if (controller->done()) 246 if (controller->done())
246 return; 247 return;
247 248
248 NotificationRegistrar registrar; 249 NotificationRegistrar registrar;
249 registrar.Add(this, 250 registrar.Add(this,
250 NotificationType::AUTOCOMPLETE_CONTROLLER_RESULT_READY, 251 chrome::NOTIFICATION_AUTOCOMPLETE_CONTROLLER_RESULT_READY,
251 Source<AutocompleteController>(controller)); 252 Source<AutocompleteController>(controller));
252 253
253 while (!HasFailure() && !controller->done()) 254 while (!HasFailure() && !controller->done())
254 ui_test_utils::RunMessageLoop(); 255 ui_test_utils::RunMessageLoop();
255 256
256 ASSERT_TRUE(controller->done()); 257 ASSERT_TRUE(controller->done());
257 } 258 }
258 259
259 void SetupSearchEngine() { 260 void SetupSearchEngine() {
260 TemplateURLService* model = 261 TemplateURLService* model =
261 TemplateURLServiceFactory::GetForProfile(browser()->profile()); 262 TemplateURLServiceFactory::GetForProfile(browser()->profile());
262 ASSERT_TRUE(model); 263 ASSERT_TRUE(model);
263 264
264 if (!model->loaded()) { 265 if (!model->loaded()) {
265 NotificationRegistrar registrar; 266 NotificationRegistrar registrar;
266 registrar.Add(this, NotificationType::TEMPLATE_URL_SERVICE_LOADED, 267 registrar.Add(this, chrome::NOTIFICATION_TEMPLATE_URL_SERVICE_LOADED,
267 Source<TemplateURLService>(model)); 268 Source<TemplateURLService>(model));
268 model->Load(); 269 model->Load();
269 ui_test_utils::RunMessageLoop(); 270 ui_test_utils::RunMessageLoop();
270 } 271 }
271 272
272 ASSERT_TRUE(model->loaded()); 273 ASSERT_TRUE(model->loaded());
273 // Remove built-in template urls, like google.com, bing.com etc., as they 274 // Remove built-in template urls, like google.com, bing.com etc., as they
274 // may appear as autocomplete suggests and interfere with our tests. 275 // may appear as autocomplete suggests and interfere with our tests.
275 model->SetDefaultSearchProvider(NULL); 276 model->SetDefaultSearchProvider(NULL);
276 TemplateURLService::TemplateURLVector builtins = model->GetTemplateURLs(); 277 TemplateURLService::TemplateURLVector builtins = model->GetTemplateURLs();
(...skipping 11 matching lines...) Expand all
288 } 289 }
289 290
290 void AddHistoryEntry(const TestHistoryEntry& entry, const Time& time) { 291 void AddHistoryEntry(const TestHistoryEntry& entry, const Time& time) {
291 Profile* profile = browser()->profile(); 292 Profile* profile = browser()->profile();
292 HistoryService* history_service = 293 HistoryService* history_service =
293 profile->GetHistoryService(Profile::EXPLICIT_ACCESS); 294 profile->GetHistoryService(Profile::EXPLICIT_ACCESS);
294 ASSERT_TRUE(history_service); 295 ASSERT_TRUE(history_service);
295 296
296 if (!history_service->BackendLoaded()) { 297 if (!history_service->BackendLoaded()) {
297 NotificationRegistrar registrar; 298 NotificationRegistrar registrar;
298 registrar.Add(this, NotificationType::HISTORY_LOADED, 299 registrar.Add(this, chrome::NOTIFICATION_HISTORY_LOADED,
299 Source<Profile>(profile)); 300 Source<Profile>(profile));
300 ui_test_utils::RunMessageLoop(); 301 ui_test_utils::RunMessageLoop();
301 } 302 }
302 303
303 BookmarkModel* bookmark_model = profile->GetBookmarkModel(); 304 BookmarkModel* bookmark_model = profile->GetBookmarkModel();
304 ASSERT_TRUE(bookmark_model); 305 ASSERT_TRUE(bookmark_model);
305 306
306 if (!bookmark_model->IsLoaded()) { 307 if (!bookmark_model->IsLoaded()) {
307 NotificationRegistrar registrar; 308 NotificationRegistrar registrar;
308 registrar.Add(this, NotificationType::BOOKMARK_MODEL_LOADED, 309 registrar.Add(this, chrome::NOTIFICATION_BOOKMARK_MODEL_LOADED,
309 Source<Profile>(profile)); 310 Source<Profile>(profile));
310 ui_test_utils::RunMessageLoop(); 311 ui_test_utils::RunMessageLoop();
311 } 312 }
312 313
313 GURL url(entry.url); 314 GURL url(entry.url);
314 // Add everything in order of time. We don't want to have a time that 315 // Add everything in order of time. We don't want to have a time that
315 // is "right now" or it will nondeterministically appear in the results. 316 // is "right now" or it will nondeterministically appear in the results.
316 history_service->AddPageWithDetails(url, UTF8ToUTF16(entry.title), 317 history_service->AddPageWithDetails(url, UTF8ToUTF16(entry.title),
317 entry.visit_count, 318 entry.visit_count,
318 entry.typed_count, time, false, 319 entry.typed_count, time, false,
(...skipping 18 matching lines...) Expand all
337 for (size_t i = 0; i < arraysize(kBlockedHostnames); ++i) 338 for (size_t i = 0; i < arraysize(kBlockedHostnames); ++i)
338 host_resolver()->AddSimulatedFailure(kBlockedHostnames[i]); 339 host_resolver()->AddSimulatedFailure(kBlockedHostnames[i]);
339 } 340 }
340 341
341 void SetupComponents() { 342 void SetupComponents() {
342 ASSERT_NO_FATAL_FAILURE(SetupHostResolver()); 343 ASSERT_NO_FATAL_FAILURE(SetupHostResolver());
343 ASSERT_NO_FATAL_FAILURE(SetupSearchEngine()); 344 ASSERT_NO_FATAL_FAILURE(SetupSearchEngine());
344 ASSERT_NO_FATAL_FAILURE(SetupHistory()); 345 ASSERT_NO_FATAL_FAILURE(SetupHistory());
345 } 346 }
346 347
347 virtual void Observe(NotificationType type, 348 virtual void Observe(int type,
348 const NotificationSource& source, 349 const NotificationSource& source,
349 const NotificationDetails& details) { 350 const NotificationDetails& details) {
350 switch (type.value) { 351 switch (type) {
351 case NotificationType::TAB_PARENTED: 352 case content::NOTIFICATION_TAB_PARENTED:
352 case NotificationType::TAB_CLOSED: 353 case content::NOTIFICATION_TAB_CLOSED:
353 case NotificationType::TEMPLATE_URL_SERVICE_LOADED: 354 case chrome::NOTIFICATION_TEMPLATE_URL_SERVICE_LOADED:
354 case NotificationType::AUTOCOMPLETE_CONTROLLER_RESULT_READY: 355 case chrome::NOTIFICATION_AUTOCOMPLETE_CONTROLLER_RESULT_READY:
355 case NotificationType::HISTORY_LOADED: 356 case chrome::NOTIFICATION_HISTORY_LOADED:
356 case NotificationType::BOOKMARK_MODEL_LOADED: 357 case chrome::NOTIFICATION_BOOKMARK_MODEL_LOADED:
357 break; 358 break;
358 default: 359 default:
359 FAIL() << "Unexpected notification type"; 360 FAIL() << "Unexpected notification type";
360 } 361 }
361 MessageLoopForUI::current()->Quit(); 362 MessageLoopForUI::current()->Quit();
362 } 363 }
363 364
364 void BrowserAcceleratorsTest() { 365 void BrowserAcceleratorsTest() {
365 OmniboxView* omnibox_view = NULL; 366 OmniboxView* omnibox_view = NULL;
366 ASSERT_NO_FATAL_FAILURE(GetOmniboxView(&omnibox_view)); 367 ASSERT_NO_FATAL_FAILURE(GetOmniboxView(&omnibox_view));
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 SendKey(ui::VKEY_LEFT, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)); 410 SendKey(ui::VKEY_LEFT, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN));
410 #endif 411 #endif
411 EXPECT_FALSE(omnibox_view->IsSelectAll()); 412 EXPECT_FALSE(omnibox_view->IsSelectAll());
412 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_X, kCtrlOrCmdMask)); 413 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_X, kCtrlOrCmdMask));
413 EXPECT_EQ(ASCIIToUTF16("Hello "), omnibox_view->GetText()); 414 EXPECT_EQ(ASCIIToUTF16("Hello "), omnibox_view->GetText());
414 415
415 #if !defined(OS_CHROMEOS) && !defined(OS_MACOSX) 416 #if !defined(OS_CHROMEOS) && !defined(OS_MACOSX)
416 // Try alt-f4 to close the browser. 417 // Try alt-f4 to close the browser.
417 ASSERT_TRUE(SendKeyAndWait( 418 ASSERT_TRUE(SendKeyAndWait(
418 browser(), ui::VKEY_F4, ui::EF_ALT_DOWN, 419 browser(), ui::VKEY_F4, ui::EF_ALT_DOWN,
419 NotificationType::BROWSER_CLOSED, Source<Browser>(browser()))); 420 chrome::NOTIFICATION_BROWSER_CLOSED, Source<Browser>(browser())));
420 #endif 421 #endif
421 } 422 }
422 423
423 void PopupAcceleratorsTest() { 424 void PopupAcceleratorsTest() {
424 // Create a popup. 425 // Create a popup.
425 Browser* popup = CreateBrowserForPopup(browser()->profile()); 426 Browser* popup = CreateBrowserForPopup(browser()->profile());
426 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(popup)); 427 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(popup));
427 OmniboxView* omnibox_view = NULL; 428 OmniboxView* omnibox_view = NULL;
428 ASSERT_NO_FATAL_FAILURE( 429 ASSERT_NO_FATAL_FAILURE(
429 GetOmniboxViewForBrowser(popup, &omnibox_view)); 430 GetOmniboxViewForBrowser(popup, &omnibox_view));
430 popup->FocusLocationBar(); 431 popup->FocusLocationBar();
431 EXPECT_TRUE(omnibox_view->IsSelectAll()); 432 EXPECT_TRUE(omnibox_view->IsSelectAll());
432 433
433 #if !defined(OS_MACOSX) 434 #if !defined(OS_MACOSX)
434 // Try ctrl-w to close the popup. 435 // Try ctrl-w to close the popup.
435 // This piece of code doesn't work on Mac, because the Browser object won't 436 // This piece of code doesn't work on Mac, because the Browser object won't
436 // be destroyed before finishing the current message loop iteration, thus 437 // be destroyed before finishing the current message loop iteration, thus
437 // No BROWSER_CLOSED notification will be sent. 438 // No BROWSER_CLOSED notification will be sent.
438 ASSERT_TRUE(SendKeyAndWait( 439 ASSERT_TRUE(SendKeyAndWait(
439 popup, ui::VKEY_W, ui::EF_CONTROL_DOWN, 440 popup, ui::VKEY_W, ui::EF_CONTROL_DOWN,
440 NotificationType::BROWSER_CLOSED, Source<Browser>(popup))); 441 chrome::NOTIFICATION_BROWSER_CLOSED, Source<Browser>(popup)));
441 442
442 // Create another popup. 443 // Create another popup.
443 popup = CreateBrowserForPopup(browser()->profile()); 444 popup = CreateBrowserForPopup(browser()->profile());
444 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(popup)); 445 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(popup));
445 ASSERT_NO_FATAL_FAILURE( 446 ASSERT_NO_FATAL_FAILURE(
446 GetOmniboxViewForBrowser(popup, &omnibox_view)); 447 GetOmniboxViewForBrowser(popup, &omnibox_view));
447 #endif 448 #endif
448 449
449 // Set the edit text to "Hello world". 450 // Set the edit text to "Hello world".
450 omnibox_view->SetUserText(ASCIIToUTF16("Hello world")); 451 omnibox_view->SetUserText(ASCIIToUTF16("Hello world"));
451 popup->FocusLocationBar(); 452 popup->FocusLocationBar();
452 EXPECT_TRUE(omnibox_view->IsSelectAll()); 453 EXPECT_TRUE(omnibox_view->IsSelectAll());
453 454
454 // Try editing the location bar text -- should be disallowed. 455 // Try editing the location bar text -- should be disallowed.
455 ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_S, 0)); 456 ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_S, 0));
456 EXPECT_EQ(ASCIIToUTF16("Hello world"), omnibox_view->GetText()); 457 EXPECT_EQ(ASCIIToUTF16("Hello world"), omnibox_view->GetText());
457 EXPECT_TRUE(omnibox_view->IsSelectAll()); 458 EXPECT_TRUE(omnibox_view->IsSelectAll());
458 459
459 ASSERT_NO_FATAL_FAILURE( 460 ASSERT_NO_FATAL_FAILURE(
460 SendKeyForBrowser(popup, ui::VKEY_X, kCtrlOrCmdMask)); 461 SendKeyForBrowser(popup, ui::VKEY_X, kCtrlOrCmdMask));
461 EXPECT_EQ(ASCIIToUTF16("Hello world"), omnibox_view->GetText()); 462 EXPECT_EQ(ASCIIToUTF16("Hello world"), omnibox_view->GetText());
462 EXPECT_TRUE(omnibox_view->IsSelectAll()); 463 EXPECT_TRUE(omnibox_view->IsSelectAll());
463 464
464 #if !defined(OS_CHROMEOS) && !defined(OS_MACOSX) 465 #if !defined(OS_CHROMEOS) && !defined(OS_MACOSX)
465 // Try alt-f4 to close the popup. 466 // Try alt-f4 to close the popup.
466 ASSERT_TRUE(SendKeyAndWait( 467 ASSERT_TRUE(SendKeyAndWait(
467 popup, ui::VKEY_F4, ui::EF_ALT_DOWN, 468 popup, ui::VKEY_F4, ui::EF_ALT_DOWN,
468 NotificationType::BROWSER_CLOSED, Source<Browser>(popup))); 469 chrome::NOTIFICATION_BROWSER_CLOSED, Source<Browser>(popup)));
469 #endif 470 #endif
470 } 471 }
471 472
472 void BackspaceInKeywordModeTest() { 473 void BackspaceInKeywordModeTest() {
473 OmniboxView* omnibox_view = NULL; 474 OmniboxView* omnibox_view = NULL;
474 ASSERT_NO_FATAL_FAILURE(GetOmniboxView(&omnibox_view)); 475 ASSERT_NO_FATAL_FAILURE(GetOmniboxView(&omnibox_view));
475 476
476 // Trigger keyword hint mode. 477 // Trigger keyword hint mode.
477 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys)); 478 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys));
478 ASSERT_TRUE(omnibox_view->model()->is_keyword_hint()); 479 ASSERT_TRUE(omnibox_view->model()->is_keyword_hint());
(...skipping 921 matching lines...) Expand 10 before | Expand all | Expand 10 after
1400 PersistKeywordModeOnTabSwitch) { 1401 PersistKeywordModeOnTabSwitch) {
1401 PersistKeywordModeOnTabSwitch(); 1402 PersistKeywordModeOnTabSwitch();
1402 } 1403 }
1403 1404
1404 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, 1405 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest,
1405 CtrlKeyPressedWithInlineAutocompleteTest) { 1406 CtrlKeyPressedWithInlineAutocompleteTest) {
1406 CtrlKeyPressedWithInlineAutocompleteTest(); 1407 CtrlKeyPressedWithInlineAutocompleteTest();
1407 } 1408 }
1408 1409
1409 #endif 1410 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698