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

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

Issue 2458453002: [sensors] Add Permission guard to the generic sensor apis.
Patch Set: Fix comments + rebase 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 faf62de4966b148e868f342539482bb56d1af5f9..ce4fd70d9003fbfdbe3c6d17acb25bf4aa1d3107 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 {
@@ -38,6 +41,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();
@@ -73,11 +78,27 @@ class SensorProxy final : public GarbageCollectedFinalized<SensorProxy>,
// Updates sensor reading from shared buffer.
void updateSensorReading();
+ mojom::blink::PermissionService* getPermissionService(ExecutionContext*);
Mikhail 2016/11/10 09:30:48 1) permissionService() 2) why pass |ExecutionConte
riju_ 2016/11/14 14:00:07 Done.
+ void resetPermissionService();
+ void permissionServiceConnectionError();
Mikhail 2016/11/10 09:30:48 name of this function looks like a getter, it's un
riju_ 2016/11/14 14:00:07 Removing it.
+ void onPermissionUpdate(mojom::blink::PermissionStatus);
Mikhail 2016/11/10 09:30:48 does it need to be public? (same comment allies to
riju_ 2016/11/14 14:00:07 Done.
+ void getNextPermissionChange(ExecutionContext*,
+ mojom::blink::PermissionStatus);
+ void requestPermission(ExecutionContext*, mojom::blink::PermissionStatus);
+ mojom::blink::PermissionStatus getPermissionStatus() const {
Mikhail 2016/11/10 09:30:48 permissionStatus()
riju_ 2016/11/14 14:00:07 removing it.
+ return m_sensorPermission;
+ };
+ bool getStartPendingPermission() const { return m_startPendingPermission; }
Mikhail 2016/11/10 09:30:48 bool pendingPermissionRequest() const ?
riju_ 2016/11/14 14:00:07 Not needed now. removing it.
+ void setStartPendingPermission(bool value) {
+ m_startPendingPermission = value;
+ }
+
DECLARE_VIRTUAL_TRACE();
private:
friend class SensorProviderProxy;
SensorProxy(device::mojom::blink::SensorType,
+ ExecutionContext*,
SensorProviderProxy*,
std::unique_ptr<SensorReadingFactory>);
@@ -85,6 +106,8 @@ class SensorProxy final : public GarbageCollectedFinalized<SensorProxy>,
void RaiseError() override;
void SensorReadingChanged() override;
+ void SensorPermissionChanged();
+
// Generic handler for a fatal error.
// String parameters are intentionally copied.
void handleSensorError(ExceptionCode = UnknownError,
@@ -119,6 +142,11 @@ class SensorProxy final : public GarbageCollectedFinalized<SensorProxy>,
sizeof(ReadingBuffer) ==
device::mojom::blink::SensorInitParams::kReadBufferSizeForTests,
"Check reading buffer size for tests");
+
+ mojom::blink::PermissionStatus m_sensorPermission;
Mikhail 2016/11/10 09:30:48 m_permissionStatus
riju_ 2016/11/14 14:00:07 Done.
+ mojom::blink::PermissionServicePtr m_permissionService;
+ Member<ExecutionContext> m_executionContext;
+ bool m_startPendingPermission;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698