Chromium Code Reviews| Index: Source/modules/netinfo/WorkerNavigatorNetworkInfoConnection.cpp | 
| diff --git a/Source/modules/netinfo/WorkerNavigatorNetworkInfoConnection.cpp b/Source/modules/netinfo/WorkerNavigatorNetworkInfoConnection.cpp | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..6ef16d595f4b8a5d838090a7b1f169e0e25ec971 | 
| --- /dev/null | 
| +++ b/Source/modules/netinfo/WorkerNavigatorNetworkInfoConnection.cpp | 
| @@ -0,0 +1,59 @@ | 
| +// Copyright 2014 The Chromium Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +#include "config.h" | 
| +#include "modules/netinfo/WorkerNavigatorNetworkInfoConnection.h" | 
| + | 
| +#include "core/frame/Navigator.h" | 
| +#include "core/workers/WorkerNavigator.h" | 
| +#include "modules/netinfo/NetworkInfoConnection.h" | 
| + | 
| +namespace WebCore { | 
| + | 
| +WorkerNavigatorNetworkInfoConnection::WorkerNavigatorNetworkInfoConnection(WorkerNavigator& navigator, ExecutionContext* context) | 
| +{ | 
| +} | 
| + | 
| +WorkerNavigatorNetworkInfoConnection::~WorkerNavigatorNetworkInfoConnection() | 
| +{ | 
| +} | 
| + | 
| +WorkerNavigatorNetworkInfoConnection& WorkerNavigatorNetworkInfoConnection::from(WorkerNavigator& navigator, ExecutionContext* context) | 
| +{ | 
| + WorkerNavigatorNetworkInfoConnection* supplement = toWorkerNavigatorNetworkInfoConnection(navigator, context); | 
| + if (!supplement) { | 
| + supplement = new WorkerNavigatorNetworkInfoConnection(navigator, context); | 
| + provideTo(navigator, supplementName(), adoptPtrWillBeNoop(supplement)); | 
| + } | 
| + return *supplement; | 
| +} | 
| + | 
| +WorkerNavigatorNetworkInfoConnection* WorkerNavigatorNetworkInfoConnection::toWorkerNavigatorNetworkInfoConnection(WorkerNavigator& navigator, ExecutionContext* context) | 
| +{ | 
| + return static_cast<WorkerNavigatorNetworkInfoConnection*>(WillBeHeapSupplement<WorkerNavigator>::from(navigator, supplementName())); | 
| +} | 
| + | 
| +const char* WorkerNavigatorNetworkInfoConnection::supplementName() | 
| +{ | 
| + return "WorkerNavigatorNetworkInfoConnection"; | 
| +} | 
| + | 
| +NetworkInfoConnection* WorkerNavigatorNetworkInfoConnection::connection(ExecutionContext* context, WorkerNavigator& navigator) | 
| +{ | 
| + return WorkerNavigatorNetworkInfoConnection::from(navigator, context).connection(context); | 
| +} | 
| + | 
| +void WorkerNavigatorNetworkInfoConnection::trace(Visitor* visitor) | 
| +{ | 
| + visitor->trace(m_connection); | 
| +} | 
| + | 
| +NetworkInfoConnection* WorkerNavigatorNetworkInfoConnection::connection(ExecutionContext* context) | 
| +{ | 
| + if (!m_connection && context) | 
| 
 
haraken
2014/05/27 22:54:57
I think |context| shouldn't be 0. You can add ASSE
 
jkarlin
2014/05/29 13:13:49
Done.
 
 | 
| + m_connection = NetworkInfoConnection::create(context); | 
| + return m_connection.get(); | 
| +} | 
| + | 
| +} // namespace WebCore |