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 NavigatorPushManager_h 6 #define NavigatorPushManager_h 7 8 #include "platform/Supplementable.h" 9 #include "platform/heap/Handle.h" 10 11 namespace blink { 12 13 class Navigator; 14 class PushManager; 15 16 class NavigatorPushManager FINAL : public NoBaseWillBeGarbageCollectedFinalized<NavigatorPushManager>, public WillBeHeapSupplement<Navigator> { 17 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NavigatorPushManager); 18 public: 19 virtual ~NavigatorPushManager(); 20 static NavigatorPushManager& from(Navigator&); 21 22 static PushManager* push(Navigator&); 23 PushManager* pushManager(); 24 25 void trace(Visitor*); 26 27 private: 28 NavigatorPushManager(); 29 static const char* supplementName(); 30 31 PersistentWillBeMember<PushManager> m_pushManager; 32 }; 33 34 } // namespace blink 35 36 #endif // NavigatorPushManager_h 37