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 |