Changeset 160047 in webkit


Ignore:
Timestamp:
Dec 3, 2013 3:19:40 PM (10 years ago)
Author:
andersca@apple.com
Message:

PageBannerClientImpl should be an API::Client
https://bugs.webkit.org/show_bug.cgi?id=125190

Reviewed by Tim Horton.

  • WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:

(PageBannerClientImpl::PageBannerClientImpl):
(PageBannerClientImpl::~PageBannerClientImpl):
(WKBundlePageBannerCreateBannerWithCALayer):

Location:
trunk/Source/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r160040 r160047  
     12013-12-03  Anders Carlsson  <andersca@apple.com>
     2
     3        PageBannerClientImpl should be an API::Client
     4        https://bugs.webkit.org/show_bug.cgi?id=125190
     5
     6        Reviewed by Tim Horton.
     7
     8        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
     9        (PageBannerClientImpl::PageBannerClientImpl):
     10        (PageBannerClientImpl::~PageBannerClientImpl):
     11        (WKBundlePageBannerCreateBannerWithCALayer):
     12
    1132013-12-03  Dan Bernstein  <mitz@apple.com>
    214
  • trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm

    r156688 r160047  
    2727#include "WKBundlePageBannerMac.h"
    2828
     29#include "APIClient.h"
    2930#include "PageBanner.h"
    3031#include "WKAPICast.h"
     
    3536using namespace WebKit;
    3637
    37 class PageBannerClientImpl : public PageBanner::Client {
     38namespace API {
     39template<> struct ClientTraits<WKBundlePageBannerClientBase> {
     40    typedef std::tuple<WKBundlePageBannerClientV0> Versions;
     41};
     42}
     43
     44class PageBannerClientImpl : API::Client<WKBundlePageBannerClientBase>, public PageBanner::Client {
    3845public:
    39     explicit PageBannerClientImpl(WKBundlePageBannerClient* client)
    40         : m_client()
     46    explicit PageBannerClientImpl(WKBundlePageBannerClientBase* client)
    4147    {
    42         if (client)
    43             m_client = *client;
     48    }
     49
     50    virtual ~PageBannerClientImpl()
     51    {
    4452    }
    4553
    4654private:
    4755    // PageBanner::Client.
    48     virtual void pageBannerDestroyed(PageBanner*)
     56    virtual void pageBannerDestroyed(PageBanner*) OVERRIDE
    4957    {
    5058        delete this;
    5159    }
    5260   
    53     virtual bool mouseEvent(PageBanner* pageBanner, WebEvent::Type type, WebMouseEvent::Button button, const WebCore::IntPoint& position)
     61    virtual bool mouseEvent(PageBanner* pageBanner, WebEvent::Type type, WebMouseEvent::Button button, const IntPoint& position) OVERRIDE
    5462    {
    5563        switch (type) {
     
    5866                return false;
    5967
    60             return m_client.mouseDown(toAPI(pageBanner), toAPI(position), toAPI(button), m_client.clientInfo);
     68            return m_client.mouseDown(toAPI(pageBanner), toAPI(position), toAPI(button), m_client.base.clientInfo);
    6169        }
    6270        case WebEvent::MouseUp: {
     
    6472                return false;
    6573
    66             return m_client.mouseUp(toAPI(pageBanner), toAPI(position), toAPI(button), m_client.clientInfo);
     74            return m_client.mouseUp(toAPI(pageBanner), toAPI(position), toAPI(button), m_client.base.clientInfo);
    6775        }
    6876        case WebEvent::MouseMove: {
     
    7179                    return false;
    7280
    73                 return m_client.mouseMoved(toAPI(pageBanner), toAPI(position), m_client.clientInfo);
     81                return m_client.mouseMoved(toAPI(pageBanner), toAPI(position), m_client.base.clientInfo);
    7482            }
    7583
     
    7886                return false;
    7987
    80             return m_client.mouseDragged(toAPI(pageBanner), toAPI(position), toAPI(button), m_client.clientInfo);
     88            return m_client.mouseDragged(toAPI(pageBanner), toAPI(position), toAPI(button), m_client.base.clientInfo);
    8189        }
    8290
     
    8593        }
    8694    }
    87    
    88     WKBundlePageBannerClient m_client;
    8995};
    9096
    91 WKBundlePageBannerRef WKBundlePageBannerCreateBannerWithCALayer(CALayer *layer, int height, WKBundlePageBannerClient * wkClient)
     97WKBundlePageBannerRef WKBundlePageBannerCreateBannerWithCALayer(CALayer *layer, int height, WKBundlePageBannerClient* wkClient)
    9298{
    9399    if (wkClient && wkClient->version)
    94100        return 0;
    95101
    96     auto clientImpl = std::make_unique<PageBannerClientImpl>(wkClient);
     102    auto clientImpl = std::make_unique<PageBannerClientImpl>(reinterpret_cast<WKBundlePageBannerClientBase*>(wkClient));
    97103    return toAPI(PageBanner::create(layer, height, clientImpl.release()).leakRef());
    98104}
Note: See TracChangeset for help on using the changeset viewer.