| 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 05c7c446b6f7d8a58ec576cd661ee3a616593ddb..72bc13f1ccce03b46228501c6f5fe72694e55c82 100644
|
| --- a/third_party/WebKit/Source/modules/sensor/SensorProxy.h
|
| +++ b/third_party/WebKit/Source/modules/sensor/SensorProxy.h
|
| @@ -6,12 +6,15 @@
|
| #define SensorProxy_h
|
|
|
| #include "core/dom/ExceptionCode.h"
|
| +#include "core/dom/ExecutionContext.h"
|
| #include "device/generic_sensor/public/cpp/sensor_reading.h"
|
| #include "device/generic_sensor/public/interfaces/sensor.mojom-blink.h"
|
| #include "device/generic_sensor/public/interfaces/sensor_provider.mojom-blink.h"
|
| #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"
|
|
|
| namespace blink {
|
|
|
| @@ -36,6 +39,8 @@ class SensorProxy final : public GarbageCollectedFinalized<SensorProxy>,
|
| virtual void onSensorError(ExceptionCode,
|
| const String& sanitizedMessage,
|
| const String& unsanitizedMessage) {}
|
| + // Permission for sensor has changed.
|
| + virtual void onSensorPermissionChanged() {}
|
| };
|
|
|
| ~SensorProxy();
|
| @@ -70,16 +75,31 @@ class SensorProxy final : public GarbageCollectedFinalized<SensorProxy>,
|
| // Updates internal reading from shared buffer.
|
| void updateInternalReading();
|
|
|
| + mojom::blink::PermissionService* getPermissionService(ExecutionContext*);
|
| + void resetPermissionService();
|
| + void permissionServiceConnectionError();
|
| + void onPermissionUpdate(mojom::blink::PermissionStatus);
|
| + void getNextPermissionChange(ExecutionContext*,
|
| + mojom::blink::PermissionStatus);
|
| + void requestPermission(ExecutionContext*, mojom::blink::PermissionStatus);
|
| + mojom::blink::PermissionStatus getPermissionStatus() const {
|
| + return m_sensorPermission;
|
| + };
|
| +
|
| DECLARE_VIRTUAL_TRACE();
|
|
|
| private:
|
| friend class SensorProviderProxy;
|
| - SensorProxy(device::mojom::blink::SensorType, SensorProviderProxy*);
|
| + SensorProxy(device::mojom::blink::SensorType,
|
| + ExecutionContext*,
|
| + SensorProviderProxy*);
|
|
|
| // device::mojom::blink::SensorClient overrides.
|
| void RaiseError() override;
|
| void SensorReadingChanged() override;
|
|
|
| + void SensorPermissionChanged();
|
| +
|
| // Generic handler for a fatal error.
|
| void handleSensorError(ExceptionCode = UnknownError,
|
| const String& sanitizedMessage = String(),
|
| @@ -111,6 +131,10 @@ class SensorProxy final : public GarbageCollectedFinalized<SensorProxy>,
|
| sizeof(ReadingBuffer) ==
|
| device::mojom::blink::SensorInitParams::kReadBufferSizeForTests,
|
| "Check reading buffer size for tests");
|
| +
|
| + mojom::blink::PermissionStatus m_sensorPermission;
|
| + mojom::blink::PermissionServicePtr m_permissionService;
|
| + Member<ExecutionContext> m_executionContext;
|
| };
|
|
|
| } // namespace blink
|
|
|