1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UI_ASH_MEDIA_DELEGATE_CHROMEOS_H_ 6 #define CHROME_BROWSER_UI_ASH_MEDIA_DELEGATE_CHROMEOS_H_ 7 8 #include "ash/media_delegate.h" 9 #include "base/memory/weak_ptr.h" 10 #include "chrome/browser/media/media_capture_devices_dispatcher.h" 11 12 class MediaDelegateChromeOS : public ash::MediaDelegate, 13 MediaCaptureDevicesDispatcher::Observer { 14 public: 15 MediaDelegateChromeOS(); 16 virtual ~MediaDelegateChromeOS(); 17 18 // ash::MediaDelegate: 19 virtual void HandleMediaNextTrack() OVERRIDE; 20 virtual void HandleMediaPlayPause() OVERRIDE; 21 virtual void HandleMediaPrevTrack() OVERRIDE; 22 virtual ash::MediaCaptureState GetMediaCaptureState( 23 content::BrowserContext* context) OVERRIDE; 24 25 // MediaCaptureDevicesDispatcher::Observer: 26 virtual void OnRequestUpdate(int render_process_id, 27 int render_view_id, 28 const content::MediaStreamDevice& device, 29 const content::MediaRequestState state) OVERRIDE; 30 31 private: 32 void NotifyMediaCaptureChange(); 33 34 base::WeakPtrFactory<MediaDelegateChromeOS> weak_ptr_factory_; 35 36 DISALLOW_COPY_AND_ASSIGN(MediaDelegateChromeOS); 37 }; 38 39 #endif // CHROME_BROWSER_UI_ASH_MEDIA_DELEGATE_CHROMEOS_H_ 40