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

Unified 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: rebase 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/browser_browsertest.cc
diff --git a/chrome/browser/ui/browser_browsertest.cc b/chrome/browser/ui/browser_browsertest.cc
index 26275a525355ea3927c5af83f1252e300456df30..5ec54398ed151c6837944ca0eab6647ba57983f1 100644
--- a/chrome/browser/ui/browser_browsertest.cc
+++ b/chrome/browser/ui/browser_browsertest.cc
@@ -49,11 +49,10 @@
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h"
#include "content/public/browser/favicon_status.h"
+#include "content/public/browser/host_zoom_map.h"
#include "content/public/browser/interstitial_page.h"
#include "content/public/browser/interstitial_page_delegate.h"
#include "content/public/browser/navigation_entry.h"
-#include "content/public/browser/notification_service.h"
-#include "content/public/browser/notification_source.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/render_widget_host_view.h"
@@ -1322,6 +1321,15 @@ IN_PROC_BROWSER_TEST_F(BrowserTest,
EXPECT_FALSE(command_updater->IsCommandEnabled(IDC_IMPORT_SETTINGS));
}
+namespace {
+
+void OnZoomLevelChanged(const base::Closure& callback,
+ const std::string& host) {
+ callback.Run();
+}
+
+} // namespace
+
#if defined(OS_WIN)
// Flakes regularly on Windows XP
// http://crbug.com/146040
@@ -1333,32 +1341,53 @@ IN_PROC_BROWSER_TEST_F(BrowserTest, MAYBE_PageZoom) {
WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents();
bool enable_plus, enable_minus;
- content::WindowedNotificationObserver zoom_in_observer(
- content::NOTIFICATION_ZOOM_LEVEL_CHANGED,
- content::NotificationService::AllSources());
- chrome::Zoom(browser(), content::PAGE_ZOOM_IN);
- zoom_in_observer.Wait();
- EXPECT_EQ(contents->GetZoomPercent(&enable_plus, &enable_minus), 110);
- EXPECT_TRUE(enable_plus);
- EXPECT_TRUE(enable_minus);
-
- content::WindowedNotificationObserver zoom_reset_observer(
- content::NOTIFICATION_ZOOM_LEVEL_CHANGED,
- content::NotificationService::AllSources());
- chrome::Zoom(browser(), content::PAGE_ZOOM_RESET);
- zoom_reset_observer.Wait();
- EXPECT_EQ(contents->GetZoomPercent(&enable_plus, &enable_minus), 100);
- EXPECT_TRUE(enable_plus);
- EXPECT_TRUE(enable_minus);
+ {
+ scoped_refptr<content::MessageLoopRunner> loop_runner(
+ new content::MessageLoopRunner);
+ content::HostZoomMap::ZoomLevelChangedCallback callback(
+ base::Bind(&OnZoomLevelChanged, loop_runner->QuitClosure()));
+ content::HostZoomMap::GetForBrowserContext(
+ browser()->profile())->AddZoomLevelChangedCallback(callback);
+ chrome::Zoom(browser(), content::PAGE_ZOOM_IN);
+ loop_runner->Run();
+ content::HostZoomMap::GetForBrowserContext(
+ browser()->profile())->RemoveZoomLevelChangedCallback(callback);
+ EXPECT_EQ(contents->GetZoomPercent(&enable_plus, &enable_minus), 110);
+ EXPECT_TRUE(enable_plus);
+ EXPECT_TRUE(enable_minus);
+ }
- content::WindowedNotificationObserver zoom_out_observer(
- content::NOTIFICATION_ZOOM_LEVEL_CHANGED,
- content::NotificationService::AllSources());
- chrome::Zoom(browser(), content::PAGE_ZOOM_OUT);
- zoom_out_observer.Wait();
- EXPECT_EQ(contents->GetZoomPercent(&enable_plus, &enable_minus), 90);
- EXPECT_TRUE(enable_plus);
- EXPECT_TRUE(enable_minus);
+ {
+ scoped_refptr<content::MessageLoopRunner> loop_runner(
+ new content::MessageLoopRunner);
+ content::HostZoomMap::ZoomLevelChangedCallback callback(
+ base::Bind(&OnZoomLevelChanged, loop_runner->QuitClosure()));
+ content::HostZoomMap::GetForBrowserContext(
+ browser()->profile())->AddZoomLevelChangedCallback(callback);
+ chrome::Zoom(browser(), content::PAGE_ZOOM_RESET);
+ loop_runner->Run();
+ content::HostZoomMap::GetForBrowserContext(
+ browser()->profile())->RemoveZoomLevelChangedCallback(callback);
+ EXPECT_EQ(contents->GetZoomPercent(&enable_plus, &enable_minus), 100);
+ EXPECT_TRUE(enable_plus);
+ EXPECT_TRUE(enable_minus);
+ }
+
+ {
+ scoped_refptr<content::MessageLoopRunner> loop_runner(
+ new content::MessageLoopRunner);
+ content::HostZoomMap::ZoomLevelChangedCallback callback(
+ base::Bind(&OnZoomLevelChanged, loop_runner->QuitClosure()));
+ content::HostZoomMap::GetForBrowserContext(
+ browser()->profile())->AddZoomLevelChangedCallback(callback);
+ chrome::Zoom(browser(), content::PAGE_ZOOM_OUT);
+ loop_runner->Run();
+ content::HostZoomMap::GetForBrowserContext(
+ browser()->profile())->RemoveZoomLevelChangedCallback(callback);
+ EXPECT_EQ(contents->GetZoomPercent(&enable_plus, &enable_minus), 90);
+ EXPECT_TRUE(enable_plus);
+ EXPECT_TRUE(enable_minus);
+ }
chrome::Zoom(browser(), content::PAGE_ZOOM_RESET);
}
« no previous file with comments | « chrome/browser/profiles/profile_impl.cc ('k') | chrome/browser/ui/cocoa/wrench_menu/wrench_menu_controller.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698