[haiku-webkit-commits] r390 - webkit/trunk/WebKit/haiku/API

  • From: webkit@xxxxxxxxxxxxxxx
  • To: haiku-webkit-commits@xxxxxxxxxxxxx
  • Date: Tue, 06 Apr 2010 01:15:17 +0000

Author: stippi
Date: Tue Apr  6 01:15:17 2010
New Revision: 390
URL: http://mmlr.dyndns.org/changeset/390

Log:
Allow to associate user data with a BWebView instance.

Modified:
   webkit/trunk/WebKit/haiku/API/WebView.cpp
   webkit/trunk/WebKit/haiku/API/WebView.h

Modified: webkit/trunk/WebKit/haiku/API/WebView.cpp
==============================================================================
--- webkit/trunk/WebKit/haiku/API/WebView.cpp   Tue Apr  6 00:58:40 2010        
(r389)
+++ webkit/trunk/WebKit/haiku/API/WebView.cpp   Tue Apr  6 01:15:17 2010        
(r390)
@@ -43,12 +43,17 @@
 
 using namespace WebCore;
 
+BWebView::UserData::~UserData()
+{
+}
+
 BWebView::BWebView(const char* name)
     : BView(name, B_WILL_DRAW | B_FRAME_EVENTS | B_FULL_UPDATE_ON_RESIZE | 
B_NAVIGABLE)
     , fLastMouseButtons(0)
     , fOffscreenBitmap(0)
     , fOffscreenViewClean(false)
     , fWebPage(new BWebPage(this))
+    , fUserData(0)
 {
     fWebPage->Init();
     // TODO: Should add this to the "current" looper, but that looper needs to
@@ -70,6 +75,7 @@
                fOffscreenBitmap->Lock();
                delete fOffscreenBitmap;
        }
+       SetUserData(0);
 }
 
 void BWebView::Shutdown()
@@ -309,6 +315,20 @@
     UnlockLooper();
 }
 
+void BWebView::SetUserData(BWebView::UserData* userData)
+{
+       if (fUserData == userData)
+               return;
+
+       delete fUserData;
+       fUserData = userData;
+}
+
+BWebView::UserData* BWebView::GetUserData() const
+{
+       return fUserData;
+}
+
 // #pragma mark - API for WebPage only
 
 void BWebView::SetOffscreenViewClean(BRect cleanRect, bool immediate)

Modified: webkit/trunk/WebKit/haiku/API/WebView.h
==============================================================================
--- webkit/trunk/WebKit/haiku/API/WebView.h     Tue Apr  6 00:58:40 2010        
(r389)
+++ webkit/trunk/WebKit/haiku/API/WebView.h     Tue Apr  6 01:15:17 2010        
(r390)
@@ -37,6 +37,12 @@
 
 class BWebView : public BView {
 public:
+       class UserData {
+       public:
+               virtual                                 ~UserData();
+       };
+
+public:
                                                                BWebView(const 
char* name);
 
        // The BWebView needs to be deleted by the BWebPage instance running
@@ -67,7 +73,7 @@
        virtual void                            KeyDown(const char* bytes, 
int32 numBytes);
        virtual void                            KeyUp(const char* bytes, int32 
numBytes);
 
-       // BWebPage API
+       // BWebPage API exposure
                        BWebPage*                       WebPage() const { 
return fWebPage; }
 
                        BString                         MainFrameTitle() const;
@@ -91,8 +97,12 @@
                                                                        bool 
wrapSelection = true,
                                                                        bool 
startInSelection = false);
 
+       // BWebview API
                        void                            
SendFakeMouseMovedEvent();
 
+                       void                            SetUserData(UserData* 
cookie);
+                       UserData*                       GetUserData() const;
+
 private:
        friend class BWebPage;
        virtual                                         ~BWebView();
@@ -120,6 +130,8 @@
                        bool                            fOffscreenViewClean;
 
                        BWebPage*                       fWebPage;
+
+                       UserData*                       fUserData;
 };
 
 #endif // _WEB_VIEW_H_

Other related posts:

  • » [haiku-webkit-commits] r390 - webkit/trunk/WebKit/haiku/API - webkit