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 13namespace blink { 14 15class CredentialsContainer; 16class Navigator; 17 18class 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); 21public: 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 30private: 31 explicit NavigatorCredentials(Navigator&); 32 CredentialsContainer* credentials(); 33 34 PersistentWillBeMember<CredentialsContainer> m_credentialsContainer; 35}; 36 37} // namespace blink 38 39#endif // NavigatorCredentials_h 40