Changeset 69024 in webkit


Ignore:
Timestamp:
Oct 4, 2010 12:04:31 PM (13 years ago)
Author:
diegohcg@webkit.org
Message:

[Qt] Hook up DeviceOrientation data for Qt support
https://bugs.webkit.org/show_bug.cgi?id=47052

Reviewed by Kenneth Rohde Christiansen.

Get DeviceOrientation necessary data via Qt mobility library
using a provider class.

WebCore:

  • WebCore.pro:

WebKit/qt:

  • WebCoreSupport/DeviceOrientationClientQt.cpp:

(WebCore::DeviceOrientationClientQt::DeviceOrientationClientQt):
(WebCore::DeviceOrientationClientQt::~DeviceOrientationClientQt):
(WebCore::DeviceOrientationClientQt::startUpdating):
(WebCore::DeviceOrientationClientQt::stopUpdating):
(WebCore::DeviceOrientationClientQt::lastOrientation):
(WebCore::DeviceOrientationClientQt::changeDeviceOrientation):

  • WebCoreSupport/DeviceOrientationClientQt.h:
  • WebCoreSupport/DeviceOrientationProviderQt.cpp: Added.

(WebCore::DeviceOrientationProviderQt::DeviceOrientationProviderQt):
(WebCore::DeviceOrientationProviderQt::~DeviceOrientationProviderQt):
(WebCore::DeviceOrientationProviderQt::start):
(WebCore::DeviceOrientationProviderQt::stop):
(WebCore::DeviceOrientationProviderQt::filter):

  • WebCoreSupport/DeviceOrientationProviderQt.h: Added.

(WebCore::DeviceOrientationProviderQt::isActive):
(WebCore::DeviceOrientationProviderQt::orientation):
(WebCore::DeviceOrientationProviderQt::hasAlpha):

Location:
trunk
Files:
1 added
5 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r69022 r69024  
     12010-10-04  Diego Gonzalez  <diegohcg@webkit.org>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        [Qt] Hook up DeviceOrientation data for Qt support
     6        https://bugs.webkit.org/show_bug.cgi?id=47052
     7
     8        Get DeviceOrientation necessary data via Qt mobility library
     9        using a provider class.
     10
     11        * WebCore.pro:
     12
    1132010-10-01  Victoria Kirst  <vrk@google.com>
    214
  • trunk/WebCore/WebCore.pro

    r68996 r69024  
    32723272        ../WebKit/qt/WebCoreSupport/DeviceMotionClientQt.h \
    32733273        ../WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.h \
     3274        ../WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h \
    32743275        bindings/generic/RuntimeEnabledFeatures.h
    32753276    SOURCES += \
    32763277        ../WebKit/qt/WebCoreSupport/DeviceMotionClientQt.cpp \
    32773278        ../WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp \
     3279        ../WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp \
    32783280        bindings/generic/RuntimeEnabledFeatures.cpp
     3281
     3282    CONFIG += mobility
     3283    MOBILITY += sensors
    32793284}
    32803285
  • trunk/WebKit/qt/ChangeLog

    r69009 r69024  
     12010-10-04  Diego Gonzalez  <diegohcg@webkit.org>
     2
     3        Reviewed by Kenneth Rohde Christiansen.
     4
     5        [Qt] Hook up DeviceOrientation data for Qt support
     6        https://bugs.webkit.org/show_bug.cgi?id=47052
     7
     8        Get DeviceOrientation necessary data via Qt mobility library
     9        using a provider class.
     10
     11        * WebCoreSupport/DeviceOrientationClientQt.cpp:
     12        (WebCore::DeviceOrientationClientQt::DeviceOrientationClientQt):
     13        (WebCore::DeviceOrientationClientQt::~DeviceOrientationClientQt):
     14        (WebCore::DeviceOrientationClientQt::startUpdating):
     15        (WebCore::DeviceOrientationClientQt::stopUpdating):
     16        (WebCore::DeviceOrientationClientQt::lastOrientation):
     17        (WebCore::DeviceOrientationClientQt::changeDeviceOrientation):
     18        * WebCoreSupport/DeviceOrientationClientQt.h:
     19        * WebCoreSupport/DeviceOrientationProviderQt.cpp: Added.
     20        (WebCore::DeviceOrientationProviderQt::DeviceOrientationProviderQt):
     21        (WebCore::DeviceOrientationProviderQt::~DeviceOrientationProviderQt):
     22        (WebCore::DeviceOrientationProviderQt::start):
     23        (WebCore::DeviceOrientationProviderQt::stop):
     24        (WebCore::DeviceOrientationProviderQt::filter):
     25        * WebCoreSupport/DeviceOrientationProviderQt.h: Added.
     26        (WebCore::DeviceOrientationProviderQt::isActive):
     27        (WebCore::DeviceOrientationProviderQt::orientation):
     28        (WebCore::DeviceOrientationProviderQt::hasAlpha):
     29
    1302010-09-28  Luiz Agostini  <luiz.agostini@openbossa.org>
    231
  • trunk/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp

    r68978 r69024  
    2121#include "DeviceOrientationClientQt.h"
    2222
     23#include "DeviceOrientationController.h"
     24#include "DeviceOrientationProviderQt.h"
    2325#include "qwebpage.h"
    2426
     
    2830    : m_page(page)
    2931    , m_controller(0)
     32    , m_provider(new DeviceOrientationProviderQt())
    3033{
     34    connect(m_provider, SIGNAL(deviceOrientationChanged(DeviceOrientation*)), SLOT(changeDeviceOrientation(DeviceOrientation*)));
     35}
     36
     37DeviceOrientationClientQt::~DeviceOrientationClientQt()
     38{
     39    disconnect();
     40    delete m_provider;
    3141}
    3242
     
    3848void DeviceOrientationClientQt::startUpdating()
    3949{
    40     // call start method from a orientation provider.
     50    m_provider->start();
    4151}
    4252
    4353void DeviceOrientationClientQt::stopUpdating()
    4454{
    45     // call stop method from a orientation provider.
     55    m_provider->stop();
    4656}
    4757
    4858DeviceOrientation* DeviceOrientationClientQt::lastOrientation() const
    4959{
    50     return 0;
     60    return m_provider->orientation();
    5161}
    5262
     
    5666}
    5767
     68void DeviceOrientationClientQt::changeDeviceOrientation(DeviceOrientation* orientation)
     69{
     70    if (!m_controller)
     71        return;
     72
     73    m_controller->didChangeDeviceOrientation(orientation);
     74}
     75
    5876} // namespace WebCore
    5977
  • trunk/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.h

    r68978 r69024  
    3030namespace WebCore {
    3131
     32class DeviceOrientationProviderQt;
     33
    3234class DeviceOrientationClientQt : public QObject, public DeviceOrientationClient {
    3335    Q_OBJECT
    3436public:
    3537    DeviceOrientationClientQt(QWebPage*);
    36     virtual ~DeviceOrientationClientQt() {}
     38    virtual ~DeviceOrientationClientQt();
    3739
    3840    virtual void setController(DeviceOrientationController*);
     
    4244    virtual void deviceOrientationControllerDestroyed();
    4345
     46public Q_SLOTS:
     47    void changeDeviceOrientation(DeviceOrientation*);
     48
    4449private:
    4550    QWebPage* m_page;
    4651    DeviceOrientationController* m_controller;
     52    DeviceOrientationProviderQt* m_provider;
    4753};
    4854
  • trunk/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h

    r69023 r69024  
    1818 *
    1919 */
    20 #ifndef DeviceOrientationClientQt_h
    21 #define DeviceOrientationClientQt_h
     20#ifndef DeviceOrientationProviderQt_h
     21#define DeviceOrientationProviderQt_h
    2222
    2323#include "DeviceOrientation.h"
    24 #include "DeviceOrientationClient.h"
     24#include "RefPtr.h"
    2525
    2626#include <QObject>
     27#include <QRotationFilter>
    2728
    28 class QWebPage;
     29QTM_USE_NAMESPACE
    2930
    3031namespace WebCore {
    3132
    32 class DeviceOrientationClientQt : public QObject, public DeviceOrientationClient {
     33class DeviceOrientationClientQt;
     34
     35class DeviceOrientationProviderQt : public QObject, public QRotationFilter {
    3336    Q_OBJECT
    3437public:
    35     DeviceOrientationClientQt(QWebPage*);
    36     virtual ~DeviceOrientationClientQt() {}
     38    DeviceOrientationProviderQt();
     39    ~DeviceOrientationProviderQt();
    3740
    38     virtual void setController(DeviceOrientationController*);
    39     virtual void startUpdating();
    40     virtual void stopUpdating();
    41     virtual DeviceOrientation* lastOrientation() const;
    42     virtual void deviceOrientationControllerDestroyed();
     41    bool filter(QRotationReading*);
     42    void start();
     43    void stop();
     44    bool isActive() const { return m_rotation.isActive(); }
     45    DeviceOrientation* orientation() const { return m_orientation.get(); }
     46    bool hasAlpha() const { return m_rotation.property("hasZ").toBool(); }
     47
     48Q_SIGNALS:
     49    void deviceOrientationChanged(DeviceOrientation*);
    4350
    4451private:
    45     QWebPage* m_page;
    46     DeviceOrientationController* m_controller;
     52    RefPtr<DeviceOrientation> m_orientation;
     53    QRotationSensor m_rotation;
    4754};
    4855
    49 } // namespace WebCore
     56}
    5057
    51 #endif // DeviceOrientationClientQt_h
     58#endif // DeviceOrientationProviderQt_h
Note: See TracChangeset for help on using the changeset viewer.