]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/webview_webkit.h
Implement GetPageText for the OSX WebKit implementation.
[wxWidgets.git] / include / wx / gtk / webview_webkit.h
index 7bc2d268cd20725c70f31ec90203ee4eda0bbaeb..9d3c500c0a94993249b4934cf31365d745527237 100644 (file)
 
 #include "wx/setup.h"
 
-#if wxUSE_WEBVIEW_WEBKIT
+#if wxUSE_WEBVIEW_WEBKIT && defined(__WXGTK__)
 
 #include "webkit/webkit.h"
 #include "wx/sharedptr.h"
 #include "wx/webview.h"
 
-//A set of hash function so we can map wxWebHistoryItems to WebKitWebHistoryItems
-class SharedPtrHash
-{
-public:
-    SharedPtrHash() { }
-
-    unsigned long operator()( const wxSharedPtr<wxWebHistoryItem> & item ) const
-    {
-        
-        return wxPointerHash()(item.get());
-    }
-    SharedPtrHash& operator=(const SharedPtrHash&) { return *this; }
-};
-
-class SharedPtrEqual
-{
-public:
-    SharedPtrEqual() { }
-    bool operator()( const wxSharedPtr<wxWebHistoryItem> & a,
-                     const wxSharedPtr<wxWebHistoryItem> & b ) const
-    {
-        return wxPointerEqual()(a.get(), b.get());
-    }
-
-    SharedPtrEqual& operator=(const SharedPtrEqual&) { return *this; }
-};
-
-WX_DECLARE_HASH_MAP(wxSharedPtr<wxWebHistoryItem>, WebKitWebHistoryItem*,
-                    SharedPtrHash, SharedPtrEqual, HistoryItemHash);
-
 //-----------------------------------------------------------------------------
 // wxWebViewWebKit
 //-----------------------------------------------------------------------------
@@ -152,7 +122,8 @@ public:
     virtual void RunScript(const wxString& javascript);
     
     //Virtual Filesystem Support
-    virtual void RegisterProtocol(wxWebProtocolHandler* hanlder);
+    virtual void RegisterHandler(wxWebHandler* handler);
+    virtual wxVector<wxWebHandler*> GetHandlers() { return m_handlerList; }
 
     /** FIXME: hack to work around signals being received too early */
     bool m_ready;
@@ -165,6 +136,13 @@ public:
      * user)
      */
     bool m_busy;
+    
+    bool m_guard;
+    wxString m_vfsurl;
+
+    //We use this flag to stop recursion when we load a page from the navigation
+    //callback, mainly when loading a VFS page
+    bool m_guard;
 
 protected:
 
@@ -177,12 +155,12 @@ private:
 
     GtkWidget *web_view;
     gint m_historyLimit;
-    HistoryItemHash m_historyMap;
 
-    // FIXME: try to get DECLARE_DYNAMIC_CLASS macros & stuff right
-    //DECLARE_DYNAMIC_CLASS(wxWebViewWebKit)
+    wxVector<wxWebHandler*> m_handlerList;
+
+    wxDECLARE_DYNAMIC_CLASS(wxWebViewWebKit);
 };
 
-#endif // if wxHAVE_WEB_BACKEND_GTK_WEBKIT
+#endif // wxUSE_WEBVIEW_WEBKIT && defined(__WXGTK__)
 
 #endif