Changeset 65063 in webkit


Ignore:
Timestamp:
Aug 10, 2010 3:13:51 AM (14 years ago)
Author:
jorlow@chromium.org
Message:

2010-08-10 Hans Wennborg <hans@chromium.org>

Reviewed by Jeremy Orlow.

Implement chromium WebDeviceOrientationClient wrapper and have WebViewImpl get it from WebViewClient.
https://bugs.webkit.org/show_bug.cgi?id=43258

Provide a DeviceOrientationClient to Page by means of a
DeviceOrientationClientProxy that proxies calls to
a WebDeviceOrientationClient, an interface that can be implemented
in the WebKit or Chromium layer. An implementation to be used for
layout tests, wrapping DeviceOrientationClientMock, is provided.

  • WebKit.gyp:
  • public/WebDeviceOrientation.h: Added. (WebKit::WebDeviceOrientation::WebDeviceOrientation):
  • public/WebDeviceOrientationClient.h: Added. (WebKit::WebDeviceOrientationClient::~WebDeviceOrientationClient):
  • public/WebDeviceOrientationClientMock.h: Added. (WebKit::WebDeviceOrientationClientMock::WebDeviceOrientationClientMock): (WebKit::WebDeviceOrientationClientMock::~WebDeviceOrientationClientMock):
  • public/WebDeviceOrientationController.h: Added. (WebKit::WebDeviceOrientationController::WebDeviceOrientationController):
  • public/WebViewClient.h: (WebKit::WebViewClient::deviceOrientationClient):
  • src/DeviceOrientationClientProxy.cpp: Added. (WebKit::DeviceOrientationClientProxy::setController): (WebKit::DeviceOrientationClientProxy::startUpdating): (WebKit::DeviceOrientationClientProxy::stopUpdating): (WebKit::DeviceOrientationClientProxy::lastOrientation):
  • src/DeviceOrientationClientProxy.h: Added. (WebKit::DeviceOrientationClientProxy::DeviceOrientationClientProxy):
  • src/WebDeviceOrientation.cpp: Added. (WebKit::WebDeviceOrientation::WebDeviceOrientation): (WebKit::WebDeviceOrientation::operator=): (WebKit::WebDeviceOrientation::operator PassRefPtr<WebCore::DeviceOrientation>):
  • src/WebDeviceOrientationClientMock.cpp: Added. (WebKit::WebDeviceOrientationClientMock::setController): (WebKit::WebDeviceOrientationClientMock::startUpdating): (WebKit::WebDeviceOrientationClientMock::stopUpdating): (WebKit::WebDeviceOrientationClientMock::lastOrientation): (WebKit::WebDeviceOrientationClientMock::setOrientation): (WebKit::WebDeviceOrientationClientMock::initialize): (WebKit::WebDeviceOrientationClientMock::reset):
  • src/WebDeviceOrientationController.cpp: Added. (WebKit::WebDeviceOrientationController::didChangeDeviceOrientation): (WebKit::WebDeviceOrientationController::controller):
  • src/WebViewImpl.cpp: (WebKit::WebView::create): (WebKit::WebViewImpl::WebViewImpl):
  • src/WebViewImpl.h:
Location:
trunk/WebKit/chromium
Files:
9 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit/chromium/ChangeLog

    r65060 r65063  
     12010-08-10  Hans Wennborg  <hans@chromium.org>
     2
     3        Reviewed by Jeremy Orlow.
     4
     5        Implement chromium WebDeviceOrientationClient wrapper and have WebViewImpl get it from WebViewClient.
     6        https://bugs.webkit.org/show_bug.cgi?id=43258
     7
     8        Provide a DeviceOrientationClient to Page by means of a
     9        DeviceOrientationClientProxy that proxies calls to
     10        a WebDeviceOrientationClient, an interface that can be implemented
     11        in the WebKit or Chromium layer. An implementation to be used for
     12        layout tests, wrapping DeviceOrientationClientMock, is provided.
     13
     14
     15        * WebKit.gyp:
     16        * public/WebDeviceOrientation.h: Added.
     17        (WebKit::WebDeviceOrientation::WebDeviceOrientation):
     18        * public/WebDeviceOrientationClient.h: Added.
     19        (WebKit::WebDeviceOrientationClient::~WebDeviceOrientationClient):
     20        * public/WebDeviceOrientationClientMock.h: Added.
     21        (WebKit::WebDeviceOrientationClientMock::WebDeviceOrientationClientMock):
     22        (WebKit::WebDeviceOrientationClientMock::~WebDeviceOrientationClientMock):
     23        * public/WebDeviceOrientationController.h: Added.
     24        (WebKit::WebDeviceOrientationController::WebDeviceOrientationController):
     25        * public/WebViewClient.h:
     26        (WebKit::WebViewClient::deviceOrientationClient):
     27        * src/DeviceOrientationClientProxy.cpp: Added.
     28        (WebKit::DeviceOrientationClientProxy::setController):
     29        (WebKit::DeviceOrientationClientProxy::startUpdating):
     30        (WebKit::DeviceOrientationClientProxy::stopUpdating):
     31        (WebKit::DeviceOrientationClientProxy::lastOrientation):
     32        * src/DeviceOrientationClientProxy.h: Added.
     33        (WebKit::DeviceOrientationClientProxy::DeviceOrientationClientProxy):
     34        * src/WebDeviceOrientation.cpp: Added.
     35        (WebKit::WebDeviceOrientation::WebDeviceOrientation):
     36        (WebKit::WebDeviceOrientation::operator=):
     37        (WebKit::WebDeviceOrientation::operator PassRefPtr<WebCore::DeviceOrientation>):
     38        * src/WebDeviceOrientationClientMock.cpp: Added.
     39        (WebKit::WebDeviceOrientationClientMock::setController):
     40        (WebKit::WebDeviceOrientationClientMock::startUpdating):
     41        (WebKit::WebDeviceOrientationClientMock::stopUpdating):
     42        (WebKit::WebDeviceOrientationClientMock::lastOrientation):
     43        (WebKit::WebDeviceOrientationClientMock::setOrientation):
     44        (WebKit::WebDeviceOrientationClientMock::initialize):
     45        (WebKit::WebDeviceOrientationClientMock::reset):
     46        * src/WebDeviceOrientationController.cpp: Added.
     47        (WebKit::WebDeviceOrientationController::didChangeDeviceOrientation):
     48        (WebKit::WebDeviceOrientationController::controller):
     49        * src/WebViewImpl.cpp:
     50        (WebKit::WebView::create):
     51        (WebKit::WebViewImpl::WebViewImpl):
     52        * src/WebViewImpl.h:
     53
    1542010-08-10  Sheriff Bot  <webkit.review.bot@gmail.com>
    255
  • trunk/WebKit/chromium/WebKit.gyp

    r64828 r65063  
    143143                'public/WebDevToolsFrontend.h',
    144144                'public/WebDevToolsFrontendClient.h',
     145                'public/WebDeviceOrientation.h',
     146                'public/WebDeviceOrientationClient.h',
     147                'public/WebDeviceOrientationClientMock.h',
     148                'public/WebDeviceOrientationController.h',
    145149                'public/WebDocument.h',
    146150                'public/WebDocumentType.h',
     
    297301                'src/DebuggerAgentManager.cpp',
    298302                'src/DebuggerAgentManager.h',
     303                'src/DeviceOrientationClientProxy.cpp',
     304                'src/DeviceOrientationClientProxy.h',
    299305                'src/DOMUtilitiesPrivate.cpp',
    300306                'src/DOMUtilitiesPrivate.h',
     
    379385                'src/WebDevToolsFrontendImpl.cpp',
    380386                'src/WebDevToolsFrontendImpl.h',
     387                'src/WebDeviceOrientation.cpp',
     388                'src/WebDeviceOrientationClientMock.cpp',
     389                'src/WebDeviceOrientationController.cpp',
    381390                'src/WebDocument.cpp',
    382391                'src/WebDocumentType.cpp',
  • trunk/WebKit/chromium/public/WebViewClient.h

    r64042 r65063  
    4545
    4646class WebAccessibilityObject;
     47class WebDeviceOrientationClient;
    4748class WebDragData;
    4849class WebElement;
     
    342343        WebSpeechInputListener*) { return 0; }
    343344
     345    // Device Orientation --------------------------------------------------
     346
     347    // Access the embedder API for device orientation services.
     348    virtual WebDeviceOrientationClient* deviceOrientationClient() { return 0; }
     349
    344350protected:
    345351    ~WebViewClient() { }
  • trunk/WebKit/chromium/src/WebViewImpl.cpp

    r64975 r65063  
    4242#include "CSSValueKeywords.h"
    4343#include "Cursor.h"
     44#include "DeviceOrientationClientProxy.h"
    4445#include "Document.h"
    4546#include "DocumentLoader.h"
     
    178179WebView* WebView::create(WebViewClient* client, WebDevToolsAgentClient* devToolsClient)
    179180{
    180     // Keep runtime flag for device orientation turned off until it's implemented.
     181    // Keep runtime flag for device motion turned off until it's implemented.
    181182    WebRuntimeFeatures::enableDeviceMotion(false);
    182     WebRuntimeFeatures::enableDeviceOrientation(false);
    183183
    184184    // Pass the WebViewImpl's self-reference to the caller.
     
    268268#endif
    269269    , m_gles2Context(0)
     270    , m_deviceOrientationClientProxy(new DeviceOrientationClientProxy(client ? client->deviceOrientationClient() : 0))
    270271{
    271272    // WebKit/win/WebView.cpp does the same thing, except they call the
     
    290291    pageClients.speechInputClient = &m_speechInputClient;
    291292#endif
     293    pageClients.deviceOrientationClient = m_deviceOrientationClientProxy.get();
     294
    292295    m_page.set(new Page(pageClients));
    293 
    294     // the page will take ownership of the various clients
    295296
    296297    m_page->backForwardList()->setClient(&m_backForwardListClientImpl);
  • trunk/WebKit/chromium/src/WebViewImpl.h

    r65021 r65063  
    7272class AutoFillPopupMenuClient;
    7373class ContextMenuClientImpl;
     74class DeviceOrientationClientProxy;
    7475class DragScrollTimer;
    7576class WebAccessibilityObject;
     
    520521
    521522    OwnPtr<WebGLES2Context> m_gles2Context;
     523
     524    OwnPtr<DeviceOrientationClientProxy> m_deviceOrientationClientProxy;
    522525};
    523526
Note: See TracChangeset for help on using the changeset viewer.