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

Side by Side Diff: Source/modules/device_orientation/NewDeviceOrientationController.cpp

Issue 21256002: Fire null Device Motion events only once. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 4 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 2010 Apple Inc. All rights reserved. 2 * Copyright 2010 Apple Inc. All rights reserved.
3 * Copyright (C) 2012 Samsung Electronics. All rights reserved. 3 * Copyright (C) 2012 Samsung Electronics. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above copyright 10 * * Redistributions in binary form must reproduce the above copyright
(...skipping 10 matching lines...) Expand all
21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 */ 25 */
26 26
27 #include "config.h" 27 #include "config.h"
28 #include "modules/device_orientation/NewDeviceOrientationController.h" 28 #include "modules/device_orientation/NewDeviceOrientationController.h"
29 29
30 #include "core/dom/Document.h" 30 #include "core/dom/Document.h"
31 #include "modules/device_orientation/DeviceOrientationData.h"
31 #include "modules/device_orientation/DeviceOrientationDispatcher.h" 32 #include "modules/device_orientation/DeviceOrientationDispatcher.h"
32 #include "modules/device_orientation/DeviceOrientationEvent.h" 33 #include "modules/device_orientation/DeviceOrientationEvent.h"
33 34
35
abarth-chromium 2013/07/31 00:56:19 This blank line looks spurious.
timvolodine 2013/07/31 13:59:00 Done.
34 namespace WebCore { 36 namespace WebCore {
35 37
36 NewDeviceOrientationController::NewDeviceOrientationController(Document* documen t) 38 NewDeviceOrientationController::NewDeviceOrientationController(Document* documen t)
37 : DeviceSensorEventController(document) 39 : DeviceSensorEventController(document)
38 { 40 {
39 } 41 }
40 42
41 NewDeviceOrientationController::~NewDeviceOrientationController() 43 NewDeviceOrientationController::~NewDeviceOrientationController()
42 { 44 {
43 } 45 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 void NewDeviceOrientationController::registerWithDispatcher() 78 void NewDeviceOrientationController::registerWithDispatcher()
77 { 79 {
78 DeviceOrientationDispatcher::instance().addDeviceOrientationController(this) ; 80 DeviceOrientationDispatcher::instance().addDeviceOrientationController(this) ;
79 } 81 }
80 82
81 void NewDeviceOrientationController::unregisterWithDispatcher() 83 void NewDeviceOrientationController::unregisterWithDispatcher()
82 { 84 {
83 DeviceOrientationDispatcher::instance().removeDeviceOrientationController(th is); 85 DeviceOrientationDispatcher::instance().removeDeviceOrientationController(th is);
84 } 86 }
85 87
88 bool NewDeviceOrientationController::isNullEvent(Event* event)
89 {
90 DeviceOrientationEvent* orientationEvent = static_cast<DeviceOrientationEven t*>(event);
abarth-chromium 2013/07/31 00:56:19 Same comment about this blind static_cast.
timvolodine 2013/07/31 13:59:00 added assert (analogous to the motion case).
91 DeviceOrientationData* data = orientationEvent->orientation();
92 return !data->canProvideAlpha() && !data->canProvideBeta() && !data->canProv ideGamma();
abarth-chromium 2013/07/31 00:56:19 Do we have any mechanism to keep this check up to
timvolodine 2013/07/31 13:59:00 hmm, good point -- I've moved some of the code to
93 }
94
86 } // namespace WebCore 95 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698