Index: third_party/WebKit/Source/modules/nfc/NFC.h |
diff --git a/third_party/WebKit/Source/modules/nfc/NFC.h b/third_party/WebKit/Source/modules/nfc/NFC.h |
index ca3de0d3f3671cddcf9e091fbf1dc6b096c98370..60c799562a2a4e22a0777a8cd55065ebbe7174ee 100644 |
--- a/third_party/WebKit/Source/modules/nfc/NFC.h |
+++ b/third_party/WebKit/Source/modules/nfc/NFC.h |
@@ -5,30 +5,37 @@ |
#ifndef NFC_h |
#define NFC_h |
+#include "bindings/core/v8/CallbackPromiseAdapter.h" |
#include "bindings/core/v8/ScriptPromise.h" |
#include "bindings/core/v8/ScriptWrappable.h" |
#include "bindings/modules/v8/UnionTypesModules.h" |
-#include "core/frame/LocalFrameLifecycleObserver.h" |
#include "core/page/PageLifecycleObserver.h" |
+#include "device/nfc/nfc.mojom-wtf.h" |
+#include "mojo/public/cpp/bindings/binding.h" |
namespace blink { |
class MessageCallback; |
+class NFCError; |
class NFCPushOptions; |
using NFCPushMessage = StringOrArrayBufferOrNFCMessage; |
class NFCWatchOptions; |
+class ServiceRegistry; |
class NFC final |
- : public GarbageCollected<NFC> |
+ : public GarbageCollectedFinalized<NFC> |
, public ScriptWrappable |
- , public LocalFrameLifecycleObserver |
- , public PageLifecycleObserver { |
+ , public PageLifecycleObserver |
+ , WTF_NON_EXPORTED_BASE(public device::wtf::NFCClient) |
+{ |
DEFINE_WRAPPERTYPEINFO(); |
USING_GARBAGE_COLLECTED_MIXIN(NFC); |
public: |
static NFC* create(LocalFrame*); |
+ virtual ~NFC(); |
+ |
// Pushes NFCPushMessage asynchronously to NFC tag / peer. |
ScriptPromise push(ScriptState*, const NFCPushMessage&, const NFCPushOptions&); |
@@ -44,9 +51,6 @@ public: |
// Cancels all watch operations. |
ScriptPromise cancelWatch(ScriptState*); |
- // Implementation of LocalFrameLifecycleObserver. |
- void willDetachFrameHost() override; |
- |
// Implementation of PageLifecycleObserver. |
void pageVisibilityChanged() override; |
@@ -54,7 +58,15 @@ public: |
DECLARE_VIRTUAL_TRACE(); |
private: |
+ bool Initialize(ServiceRegistry*); |
+ void OnError(); |
+ // device::wtf::NFCClient implementation |
+ void OnWatch(uint32_t id, device::wtf::NFCMessagePtr) override; |
+ |
+private: |
explicit NFC(LocalFrame*); |
+ device::wtf::NFCPtr m_nfc; |
+ mojo::Binding<device::wtf::NFCClient> m_client; |
}; |
} // namespace blink |