Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(113)

Side by Side Diff: content/renderer/media/android/webmediasession_android.h

Issue 1441883003: Hook up RendererMediaSessionManager with browser side (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address review comments Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIASESSION_ANDROID_H_ 5 #ifndef CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIASESSION_ANDROID_H_
6 #define CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIASESSION_ANDROID_H_ 6 #define CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIASESSION_ANDROID_H_
7 7
8 #include <map>
9
8 #include "base/macros.h" 10 #include "base/macros.h"
9 #include "content/common/content_export.h" 11 #include "content/common/content_export.h"
10 #include "third_party/WebKit/public/platform/modules/mediasession/WebMediaSessio n.h" 12 #include "third_party/WebKit/public/platform/modules/mediasession/WebMediaSessio n.h"
11 13
12 namespace content { 14 namespace content {
13 15
14 class RendererMediaSessionManager; 16 class RendererMediaSessionManager;
15 17
16 class CONTENT_EXPORT WebMediaSessionAndroid : public blink::WebMediaSession { 18 class CONTENT_EXPORT WebMediaSessionAndroid : public blink::WebMediaSession {
17 public: 19 public:
18 WebMediaSessionAndroid(RendererMediaSessionManager* session_manager); 20 WebMediaSessionAndroid(RendererMediaSessionManager* session_manager);
19 virtual ~WebMediaSessionAndroid() override; 21 virtual ~WebMediaSessionAndroid() override;
20 22
21 void activate(blink::WebMediaSessionActivateCallback*) override; 23 void activate(blink::WebMediaSessionActivateCallback*) override;
22 void deactivate(blink::WebMediaSessionDeactivateCallback*) override; 24 void deactivate(blink::WebMediaSessionDeactivateCallback*) override;
23 25
26 void OnDidActivate(int activation_id, bool success);
27 void OnDidDeactivate(int deactivation_id);
mlamouri (slow - plz ping) 2015/12/02 15:53:31 request_id^2
davve 2015/12/04 12:43:09 Done.
28
29 int session_id() const { return session_id_; }
30
24 private: 31 private:
25 RendererMediaSessionManager* const session_manager_; 32 RendererMediaSessionManager* const session_manager_;
26 int session_id_; 33 int session_id_;
34 int next_request_id_;
35
36 struct SessionAction {
37 SessionAction() : activate(nullptr), deactivate(nullptr) {}
38 blink::WebMediaSessionActivateCallback* activate;
39 blink::WebMediaSessionDeactivateCallback* deactivate;
40 };
41
42 std::map<int, SessionAction> actions_;
mlamouri (slow - plz ping) 2015/12/02 15:53:31 You might want to use IDMap here instead. I think
davve 2015/12/04 12:43:09 Excellent suggestion! Done.
27 43
28 DISALLOW_COPY_AND_ASSIGN(WebMediaSessionAndroid); 44 DISALLOW_COPY_AND_ASSIGN(WebMediaSessionAndroid);
29 }; 45 };
30 46
31 } // namespace content 47 } // namespace content
32 48
33 #endif // CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIASESSION_ANDROID_H_ 49 #endif // CONTENT_RENDERER_MEDIA_ANDROID_WEBMEDIASESSION_ANDROID_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698