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

Unified Diff: content/browser/browser_plugin/browser_plugin_guest.cc

Issue 235733002: <webview>: Move media request to chrome (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@move_geolocation_to_chrome
Patch Set: Fixed rebase Created 6 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/browser_plugin/browser_plugin_guest.cc
diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc
index 0d47f0cad17e3fe4a88e57b5cf4ee12b30ae5873..fa639dc190ecc9be5054d0a03980fb1a10678245 100644
--- a/content/browser/browser_plugin/browser_plugin_guest.cc
+++ b/content/browser/browser_plugin/browser_plugin_guest.cc
@@ -107,39 +107,6 @@ class BrowserPluginGuest::DownloadRequest : public PermissionRequest {
base::Callback<void(bool)> callback_;
};
-class BrowserPluginGuest::MediaRequest : public PermissionRequest {
- public:
- MediaRequest(const base::WeakPtr<BrowserPluginGuest>& guest,
- const MediaStreamRequest& request,
- const MediaResponseCallback& callback)
- : PermissionRequest(guest),
- request_(request),
- callback_(callback) {
- RecordAction(
- base::UserMetricsAction("BrowserPlugin.Guest.PermissionRequest.Media"));
- }
-
- virtual void RespondImpl(bool should_allow,
- const std::string& user_input) OVERRIDE {
- WebContentsImpl* web_contents = guest_->embedder_web_contents();
- if (should_allow && web_contents) {
- // Re-route the request to the embedder's WebContents; the guest gets the
- // permission this way.
- web_contents->RequestMediaAccessPermission(request_, callback_);
- } else {
- // Deny the request.
- callback_.Run(MediaStreamDevices(),
- MEDIA_DEVICE_INVALID_STATE,
- scoped_ptr<MediaStreamUI>());
- }
- }
-
- private:
- virtual ~MediaRequest() {}
- MediaStreamRequest request_;
- MediaResponseCallback callback_;
-};
-
class BrowserPluginGuest::NewWindowRequest : public PermissionRequest {
public:
NewWindowRequest(const base::WeakPtr<BrowserPluginGuest>& guest,
@@ -1609,16 +1576,14 @@ void BrowserPluginGuest::RequestMediaAccessPermission(
WebContents* web_contents,
const MediaStreamRequest& request,
const MediaResponseCallback& callback) {
- base::DictionaryValue request_info;
- request_info.Set(
- browser_plugin::kURL,
- base::Value::CreateStringValue(request.security_origin.spec()));
+ if (!delegate_) {
+ callback.Run(MediaStreamDevices(),
+ MEDIA_DEVICE_INVALID_STATE,
+ scoped_ptr<MediaStreamUI>());
+ return;
+ }
- RequestPermission(BROWSER_PLUGIN_PERMISSION_TYPE_MEDIA,
- new MediaRequest(weak_ptr_factory_.GetWeakPtr(),
- request,
- callback),
- request_info);
+ delegate_->RequestMediaAccessPermission(request, callback);
}
bool BrowserPluginGuest::PreHandleGestureEvent(
« no previous file with comments | « content/browser/browser_plugin/browser_plugin_guest.h ('k') | content/public/browser/browser_plugin_guest_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698