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

Side by Side Diff: chrome/browser/content_settings/tab_specific_content_settings.cc

Issue 678023002: TabSpecificContentSettings no longer knows about MediaStreamDeviceController (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remaining style nits addressed Created 6 years, 1 month 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
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 "chrome/browser/content_settings/tab_specific_content_settings.h" 5 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
6 6
7 #include <list> 7 #include <list>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 prefs->GetString(prefs::kDefaultVideoCaptureDevice) != 523 prefs->GetString(prefs::kDefaultVideoCaptureDevice) !=
524 media_stream_selected_video_device() && 524 media_stream_selected_video_device() &&
525 media_indicator->IsCapturingVideo(web_contents())) 525 media_indicator->IsCapturingVideo(web_contents()))
526 return true; 526 return true;
527 527
528 return false; 528 return false;
529 } 529 }
530 530
531 void TabSpecificContentSettings::OnMediaStreamPermissionSet( 531 void TabSpecificContentSettings::OnMediaStreamPermissionSet(
532 const GURL& request_origin, 532 const GURL& request_origin,
533 const MediaStreamDevicesController::MediaStreamTypeSettingsMap& 533 MicrophoneCameraState new_microphone_camera_state,
534 request_permissions) { 534 const std::string& media_stream_selected_audio_device,
535 const std::string& media_stream_selected_video_device,
536 const std::string& media_stream_requested_audio_device,
537 const std::string& media_stream_requested_video_device) {
535 media_stream_access_origin_ = request_origin; 538 media_stream_access_origin_ = request_origin;
536 MicrophoneCameraState prev_microphone_camera_state = microphone_camera_state_;
537 microphone_camera_state_ = MICROPHONE_CAMERA_NOT_ACCESSED;
538 539
539 PrefService* prefs = 540 if (new_microphone_camera_state & MICROPHONE_ACCESSED) {
540 Profile::FromBrowserContext(web_contents()->GetBrowserContext())-> 541 media_stream_requested_audio_device_ = media_stream_requested_audio_device;
541 GetPrefs(); 542 media_stream_selected_audio_device_ = media_stream_selected_audio_device;
542 MediaStreamDevicesController::MediaStreamTypeSettingsMap::const_iterator it = 543 bool mic_blocked = (new_microphone_camera_state & MICROPHONE_BLOCKED) != 0;
543 request_permissions.find(content::MEDIA_DEVICE_AUDIO_CAPTURE); 544 content_allowed_[CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC] = !mic_blocked;
544 if (it != request_permissions.end()) { 545 content_blocked_[CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC] = mic_blocked;
545 media_stream_requested_audio_device_ = it->second.requested_device_id;
546 media_stream_selected_audio_device_ =
547 media_stream_requested_audio_device_.empty() ?
548 prefs->GetString(prefs::kDefaultAudioCaptureDevice) :
549 media_stream_requested_audio_device_;
550 DCHECK_NE(MediaStreamDevicesController::MEDIA_NONE, it->second.permission);
551 bool mic_allowed =
552 it->second.permission == MediaStreamDevicesController::MEDIA_ALLOWED;
553 content_allowed_[CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC] = mic_allowed;
554 content_blocked_[CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC] = !mic_allowed;
555 microphone_camera_state_ |=
556 MICROPHONE_ACCESSED | (mic_allowed ? 0 : MICROPHONE_BLOCKED);
557 } 546 }
558 547
559 it = request_permissions.find(content::MEDIA_DEVICE_VIDEO_CAPTURE); 548 if (new_microphone_camera_state & CAMERA_ACCESSED) {
560 if (it != request_permissions.end()) { 549 media_stream_requested_video_device_ = media_stream_requested_video_device;
561 media_stream_requested_video_device_ = it->second.requested_device_id; 550 media_stream_selected_video_device_ = media_stream_selected_video_device;
562 media_stream_selected_video_device_ = 551 bool cam_blocked = (new_microphone_camera_state & CAMERA_BLOCKED) != 0;
563 media_stream_requested_video_device_.empty() ? 552 content_allowed_[CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA] = !cam_blocked;
564 prefs->GetString(prefs::kDefaultVideoCaptureDevice) : 553 content_blocked_[CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA] = cam_blocked;
565 media_stream_requested_video_device_;
566 DCHECK_NE(MediaStreamDevicesController::MEDIA_NONE, it->second.permission);
567 bool cam_allowed =
568 it->second.permission == MediaStreamDevicesController::MEDIA_ALLOWED;
569 content_allowed_[CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA] = cam_allowed;
570 content_blocked_[CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA] = !cam_allowed;
571 microphone_camera_state_ |=
572 CAMERA_ACCESSED | (cam_allowed ? 0 : CAMERA_BLOCKED);
573 } 554 }
574 555
575 if (microphone_camera_state_ != prev_microphone_camera_state) { 556 if (microphone_camera_state_ != new_microphone_camera_state) {
557 microphone_camera_state_ = new_microphone_camera_state;
576 content::NotificationService::current()->Notify( 558 content::NotificationService::current()->Notify(
577 chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED, 559 chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED,
578 content::Source<WebContents>(web_contents()), 560 content::Source<WebContents>(web_contents()),
579 content::NotificationService::NoDetails()); 561 content::NotificationService::NoDetails());
580 } 562 }
581 } 563 }
582 564
583 void TabSpecificContentSettings::OnMidiSysExAccessed( 565 void TabSpecificContentSettings::OnMidiSysExAccessed(
584 const GURL& requesting_origin) { 566 const GURL& requesting_origin) {
585 midi_usages_state_.OnPermissionSet(requesting_origin, true); 567 midi_usages_state_.OnPermissionSet(requesting_origin, true);
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
767 } 749 }
768 750
769 void TabSpecificContentSettings::RemoveSiteDataObserver( 751 void TabSpecificContentSettings::RemoveSiteDataObserver(
770 SiteDataObserver* observer) { 752 SiteDataObserver* observer) {
771 observer_list_.RemoveObserver(observer); 753 observer_list_.RemoveObserver(observer);
772 } 754 }
773 755
774 void TabSpecificContentSettings::NotifySiteDataObservers() { 756 void TabSpecificContentSettings::NotifySiteDataObservers() {
775 FOR_EACH_OBSERVER(SiteDataObserver, observer_list_, OnSiteDataAccessed()); 757 FOR_EACH_OBSERVER(SiteDataObserver, observer_list_, OnSiteDataAccessed());
776 } 758 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698