| OLD | NEW |
| 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/pepper_socket_utils.h" | 5 #include "content/browser/renderer_host/pepper/pepper_socket_utils.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 std::vector<unsigned char> address; | 28 std::vector<unsigned char> address; |
| 29 ppapi::NetAddressPrivateImpl::NetAddressToIPEndPoint(net_addr, | 29 ppapi::NetAddressPrivateImpl::NetAddressToIPEndPoint(net_addr, |
| 30 &address, | 30 &address, |
| 31 &port); | 31 &port); |
| 32 return SocketPermissionRequest(type, host, port); | 32 return SocketPermissionRequest(type, host, port); |
| 33 } | 33 } |
| 34 | 34 |
| 35 bool CanUseSocketAPIs(bool external_plugin, | 35 bool CanUseSocketAPIs(bool external_plugin, |
| 36 bool private_api, | 36 bool private_api, |
| 37 const SocketPermissionRequest& params, | 37 const SocketPermissionRequest& params, |
| 38 int render_process_id, |
| 39 int render_view_id) { |
| 40 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 41 RenderViewHost* render_view_host = RenderViewHost::FromID(render_process_id, |
| 42 render_view_id); |
| 43 return render_view_host && CanUseSocketAPIs(external_plugin, |
| 44 private_api, |
| 45 params, |
| 46 render_view_host); |
| 47 } |
| 48 |
| 49 bool CanUseSocketAPIs(bool external_plugin, |
| 50 bool private_api, |
| 51 const SocketPermissionRequest& params, |
| 38 RenderViewHost* render_view_host) { | 52 RenderViewHost* render_view_host) { |
| 39 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 53 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 40 | 54 |
| 41 if (!external_plugin) { | 55 if (!external_plugin) { |
| 42 // Always allow socket APIs for out-process plugins (other than external | 56 // Always allow socket APIs for out-process plugins (other than external |
| 43 // plugins instantiated by the embeeder through | 57 // plugins instantiated by the embeeder through |
| 44 // BrowserPpapiHost::CreateExternalPluginProcess). | 58 // BrowserPpapiHost::CreateExternalPluginProcess). |
| 45 return true; | 59 return true; |
| 46 } | 60 } |
| 47 | 61 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 58 LOG(ERROR) << "Host " << site_instance->GetSiteURL().host() | 72 LOG(ERROR) << "Host " << site_instance->GetSiteURL().host() |
| 59 << " cannot use socket API or destination is not allowed"; | 73 << " cannot use socket API or destination is not allowed"; |
| 60 return false; | 74 return false; |
| 61 } | 75 } |
| 62 | 76 |
| 63 return true; | 77 return true; |
| 64 } | 78 } |
| 65 | 79 |
| 66 } // namespace pepper_socket_utils | 80 } // namespace pepper_socket_utils |
| 67 } // namespace content | 81 } // namespace content |
| OLD | NEW |