1// Copyright (c) 2012 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#include "chrome/browser/chromeos/extensions/media_player_api.h"
6
7#include "base/lazy_instance.h"
8#include "base/values.h"
9#include "chrome/browser/chromeos/extensions/media_player_event_router.h"
10
11namespace extensions {
12
13MediaPlayerAPI::MediaPlayerAPI(content::BrowserContext* context)
14    : browser_context_(context) {}
15
16MediaPlayerAPI::~MediaPlayerAPI() {
17}
18
19// static
20MediaPlayerAPI* MediaPlayerAPI::Get(content::BrowserContext* context) {
21  return BrowserContextKeyedAPIFactory<MediaPlayerAPI>::Get(context);
22}
23
24MediaPlayerEventRouter* MediaPlayerAPI::media_player_event_router() {
25  if (!media_player_event_router_)
26    media_player_event_router_.reset(
27        new MediaPlayerEventRouter(browser_context_));
28  return media_player_event_router_.get();
29}
30
31static base::LazyInstance<BrowserContextKeyedAPIFactory<MediaPlayerAPI> >
32    g_factory = LAZY_INSTANCE_INITIALIZER;
33
34// static
35BrowserContextKeyedAPIFactory<MediaPlayerAPI>*
36MediaPlayerAPI::GetFactoryInstance() {
37  return g_factory.Pointer();
38}
39
40}  // namespace extensions
41