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

Unified Diff: chrome/browser/media/media_stream_devices_controller.cc

Issue 419503005: Merge 285314 "Turn webspeech on/off when tab goes fore/background" (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1985_128/src/
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/media_stream_devices_controller.cc
===================================================================
--- chrome/browser/media/media_stream_devices_controller.cc (revision 285314)
+++ chrome/browser/media/media_stream_devices_controller.cc (working copy)
@@ -24,6 +24,7 @@
#include "components/user_prefs/pref_registry_syncable.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/navigation_entry.h"
+#include "content/public/browser/render_widget_host_view.h"
#include "content/public/common/media_stream_request.h"
#include "extensions/common/constants.h"
#include "grit/generated_resources.h"
@@ -762,7 +763,7 @@
const {
MediaStreamTypeSettingsMap::const_iterator it =
request_permissions_.find(content::MEDIA_DEVICE_AUDIO_CAPTURE);
- return (it != request_permissions_.end() &&
+ return (it != request_permissions_.end() && IsCaptureDeviceRequestAllowed() &&
it->second.permission == MEDIA_ALLOWED);
}
@@ -770,6 +771,15 @@
const {
MediaStreamTypeSettingsMap::const_iterator it =
request_permissions_.find(content::MEDIA_DEVICE_VIDEO_CAPTURE);
- return (it != request_permissions_.end() &&
+ return (it != request_permissions_.end() && IsCaptureDeviceRequestAllowed() &&
it->second.permission == MEDIA_ALLOWED);
}
+
+bool MediaStreamDevicesController::IsCaptureDeviceRequestAllowed() const {
+#if defined(OS_ANDROID)
+ // Don't approve device requests if the tab was hidden.
+ // TODO(qinmin): Add a test for this. http://crbug.com/396869.
+ return web_contents_->GetRenderWidgetHostView()->IsShowing();
+#endif
+ return true;
+}
« no previous file with comments | « chrome/browser/media/media_stream_devices_controller.h ('k') | content/browser/speech/speech_recognition_dispatcher_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698