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

Side by Side Diff: media/base/android/mock_android_overlay.cc

Issue 2813303003: Add AndroidVideoSurfaceChooser to manage overlays. (Closed)
Patch Set: from ps11 Created 3 years, 7 months 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
(Empty)
1 // Copyright 2017 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 "media/base/android/mock_android_overlay.h"
6
7 #include "base/bind.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace media {
11
12 MockAndroidOverlay::Callbacks::Callbacks() = default;
13 MockAndroidOverlay::Callbacks::Callbacks(const Callbacks&) = default;
14 MockAndroidOverlay::Callbacks::~Callbacks() = default;
15
16 MockAndroidOverlay::MockAndroidOverlay() : weak_factory_(this) {}
17
18 MockAndroidOverlay::~MockAndroidOverlay() {}
19
20 void MockAndroidOverlay::SetConfig(const Config& config) {
21 config_ = config;
22 }
23
24 MockAndroidOverlay::Callbacks MockAndroidOverlay::GetCallbacks() {
25 Callbacks c;
26 c.OverlayReady = base::Bind(&MockAndroidOverlay::CallbackTrampoline,
DaleCurtis 2017/04/27 18:57:37 Why do you need the trampoline? Can't you just bin
liberato (no reviews please) 2017/04/27 20:05:02 so the caller knows if the callback succeeded. th
27 &MockAndroidOverlay::OnOverlayReady,
28 weak_factory_.GetWeakPtr());
29 c.OverlayFailed = base::Bind(&MockAndroidOverlay::CallbackTrampoline,
30 &MockAndroidOverlay::OnOverlayFailed,
31 weak_factory_.GetWeakPtr());
32 c.SurfaceDestroyed = base::Bind(&MockAndroidOverlay::CallbackTrampoline,
33 &MockAndroidOverlay::OnSurfaceDestroyed,
34 weak_factory_.GetWeakPtr());
35
36 return c;
37 }
38
39 bool MockAndroidOverlay::CallbackTrampoline(
40 void (MockAndroidOverlay::*cb)(),
41 base::WeakPtr<MockAndroidOverlay> wp) {
42 MockAndroidOverlay* overlay = wp.get();
43 if (!overlay)
44 return false;
45
46 (overlay->*cb)();
47
48 return true;
49 }
50
51 void MockAndroidOverlay::OnOverlayReady() {
52 config_.ready_cb.Run(this);
53 }
54
55 void MockAndroidOverlay::OnOverlayFailed() {
56 config_.failed_cb.Run(this);
57 }
58
59 void MockAndroidOverlay::OnSurfaceDestroyed() {
60 config_.destroyed_cb.Run(this);
61 }
62
63 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698