Chromium Code Reviews| Index: Source/modules/netinfo/NetworkInformation.h |
| diff --git a/Source/modules/netinfo/NetworkInformation.h b/Source/modules/netinfo/NetworkInformation.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..50a657b2df102c181627613a9ebd2055edb2615b |
| --- /dev/null |
| +++ b/Source/modules/netinfo/NetworkInformation.h |
| @@ -0,0 +1,64 @@ |
| +// 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. |
| + |
| +#ifndef NetworkInformation_h |
| +#define NetworkInformation_h |
| + |
| +#include "bindings/v8/ScriptWrappable.h" |
| +#include "core/dom/ActiveDOMObject.h" |
| +#include "core/events/EventTarget.h" |
| +#include "core/page/NetworkStateNotifier.h" |
| +#include "public/platform/WebConnectionType.h" |
| + |
| +namespace WebCore { |
| + |
| +class ExecutionContext; |
| + |
| +class NetworkInformation FINAL |
| + : public RefCountedWillBeGarbageCollected<NetworkInformation> |
|
haraken
2014/05/30 15:42:19
This should be RefCountedWillBeRefCountedGarbageCo
jkarlin
2014/05/30 16:19:39
Done. Built (with clang) and ran netinfo/* tests
|
| + , public ScriptWrappable |
| + , public ActiveDOMObject |
| + , public EventTargetWithInlineData |
| + , public NetworkStateNotifier::NetworkStateObserver { |
| + DEFINE_EVENT_TARGET_REFCOUNTING(RefCountedWillBeGarbageCollected<NetworkInformation>); |
|
haraken
2014/05/30 15:42:19
I think "DEFINE_EVENT_TARGET(NetworkInformation)"
jkarlin
2014/05/30 16:19:39
There is no DEFINE_EVENT_TARGET, REFCOUNTED_EVENT_
|
| + |
| +public: |
| + static PassRefPtrWillBeRawPtr<NetworkInformation> create(ExecutionContext*); |
| + virtual ~NetworkInformation(); |
| + |
| + String type() const; |
| + |
| + virtual void connectionTypeChange(blink::WebConnectionType) OVERRIDE; |
| + |
| + // EventTarget overrides. |
| + virtual const AtomicString& interfaceName() const OVERRIDE; |
| + virtual ExecutionContext* executionContext() const OVERRIDE; |
| + virtual bool addEventListener(const AtomicString& eventType, PassRefPtr<EventListener>, bool useCapture = false) OVERRIDE; |
| + virtual bool removeEventListener(const AtomicString& eventType, EventListener*, bool useCapture = false) OVERRIDE; |
| + virtual void removeAllEventListeners() OVERRIDE; |
| + |
| + // ActiveDOMObject overrides. |
| + virtual bool hasPendingActivity() const OVERRIDE; |
| + virtual void stop() OVERRIDE; |
| + |
| + DEFINE_ATTRIBUTE_EVENT_LISTENER(typechange); |
| + |
| +private: |
| + explicit NetworkInformation(ExecutionContext*); |
| + void startObserving(); |
| + void stopObserving(); |
| + |
| + // Touched only on context thread. |
| + blink::WebConnectionType m_type; |
| + |
| + // Whether this object is listening for events from NetworkStateNotifier. |
| + bool m_observing; |
| + |
| + // Whether ActiveDomObject::stop has been called. |
| + bool m_contextStopped; |
| +}; |
| + |
| +} // namespace WebCore |
| + |
| +#endif // NetworkInformation_h |