diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-15 09:34:15 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-15 09:34:15 +0000 |
commit | 14ece641d7204facbd6711b34b08917d1bfa15c9 (patch) | |
tree | c5651260a0f61189b757627ce013e46fbb315dbc /ash/system/chromeos/tray_display.cc | |
parent | 2d30d04ecb2e82011ce317f855967cf7f4cc5213 (diff) | |
download | chromium_src-14ece641d7204facbd6711b34b08917d1bfa15c9.zip chromium_src-14ece641d7204facbd6711b34b08917d1bfa15c9.tar.gz chromium_src-14ece641d7204facbd6711b34b08917d1bfa15c9.tar.bz2 |
Revert r200208 "* Use DisplayManager::IsMirrored to check mirroring state"
TBR=oshima@chromium.org
BUG=239776
Review URL: https://codereview.chromium.org/15076012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200221 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/system/chromeos/tray_display.cc')
-rw-r--r-- | ash/system/chromeos/tray_display.cc | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/ash/system/chromeos/tray_display.cc b/ash/system/chromeos/tray_display.cc index bfe814a..f3d3297 100644 --- a/ash/system/chromeos/tray_display.cc +++ b/ash/system/chromeos/tray_display.cc @@ -54,20 +54,28 @@ class DisplayView : public ash::internal::ActionableView { virtual ~DisplayView() {} void Update() { - DisplayManager* display_manager = Shell::GetInstance()->display_manager(); - if (display_manager->num_connected_displays() == 1) { - // TODO(oshima|mukai): Support single display mode for overscan alignment. - SetVisible(false); - return; - } - SetVisible(true); - if (display_manager->IsMirrored()) { - label_->SetText(l10n_util::GetStringFUTF16( - IDS_ASH_STATUS_TRAY_DISPLAY_MIRRORING, GetExternalDisplayName())); - } else { - label_->SetText(l10n_util::GetStringFUTF16( - IDS_ASH_STATUS_TRAY_DISPLAY_EXTENDED, GetExternalDisplayName())); + chromeos::OutputState state = + base::chromeos::IsRunningOnChromeOS() ? + Shell::GetInstance()->output_configurator()->output_state() : + InferOutputState(); + switch (state) { + case chromeos::STATE_INVALID: + case chromeos::STATE_HEADLESS: + case chromeos::STATE_SINGLE: + SetVisible(false); + return; + case chromeos::STATE_DUAL_MIRROR: + label_->SetText(l10n_util::GetStringFUTF16( + IDS_ASH_STATUS_TRAY_DISPLAY_MIRRORING, GetExternalDisplayName())); + SetVisible(true); + return; + case chromeos::STATE_DUAL_EXTENDED: + label_->SetText(l10n_util::GetStringFUTF16( + IDS_ASH_STATUS_TRAY_DISPLAY_EXTENDED, GetExternalDisplayName())); + SetVisible(true); + return; } + NOTREACHED() << "Unhandled state " << state; } chromeos::OutputState InferOutputState() const { |