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

Side by Side Diff: third_party/WebKit/Source/modules/sensor/SensorProxy.h

Issue 2330943002: [Sensors] Handle default sensor configuration (Closed)
Patch Set: Rebased Created 4 years, 3 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef SensorProxy_h 5 #ifndef SensorProxy_h
6 #define SensorProxy_h 6 #define SensorProxy_h
7 7
8 #include "device/generic_sensor/public/interfaces/sensor.mojom-blink.h" 8 #include "device/generic_sensor/public/interfaces/sensor.mojom-blink.h"
9 #include "device/generic_sensor/public/interfaces/sensor_provider.mojom-blink.h" 9 #include "device/generic_sensor/public/interfaces/sensor_provider.mojom-blink.h"
10 #include "mojo/public/cpp/bindings/binding.h" 10 #include "mojo/public/cpp/bindings/binding.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 void suspend(); 52 void suspend();
53 void resume(); 53 void resume();
54 54
55 device::mojom::blink::SensorType type() const { return m_type; } 55 device::mojom::blink::SensorType type() const { return m_type; }
56 device::mojom::blink::ReportingMode reportingMode() const { return m_mode; } 56 device::mojom::blink::ReportingMode reportingMode() const { return m_mode; }
57 57
58 struct Reading { 58 struct Reading {
59 double timestamp; 59 double timestamp;
60 double reading[3]; 60 double reading[3];
61 }; 61 };
62 static_assert(sizeof(Reading) == device::mojom::blink::SensorReadBuffer::kRe adBufferSize, "Check reading size"); 62 static_assert(sizeof(Reading) == device::mojom::blink::SensorInitParams::kRe adBufferSize, "Check reading size");
63 63
64 const Reading& reading() const { return m_reading; } 64 const Reading& reading() const { return m_reading; }
65 65
66 const device::mojom::blink::SensorConfiguration* defaultConfig() const;
67
66 // Updates internal reading from shared buffer. 68 // Updates internal reading from shared buffer.
67 void updateInternalReading(); 69 void updateInternalReading();
68 70
69 DECLARE_VIRTUAL_TRACE(); 71 DECLARE_VIRTUAL_TRACE();
70 72
71 private: 73 private:
72 friend class SensorProviderProxy; 74 friend class SensorProviderProxy;
73 SensorProxy(device::mojom::blink::SensorType, SensorProviderProxy*); 75 SensorProxy(device::mojom::blink::SensorType, SensorProviderProxy*);
74 76
75 // device::mojom::blink::SensorClient overrides. 77 // device::mojom::blink::SensorClient overrides.
76 void RaiseError() override; 78 void RaiseError() override;
77 void SensorReadingChanged() override; 79 void SensorReadingChanged() override;
78 80
79 // Generic handler for a fatal error. 81 // Generic handler for a fatal error.
80 void handleSensorError(); 82 void handleSensorError();
81 83
82 void onSensorCreated(device::mojom::blink::SensorReadBufferPtr, device::mojo m::blink::SensorClientRequest); 84 void onSensorCreated(device::mojom::blink::SensorInitParamsPtr, device::mojo m::blink::SensorClientRequest);
83 85
84 device::mojom::blink::SensorType m_type; 86 device::mojom::blink::SensorType m_type;
85 device::mojom::blink::ReportingMode m_mode; 87 device::mojom::blink::ReportingMode m_mode;
86 Member<SensorProviderProxy> m_provider; 88 Member<SensorProviderProxy> m_provider;
87 using ObserversSet = HeapHashSet<WeakMember<Observer>>; 89 using ObserversSet = HeapHashSet<WeakMember<Observer>>;
88 ObserversSet m_observers; 90 ObserversSet m_observers;
89 91
90 device::mojom::blink::SensorPtr m_sensor; 92 device::mojom::blink::SensorPtr m_sensor;
93 device::mojom::blink::SensorConfigurationPtr m_defaultConfig;
91 mojo::Binding<device::mojom::blink::SensorClient> m_clientBinding; 94 mojo::Binding<device::mojom::blink::SensorClient> m_clientBinding;
95
92 enum State { 96 enum State {
93 Uninitialized, 97 Uninitialized,
94 Initializing, 98 Initializing,
95 Initialized 99 Initialized
96 }; 100 };
97 State m_state; 101 State m_state;
98 mojo::ScopedSharedBufferHandle m_sharedBufferHandle; 102 mojo::ScopedSharedBufferHandle m_sharedBufferHandle;
99 mojo::ScopedSharedBufferMapping m_sharedBuffer; 103 mojo::ScopedSharedBufferMapping m_sharedBuffer;
100 Reading m_reading; 104 Reading m_reading;
101 bool m_suspended; 105 bool m_suspended;
102 }; 106 };
103 107
104 } // namespace blink 108 } // namespace blink
105 109
106 #endif // SensorProxy_h 110 #endif // SensorProxy_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/modules/sensor/Sensor.cpp ('k') | third_party/WebKit/Source/modules/sensor/SensorProxy.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698