OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "config.h" | |
6 #include "modules/permissions/PermissionQueryCallback.h" | |
7 | |
8 #include "bindings/core/v8/ScriptPromiseResolver.h" | |
9 #include "modules/permissions/PermissionStatus.h" | |
10 | |
11 namespace blink { | |
12 | |
13 PermissionQueryCallback::PermissionQueryCallback(PassRefPtr<ScriptPromiseResolve
r> resolver, WebPermissionType permissionType) | |
14 : m_resolver(resolver) | |
15 , m_permissionType(permissionType) | |
16 { | |
17 ASSERT(m_resolver); | |
18 } | |
19 | |
20 PermissionQueryCallback::~PermissionQueryCallback() | |
21 { | |
22 } | |
23 | |
24 void PermissionQueryCallback::onSuccess(WebPermissionStatus* permissionStatus) | |
25 { | |
26 if (!m_resolver->executionContext() || m_resolver->executionContext()->activ
eDOMObjectsAreStopped()) { | |
27 PermissionStatus::dispose(permissionStatus); | |
28 return; | |
29 } | |
30 m_resolver->resolve(PermissionStatus::take(m_resolver.get(), permissionStatu
s, m_permissionType)); | |
31 } | |
32 | |
33 void PermissionQueryCallback::onError() | |
34 { | |
35 if (!m_resolver->executionContext() || m_resolver->executionContext()->activ
eDOMObjectsAreStopped()) { | |
36 return; | |
37 } | |
38 m_resolver->reject(); | |
39 } | |
40 | |
41 } // namespace blink | |
OLD | NEW |