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