Changeset 160047 in webkit
- Timestamp:
- Dec 3, 2013 3:19:40 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r160040 r160047 1 2013-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 1 13 2013-12-03 Dan Bernstein <mitz@apple.com> 2 14 -
trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm
r156688 r160047 27 27 #include "WKBundlePageBannerMac.h" 28 28 29 #include "APIClient.h" 29 30 #include "PageBanner.h" 30 31 #include "WKAPICast.h" … … 35 36 using namespace WebKit; 36 37 37 class PageBannerClientImpl : public PageBanner::Client { 38 namespace API { 39 template<> struct ClientTraits<WKBundlePageBannerClientBase> { 40 typedef std::tuple<WKBundlePageBannerClientV0> Versions; 41 }; 42 } 43 44 class PageBannerClientImpl : API::Client<WKBundlePageBannerClientBase>, public PageBanner::Client { 38 45 public: 39 explicit PageBannerClientImpl(WKBundlePageBannerClient* client) 40 : m_client() 46 explicit PageBannerClientImpl(WKBundlePageBannerClientBase* client) 41 47 { 42 if (client) 43 m_client = *client; 48 } 49 50 virtual ~PageBannerClientImpl() 51 { 44 52 } 45 53 46 54 private: 47 55 // PageBanner::Client. 48 virtual void pageBannerDestroyed(PageBanner*) 56 virtual void pageBannerDestroyed(PageBanner*) OVERRIDE 49 57 { 50 58 delete this; 51 59 } 52 60 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 54 62 { 55 63 switch (type) { … … 58 66 return false; 59 67 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); 61 69 } 62 70 case WebEvent::MouseUp: { … … 64 72 return false; 65 73 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); 67 75 } 68 76 case WebEvent::MouseMove: { … … 71 79 return false; 72 80 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); 74 82 } 75 83 … … 78 86 return false; 79 87 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); 81 89 } 82 90 … … 85 93 } 86 94 } 87 88 WKBundlePageBannerClient m_client;89 95 }; 90 96 91 WKBundlePageBannerRef WKBundlePageBannerCreateBannerWithCALayer(CALayer *layer, int height, WKBundlePageBannerClient 97 WKBundlePageBannerRef WKBundlePageBannerCreateBannerWithCALayer(CALayer *layer, int height, WKBundlePageBannerClient* wkClient) 92 98 { 93 99 if (wkClient && wkClient->version) 94 100 return 0; 95 101 96 auto clientImpl = std::make_unique<PageBannerClientImpl>( wkClient);102 auto clientImpl = std::make_unique<PageBannerClientImpl>(reinterpret_cast<WKBundlePageBannerClientBase*>(wkClient)); 97 103 return toAPI(PageBanner::create(layer, height, clientImpl.release()).leakRef()); 98 104 }
Note: See TracChangeset
for help on using the changeset viewer.