| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ash/system/chromeos/tray_display.h" | 5 #include "ash/system/chromeos/tray_display.h" |
| 6 | 6 |
| 7 #include "ash/display/display_manager.h" | 7 #include "ash/display/display_manager.h" |
| 8 #include "ash/root_window_controller.h" | 8 #include "ash/root_window_controller.h" |
| 9 #include "ash/screen_ash.h" | 9 #include "ash/screen_util.h" |
| 10 #include "ash/shell.h" | 10 #include "ash/shell.h" |
| 11 #include "ash/system/tray/system_tray.h" | 11 #include "ash/system/tray/system_tray.h" |
| 12 #include "ash/test/ash_test_base.h" | 12 #include "ash/test/ash_test_base.h" |
| 13 #include "ash/test/test_system_tray_delegate.h" | 13 #include "ash/test/test_system_tray_delegate.h" |
| 14 #include "base/strings/string16.h" | 14 #include "base/strings/string16.h" |
| 15 #include "base/strings/utf_string_conversions.h" | 15 #include "base/strings/utf_string_conversions.h" |
| 16 #include "grit/ash_strings.h" | 16 #include "grit/ash_strings.h" |
| 17 #include "ui/base/l10n/l10n_util.h" | 17 #include "ui/base/l10n/l10n_util.h" |
| 18 #include "ui/gfx/display.h" | 18 #include "ui/gfx/display.h" |
| 19 #include "ui/message_center/message_center.h" | 19 #include "ui/message_center/message_center.h" |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 | 54 |
| 55 base::string16 GetFirstDisplayName() { | 55 base::string16 GetFirstDisplayName() { |
| 56 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); | 56 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); |
| 57 return base::UTF8ToUTF16(display_manager->GetDisplayNameForId( | 57 return base::UTF8ToUTF16(display_manager->GetDisplayNameForId( |
| 58 display_manager->first_display_id())); | 58 display_manager->first_display_id())); |
| 59 } | 59 } |
| 60 | 60 |
| 61 base::string16 GetSecondDisplayName() { | 61 base::string16 GetSecondDisplayName() { |
| 62 return base::UTF8ToUTF16( | 62 return base::UTF8ToUTF16( |
| 63 Shell::GetInstance()->display_manager()->GetDisplayNameForId( | 63 Shell::GetInstance()->display_manager()->GetDisplayNameForId( |
| 64 ScreenAsh::GetSecondaryDisplay().id())); | 64 ScreenUtil::GetSecondaryDisplay().id())); |
| 65 } | 65 } |
| 66 | 66 |
| 67 base::string16 GetMirroredDisplayName() { | 67 base::string16 GetMirroredDisplayName() { |
| 68 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); | 68 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); |
| 69 return base::UTF8ToUTF16(display_manager->GetDisplayNameForId( | 69 return base::UTF8ToUTF16(display_manager->GetDisplayNameForId( |
| 70 display_manager->mirrored_display_id())); | 70 display_manager->mirrored_display_id())); |
| 71 } | 71 } |
| 72 | 72 |
| 73 class TrayDisplayTest : public ash::test::AshTestBase { | 73 class TrayDisplayTest : public ash::test::AshTestBase { |
| 74 public: | 74 public: |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 EXPECT_TRUE(IsDisplayVisibleInTray()); | 256 EXPECT_TRUE(IsDisplayVisibleInTray()); |
| 257 expected = l10n_util::GetStringFUTF16( | 257 expected = l10n_util::GetStringFUTF16( |
| 258 IDS_ASH_STATUS_TRAY_DISPLAY_MIRRORING, GetMirroredDisplayName()); | 258 IDS_ASH_STATUS_TRAY_DISPLAY_MIRRORING, GetMirroredDisplayName()); |
| 259 EXPECT_EQ(expected, GetTrayDisplayText()); | 259 EXPECT_EQ(expected, GetTrayDisplayText()); |
| 260 EXPECT_EQ(GetMirroredTooltipText(expected, GetFirstDisplayName(), "600x600"), | 260 EXPECT_EQ(GetMirroredTooltipText(expected, GetFirstDisplayName(), "600x600"), |
| 261 GetTrayDisplayTooltipText()); | 261 GetTrayDisplayTooltipText()); |
| 262 | 262 |
| 263 // Closed lid mode. | 263 // Closed lid mode. |
| 264 display_manager->SetSoftwareMirroring(false); | 264 display_manager->SetSoftwareMirroring(false); |
| 265 UpdateDisplay("400x400@1.5,200x200"); | 265 UpdateDisplay("400x400@1.5,200x200"); |
| 266 gfx::Display::SetInternalDisplayId(ScreenAsh::GetSecondaryDisplay().id()); | 266 gfx::Display::SetInternalDisplayId(ScreenUtil::GetSecondaryDisplay().id()); |
| 267 UpdateDisplay("400x400@1.5"); | 267 UpdateDisplay("400x400@1.5"); |
| 268 tray()->ShowDefaultView(BUBBLE_USE_EXISTING); | 268 tray()->ShowDefaultView(BUBBLE_USE_EXISTING); |
| 269 EXPECT_TRUE(IsDisplayVisibleInTray()); | 269 EXPECT_TRUE(IsDisplayVisibleInTray()); |
| 270 expected = l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_DISPLAY_DOCKED); | 270 expected = l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_DISPLAY_DOCKED); |
| 271 EXPECT_EQ(expected, GetTrayDisplayText()); | 271 EXPECT_EQ(expected, GetTrayDisplayText()); |
| 272 EXPECT_EQ( | 272 EXPECT_EQ( |
| 273 GetTooltipText( | 273 GetTooltipText( |
| 274 expected, GetFirstDisplayName(), "600x600", base::string16(), ""), | 274 expected, GetFirstDisplayName(), "600x600", base::string16(), ""), |
| 275 GetTrayDisplayTooltipText()); | 275 GetTrayDisplayTooltipText()); |
| 276 } | 276 } |
| 277 | 277 |
| 278 TEST_F(TrayDisplayTest, ExternalDisplayResized) { | 278 TEST_F(TrayDisplayTest, ExternalDisplayResized) { |
| 279 UpdateDisplay("400x400"); | 279 UpdateDisplay("400x400"); |
| 280 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); | 280 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); |
| 281 gfx::Display::SetInternalDisplayId(display_manager->first_display_id()); | 281 gfx::Display::SetInternalDisplayId(display_manager->first_display_id()); |
| 282 | 282 |
| 283 // Shows the tray_display even though there's a single-display. | 283 // Shows the tray_display even though there's a single-display. |
| 284 tray()->ShowDefaultView(BUBBLE_USE_EXISTING); | 284 tray()->ShowDefaultView(BUBBLE_USE_EXISTING); |
| 285 EXPECT_FALSE(IsDisplayVisibleInTray()); | 285 EXPECT_FALSE(IsDisplayVisibleInTray()); |
| 286 | 286 |
| 287 // Extended | 287 // Extended |
| 288 UpdateDisplay("400x400,200x200@1.5"); | 288 UpdateDisplay("400x400,200x200@1.5"); |
| 289 const gfx::Display& secondary_display = ScreenAsh::GetSecondaryDisplay(); | 289 const gfx::Display& secondary_display = ScreenUtil::GetSecondaryDisplay(); |
| 290 | 290 |
| 291 tray()->ShowDefaultView(BUBBLE_USE_EXISTING); | 291 tray()->ShowDefaultView(BUBBLE_USE_EXISTING); |
| 292 EXPECT_TRUE(IsDisplayVisibleInTray()); | 292 EXPECT_TRUE(IsDisplayVisibleInTray()); |
| 293 base::string16 expected = l10n_util::GetStringFUTF16( | 293 base::string16 expected = l10n_util::GetStringFUTF16( |
| 294 IDS_ASH_STATUS_TRAY_DISPLAY_EXTENDED, | 294 IDS_ASH_STATUS_TRAY_DISPLAY_EXTENDED, |
| 295 l10n_util::GetStringFUTF16( | 295 l10n_util::GetStringFUTF16( |
| 296 IDS_ASH_STATUS_TRAY_DISPLAY_ANNOTATED_NAME, | 296 IDS_ASH_STATUS_TRAY_DISPLAY_ANNOTATED_NAME, |
| 297 GetSecondDisplayName(), | 297 GetSecondDisplayName(), |
| 298 base::UTF8ToUTF16(secondary_display.size().ToString()))); | 298 base::UTF8ToUTF16(secondary_display.size().ToString()))); |
| 299 EXPECT_EQ(expected, GetTrayDisplayText()); | 299 EXPECT_EQ(expected, GetTrayDisplayText()); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 GetSecondDisplayName(), base::UTF8ToUTF16("286x286"))); | 332 GetSecondDisplayName(), base::UTF8ToUTF16("286x286"))); |
| 333 std::string second_data = l10n_util::GetStringFUTF8( | 333 std::string second_data = l10n_util::GetStringFUTF8( |
| 334 IDS_ASH_STATUS_TRAY_DISPLAY_ANNOTATION, | 334 IDS_ASH_STATUS_TRAY_DISPLAY_ANNOTATION, |
| 335 base::UTF8ToUTF16("286x286"), overscan); | 335 base::UTF8ToUTF16("286x286"), overscan); |
| 336 EXPECT_EQ(GetTooltipText(headline, GetFirstDisplayName(), "400x400", | 336 EXPECT_EQ(GetTooltipText(headline, GetFirstDisplayName(), "400x400", |
| 337 GetSecondDisplayName(), second_data), | 337 GetSecondDisplayName(), second_data), |
| 338 GetTrayDisplayTooltipText()); | 338 GetTrayDisplayTooltipText()); |
| 339 | 339 |
| 340 // reset the overscan. | 340 // reset the overscan. |
| 341 display_manager->SetOverscanInsets( | 341 display_manager->SetOverscanInsets( |
| 342 ScreenAsh::GetSecondaryDisplay().id(), gfx::Insets()); | 342 ScreenUtil::GetSecondaryDisplay().id(), gfx::Insets()); |
| 343 headline = l10n_util::GetStringFUTF16( | 343 headline = l10n_util::GetStringFUTF16( |
| 344 IDS_ASH_STATUS_TRAY_DISPLAY_EXTENDED, | 344 IDS_ASH_STATUS_TRAY_DISPLAY_EXTENDED, |
| 345 l10n_util::GetStringFUTF16( | 345 l10n_util::GetStringFUTF16( |
| 346 IDS_ASH_STATUS_TRAY_DISPLAY_ANNOTATED_NAME, | 346 IDS_ASH_STATUS_TRAY_DISPLAY_ANNOTATED_NAME, |
| 347 GetSecondDisplayName(), overscan)); | 347 GetSecondDisplayName(), overscan)); |
| 348 second_data = l10n_util::GetStringFUTF8( | 348 second_data = l10n_util::GetStringFUTF8( |
| 349 IDS_ASH_STATUS_TRAY_DISPLAY_ANNOTATION, | 349 IDS_ASH_STATUS_TRAY_DISPLAY_ANNOTATION, |
| 350 base::UTF8ToUTF16("300x300"), overscan); | 350 base::UTF8ToUTF16("300x300"), overscan); |
| 351 EXPECT_EQ(GetTooltipText(headline, GetFirstDisplayName(), "400x400", | 351 EXPECT_EQ(GetTooltipText(headline, GetFirstDisplayName(), "400x400", |
| 352 GetSecondDisplayName(), second_data), | 352 GetSecondDisplayName(), second_data), |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 489 l10n_util::GetStringFUTF16( | 489 l10n_util::GetStringFUTF16( |
| 490 IDS_ASH_STATUS_TRAY_DISPLAY_ROTATED, | 490 IDS_ASH_STATUS_TRAY_DISPLAY_ROTATED, |
| 491 GetSecondDisplayName(), | 491 GetSecondDisplayName(), |
| 492 l10n_util::GetStringUTF16( | 492 l10n_util::GetStringUTF16( |
| 493 IDS_ASH_STATUS_TRAY_DISPLAY_ORIENTATION_90)), | 493 IDS_ASH_STATUS_TRAY_DISPLAY_ORIENTATION_90)), |
| 494 GetDisplayNotificationText()); | 494 GetDisplayNotificationText()); |
| 495 EXPECT_TRUE(GetDisplayNotificationAdditionalText().empty()); | 495 EXPECT_TRUE(GetDisplayNotificationAdditionalText().empty()); |
| 496 | 496 |
| 497 // Enters closed lid mode. | 497 // Enters closed lid mode. |
| 498 UpdateDisplay("400x400@1.5,200x200"); | 498 UpdateDisplay("400x400@1.5,200x200"); |
| 499 gfx::Display::SetInternalDisplayId(ScreenAsh::GetSecondaryDisplay().id()); | 499 gfx::Display::SetInternalDisplayId(ScreenUtil::GetSecondaryDisplay().id()); |
| 500 UpdateDisplay("400x400@1.5"); | 500 UpdateDisplay("400x400@1.5"); |
| 501 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_DISPLAY_DOCKED), | 501 EXPECT_EQ(l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_DISPLAY_DOCKED), |
| 502 GetDisplayNotificationText()); | 502 GetDisplayNotificationText()); |
| 503 EXPECT_EQ( | 503 EXPECT_EQ( |
| 504 l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_DISPLAY_DOCKED_DESCRIPTION), | 504 l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_DISPLAY_DOCKED_DESCRIPTION), |
| 505 GetDisplayNotificationAdditionalText()); | 505 GetDisplayNotificationAdditionalText()); |
| 506 } | 506 } |
| 507 | 507 |
| 508 TEST_F(TrayDisplayTest, DisplayConfigurationChangedTwice) { | 508 TEST_F(TrayDisplayTest, DisplayConfigurationChangedTwice) { |
| 509 test::TestSystemTrayDelegate* tray_delegate = | 509 test::TestSystemTrayDelegate* tray_delegate = |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 546 l10n_util::GetStringFUTF16( | 546 l10n_util::GetStringFUTF16( |
| 547 IDS_ASH_STATUS_TRAY_DISPLAY_ROTATED, | 547 IDS_ASH_STATUS_TRAY_DISPLAY_ROTATED, |
| 548 GetSecondDisplayName(), | 548 GetSecondDisplayName(), |
| 549 l10n_util::GetStringUTF16( | 549 l10n_util::GetStringUTF16( |
| 550 IDS_ASH_STATUS_TRAY_DISPLAY_ORIENTATION_90)), | 550 IDS_ASH_STATUS_TRAY_DISPLAY_ORIENTATION_90)), |
| 551 GetDisplayNotificationText()); | 551 GetDisplayNotificationText()); |
| 552 } | 552 } |
| 553 | 553 |
| 554 } // namespace internal | 554 } // namespace internal |
| 555 } // namespace ash | 555 } // namespace ash |
| OLD | NEW |