diff options
Diffstat (limited to 'Source/WebCore/dom/DeviceOrientationData.h')
-rw-r--r-- | Source/WebCore/dom/DeviceOrientationData.h | 66 |
1 files changed, 27 insertions, 39 deletions
diff --git a/Source/WebCore/dom/DeviceOrientationData.h b/Source/WebCore/dom/DeviceOrientationData.h index facf91709..818faddd6 100644 --- a/Source/WebCore/dom/DeviceOrientationData.h +++ b/Source/WebCore/dom/DeviceOrientationData.h @@ -23,67 +23,55 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef DeviceOrientationData_h -#define DeviceOrientationData_h +#pragma once -#include <wtf/PassRefPtr.h> +#include "PlatformExportMacros.h" +#include <wtf/Optional.h> +#include <wtf/Ref.h> #include <wtf/RefCounted.h> namespace WebCore { class DeviceOrientationData : public RefCounted<DeviceOrientationData> { public: - static PassRefPtr<DeviceOrientationData> create(); + static Ref<DeviceOrientationData> create() + { + return adoptRef(*new DeviceOrientationData); + } + #if PLATFORM(IOS) - static PassRefPtr<DeviceOrientationData> create(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma, bool canProvideCompassHeading, double compassHeading, bool canProvideCompassAccuracy, double compassAccuracy); + WEBCORE_EXPORT static Ref<DeviceOrientationData> create(std::optional<double> alpha, std::optional<double> beta, std::optional<double> gamma, std::optional<double> compassHeading, std::optional<double> compassAccuracy); #else - static PassRefPtr<DeviceOrientationData> create(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma, bool canProvideAbsolute = false, bool absolute = false); + WEBCORE_EXPORT static Ref<DeviceOrientationData> create(std::optional<double> alpha, std::optional<double> beta, std::optional<double> gamma, std::optional<bool> absolute); #endif - double alpha() const; - double beta() const; - double gamma() const; - bool absolute() const; - bool canProvideAlpha() const; - bool canProvideBeta() const; - bool canProvideGamma() const; - bool canProvideAbsolute() const; - + std::optional<double> alpha() const { return m_alpha; } + std::optional<double> beta() const { return m_beta; } + std::optional<double> gamma() const { return m_gamma; } #if PLATFORM(IOS) - double compassHeading() const; - double compassAccuracy() const; - bool canProvideCompassHeading() const; - bool canProvideCompassAccuracy() const; + std::optional<double> compassHeading() const { return m_compassHeading; } + std::optional<double> compassAccuracy() const { return m_compassAccuracy; } +#else + std::optional<bool> absolute() const { return m_absolute; } #endif private: - DeviceOrientationData(); + DeviceOrientationData() = default; #if PLATFORM(IOS) - DeviceOrientationData(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma, bool canProvideCompassHeading, double compassHeading, bool canProvideCompassAccuracy, double compassAccuracy); + DeviceOrientationData(std::optional<double> alpha, std::optional<double> beta, std::optional<double> gamma, std::optional<double> compassHeading, std::optional<double> compassAccuracy); #else - DeviceOrientationData(bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma, bool canProvideAbsolute, bool absolute); + DeviceOrientationData(std::optional<double> alpha, std::optional<double> beta, std::optional<double> gamma, std::optional<bool> absolute); #endif - bool m_canProvideAlpha; - bool m_canProvideBeta; - bool m_canProvideGamma; -#if !PLATFORM(IOS) - bool m_canProvideAbsolute; -#endif - double m_alpha; - double m_beta; - double m_gamma; - + std::optional<double> m_alpha; + std::optional<double> m_beta; + std::optional<double> m_gamma; #if PLATFORM(IOS) - bool m_canProvideCompassHeading; - bool m_canProvideCompassAccuracy; - double m_compassHeading; - double m_compassAccuracy; + std::optional<double> m_compassHeading; + std::optional<double> m_compassAccuracy; #else - bool m_absolute; + std::optional<bool> m_absolute; #endif }; } // namespace WebCore - -#endif // DeviceOrientationData_h |