summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authordmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-30 19:13:04 +0000
committerdmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-30 19:13:04 +0000
commit08bb1e7204b84f029d78db6871497bac5597e3a6 (patch)
treeef5fc030570a71fc03fecc2e46f5976fe0d8f01c /content
parent48c3d8ee3b7d2e0df0c601a1a2453595cc23314a (diff)
downloadchromium_src-08bb1e7204b84f029d78db6871497bac5597e3a6.zip
chromium_src-08bb1e7204b84f029d78db6871497bac5597e3a6.tar.gz
chromium_src-08bb1e7204b84f029d78db6871497bac5597e3a6.tar.bz2
Connect up firewall control preferences with PPAPI.
This is a temporary measure to get the control required for Chromoting in M14. We will be rearchitecting this in the future (http://code.google.com/p/chromium/issues/detail?id=90543) BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/7465064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94844 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r--content/common/view_messages.h13
-rw-r--r--content/renderer/render_view.cc12
-rw-r--r--content/renderer/render_view.h7
3 files changed, 30 insertions, 2 deletions
diff --git a/content/common/view_messages.h b/content/common/view_messages.h
index 2ecbaa4..9afc29a 100644
--- a/content/common/view_messages.h
+++ b/content/common/view_messages.h
@@ -1244,6 +1244,13 @@ IPC_MESSAGE_ROUTED3(ViewMsg_GetSerializedHtmlDataForCurrentPageWithLocalLinks,
std::vector<FilePath> /* paths of local copy */,
FilePath /* local directory path */)
+// Sends updated information about the client firewall traversal policy.
+// |traversal_data| is a json string containing policy information.
+// Sent due to a policy change or in response to a
+// ViewHostMsg_RequestRemoteAccessClientFirewallTraversal message.
+IPC_MESSAGE_ROUTED1(ViewMsg_UpdateRemoteAccessClientFirewallTraversal,
+ std::string /* traversal_data */)
+
// These three messages are sent to the parent RenderViewHost to display the
// page/widget that was created by
// CreateWindow/CreateWidget/CreateFullscreenWidget. routing_id
@@ -2003,3 +2010,9 @@ IPC_MESSAGE_ROUTED3(ViewHostMsg_SendSerializedHtmlData,
GURL /* frame's url */,
std::string /* data buffer */,
int32 /* complete status */)
+
+// Request updated information about the client firewall traversal policy.
+// Will result in a ViewMsg_UpdateRemoteAccessClientFirewallTraversal message
+// being sent back.
+IPC_MESSAGE_ROUTED0(ViewHostMsg_RequestRemoteAccessClientFirewallTraversal)
+
diff --git a/content/renderer/render_view.cc b/content/renderer/render_view.cc
index fedaf13..6d698d9 100644
--- a/content/renderer/render_view.cc
+++ b/content/renderer/render_view.cc
@@ -698,7 +698,8 @@ bool RenderView::OnMessageReceived(const IPC::Message& message) {
#if defined(OS_MACOSX)
IPC_MESSAGE_HANDLER(ViewMsg_SetInLiveResize, OnSetInLiveResize)
#endif
-
+ IPC_MESSAGE_HANDLER(ViewMsg_UpdateRemoteAccessClientFirewallTraversal,
+ OnUpdateRemoteAccessClientFirewallTraversal)
// Have the super handle all other messages.
IPC_MESSAGE_UNHANDLED(handled = RenderWidget::OnMessageReceived(message))
IPC_END_MESSAGE_MAP()
@@ -3484,6 +3485,11 @@ void RenderView::OnUpdateWebPreferences(const WebPreferences& prefs) {
webkit_preferences_.Apply(webview());
}
+void RenderView::OnUpdateRemoteAccessClientFirewallTraversal(
+ const std::string& policy) {
+ pepper_delegate_.PublishPolicy(policy);
+}
+
void RenderView::OnSetAltErrorPageURL(const GURL& url) {
alternate_error_page_url_ = url;
}
@@ -4098,6 +4104,10 @@ void RenderView::PpapiPluginFocusChanged() {
UpdateInputMethod();
}
+void RenderView::RequestRemoteAccessClientFirewallTraversal() {
+ Send(new ViewHostMsg_RequestRemoteAccessClientFirewallTraversal(routing_id_));
+}
+
void RenderView::OnImeSetComposition(
const string16& text,
const std::vector<WebKit::WebCompositionUnderline>& underlines,
diff --git a/content/renderer/render_view.h b/content/renderer/render_view.h
index e933053..16501b8 100644
--- a/content/renderer/render_view.h
+++ b/content/renderer/render_view.h
@@ -171,7 +171,7 @@ class RenderView : public RenderWidget,
public WebKit::WebViewClient,
public WebKit::WebFrameClient,
public WebKit::WebPageSerializerClient,
- public webkit::npapi::WebPluginPageDelegate,
+ public webkit::npapi::WebPluginPageDelegate,
public base::SupportsWeakPtr<RenderView> {
public:
// Creates a new RenderView. The parent_hwnd specifies a HWND to use as the
@@ -310,6 +310,9 @@ class RenderView : public RenderWidget,
// Informs the render view that a PPAPI plugin has gained or lost focus.
void PpapiPluginFocusChanged();
+ // Request updated policy regarding firewall NAT traversal being enabled.
+ void RequestRemoteAccessClientFirewallTraversal();
+
#if defined(OS_MACOSX)
// Informs the render view that the given plugin has gained or lost focus.
void PluginFocusChanged(bool focused, int plugin_id);
@@ -837,6 +840,8 @@ class RenderView : public RenderWidget,
void OnUndo();
void OnUpdateTargetURLAck();
void OnUpdateWebPreferences(const WebPreferences& prefs);
+ void OnUpdateRemoteAccessClientFirewallTraversal(const std::string& policy);
+
#if defined(OS_MACOSX)
void OnWindowFrameChanged(const gfx::Rect& window_frame,
const gfx::Rect& view_frame);