Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(355)

Side by Side Diff: content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc

Issue 19005006: Switched proxy for TCPServerSocketPrivate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed content_unittests. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/pepper/content_browser_pepper_host_facto ry.h" 5 #include "content/browser/renderer_host/pepper/content_browser_pepper_host_facto ry.h"
6 6
7 #include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h" 7 #include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h"
8 #include "content/browser/renderer_host/pepper/pepper_browser_font_singleton_hos t.h" 8 #include "content/browser/renderer_host/pepper/pepper_browser_font_singleton_hos t.h"
9 #include "content/browser/renderer_host/pepper/pepper_file_ref_host.h" 9 #include "content/browser/renderer_host/pepper/pepper_file_ref_host.h"
10 #include "content/browser/renderer_host/pepper/pepper_file_system_browser_host.h " 10 #include "content/browser/renderer_host/pepper/pepper_file_system_browser_host.h "
11 #include "content/browser/renderer_host/pepper/pepper_flash_file_message_filter. h" 11 #include "content/browser/renderer_host/pepper/pepper_flash_file_message_filter. h"
12 #include "content/browser/renderer_host/pepper/pepper_gamepad_host.h" 12 #include "content/browser/renderer_host/pepper/pepper_gamepad_host.h"
13 #include "content/browser/renderer_host/pepper/pepper_host_resolver_message_filt er.h" 13 #include "content/browser/renderer_host/pepper/pepper_host_resolver_message_filt er.h"
14 #include "content/browser/renderer_host/pepper/pepper_network_proxy_host.h" 14 #include "content/browser/renderer_host/pepper/pepper_network_proxy_host.h"
15 #include "content/browser/renderer_host/pepper/pepper_print_settings_manager.h" 15 #include "content/browser/renderer_host/pepper/pepper_print_settings_manager.h"
16 #include "content/browser/renderer_host/pepper/pepper_printing_host.h" 16 #include "content/browser/renderer_host/pepper/pepper_printing_host.h"
17 #include "content/browser/renderer_host/pepper/pepper_tcp_server_socket_message_ filter.h"
17 #include "content/browser/renderer_host/pepper/pepper_truetype_font_list_host.h" 18 #include "content/browser/renderer_host/pepper/pepper_truetype_font_list_host.h"
18 #include "content/browser/renderer_host/pepper/pepper_udp_socket_message_filter. h" 19 #include "content/browser/renderer_host/pepper/pepper_udp_socket_message_filter. h"
19 #include "ppapi/host/message_filter_host.h" 20 #include "ppapi/host/message_filter_host.h"
20 #include "ppapi/host/ppapi_host.h" 21 #include "ppapi/host/ppapi_host.h"
21 #include "ppapi/host/resource_host.h" 22 #include "ppapi/host/resource_host.h"
22 #include "ppapi/proxy/ppapi_messages.h" 23 #include "ppapi/proxy/ppapi_messages.h"
23 #include "ppapi/shared_impl/ppapi_permissions.h" 24 #include "ppapi/shared_impl/ppapi_permissions.h"
24 25
25 using ppapi::host::MessageFilterHost; 26 using ppapi::host::MessageFilterHost;
26 using ppapi::host::ResourceHost; 27 using ppapi::host::ResourceHost;
27 using ppapi::host::ResourceMessageFilter; 28 using ppapi::host::ResourceMessageFilter;
28 using ppapi::UnpackMessage; 29 using ppapi::UnpackMessage;
29 30
30 namespace content { 31 namespace content {
31 32
32 ContentBrowserPepperHostFactory::ContentBrowserPepperHostFactory( 33 ContentBrowserPepperHostFactory::ContentBrowserPepperHostFactory(
33 BrowserPpapiHostImpl* host) 34 BrowserPpapiHostImpl* host,
34 : host_(host) { 35 const scoped_refptr<PepperMessageFilter>& pepper_message_filter)
36 : host_(host),
37 pepper_message_filter_(pepper_message_filter) {
35 } 38 }
36 39
37 ContentBrowserPepperHostFactory::~ContentBrowserPepperHostFactory() { 40 ContentBrowserPepperHostFactory::~ContentBrowserPepperHostFactory() {
38 } 41 }
39 42
40 scoped_ptr<ResourceHost> ContentBrowserPepperHostFactory::CreateResourceHost( 43 scoped_ptr<ResourceHost> ContentBrowserPepperHostFactory::CreateResourceHost(
41 ppapi::host::PpapiHost* host, 44 ppapi::host::PpapiHost* host,
42 const ppapi::proxy::ResourceMessageCallParams& params, 45 const ppapi::proxy::ResourceMessageCallParams& params,
43 PP_Instance instance, 46 PP_Instance instance,
44 const IPC::Message& message) { 47 const IPC::Message& message) {
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 // permission check can be performed only on the UI 128 // permission check can be performed only on the UI
126 // thread). Currently these interfaces are available only for 129 // thread). Currently these interfaces are available only for
127 // whitelisted apps which may not have access to the other private 130 // whitelisted apps which may not have access to the other private
128 // interfaces. 131 // interfaces.
129 if (message.type() == PpapiHostMsg_HostResolver_CreatePrivate::ID) { 132 if (message.type() == PpapiHostMsg_HostResolver_CreatePrivate::ID) {
130 scoped_refptr<ResourceMessageFilter> host_resolver( 133 scoped_refptr<ResourceMessageFilter> host_resolver(
131 new PepperHostResolverMessageFilter(host_, instance, true)); 134 new PepperHostResolverMessageFilter(host_, instance, true));
132 return scoped_ptr<ResourceHost>(new MessageFilterHost( 135 return scoped_ptr<ResourceHost>(new MessageFilterHost(
133 host_->GetPpapiHost(), instance, params.pp_resource(), host_resolver)); 136 host_->GetPpapiHost(), instance, params.pp_resource(), host_resolver));
134 } 137 }
138 if (message.type() == PpapiHostMsg_TCPServerSocket_CreatePrivate::ID) {
139 scoped_refptr<ResourceMessageFilter> tcp_server_socket(
140 new PepperTCPServerSocketMessageFilter(host_, instance, true,
141 pepper_message_filter_));
142 return scoped_ptr<ResourceHost>(new MessageFilterHost(
143 host_->GetPpapiHost(), instance, params.pp_resource(),
144 tcp_server_socket));
145 }
135 if (message.type() == PpapiHostMsg_UDPSocket_CreatePrivate::ID) { 146 if (message.type() == PpapiHostMsg_UDPSocket_CreatePrivate::ID) {
136 scoped_refptr<ResourceMessageFilter> udp_socket( 147 scoped_refptr<ResourceMessageFilter> udp_socket(
137 new PepperUDPSocketMessageFilter(host_, instance, true)); 148 new PepperUDPSocketMessageFilter(host_, instance, true));
138 return scoped_ptr<ResourceHost>(new MessageFilterHost( 149 return scoped_ptr<ResourceHost>(new MessageFilterHost(
139 host_->GetPpapiHost(), instance, params.pp_resource(), udp_socket)); 150 host_->GetPpapiHost(), instance, params.pp_resource(), udp_socket));
140 } 151 }
141 152
142 // Flash interfaces. 153 // Flash interfaces.
143 if (GetPermissions().HasPermission(ppapi::PERMISSION_FLASH)) { 154 if (GetPermissions().HasPermission(ppapi::PERMISSION_FLASH)) {
144 switch (message.type()) { 155 switch (message.type()) {
145 case PpapiHostMsg_FlashFile_Create::ID: { 156 case PpapiHostMsg_FlashFile_Create::ID: {
146 scoped_refptr<ResourceMessageFilter> file_filter( 157 scoped_refptr<ResourceMessageFilter> file_filter(
147 new PepperFlashFileMessageFilter(instance, host_)); 158 new PepperFlashFileMessageFilter(instance, host_));
148 return scoped_ptr<ResourceHost>(new MessageFilterHost( 159 return scoped_ptr<ResourceHost>(new MessageFilterHost(
149 host_->GetPpapiHost(), instance, params.pp_resource(), 160 host_->GetPpapiHost(), instance, params.pp_resource(),
150 file_filter)); 161 file_filter));
151 } 162 }
152 } 163 }
153 } 164 }
154 165
155 return scoped_ptr<ResourceHost>(); 166 return scoped_ptr<ResourceHost>();
156 } 167 }
157 168
158 const ppapi::PpapiPermissions& 169 const ppapi::PpapiPermissions&
159 ContentBrowserPepperHostFactory::GetPermissions() const { 170 ContentBrowserPepperHostFactory::GetPermissions() const {
160 return host_->GetPpapiHost()->permissions(); 171 return host_->GetPpapiHost()->permissions();
161 } 172 }
162 173
163 } // namespace content 174 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698