summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser.cc
diff options
context:
space:
mode:
authorsanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-22 01:46:38 +0000
committersanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-22 01:46:38 +0000
commitebf40a790f097712268847862f8a94ce2f69c772 (patch)
treef061a550d75a45d71f1dca9df0387a30f55d0b63 /chrome/browser/browser.cc
parentfde32aa69ca4233ac30be96ce09f7470b924fab1 (diff)
downloadchromium_src-ebf40a790f097712268847862f8a94ce2f69c772.zip
chromium_src-ebf40a790f097712268847862f8a94ce2f69c772.tar.gz
chromium_src-ebf40a790f097712268847862f8a94ce2f69c772.tar.bz2
Disabled zoom controls in the browser when displaying PDF using the internal PDF plugin. We want to persist zoom state for PDF separately from the zoom state for other content. As a stopgap measure, disabled all browser zoom controls in that scenario.
BUG=None TEST=Test zooming when displaying a PDF using the Chrome PDF plugin. Then load or switch to another page (non-PDF) and check that zoom works. Review URL: http://codereview.chromium.org/3007009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53294 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser.cc')
-rw-r--r--chrome/browser/browser.cc21
1 files changed, 20 insertions, 1 deletions
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc
index c07538f3..fb43c99 100644
--- a/chrome/browser/browser.cc
+++ b/chrome/browser/browser.cc
@@ -2584,6 +2584,9 @@ void Browser::LoadingStateChanged(TabContents* source) {
if (GetStatusBubble())
GetStatusBubble()->SetStatus(GetSelectedTabContents()->GetStatusText());
+ if (source->is_loading())
+ UpdateZoomCommandsForTabState();
+
if (!source->is_loading() &&
pending_web_app_action_ == UPDATE_SHORTCUT) {
// Schedule a shortcut update when web application info is available if
@@ -2688,7 +2691,9 @@ bool Browser::UseVerticalTabs() const {
}
void Browser::ContentsZoomChange(bool zoom_in) {
- ExecuteCommand(zoom_in ? IDC_ZOOM_PLUS : IDC_ZOOM_MINUS);
+ int command_id = zoom_in ? IDC_ZOOM_PLUS : IDC_ZOOM_MINUS;
+ if (command_updater_.IsCommandEnabled(command_id))
+ ExecuteCommand(command_id);
}
void Browser::OnContentSettingsChange(TabContents* source) {
@@ -2909,6 +2914,11 @@ Browser* Browser::GetBrowser() {
return this;
}
+void Browser::ContentTypeChanged(TabContents* source) {
+ if (source == GetSelectedTabContents())
+ UpdateZoomCommandsForTabState();
+}
+
///////////////////////////////////////////////////////////////////////////////
// Browser, SelectFileDialog::Listener implementation:
@@ -3274,6 +3284,15 @@ void Browser::UpdateCommandsForTabState() {
command_updater_.UpdateCommandEnabled(IDC_CREATE_SHORTCUTS,
web_app::IsValidUrl(current_tab->GetURL()));
#endif
+ UpdateZoomCommandsForTabState();
+}
+
+void Browser::UpdateZoomCommandsForTabState() {
+ // Disable zoom commands for PDF content.
+ bool enable_zoom = !GetSelectedTabContents()->is_displaying_pdf_content();
+ command_updater_.UpdateCommandEnabled(IDC_ZOOM_PLUS, enable_zoom);
+ command_updater_.UpdateCommandEnabled(IDC_ZOOM_NORMAL, enable_zoom);
+ command_updater_.UpdateCommandEnabled(IDC_ZOOM_MINUS, enable_zoom);
}
void Browser::UpdateReloadStopState(bool is_loading, bool force) {