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