summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/gamepad/gamepad_shared_memory_reader.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/gamepad/gamepad_shared_memory_reader.h')
-rw-r--r--chromium/third_party/blink/renderer/modules/gamepad/gamepad_shared_memory_reader.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/chromium/third_party/blink/renderer/modules/gamepad/gamepad_shared_memory_reader.h b/chromium/third_party/blink/renderer/modules/gamepad/gamepad_shared_memory_reader.h
index e621cb5dbb3..1248ecef1fa 100644
--- a/chromium/third_party/blink/renderer/modules/gamepad/gamepad_shared_memory_reader.h
+++ b/chromium/third_party/blink/renderer/modules/gamepad/gamepad_shared_memory_reader.h
@@ -10,9 +10,11 @@
#include "base/macros.h"
#include "device/gamepad/public/mojom/gamepad.mojom-blink.h"
#include "device/gamepad/public/mojom/gamepad_hardware_buffer.h"
-#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/system/buffer.h"
+#include "third_party/blink/renderer/platform/heap/handle.h"
+#include "third_party/blink/renderer/platform/mojo/heap_mojo_receiver.h"
+#include "third_party/blink/renderer/platform/mojo/heap_mojo_wrapper_mode.h"
namespace base {
class ReadOnlySharedMemoryRegion;
@@ -28,15 +30,22 @@ namespace blink {
class GamepadListener;
class LocalFrame;
-class GamepadSharedMemoryReader : public device::mojom::blink::GamepadObserver {
+class GamepadSharedMemoryReader
+ : public GarbageCollected<GamepadSharedMemoryReader>,
+ public device::mojom::blink::GamepadObserver {
public:
explicit GamepadSharedMemoryReader(LocalFrame& frame);
~GamepadSharedMemoryReader() override;
+ void Trace(Visitor*);
- void SampleGamepads(device::Gamepads& gamepads);
+ void SampleGamepads(device::Gamepads* gamepads);
void Start(blink::GamepadListener* listener);
void Stop();
+ GamepadSharedMemoryReader(const GamepadSharedMemoryReader&) = delete;
+ GamepadSharedMemoryReader& operator=(const GamepadSharedMemoryReader&) =
+ delete;
+
protected:
void SendStartMessage();
void SendStopMessage();
@@ -56,11 +65,11 @@ class GamepadSharedMemoryReader : public device::mojom::blink::GamepadObserver {
bool ever_interacted_with_ = false;
- mojo::Receiver<device::mojom::blink::GamepadObserver> receiver_{this};
+ HeapMojoReceiver<device::mojom::blink::GamepadObserver,
+ HeapMojoWrapperMode::kWithoutContextObserver>
+ receiver_;
mojo::Remote<device::mojom::blink::GamepadMonitor> gamepad_monitor_remote_;
blink::GamepadListener* listener_ = nullptr;
-
- DISALLOW_COPY_AND_ASSIGN(GamepadSharedMemoryReader);
};
} // namespace blink