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

Side by Side Diff: third_party/WebKit/Source/modules/device_orientation/DeviceMotionData.cpp

Issue 2758933002: Fix default initialization for DeviceMotionEvent.interval. (Closed)
Patch Set: Fix layout test expectations. Created 3 years, 9 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 /* 1 /*
2 * Copyright (C) 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2010 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * * Redistributions of source code must retain the above copyright 7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright 9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 m_canProvideGamma(canProvideGamma) {} 98 m_canProvideGamma(canProvideGamma) {}
99 99
100 DeviceMotionData* DeviceMotionData::create() { 100 DeviceMotionData* DeviceMotionData::create() {
101 return new DeviceMotionData; 101 return new DeviceMotionData;
102 } 102 }
103 103
104 DeviceMotionData* DeviceMotionData::create( 104 DeviceMotionData* DeviceMotionData::create(
105 Acceleration* acceleration, 105 Acceleration* acceleration,
106 Acceleration* accelerationIncludingGravity, 106 Acceleration* accelerationIncludingGravity,
107 RotationRate* rotationRate, 107 RotationRate* rotationRate,
108 bool canProvideInterval,
109 double interval) { 108 double interval) {
110 return new DeviceMotionData(acceleration, accelerationIncludingGravity, 109 return new DeviceMotionData(acceleration, accelerationIncludingGravity,
111 rotationRate, canProvideInterval, interval); 110 rotationRate, interval);
112 } 111 }
113 112
114 DeviceMotionData* DeviceMotionData::create(const DeviceMotionEventInit& init) { 113 DeviceMotionData* DeviceMotionData::create(const DeviceMotionEventInit& init) {
115 return DeviceMotionData::create( 114 return DeviceMotionData::create(
116 init.hasAcceleration() 115 init.hasAcceleration()
117 ? DeviceMotionData::Acceleration::create(init.acceleration()) 116 ? DeviceMotionData::Acceleration::create(init.acceleration())
118 : nullptr, 117 : nullptr,
119 init.hasAccelerationIncludingGravity() 118 init.hasAccelerationIncludingGravity()
120 ? DeviceMotionData::Acceleration::create( 119 ? DeviceMotionData::Acceleration::create(
121 init.accelerationIncludingGravity()) 120 init.accelerationIncludingGravity())
122 : nullptr, 121 : nullptr,
123 init.hasRotationRate() 122 init.hasRotationRate()
124 ? DeviceMotionData::RotationRate::create(init.rotationRate()) 123 ? DeviceMotionData::RotationRate::create(init.rotationRate())
125 : nullptr, 124 : nullptr,
126 init.hasInterval(), init.hasInterval() ? init.interval() : 0); 125 init.hasInterval() ? init.interval() : 0);
127 } 126 }
128 127
129 DeviceMotionData* DeviceMotionData::create(const WebDeviceMotionData& data) { 128 DeviceMotionData* DeviceMotionData::create(const WebDeviceMotionData& data) {
130 return DeviceMotionData::create( 129 return DeviceMotionData::create(
131 DeviceMotionData::Acceleration::create( 130 DeviceMotionData::Acceleration::create(
132 data.hasAccelerationX, data.accelerationX, data.hasAccelerationY, 131 data.hasAccelerationX, data.accelerationX, data.hasAccelerationY,
133 data.accelerationY, data.hasAccelerationZ, data.accelerationZ), 132 data.accelerationY, data.hasAccelerationZ, data.accelerationZ),
134 DeviceMotionData::Acceleration::create( 133 DeviceMotionData::Acceleration::create(
135 data.hasAccelerationIncludingGravityX, 134 data.hasAccelerationIncludingGravityX,
136 data.accelerationIncludingGravityX, 135 data.accelerationIncludingGravityX,
137 data.hasAccelerationIncludingGravityY, 136 data.hasAccelerationIncludingGravityY,
138 data.accelerationIncludingGravityY, 137 data.accelerationIncludingGravityY,
139 data.hasAccelerationIncludingGravityZ, 138 data.hasAccelerationIncludingGravityZ,
140 data.accelerationIncludingGravityZ), 139 data.accelerationIncludingGravityZ),
141 DeviceMotionData::RotationRate::create( 140 DeviceMotionData::RotationRate::create(
142 data.hasRotationRateAlpha, data.rotationRateAlpha, 141 data.hasRotationRateAlpha, data.rotationRateAlpha,
143 data.hasRotationRateBeta, data.rotationRateBeta, 142 data.hasRotationRateBeta, data.rotationRateBeta,
144 data.hasRotationRateGamma, data.rotationRateGamma), 143 data.hasRotationRateGamma, data.rotationRateGamma),
145 true, data.interval); 144 data.interval);
146 } 145 }
147 146
148 DeviceMotionData::DeviceMotionData() 147 DeviceMotionData::DeviceMotionData() : m_interval(0) {}
149 : m_canProvideInterval(false), m_interval(0) {}
150 148
151 DeviceMotionData::DeviceMotionData(Acceleration* acceleration, 149 DeviceMotionData::DeviceMotionData(Acceleration* acceleration,
152 Acceleration* accelerationIncludingGravity, 150 Acceleration* accelerationIncludingGravity,
153 RotationRate* rotationRate, 151 RotationRate* rotationRate,
154 bool canProvideInterval,
155 double interval) 152 double interval)
156 : m_acceleration(acceleration), 153 : m_acceleration(acceleration),
157 m_accelerationIncludingGravity(accelerationIncludingGravity), 154 m_accelerationIncludingGravity(accelerationIncludingGravity),
158 m_rotationRate(rotationRate), 155 m_rotationRate(rotationRate),
159 m_canProvideInterval(canProvideInterval),
160 m_interval(interval) {} 156 m_interval(interval) {}
161 157
162 DEFINE_TRACE(DeviceMotionData) { 158 DEFINE_TRACE(DeviceMotionData) {
163 visitor->trace(m_acceleration); 159 visitor->trace(m_acceleration);
164 visitor->trace(m_accelerationIncludingGravity); 160 visitor->trace(m_accelerationIncludingGravity);
165 visitor->trace(m_rotationRate); 161 visitor->trace(m_rotationRate);
166 } 162 }
167 163
168 bool DeviceMotionData::canProvideEventData() const { 164 bool DeviceMotionData::canProvideEventData() const {
169 const bool hasAcceleration = 165 const bool hasAcceleration =
170 m_acceleration && 166 m_acceleration &&
171 (m_acceleration->canProvideX() || m_acceleration->canProvideY() || 167 (m_acceleration->canProvideX() || m_acceleration->canProvideY() ||
172 m_acceleration->canProvideZ()); 168 m_acceleration->canProvideZ());
173 const bool hasAccelerationIncludingGravity = 169 const bool hasAccelerationIncludingGravity =
174 m_accelerationIncludingGravity && 170 m_accelerationIncludingGravity &&
175 (m_accelerationIncludingGravity->canProvideX() || 171 (m_accelerationIncludingGravity->canProvideX() ||
176 m_accelerationIncludingGravity->canProvideY() || 172 m_accelerationIncludingGravity->canProvideY() ||
177 m_accelerationIncludingGravity->canProvideZ()); 173 m_accelerationIncludingGravity->canProvideZ());
178 const bool hasRotationRate = 174 const bool hasRotationRate =
179 m_rotationRate && 175 m_rotationRate &&
180 (m_rotationRate->canProvideAlpha() || m_rotationRate->canProvideBeta() || 176 (m_rotationRate->canProvideAlpha() || m_rotationRate->canProvideBeta() ||
181 m_rotationRate->canProvideGamma()); 177 m_rotationRate->canProvideGamma());
182 178
183 return hasAcceleration || hasAccelerationIncludingGravity || hasRotationRate; 179 return hasAcceleration || hasAccelerationIncludingGravity || hasRotationRate;
184 } 180 }
185 181
186 } // namespace blink 182 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698