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