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 NavigatorCredentials_h 6 #define NavigatorCredentials_h 7 8 #include "core/frame/DOMWindowProperty.h" 9 #include "core/frame/Navigator.h" 10 #include "platform/Supplementable.h" 11 #include "platform/heap/Handle.h" 12 13 namespace blink { 14 15 class CredentialsContainer; 16 class Navigator; 17 18 class NavigatorCredentials FINAL : public NoBaseWillBeGarbageCollected<NavigatorCredentials>, public WillBeHeapSupplement<Navigator>, public DOMWindowProperty { 19 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(NavigatorCredentials); 20 DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(NavigatorCredentials); 21 public: 22 static NavigatorCredentials& from(Navigator&); 23 static const char* supplementName(); 24 25 // NavigatorCredentials.idl 26 static CredentialsContainer* credentials(Navigator&); 27 28 void trace(Visitor*); 29 30 private: 31 explicit NavigatorCredentials(Navigator&); 32 CredentialsContainer* credentials(); 33 34 PersistentWillBeMember<CredentialsContainer> m_credentialsContainer; 35 }; 36 37 } // namespace blink 38 39 #endif // NavigatorCredentials_h 40