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

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

Issue 2330943002: [Sensors] Handle default sensor configuration (Closed)
Patch Set: 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 const device::mojom::blink::SensorConfiguration* defaultConfig() const { ret urn m_defaultConfig.get(); }
shalamov 2016/09/13 10:52:59 DCHECK(isInitialized()); ?
65 66
66 // Updates internal reading from shared buffer. 67 // Updates internal reading from shared buffer.
67 void updateInternalReading(); 68 void updateInternalReading();
68 69
69 DECLARE_VIRTUAL_TRACE(); 70 DECLARE_VIRTUAL_TRACE();
70 71
71 private: 72 private:
72 friend class SensorProviderProxy; 73 friend class SensorProviderProxy;
73 SensorProxy(device::mojom::blink::SensorType, SensorProviderProxy*); 74 SensorProxy(device::mojom::blink::SensorType, SensorProviderProxy*);
74 75
75 // device::mojom::blink::SensorClient overrides. 76 // device::mojom::blink::SensorClient overrides.
76 void RaiseError() override; 77 void RaiseError() override;
77 void SensorReadingChanged() override; 78 void SensorReadingChanged() override;
78 79
79 // Generic handler for a fatal error. 80 // Generic handler for a fatal error.
80 void handleSensorError(); 81 void handleSensorError();
81 82
82 void onSensorCreated(device::mojom::blink::SensorReadBufferPtr, device::mojo m::blink::SensorClientRequest); 83 void onSensorCreated(device::mojom::blink::SensorInitParamsPtr, device::mojo m::blink::SensorClientRequest);
83 84
84 device::mojom::blink::SensorType m_type; 85 device::mojom::blink::SensorType m_type;
85 device::mojom::blink::ReportingMode m_mode; 86 device::mojom::blink::ReportingMode m_mode;
86 Member<SensorProviderProxy> m_provider; 87 Member<SensorProviderProxy> m_provider;
87 using ObserversSet = HeapHashSet<WeakMember<Observer>>; 88 using ObserversSet = HeapHashSet<WeakMember<Observer>>;
88 ObserversSet m_observers; 89 ObserversSet m_observers;
89 90
90 device::mojom::blink::SensorPtr m_sensor; 91 device::mojom::blink::SensorPtr m_sensor;
92 device::mojom::blink::SensorConfigurationPtr m_defaultConfig;
91 mojo::Binding<device::mojom::blink::SensorClient> m_clientBinding; 93 mojo::Binding<device::mojom::blink::SensorClient> m_clientBinding;
94
92 enum State { 95 enum State {
93 Uninitialized, 96 Uninitialized,
94 Initializing, 97 Initializing,
95 Initialized 98 Initialized
96 }; 99 };
97 State m_state; 100 State m_state;
98 mojo::ScopedSharedBufferHandle m_sharedBufferHandle; 101 mojo::ScopedSharedBufferHandle m_sharedBufferHandle;
99 mojo::ScopedSharedBufferMapping m_sharedBuffer; 102 mojo::ScopedSharedBufferMapping m_sharedBuffer;
100 Reading m_reading; 103 Reading m_reading;
101 bool m_suspended; 104 bool m_suspended;
102 }; 105 };
103 106
104 } // namespace blink 107 } // namespace blink
105 108
106 #endif // SensorProxy_h 109 #endif // SensorProxy_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698