Home | History | Annotate | Download | only in ash
      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