summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwjmaclean <wjmaclean@chromium.org>2015-04-01 15:53:26 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-01 22:54:31 +0000
commita9373cadd74221c6aaa77ca5b5fc2e7e7f5c4ed7 (patch)
tree81e10489e745dc4a10140ef83173365772042f09
parent5ee99f2860ecf2e167e0b8bed156f466e1b077ec (diff)
downloadchromium_src-a9373cadd74221c6aaa77ca5b5fc2e7e7f5c4ed7.zip
chromium_src-a9373cadd74221c6aaa77ca5b5fc2e7e7f5c4ed7.tar.gz
chromium_src-a9373cadd74221c6aaa77ca5b5fc2e7e7f5c4ed7.tar.bz2
Make disabled-mode zoom event send correct new zoom level.
Modify ZoomController so that when we enter ZOOM_MODE_DISABLED we send the correct value for new zoom level in the ZoomChangedEventData. BUG=472621 Review URL: https://codereview.chromium.org/1054703002 Cr-Commit-Position: refs/heads/master@{#323353}
-rw-r--r--chrome/browser/ui/zoom/zoom_controller_browsertest.cc22
-rw-r--r--chrome/test/data/extensions/platform_apps/web_view/shim/main.js5
-rw-r--r--components/ui/zoom/zoom_controller.cc4
3 files changed, 26 insertions, 5 deletions
diff --git a/chrome/browser/ui/zoom/zoom_controller_browsertest.cc b/chrome/browser/ui/zoom/zoom_controller_browsertest.cc
index 83ad727..bf863e8 100644
--- a/chrome/browser/ui/zoom/zoom_controller_browsertest.cc
+++ b/chrome/browser/ui/zoom/zoom_controller_browsertest.cc
@@ -243,6 +243,28 @@ IN_PROC_BROWSER_TEST_F(ZoomControllerBrowserTest, Observe) {
zoom_change_watcher.Wait();
}
+IN_PROC_BROWSER_TEST_F(ZoomControllerBrowserTest, ObserveDisabledModeEvent) {
+ content::WebContents* web_contents =
+ browser()->tab_strip_model()->GetActiveWebContents();
+
+ ZoomController* zoom_controller =
+ ZoomController::FromWebContents(web_contents);
+
+ double default_zoom_level = zoom_controller->GetDefaultZoomLevel();
+ double new_zoom_level = default_zoom_level + 1.0;
+ zoom_controller->SetZoomLevel(new_zoom_level);
+
+ ZoomController::ZoomChangedEventData zoom_change_data(
+ web_contents,
+ new_zoom_level,
+ default_zoom_level,
+ ZoomController::ZOOM_MODE_DISABLED,
+ true);
+ ZoomChangedWatcher zoom_change_watcher(web_contents, zoom_change_data);
+ zoom_controller->SetZoomMode(ZoomController::ZOOM_MODE_DISABLED);
+ zoom_change_watcher.Wait();
+}
+
IN_PROC_BROWSER_TEST_F(ZoomControllerBrowserTest, PerTabModeResetSendsEvent) {
TestResetOnNavigation(ZoomController::ZOOM_MODE_ISOLATED);
}
diff --git a/chrome/test/data/extensions/platform_apps/web_view/shim/main.js b/chrome/test/data/extensions/platform_apps/web_view/shim/main.js
index 0b116a8..d9bcfc2 100644
--- a/chrome/test/data/extensions/platform_apps/web_view/shim/main.js
+++ b/chrome/test/data/extensions/platform_apps/web_view/shim/main.js
@@ -2170,10 +2170,7 @@ function testDisabledZoomMode() {
var zoomchanged = false;
var zoomchangeListener = function(e) {
- // TODO (paulmeyer): This is currently broken because ZoomObservers do not
- // get the correct new zoom level when changing the zoom mode to
- // 'disabled'. Will add back in after http://crbug.com/472621 is fixed.
- //embedder.test.assertEq(e.newZoomFactor, 1);
+ embedder.test.assertEq(e.newZoomFactor, 1);
zoomchanged = true;
};
diff --git a/components/ui/zoom/zoom_controller.cc b/components/ui/zoom/zoom_controller.cc
index 14a5700..1bd965b 100644
--- a/components/ui/zoom/zoom_controller.cc
+++ b/components/ui/zoom/zoom_controller.cc
@@ -243,8 +243,10 @@ void ZoomController::SetZoomMode(ZoomMode new_mode) {
}
case ZOOM_MODE_DISABLED: {
// The page needs to be zoomed back to default before disabling the zoom
+ double new_zoom_level = GetDefaultZoomLevel();
+ event_data_->new_zoom_level = new_zoom_level;
zoom_map->SetTemporaryZoomLevel(render_process_id, render_view_id,
- GetDefaultZoomLevel());
+ new_zoom_level);
break;
}
}