summaryrefslogtreecommitdiffstats
path: root/ash/system/chromeos/tray_display.cc
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-15 09:34:15 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-15 09:34:15 +0000
commit14ece641d7204facbd6711b34b08917d1bfa15c9 (patch)
treec5651260a0f61189b757627ce013e46fbb315dbc /ash/system/chromeos/tray_display.cc
parent2d30d04ecb2e82011ce317f855967cf7f4cc5213 (diff)
downloadchromium_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.cc34
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 {