diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-03 21:38:36 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-03 21:38:36 +0000 |
commit | 7009d9b8d8bee27f40080f6dca4af72281e579dc (patch) | |
tree | bbe00ea6599abbb711488b1aa4253b170365b4d6 /ash/test | |
parent | fc2b46bc8a826bbce32c0a1cfef6678aa7b0bb2b (diff) | |
download | chromium_src-7009d9b8d8bee27f40080f6dca4af72281e579dc.zip chromium_src-7009d9b8d8bee27f40080f6dca4af72281e579dc.tar.gz chromium_src-7009d9b8d8bee27f40080f6dca4af72281e579dc.tar.bz2 |
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
Diffstat (limited to 'ash/test')
-rw-r--r-- | ash/test/test_shell_delegate.cc | 36 | ||||
-rw-r--r-- | ash/test/test_shell_delegate.h | 7 |
2 files changed, 40 insertions, 3 deletions
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<MediaDelegateImpl*>(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 <string> +#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_; |