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.
4
5#ifndef NotificationPermissionClientImpl_h
6#define NotificationPermissionClientImpl_h
7
8#include "modules/notifications/NotificationPermissionClient.h"
9
10namespace blink {
11
12class NotificationPermissionClientImpl : public NoBaseWillBeGarbageCollectedFinalized<NotificationPermissionClientImpl>, public NotificationPermissionClient {
13    WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NotificationPermissionClientImpl);
14public:
15    static PassOwnPtrWillBeRawPtr<NotificationPermissionClientImpl> create();
16
17    virtual ~NotificationPermissionClientImpl();
18
19    // NotificationPermissionClient implementation.
20    virtual void requestPermission(ExecutionContext*, NotificationPermissionCallback*) OVERRIDE;
21
22    // NoBaseWillBeGarbageCollectedFinalized implementation.
23    virtual void trace(Visitor* visitor) OVERRIDE { NotificationPermissionClient::trace(visitor); }
24
25private:
26    NotificationPermissionClientImpl();
27};
28
29} // namespace blink
30
31#endif // NotificationPermissionClientImpl_h
32