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 32