Implement user agent access for GTK
This commit is contained in:
@@ -81,6 +81,7 @@ public:
|
|||||||
#if wxUSE_WEBVIEW_WEBKIT2
|
#if wxUSE_WEBVIEW_WEBKIT2
|
||||||
virtual void EnableAccessToDevTools(bool enable = true) wxOVERRIDE;
|
virtual void EnableAccessToDevTools(bool enable = true) wxOVERRIDE;
|
||||||
virtual bool IsAccessToDevToolsEnabled() const wxOVERRIDE;
|
virtual bool IsAccessToDevToolsEnabled() const wxOVERRIDE;
|
||||||
|
virtual bool SetUserAgent(const wxString& userAgent) wxOVERRIDE;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void SetZoomType(wxWebViewZoomType) wxOVERRIDE;
|
void SetZoomType(wxWebViewZoomType) wxOVERRIDE;
|
||||||
@@ -176,6 +177,7 @@ private:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
WebKitWebView *m_web_view;
|
WebKitWebView *m_web_view;
|
||||||
|
wxString m_customUserAgent;
|
||||||
int m_historyLimit;
|
int m_historyLimit;
|
||||||
|
|
||||||
wxVector<wxSharedPtr<wxWebViewHandler> > m_handlerList;
|
wxVector<wxSharedPtr<wxWebViewHandler> > m_handlerList;
|
||||||
|
@@ -651,6 +651,9 @@ bool wxWebViewWebKit::Create(wxWindow *parent,
|
|||||||
GTKCreateScrolledWindowWith(GTK_WIDGET(m_web_view));
|
GTKCreateScrolledWindowWith(GTK_WIDGET(m_web_view));
|
||||||
g_object_ref(m_widget);
|
g_object_ref(m_widget);
|
||||||
|
|
||||||
|
if (!m_customUserAgent.empty())
|
||||||
|
SetUserAgent(m_customUserAgent);
|
||||||
|
|
||||||
g_signal_connect(m_web_view, "decide-policy",
|
g_signal_connect(m_web_view, "decide-policy",
|
||||||
G_CALLBACK(wxgtk_webview_webkit_decide_policy),
|
G_CALLBACK(wxgtk_webview_webkit_decide_policy),
|
||||||
this);
|
this);
|
||||||
@@ -756,6 +759,18 @@ bool wxWebViewWebKit::IsAccessToDevToolsEnabled() const
|
|||||||
return webkit_settings_get_enable_developer_extras(settings);
|
return webkit_settings_get_enable_developer_extras(settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxWebViewWebKit::SetUserAgent(const wxString& userAgent)
|
||||||
|
{
|
||||||
|
if (m_web_view)
|
||||||
|
{
|
||||||
|
WebKitSettings* settings = webkit_web_view_get_settings(m_web_view);
|
||||||
|
webkit_settings_set_user_agent(settings, userAgent.utf8_str());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_customUserAgent = userAgent;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void wxWebViewWebKit::Stop()
|
void wxWebViewWebKit::Stop()
|
||||||
{
|
{
|
||||||
webkit_web_view_stop_loading(m_web_view);
|
webkit_web_view_stop_loading(m_web_view);
|
||||||
|
Reference in New Issue
Block a user