Rework the GTK WebKit backend history to remove the need for the map between wxWebHistoryItems and WebKitWebHistoryItems.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Steve Lamerton
2011-07-31 15:37:55 +00:00
parent eafdb19c44
commit 263e3a8327
3 changed files with 19 additions and 42 deletions

View File

@@ -14,6 +14,8 @@
#if wxUSE_WEBVIEW_WEBKIT
#include "webkit/webkit.h"
class WXDLLIMPEXP_WEB wxWebHistoryItem
{
public:
@@ -22,8 +24,11 @@ public:
wxString GetUrl() { return m_url; }
wxString GetTitle() { return m_title; }
friend class wxWebViewWebKit;
private:
wxString m_url, m_title;
WebKitWebHistoryItem* m_histItem;
};
#endif // wxUSE_WEBVIEW_WEBKIT

View File

@@ -18,36 +18,6 @@
#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,7 @@ public:
virtual void RunScript(const wxString& javascript);
//Virtual Filesystem Support
virtual void RegisterHandler(wxWebHandler* handler);
virtual void RegisterHandler(wxWebHandler* handler) {};
/** FIXME: hack to work around signals being received too early */
bool m_ready;
@@ -177,7 +147,6 @@ private:
GtkWidget *web_view;
gint m_historyLimit;
HistoryItemHash m_historyMap;
// FIXME: try to get DECLARE_DYNAMIC_CLASS macros & stuff right
//DECLARE_DYNAMIC_CLASS(wxWebViewWebKit)