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