diff options
author | sanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-22 01:46:38 +0000 |
---|---|---|
committer | sanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-22 01:46:38 +0000 |
commit | ebf40a790f097712268847862f8a94ce2f69c772 (patch) | |
tree | f061a550d75a45d71f1dca9df0387a30f55d0b63 /chrome/browser/browser.cc | |
parent | fde32aa69ca4233ac30be96ce09f7470b924fab1 (diff) | |
download | chromium_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.cc | 21 |
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) { |