diff options
author | dmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-30 19:13:04 +0000 |
---|---|---|
committer | dmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-30 19:13:04 +0000 |
commit | 08bb1e7204b84f029d78db6871497bac5597e3a6 (patch) | |
tree | ef5fc030570a71fc03fecc2e46f5976fe0d8f01c /content | |
parent | 48c3d8ee3b7d2e0df0c601a1a2453595cc23314a (diff) | |
download | chromium_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.h | 13 | ||||
-rw-r--r-- | content/renderer/render_view.cc | 12 | ||||
-rw-r--r-- | content/renderer/render_view.h | 7 |
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); |