Chromium Code Reviews| Index: content/browser/media/session/pepper/pepper_web_contents_observer.h |
| diff --git a/content/browser/media/session/pepper/pepper_web_contents_observer.h b/content/browser/media/session/pepper/pepper_web_contents_observer.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8a6d731e7cdb29d322145b0b75d78e656ec8edd1 |
| --- /dev/null |
| +++ b/content/browser/media/session/pepper/pepper_web_contents_observer.h |
| @@ -0,0 +1,48 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CONTENT_BROWSER_MEDIA_SESSION_PEPPER_PEPPER_WEB_CONTENTS_OBSERVER_H_ |
| +#define CONTENT_BROWSER_MEDIA_SESSION_PEPPER_PEPPER_WEB_CONTENTS_OBSERVER_H_ |
| + |
| +#include "content/public/browser/web_contents_observer.h" |
| + |
| +#include <map> |
| +#include <memory> |
| +#include <set> |
| + |
| +namespace content { |
| +class PepperPlayerDelegate; |
|
mlamouri (slow - plz ping)
2016/06/24 15:33:32
style: empty line after `namespace content {'
Zhiqiang Zhang (Slow)
2016/06/24 17:43:21
Done.
|
| +class MediaSession; |
| + |
| +class CONTENT_EXPORT PepperWebContentsObserver : public WebContentsObserver { |
| + public: |
| + explicit PepperWebContentsObserver(WebContents* web_contents); |
| + ~PepperWebContentsObserver() override; |
| + |
| + void WebContentsDestroyed() override; |
| + void PepperInstanceCreated(int32_t pp_instance) override; |
| + void PepperInstanceDeleted(int32_t pp_instance) override; |
| + |
| + bool OnMessageReceived(const IPC::Message& msg, |
| + RenderFrameHost* render_frame_host) override; |
| + void OnPepperStartsPlayback(int32_t pp_instance); |
| + void OnPepperStopsPlayback(int32_t pp_instance); |
| + |
| + private: |
| + |
| + using PlayersMap = |
| + std::map<int32_t, std::unique_ptr<PepperPlayerDelegate>>; |
| + PlayersMap players_map_; |
| + // The set of all active players. A Pepper player is active once it starts |
| + // playback once, and it will keep being active until the Pepper instance is |
| + // deleted. |
| + std::set<int32_t> active_players_; |
| + |
| + MediaSession* media_session_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(PepperWebContentsObserver); |
| +}; |
| +} |
|
mlamouri (slow - plz ping)
2016/06/24 15:33:32
style: empty line before } and add " // namespace
Zhiqiang Zhang (Slow)
2016/06/24 17:43:21
Done.
|
| + |
| +#endif // CONTENT_BROWSER_MEDIA_SESSION_PEPPER_PEPPER_WEB_CONTENTS_OBSERVER_H_ |