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

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

Issue 16959005: Implement PPB_UDPSocket_Dev: part 2 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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
« no previous file with comments | « no previous file | content/browser/renderer_host/pepper/pepper_udp_socket_message_filter.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_private_mess age_filter.h" 13 #include "content/browser/renderer_host/pepper/pepper_host_resolver_private_mess age_filter.h"
14 #include "content/browser/renderer_host/pepper/pepper_print_settings_manager.h" 14 #include "content/browser/renderer_host/pepper/pepper_print_settings_manager.h"
15 #include "content/browser/renderer_host/pepper/pepper_printing_host.h" 15 #include "content/browser/renderer_host/pepper/pepper_printing_host.h"
16 #include "content/browser/renderer_host/pepper/pepper_truetype_font_list_host.h" 16 #include "content/browser/renderer_host/pepper/pepper_truetype_font_list_host.h"
17 #include "content/browser/renderer_host/pepper/pepper_udp_socket_private_message _filter.h" 17 #include "content/browser/renderer_host/pepper/pepper_udp_socket_message_filter. h"
18 #include "ppapi/host/message_filter_host.h" 18 #include "ppapi/host/message_filter_host.h"
19 #include "ppapi/host/ppapi_host.h" 19 #include "ppapi/host/ppapi_host.h"
20 #include "ppapi/host/resource_host.h" 20 #include "ppapi/host/resource_host.h"
21 #include "ppapi/proxy/ppapi_messages.h" 21 #include "ppapi/proxy/ppapi_messages.h"
22 #include "ppapi/shared_impl/ppapi_permissions.h" 22 #include "ppapi/shared_impl/ppapi_permissions.h"
23 23
24 using ppapi::host::MessageFilterHost; 24 using ppapi::host::MessageFilterHost;
25 using ppapi::host::ResourceHost; 25 using ppapi::host::ResourceHost;
26 using ppapi::host::ResourceMessageFilter; 26 using ppapi::host::ResourceMessageFilter;
27 using ppapi::UnpackMessage; 27 using ppapi::UnpackMessage;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 scoped_ptr<PepperPrintSettingsManager> manager( 82 scoped_ptr<PepperPrintSettingsManager> manager(
83 new PepperPrintSettingsManagerImpl()); 83 new PepperPrintSettingsManagerImpl());
84 return scoped_ptr<ResourceHost>(new PepperPrintingHost( 84 return scoped_ptr<ResourceHost>(new PepperPrintingHost(
85 host_->GetPpapiHost(), instance, 85 host_->GetPpapiHost(), instance,
86 params.pp_resource(), manager.Pass())); 86 params.pp_resource(), manager.Pass()));
87 } 87 }
88 case PpapiHostMsg_TrueTypeFontSingleton_Create::ID: { 88 case PpapiHostMsg_TrueTypeFontSingleton_Create::ID: {
89 return scoped_ptr<ResourceHost>(new PepperTrueTypeFontListHost( 89 return scoped_ptr<ResourceHost>(new PepperTrueTypeFontListHost(
90 host_, instance, params.pp_resource())); 90 host_, instance, params.pp_resource()));
91 } 91 }
92 case PpapiHostMsg_UDPSocket_Create::ID: {
93 scoped_refptr<ResourceMessageFilter> udp_socket(
94 new PepperUDPSocketMessageFilter(host_, instance, false));
95 return scoped_ptr<ResourceHost>(new MessageFilterHost(
96 host_->GetPpapiHost(), instance, params.pp_resource(), udp_socket));
97 }
92 } 98 }
93 } 99 }
94 100
95 // Private interfaces. 101 // Private interfaces.
96 if (GetPermissions().HasPermission(ppapi::PERMISSION_PRIVATE)) { 102 if (GetPermissions().HasPermission(ppapi::PERMISSION_PRIVATE)) {
97 switch (message.type()) { 103 switch (message.type()) {
98 case PpapiHostMsg_BrowserFontSingleton_Create::ID: 104 case PpapiHostMsg_BrowserFontSingleton_Create::ID:
99 return scoped_ptr<ResourceHost>(new PepperBrowserFontSingletonHost( 105 return scoped_ptr<ResourceHost>(new PepperBrowserFontSingletonHost(
100 host_, instance, params.pp_resource())); 106 host_, instance, params.pp_resource()));
101 } 107 }
102 } 108 }
103 109
104 // Permissions for the following interfaces will be checked at the 110 // Permissions for the following interfaces will be checked at the
105 // time of the corresponding instance's methods calls (because 111 // time of the corresponding instance's methods calls (because
106 // permission check can be performed only on the UI 112 // permission check can be performed only on the UI
107 // thread). Currently these interfaces are available only for 113 // thread). Currently these interfaces are available only for
108 // whitelisted apps which may not have access to the other private 114 // whitelisted apps which may not have access to the other private
109 // interfaces. 115 // interfaces.
110 if (message.type() == PpapiHostMsg_HostResolverPrivate_Create::ID) { 116 if (message.type() == PpapiHostMsg_HostResolverPrivate_Create::ID) {
111 scoped_refptr<ResourceMessageFilter> host_resolver( 117 scoped_refptr<ResourceMessageFilter> host_resolver(
112 new PepperHostResolverPrivateMessageFilter(host_, instance)); 118 new PepperHostResolverPrivateMessageFilter(host_, instance));
113 return scoped_ptr<ResourceHost>(new MessageFilterHost( 119 return scoped_ptr<ResourceHost>(new MessageFilterHost(
114 host_->GetPpapiHost(), instance, params.pp_resource(), host_resolver)); 120 host_->GetPpapiHost(), instance, params.pp_resource(), host_resolver));
115 } 121 }
116 if (message.type() == PpapiHostMsg_UDPSocketPrivate_Create::ID) { 122 if (message.type() == PpapiHostMsg_UDPSocket_CreatePrivate::ID) {
117 scoped_refptr<ResourceMessageFilter> udp_socket( 123 scoped_refptr<ResourceMessageFilter> udp_socket(
118 new PepperUDPSocketPrivateMessageFilter(host_, instance)); 124 new PepperUDPSocketMessageFilter(host_, instance, true));
119 return scoped_ptr<ResourceHost>(new MessageFilterHost( 125 return scoped_ptr<ResourceHost>(new MessageFilterHost(
120 host_->GetPpapiHost(), instance, params.pp_resource(), udp_socket)); 126 host_->GetPpapiHost(), instance, params.pp_resource(), udp_socket));
121 } 127 }
122 128
123 // Flash interfaces. 129 // Flash interfaces.
124 if (GetPermissions().HasPermission(ppapi::PERMISSION_FLASH)) { 130 if (GetPermissions().HasPermission(ppapi::PERMISSION_FLASH)) {
125 switch (message.type()) { 131 switch (message.type()) {
126 case PpapiHostMsg_FlashFile_Create::ID: { 132 case PpapiHostMsg_FlashFile_Create::ID: {
127 scoped_refptr<ResourceMessageFilter> file_filter( 133 scoped_refptr<ResourceMessageFilter> file_filter(
128 new PepperFlashFileMessageFilter(instance, host_)); 134 new PepperFlashFileMessageFilter(instance, host_));
129 return scoped_ptr<ResourceHost>(new MessageFilterHost( 135 return scoped_ptr<ResourceHost>(new MessageFilterHost(
130 host_->GetPpapiHost(), instance, params.pp_resource(), 136 host_->GetPpapiHost(), instance, params.pp_resource(),
131 file_filter)); 137 file_filter));
132 } 138 }
133 } 139 }
134 } 140 }
135 141
136 return scoped_ptr<ResourceHost>(); 142 return scoped_ptr<ResourceHost>();
137 } 143 }
138 144
139 const ppapi::PpapiPermissions& 145 const ppapi::PpapiPermissions&
140 ContentBrowserPepperHostFactory::GetPermissions() const { 146 ContentBrowserPepperHostFactory::GetPermissions() const {
141 return host_->GetPpapiHost()->permissions(); 147 return host_->GetPpapiHost()->permissions();
142 } 148 }
143 149
144 } // namespace content 150 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/browser/renderer_host/pepper/pepper_udp_socket_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698