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: Source/modules/audio_output_devices/SetSinkIdCallbacks.cpp

Issue 1188203002: Implementation of setSinkId() for HTMLMediaElement. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix missing #include and broken previous upload Created 5 years, 6 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 2014 The Chromium Authors. All rights reserved.
Mike West 2015/06/17 11:44:37 Nit: 2015
Guido Urdaneta 2015/06/17 12:25:15 Done.
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 "config.h"
6 #include "modules/audio_output_devices/SetSinkIdCallbacks.h"
7
8 #include "bindings/core/v8/ScriptPromiseResolver.h"
9 #include "modules/audio_output_devices/HTMLMediaElementAudioOutputDevice.h"
10 #include "platform/Logging.h"
11 #include "public/platform/WebSetSinkIdError.h"
12
13 namespace blink {
14
15 SetSinkIdCallbacks::SetSinkIdCallbacks(PassRefPtrWillBeRawPtr<ScriptPromiseResol ver> resolver, HTMLMediaElement& element, const String& sinkId)
16 : m_resolver(resolver)
17 , m_element(element)
18 , m_sinkId(sinkId)
19 {
20 ASSERT(m_resolver);
21 WTF_LOG(Media, __FUNCTION__);
22 }
23
24 SetSinkIdCallbacks::~SetSinkIdCallbacks()
25 {
26 WTF_LOG(Media, __FUNCTION__);
27 }
28
29 void SetSinkIdCallbacks::onSuccess()
30 {
31 if (!m_resolver->executionContext() || m_resolver->executionContext()->activ eDOMObjectsAreStopped()) {
32 return;
33 }
Mike West 2015/06/17 11:44:37 Nit: No {} for one line clauses.
Guido Urdaneta 2015/06/17 12:25:16 Done.
34
35 HTMLMediaElementAudioOutputDevice& aodElement = HTMLMediaElementAudioOutputD evice::from(*m_element);
36 aodElement.m_sinkId = m_sinkId;
Mike West 2015/06/17 11:44:37 Ah, I see. You've friended to set `m_sinkId` as we
Guido Urdaneta 2015/06/17 12:25:16 Done.
37 m_resolver->resolve();
38 }
39
40 void SetSinkIdCallbacks::onError(WebSetSinkIdError* rawError)
41 {
42 ASSERT(rawError);
43 OwnPtr<WebSetSinkIdError> error = adoptPtr(rawError);
44 if (!m_resolver->executionContext() || m_resolver->executionContext()->activ eDOMObjectsAreStopped()) {
45 return;
46 }
47
48 switch (error->errorType) {
49 case WebSetSinkIdError::ErrorTypeNotFound:
50 m_resolver->reject(DOMException::create(NotFoundError, error->message));
51 break;
52 case WebSetSinkIdError::ErrorTypeSecurity:
53 m_resolver->reject(DOMException::create(SecurityError, error->message));
54 break;
55 case WebSetSinkIdError::ErrorTypeNotSupported:
56 m_resolver->reject(DOMException::create(NotSupportedError, error->messag e));
57 break;
58 case WebSetSinkIdError::ErrorTypeAbort:
59 m_resolver->reject(DOMException::create(AbortError, error->message));
60 break;
61 default:
62 ASSERT_NOT_REACHED();
63 }
64 }
65
66 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698