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

Unified Diff: third_party/WebKit/Source/modules/sensor/SensorProxy.h

Issue 2458453002: [sensors] Add Permission guard to the generic sensor apis.
Patch Set: Move permissions stuff to SensorProxy, remove aw related stuff Created 4 years, 1 month 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/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

Powered by Google App Engine
This is Rietveld 408576698