From 7009d9b8d8bee27f40080f6dca4af72281e579dc Mon Sep 17 00:00:00 2001 From: "oshima@chromium.org" Date: Sat, 3 May 2014 21:38:36 +0000 Subject: Media indicator for background recording task BUG=323766 TEST=MediaTrayItemTest.NotifyMediaCaptureChange Review URL: https://codereview.chromium.org/253183003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@268077 0039d316-1c4b-4281-b951-d872f2087c98 --- ash/test/test_shell_delegate.cc | 36 ++++++++++++++++++++++++++++++++++-- ash/test/test_shell_delegate.h | 7 ++++++- 2 files changed, 40 insertions(+), 3 deletions(-) (limited to 'ash/test') diff --git a/ash/test/test_shell_delegate.cc b/ash/test/test_shell_delegate.cc index 52962ee..2a6597d 100644 --- a/ash/test/test_shell_delegate.cc +++ b/ash/test/test_shell_delegate.cc @@ -27,11 +27,21 @@ #include "ui/app_list/test/app_list_test_view_delegate.h" #include "ui/aura/window.h" +#if defined(OS_CHROMEOS) +#include "ash/system/tray/system_tray_notifier.h" +#endif + namespace ash { namespace test { namespace { class NewWindowDelegateImpl : public NewWindowDelegate { + public: + NewWindowDelegateImpl() {} + virtual ~NewWindowDelegateImpl() {} + + private: + // NewWindowDelegate: virtual void NewTab() OVERRIDE {} virtual void NewWindow(bool incognito) OVERRIDE {} virtual void OpenFileManager() OVERRIDE {} @@ -40,13 +50,30 @@ class NewWindowDelegateImpl : public NewWindowDelegate { virtual void ShowKeyboardOverlay() OVERRIDE {} virtual void ShowTaskManager() OVERRIDE {} virtual void OpenFeedbackPage() OVERRIDE {} + + DISALLOW_COPY_AND_ASSIGN(NewWindowDelegateImpl); }; class MediaDelegateImpl : public MediaDelegate { public: + MediaDelegateImpl() : state_(MEDIA_CAPTURE_NONE) {} + virtual ~MediaDelegateImpl() {} + + void set_media_capture_state(MediaCaptureState state) { state_ = state; } + + private: + // MediaDelegate: virtual void HandleMediaNextTrack() OVERRIDE {} virtual void HandleMediaPlayPause() OVERRIDE {} virtual void HandleMediaPrevTrack() OVERRIDE {} + virtual MediaCaptureState GetMediaCaptureState( + content::BrowserContext* context) OVERRIDE { + return state_; + } + + MediaCaptureState state_; + + DISALLOW_COPY_AND_ASSIGN(MediaDelegateImpl); }; } // namespace @@ -161,8 +188,13 @@ base::string16 TestShellDelegate::GetProductName() const { return base::string16(); } -TestSessionStateDelegate* TestShellDelegate::test_session_state_delegate() { - return test_session_state_delegate_; +void TestShellDelegate::SetMediaCaptureState(MediaCaptureState state) { +#if defined(OS_CHROMEOS) + Shell* shell = Shell::GetInstance(); + static_cast(shell->media_delegate()) + ->set_media_capture_state(state); + shell->system_tray_notifier()->NotifyMediaCaptureChanged(); +#endif } } // namespace test diff --git a/ash/test/test_shell_delegate.h b/ash/test/test_shell_delegate.h index 1d8da2f..d92f80d 100644 --- a/ash/test/test_shell_delegate.h +++ b/ash/test/test_shell_delegate.h @@ -7,6 +7,7 @@ #include +#include "ash/media_delegate.h" #include "ash/shell_delegate.h" #include "base/compiler_specific.h" #include "base/memory/scoped_ptr.h" @@ -63,7 +64,11 @@ class TestShellDelegate : public ShellDelegate { int num_exit_requests() const { return num_exit_requests_; } - TestSessionStateDelegate* test_session_state_delegate(); + TestSessionStateDelegate* test_session_state_delegate() { + return test_session_state_delegate_; + } + + void SetMediaCaptureState(MediaCaptureState state); private: int num_exit_requests_; -- cgit v1.1