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