Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / web / NotificationPermissionClientImpl.h
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
10 namespace blink {
11
12 class NotificationPermissionClientImpl : public NoBaseWillBeGarbageCollectedFinalized<NotificationPermissionClientImpl>, public NotificationPermissionClient {
13     WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NotificationPermissionClientImpl);
14 public:
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
25 private:
26     NotificationPermissionClientImpl();
27 };
28
29 } // namespace blink
30
31 #endif // NotificationPermissionClientImpl_h