| Index: third_party/WebKit/Source/modules/sensor/SensorProxy.h
|
| diff --git a/third_party/WebKit/Source/modules/sensor/SensorProxy.h b/third_party/WebKit/Source/modules/sensor/SensorProxy.h
|
| index 84bc7a4e4315591fb5aeb9bb2de3e237d0e671ac..585184fedb87fd974e83df4133da294ad09bcd7a 100644
|
| --- a/third_party/WebKit/Source/modules/sensor/SensorProxy.h
|
| +++ b/third_party/WebKit/Source/modules/sensor/SensorProxy.h
|
| @@ -13,6 +13,8 @@
|
| #include "mojo/public/cpp/bindings/binding.h"
|
| #include "platform/Supplementable.h"
|
| #include "platform/heap/Handle.h"
|
| +#include "public/platform/modules/permissions/permission.mojom-blink.h"
|
| +#include "public/platform/modules/permissions/permission_status.mojom-blink.h"
|
| #include "wtf/Vector.h"
|
|
|
| namespace blink {
|
| @@ -20,11 +22,13 @@ namespace blink {
|
| class SensorProviderProxy;
|
| class SensorReading;
|
| class SensorReadingUpdater;
|
| +class SecurityOrigin;
|
|
|
| // This class wraps 'Sensor' mojo interface and used by multiple
|
| // JS sensor instances of the same type (within a single frame).
|
| class SensorProxy final : public GarbageCollectedFinalized<SensorProxy>,
|
| public device::mojom::blink::SensorClient,
|
| + public mojom::blink::PermissionObserver,
|
| public PageVisibilityObserver {
|
| USING_GARBAGE_COLLECTED_MIXIN(SensorProxy);
|
| USING_PRE_FINALIZER(SensorProxy, Dispose);
|
| @@ -103,7 +107,10 @@ class SensorProxy final : public GarbageCollectedFinalized<SensorProxy>,
|
| friend class SensorProviderProxy;
|
| friend class SensorReadingUpdaterContinuous;
|
| friend class SensorReadingUpdaterOnChange;
|
| - SensorProxy(device::mojom::blink::SensorType, SensorProviderProxy*, Page*);
|
| + SensorProxy(device::mojom::blink::SensorType,
|
| + RefPtr<SecurityOrigin>,
|
| + SensorProviderProxy*,
|
| + Page*);
|
|
|
| // Updates sensor reading from shared buffer.
|
| void UpdateSensorReading();
|
| @@ -131,9 +138,13 @@ class SensorProxy final : public GarbageCollectedFinalized<SensorProxy>,
|
| bool TryReadFromBuffer(device::SensorReading& result);
|
| void OnAnimationFrame(double timestamp);
|
|
|
| + // PermissionObserver override.
|
| + void OnPermissionStatusChange(mojom::blink::PermissionStatus);
|
| +
|
| device::mojom::blink::SensorType type_;
|
| device::mojom::blink::ReportingMode mode_;
|
| Member<SensorProviderProxy> provider_;
|
| +
|
| using ObserversSet = HeapHashSet<WeakMember<Observer>>;
|
| ObserversSet observers_;
|
|
|
| @@ -158,6 +169,10 @@ class SensorProxy final : public GarbageCollectedFinalized<SensorProxy>,
|
| sizeof(ReadingBuffer) ==
|
| device::mojom::blink::SensorInitParams::kReadBufferSizeForTests,
|
| "Check reading buffer size for tests");
|
| +
|
| + RefPtr<SecurityOrigin> security_origin_;
|
| + mojo::Binding<mojom::blink::PermissionObserver> binding_;
|
| + bool permission_subscribed_;
|
| };
|
|
|
| } // namespace blink
|
|
|