| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "extensions/browser/guest_view/web_view/web_view_permission_helper.h" | 5 #include "extensions/browser/guest_view/web_view/web_view_permission_helper.h" |
| 6 | 6 |
| 7 #include "components/guest_view/browser/guest_view_event.h" |
| 7 #include "content/public/browser/render_process_host.h" | 8 #include "content/public/browser/render_process_host.h" |
| 8 #include "content/public/browser/render_view_host.h" | 9 #include "content/public/browser/render_view_host.h" |
| 9 #include "content/public/browser/user_metrics.h" | 10 #include "content/public/browser/user_metrics.h" |
| 10 #include "extensions/browser/api/extensions_api_client.h" | 11 #include "extensions/browser/api/extensions_api_client.h" |
| 11 #include "extensions/browser/guest_view/guest_view_event.h" | |
| 12 #include "extensions/browser/guest_view/web_view/web_view_constants.h" | 12 #include "extensions/browser/guest_view/web_view/web_view_constants.h" |
| 13 #include "extensions/browser/guest_view/web_view/web_view_guest.h" | 13 #include "extensions/browser/guest_view/web_view/web_view_guest.h" |
| 14 #include "extensions/browser/guest_view/web_view/web_view_permission_helper_dele
gate.h" | 14 #include "extensions/browser/guest_view/web_view/web_view_permission_helper_dele
gate.h" |
| 15 #include "extensions/browser/guest_view/web_view/web_view_permission_types.h" | 15 #include "extensions/browser/guest_view/web_view/web_view_permission_types.h" |
| 16 | 16 |
| 17 using content::BrowserPluginGuestDelegate; | 17 using content::BrowserPluginGuestDelegate; |
| 18 using content::RenderViewHost; | 18 using content::RenderViewHost; |
| 19 using guest_view::GuestViewEvent; |
| 19 | 20 |
| 20 namespace extensions { | 21 namespace extensions { |
| 21 | 22 |
| 22 namespace { | 23 namespace { |
| 23 static std::string PermissionTypeToString(WebViewPermissionType type) { | 24 static std::string PermissionTypeToString(WebViewPermissionType type) { |
| 24 switch (type) { | 25 switch (type) { |
| 25 case WEB_VIEW_PERMISSION_TYPE_DOWNLOAD: | 26 case WEB_VIEW_PERMISSION_TYPE_DOWNLOAD: |
| 26 return webview::kPermissionTypeDownload; | 27 return webview::kPermissionTypeDownload; |
| 27 case WEB_VIEW_PERMISSION_TYPE_FILESYSTEM: | 28 case WEB_VIEW_PERMISSION_TYPE_FILESYSTEM: |
| 28 return webview::kPermissionTypeFileSystem; | 29 return webview::kPermissionTypeFileSystem; |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 default: | 136 default: |
| 136 break; | 137 break; |
| 137 } | 138 } |
| 138 } | 139 } |
| 139 } | 140 } |
| 140 | 141 |
| 141 } // namespace | 142 } // namespace |
| 142 | 143 |
| 143 WebViewPermissionHelper::WebViewPermissionHelper(WebViewGuest* web_view_guest) | 144 WebViewPermissionHelper::WebViewPermissionHelper(WebViewGuest* web_view_guest) |
| 144 : content::WebContentsObserver(web_view_guest->web_contents()), | 145 : content::WebContentsObserver(web_view_guest->web_contents()), |
| 145 next_permission_request_id_(guestview::kInstanceIDNone), | 146 next_permission_request_id_(guest_view::kInstanceIDNone), |
| 146 web_view_guest_(web_view_guest), | 147 web_view_guest_(web_view_guest), |
| 147 weak_factory_(this) { | 148 weak_factory_(this) { |
| 148 web_view_permission_helper_delegate_.reset( | 149 web_view_permission_helper_delegate_.reset( |
| 149 ExtensionsAPIClient::Get()->CreateWebViewPermissionHelperDelegate( | 150 ExtensionsAPIClient::Get()->CreateWebViewPermissionHelperDelegate( |
| 150 this)); | 151 this)); |
| 151 } | 152 } |
| 152 | 153 |
| 153 WebViewPermissionHelper::~WebViewPermissionHelper() { | 154 WebViewPermissionHelper::~WebViewPermissionHelper() { |
| 154 } | 155 } |
| 155 | 156 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 185 bool WebViewPermissionHelper::OnMessageReceived(const IPC::Message& message) { | 186 bool WebViewPermissionHelper::OnMessageReceived(const IPC::Message& message) { |
| 186 return web_view_permission_helper_delegate_->OnMessageReceived(message); | 187 return web_view_permission_helper_delegate_->OnMessageReceived(message); |
| 187 } | 188 } |
| 188 #endif // defined(ENABLE_PLUGINS) | 189 #endif // defined(ENABLE_PLUGINS) |
| 189 | 190 |
| 190 void WebViewPermissionHelper::RequestMediaAccessPermission( | 191 void WebViewPermissionHelper::RequestMediaAccessPermission( |
| 191 content::WebContents* source, | 192 content::WebContents* source, |
| 192 const content::MediaStreamRequest& request, | 193 const content::MediaStreamRequest& request, |
| 193 const content::MediaResponseCallback& callback) { | 194 const content::MediaResponseCallback& callback) { |
| 194 base::DictionaryValue request_info; | 195 base::DictionaryValue request_info; |
| 195 request_info.SetString(guestview::kUrl, request.security_origin.spec()); | 196 request_info.SetString(guest_view::kUrl, request.security_origin.spec()); |
| 196 RequestPermission( | 197 RequestPermission( |
| 197 WEB_VIEW_PERMISSION_TYPE_MEDIA, | 198 WEB_VIEW_PERMISSION_TYPE_MEDIA, |
| 198 request_info, | 199 request_info, |
| 199 base::Bind(&WebViewPermissionHelper::OnMediaPermissionResponse, | 200 base::Bind(&WebViewPermissionHelper::OnMediaPermissionResponse, |
| 200 weak_factory_.GetWeakPtr(), | 201 weak_factory_.GetWeakPtr(), |
| 201 request, | 202 request, |
| 202 callback), | 203 callback), |
| 203 false /* allowed_by_default */); | 204 false /* allowed_by_default */); |
| 204 } | 205 } |
| 205 | 206 |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 397 bool allowed_by_default) | 398 bool allowed_by_default) |
| 398 : callback(callback), | 399 : callback(callback), |
| 399 permission_type(permission_type), | 400 permission_type(permission_type), |
| 400 allowed_by_default(allowed_by_default) { | 401 allowed_by_default(allowed_by_default) { |
| 401 } | 402 } |
| 402 | 403 |
| 403 WebViewPermissionHelper::PermissionResponseInfo::~PermissionResponseInfo() { | 404 WebViewPermissionHelper::PermissionResponseInfo::~PermissionResponseInfo() { |
| 404 } | 405 } |
| 405 | 406 |
| 406 } // namespace extensions | 407 } // namespace extensions |
| OLD | NEW |