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

Side by Side Diff: chrome/browser/ui/browser_browsertest.cc

Issue 12039058: content: convert zoom notifications to observer usage (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: callbacks Created 7 years, 10 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) 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 <string> 5 #include <string>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/sys_info.h" 10 #include "base/sys_info.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 #include "chrome/browser/ui/startup/startup_browser_creator_impl.h" 42 #include "chrome/browser/ui/startup/startup_browser_creator_impl.h"
43 #include "chrome/browser/ui/tabs/pinned_tab_codec.h" 43 #include "chrome/browser/ui/tabs/pinned_tab_codec.h"
44 #include "chrome/browser/ui/tabs/tab_strip_model.h" 44 #include "chrome/browser/ui/tabs/tab_strip_model.h"
45 #include "chrome/common/chrome_notification_types.h" 45 #include "chrome/common/chrome_notification_types.h"
46 #include "chrome/common/chrome_switches.h" 46 #include "chrome/common/chrome_switches.h"
47 #include "chrome/common/extensions/extension.h" 47 #include "chrome/common/extensions/extension.h"
48 #include "chrome/common/url_constants.h" 48 #include "chrome/common/url_constants.h"
49 #include "chrome/test/base/in_process_browser_test.h" 49 #include "chrome/test/base/in_process_browser_test.h"
50 #include "chrome/test/base/ui_test_utils.h" 50 #include "chrome/test/base/ui_test_utils.h"
51 #include "content/public/browser/favicon_status.h" 51 #include "content/public/browser/favicon_status.h"
52 #include "content/public/browser/host_zoom_map.h"
52 #include "content/public/browser/interstitial_page.h" 53 #include "content/public/browser/interstitial_page.h"
53 #include "content/public/browser/interstitial_page_delegate.h" 54 #include "content/public/browser/interstitial_page_delegate.h"
54 #include "content/public/browser/navigation_entry.h" 55 #include "content/public/browser/navigation_entry.h"
55 #include "content/public/browser/notification_service.h"
56 #include "content/public/browser/notification_source.h"
57 #include "content/public/browser/render_process_host.h" 56 #include "content/public/browser/render_process_host.h"
58 #include "content/public/browser/render_view_host.h" 57 #include "content/public/browser/render_view_host.h"
59 #include "content/public/browser/render_widget_host_view.h" 58 #include "content/public/browser/render_widget_host_view.h"
60 #include "content/public/browser/web_contents.h" 59 #include "content/public/browser/web_contents.h"
61 #include "content/public/browser/web_contents_observer.h" 60 #include "content/public/browser/web_contents_observer.h"
62 #include "content/public/common/page_transition_types.h" 61 #include "content/public/common/page_transition_types.h"
63 #include "content/public/common/renderer_preferences.h" 62 #include "content/public/common/renderer_preferences.h"
64 #include "content/public/common/url_constants.h" 63 #include "content/public/common/url_constants.h"
65 #include "content/public/test/browser_test_utils.h" 64 #include "content/public/test/browser_test_utils.h"
66 #include "content/public/test/test_navigation_observer.h" 65 #include "content/public/test/test_navigation_observer.h"
(...skipping 1242 matching lines...) Expand 10 before | Expand all | Expand 10 after
1309 EXPECT_FALSE(command_updater->IsCommandEnabled(IDC_OPTIONS)); 1308 EXPECT_FALSE(command_updater->IsCommandEnabled(IDC_OPTIONS));
1310 EXPECT_FALSE(command_updater->IsCommandEnabled(IDC_IMPORT_SETTINGS)); 1309 EXPECT_FALSE(command_updater->IsCommandEnabled(IDC_IMPORT_SETTINGS));
1311 // Set Incognito to AVAILABLE. 1310 // Set Incognito to AVAILABLE.
1312 IncognitoModePrefs::SetAvailability(popup_browser->profile()->GetPrefs(), 1311 IncognitoModePrefs::SetAvailability(popup_browser->profile()->GetPrefs(),
1313 IncognitoModePrefs::ENABLED); 1312 IncognitoModePrefs::ENABLED);
1314 // OPTIONS and IMPORT_SETTINGS are still disabled since it is a non-normal UI. 1313 // OPTIONS and IMPORT_SETTINGS are still disabled since it is a non-normal UI.
1315 EXPECT_FALSE(command_updater->IsCommandEnabled(IDC_OPTIONS)); 1314 EXPECT_FALSE(command_updater->IsCommandEnabled(IDC_OPTIONS));
1316 EXPECT_FALSE(command_updater->IsCommandEnabled(IDC_IMPORT_SETTINGS)); 1315 EXPECT_FALSE(command_updater->IsCommandEnabled(IDC_IMPORT_SETTINGS));
1317 } 1316 }
1318 1317
1318 namespace {
1319
1320 void OnZoomLevelChanged(const base::Closure& callback,
1321 const std::string& host) {
1322 callback.Run();
1323 }
1324
1325 } // namespace
1326
1319 #if defined(OS_WIN) 1327 #if defined(OS_WIN)
1320 // Flakes regularly on Windows XP 1328 // Flakes regularly on Windows XP
1321 // http://crbug.com/146040 1329 // http://crbug.com/146040
1322 #define MAYBE_PageZoom DISABLED_PageZoom 1330 #define MAYBE_PageZoom DISABLED_PageZoom
1323 #else 1331 #else
1324 #define MAYBE_PageZoom PageZoom 1332 #define MAYBE_PageZoom PageZoom
1325 #endif 1333 #endif
1326 IN_PROC_BROWSER_TEST_F(BrowserTest, MAYBE_PageZoom) { 1334 IN_PROC_BROWSER_TEST_F(BrowserTest, MAYBE_PageZoom) {
1327 WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents(); 1335 WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents();
1328 bool enable_plus, enable_minus; 1336 bool enable_plus, enable_minus;
1329 1337
1330 content::WindowedNotificationObserver zoom_in_observer( 1338 {
1331 content::NOTIFICATION_ZOOM_LEVEL_CHANGED, 1339 scoped_refptr<content::MessageLoopRunner> loop_runner(
1332 content::NotificationService::AllSources()); 1340 new content::MessageLoopRunner);
1333 chrome::Zoom(browser(), content::PAGE_ZOOM_IN); 1341 content::HostZoomMap::GetForBrowserContext(
1334 zoom_in_observer.Wait(); 1342 browser()->profile())->AddZoomLevelChangedCallback(
1335 EXPECT_EQ(contents->GetZoomPercent(&enable_plus, &enable_minus), 110); 1343 base::Bind(&OnZoomLevelChanged, loop_runner->QuitClosure()));
1336 EXPECT_TRUE(enable_plus); 1344 chrome::Zoom(browser(), content::PAGE_ZOOM_IN);
1337 EXPECT_TRUE(enable_minus); 1345 loop_runner->Run();
1346 content::HostZoomMap::GetForBrowserContext(
1347 browser()->profile())->RemoveZoomLevelChangedCallback(
1348 base::Bind(&OnZoomLevelChanged, loop_runner->QuitClosure()));
1349 EXPECT_EQ(contents->GetZoomPercent(&enable_plus, &enable_minus), 110);
1350 EXPECT_TRUE(enable_plus);
1351 EXPECT_TRUE(enable_minus);
1352 }
1338 1353
1339 content::WindowedNotificationObserver zoom_reset_observer( 1354 {
1340 content::NOTIFICATION_ZOOM_LEVEL_CHANGED, 1355 scoped_refptr<content::MessageLoopRunner> loop_runner(
1341 content::NotificationService::AllSources()); 1356 new content::MessageLoopRunner);
1342 chrome::Zoom(browser(), content::PAGE_ZOOM_RESET); 1357 content::HostZoomMap::GetForBrowserContext(
1343 zoom_reset_observer.Wait(); 1358 browser()->profile())->AddZoomLevelChangedCallback(
1344 EXPECT_EQ(contents->GetZoomPercent(&enable_plus, &enable_minus), 100); 1359 base::Bind(&OnZoomLevelChanged, loop_runner->QuitClosure()));
1345 EXPECT_TRUE(enable_plus); 1360 chrome::Zoom(browser(), content::PAGE_ZOOM_RESET);
1346 EXPECT_TRUE(enable_minus); 1361 loop_runner->Run();
1362 content::HostZoomMap::GetForBrowserContext(
1363 browser()->profile())->RemoveZoomLevelChangedCallback(
1364 base::Bind(&OnZoomLevelChanged, loop_runner->QuitClosure()));
1365 EXPECT_EQ(contents->GetZoomPercent(&enable_plus, &enable_minus), 100);
1366 EXPECT_TRUE(enable_plus);
1367 EXPECT_TRUE(enable_minus);
1368 }
1347 1369
1348 content::WindowedNotificationObserver zoom_out_observer( 1370 {
1349 content::NOTIFICATION_ZOOM_LEVEL_CHANGED, 1371 scoped_refptr<content::MessageLoopRunner> loop_runner(
1350 content::NotificationService::AllSources()); 1372 new content::MessageLoopRunner);
1351 chrome::Zoom(browser(), content::PAGE_ZOOM_OUT); 1373 content::HostZoomMap::GetForBrowserContext(
1352 zoom_out_observer.Wait(); 1374 browser()->profile())->AddZoomLevelChangedCallback(
1353 EXPECT_EQ(contents->GetZoomPercent(&enable_plus, &enable_minus), 90); 1375 base::Bind(&OnZoomLevelChanged, loop_runner->QuitClosure()));
1354 EXPECT_TRUE(enable_plus); 1376 chrome::Zoom(browser(), content::PAGE_ZOOM_OUT);
1355 EXPECT_TRUE(enable_minus); 1377 loop_runner->Run();
1378 content::HostZoomMap::GetForBrowserContext(
1379 browser()->profile())->RemoveZoomLevelChangedCallback(
1380 base::Bind(&OnZoomLevelChanged, loop_runner->QuitClosure()));
1381 EXPECT_EQ(contents->GetZoomPercent(&enable_plus, &enable_minus), 90);
1382 EXPECT_TRUE(enable_plus);
1383 EXPECT_TRUE(enable_minus);
1384 }
1356 1385
1357 chrome::Zoom(browser(), content::PAGE_ZOOM_RESET); 1386 chrome::Zoom(browser(), content::PAGE_ZOOM_RESET);
1358 } 1387 }
1359 1388
1360 IN_PROC_BROWSER_TEST_F(BrowserTest, InterstitialCommandDisable) { 1389 IN_PROC_BROWSER_TEST_F(BrowserTest, InterstitialCommandDisable) {
1361 ASSERT_TRUE(test_server()->Start()); 1390 ASSERT_TRUE(test_server()->Start());
1362 host_resolver()->AddRule("www.example.com", "127.0.0.1"); 1391 host_resolver()->AddRule("www.example.com", "127.0.0.1");
1363 GURL url(test_server()->GetURL("empty.html")); 1392 GURL url(test_server()->GetURL("empty.html"));
1364 ui_test_utils::NavigateToURL(browser(), url); 1393 ui_test_utils::NavigateToURL(browser(), url);
1365 1394
(...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after
1981 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); 2010 RunTest(browser(), GetHrefURL(), modifiers, button, disposition);
1982 } 2011 }
1983 2012
1984 // Shift-middle-clicks open in a foreground tab. 2013 // Shift-middle-clicks open in a foreground tab.
1985 IN_PROC_BROWSER_TEST_F(ClickModifierTest, HrefShiftMiddleClickTest) { 2014 IN_PROC_BROWSER_TEST_F(ClickModifierTest, HrefShiftMiddleClickTest) {
1986 int modifiers = WebKit::WebInputEvent::ShiftKey; 2015 int modifiers = WebKit::WebInputEvent::ShiftKey;
1987 WebKit::WebMouseEvent::Button button = WebKit::WebMouseEvent::ButtonMiddle; 2016 WebKit::WebMouseEvent::Button button = WebKit::WebMouseEvent::ButtonMiddle;
1988 WindowOpenDisposition disposition = NEW_FOREGROUND_TAB; 2017 WindowOpenDisposition disposition = NEW_FOREGROUND_TAB;
1989 RunTest(browser(), GetHrefURL(), modifiers, button, disposition); 2018 RunTest(browser(), GetHrefURL(), modifiers, button, disposition);
1990 } 2019 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698