Home | History | Annotate | Download | only in credentialmanager
      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