summaryrefslogtreecommitdiff
path: root/Source/WebCore/dom/DeviceOrientationEvent.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/dom/DeviceOrientationEvent.cpp')
-rw-r--r--Source/WebCore/dom/DeviceOrientationEvent.cpp50
1 files changed, 47 insertions, 3 deletions
diff --git a/Source/WebCore/dom/DeviceOrientationEvent.cpp b/Source/WebCore/dom/DeviceOrientationEvent.cpp
index 97b919e59..e06ec3170 100644
--- a/Source/WebCore/dom/DeviceOrientationEvent.cpp
+++ b/Source/WebCore/dom/DeviceOrientationEvent.cpp
@@ -27,7 +27,6 @@
#include "DeviceOrientationEvent.h"
#include "DeviceOrientationData.h"
-#include "EventNames.h"
namespace WebCore {
@@ -46,15 +45,60 @@ DeviceOrientationEvent::DeviceOrientationEvent(const AtomicString& eventType, De
{
}
-void DeviceOrientationEvent::initDeviceOrientationEvent(const AtomicString& type, bool bubbles, bool cancelable, DeviceOrientationData* orientation)
+std::optional<double> DeviceOrientationEvent::alpha() const
+{
+ return m_orientation->alpha();
+}
+
+std::optional<double> DeviceOrientationEvent::beta() const
+{
+ return m_orientation->beta();
+}
+
+std::optional<double> DeviceOrientationEvent::gamma() const
+{
+ return m_orientation->gamma();
+}
+
+#if PLATFORM(IOS)
+
+std::optional<double> DeviceOrientationEvent::compassHeading() const
+{
+ return m_orientation->compassHeading();
+}
+
+std::optional<double> DeviceOrientationEvent::compassAccuracy() const
+{
+ return m_orientation->compassAccuracy();
+}
+
+void DeviceOrientationEvent::initDeviceOrientationEvent(const AtomicString& type, bool bubbles, bool cancelable, std::optional<double> alpha, std::optional<double> beta, std::optional<double> gamma, std::optional<double> compassHeading, std::optional<double> compassAccuracy)
{
if (dispatched())
return;
initEvent(type, bubbles, cancelable);
- m_orientation = orientation;
+ m_orientation = DeviceOrientationData::create(alpha, beta, gamma, compassHeading, compassAccuracy);
+}
+
+#else
+
+std::optional<bool> DeviceOrientationEvent::absolute() const
+{
+ return m_orientation->absolute();
}
+void DeviceOrientationEvent::initDeviceOrientationEvent(const AtomicString& type, bool bubbles, bool cancelable, std::optional<double> alpha, std::optional<double> beta, std::optional<double> gamma, std::optional<bool> absolute)
+{
+ if (dispatched())
+ return;
+
+ initEvent(type, bubbles, cancelable);
+ m_orientation = DeviceOrientationData::create(alpha, beta, gamma, absolute);
+}
+
+#endif
+
EventInterface DeviceOrientationEvent::eventInterface() const
{
#if ENABLE(DEVICE_ORIENTATION)