diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-30 06:40:16 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-30 06:40:16 +0000 |
commit | 9d2cd33e9d1be6b1ff0a31f2b6a15e605c39ba3b (patch) | |
tree | bbab82f86944ec7ce856682f83a3bb849a8011ec /content/browser/android/browser_media_player_manager.h | |
parent | 40076a26f49d0494b2231fec5ec2ebb736fc9039 (diff) | |
download | chromium_src-9d2cd33e9d1be6b1ff0a31f2b6a15e605c39ba3b.zip chromium_src-9d2cd33e9d1be6b1ff0a31f2b6a15e605c39ba3b.tar.gz chromium_src-9d2cd33e9d1be6b1ff0a31f2b6a15e605c39ba3b.tar.bz2 |
Migrate media::MediaPlayerManager::Create() to content::BrowserMediaPlayerManager.
This fixes a layering violation where content::RenderViewHost was forward declared in media code. It also lets content code use BrowserMediaPlayerManager directly without resorting to casting.
BUG=263652
Review URL: https://chromiumcodereview.appspot.com/23735002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220520 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/android/browser_media_player_manager.h')
-rw-r--r-- | content/browser/android/browser_media_player_manager.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/content/browser/android/browser_media_player_manager.h b/content/browser/android/browser_media_player_manager.h index 2685806..e7c227a 100644 --- a/content/browser/android/browser_media_player_manager.h +++ b/content/browser/android/browser_media_player_manager.h @@ -39,6 +39,13 @@ class CONTENT_EXPORT BrowserMediaPlayerManager : public RenderViewHostObserver, public media::MediaPlayerManager { public: + // Permits embedders to provide an extended version of the class. + typedef BrowserMediaPlayerManager* (*Factory)(RenderViewHost*); + static void RegisterFactory(Factory factory); + + // Returns a new instance using the registered factory if available. + static BrowserMediaPlayerManager* Create(RenderViewHost* rvh); + virtual ~BrowserMediaPlayerManager(); // RenderViewHostObserver overrides. @@ -98,11 +105,7 @@ class CONTENT_EXPORT BrowserMediaPlayerManager #endif protected: - friend MediaPlayerManager* MediaPlayerManager::Create( - content::RenderViewHost*); - - // The instance of this class is supposed to be created by either Create() - // method of MediaPlayerManager or the derived classes constructors. + // Clients must use Create() or subclass constructor. explicit BrowserMediaPlayerManager(RenderViewHost* render_view_host); // Message handlers. |