Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / Source / web / NotificationPermissionClientImpl.h
blob106c3be53c593c0163677a632b26c586d34e23c7
1 // Copyright 2014 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.
5 #ifndef NotificationPermissionClientImpl_h
6 #define NotificationPermissionClientImpl_h
8 #include "modules/notifications/NotificationPermissionClient.h"
9 #include "platform/heap/Handle.h"
11 namespace blink {
13 class NotificationPermissionClientImpl : public NoBaseWillBeGarbageCollectedFinalized<NotificationPermissionClientImpl>, public NotificationPermissionClient {
14 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NotificationPermissionClientImpl);
15 public:
16 static PassOwnPtrWillBeRawPtr<NotificationPermissionClientImpl> create();
18 ~NotificationPermissionClientImpl() override;
20 // NotificationPermissionClient implementation.
21 ScriptPromise requestPermission(ScriptState*, NotificationPermissionCallback*) override;
23 // NoBaseWillBeGarbageCollectedFinalized implementation.
24 DEFINE_INLINE_VIRTUAL_TRACE() { NotificationPermissionClient::trace(visitor); }
26 private:
27 NotificationPermissionClientImpl();
30 } // namespace blink
32 #endif // NotificationPermissionClientImpl_h