Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(798)

Unified Diff: third_party/WebKit/Source/modules/nfc/NFC.h

Issue 1708543002: [webnfc] Implement push() method in blink nfc module. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@onionsoup_webnfc
Patch Set: GN build generates wtf mojo bindings automatically, remove custom target after rebase. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698