| Index: chrome/browser/media/webrtc/media_stream_devices_controller.cc | 
| diff --git a/chrome/browser/media/webrtc/media_stream_devices_controller.cc b/chrome/browser/media/webrtc/media_stream_devices_controller.cc | 
| index beeff5cd9b641e274b5377cbf1d45dedfcf41bfa..b1ab7af408447136fb432924f39adf57d7ac07d5 100644 | 
| --- a/chrome/browser/media/webrtc/media_stream_devices_controller.cc | 
| +++ b/chrome/browser/media/webrtc/media_stream_devices_controller.cc | 
| @@ -7,7 +7,6 @@ | 
| #include <map> | 
| #include <utility> | 
|  | 
| -#include "base/auto_reset.h" | 
| #include "base/callback_helpers.h" | 
| #include "base/memory/ptr_util.h" | 
| #include "base/metrics/histogram_macros.h" | 
| @@ -164,8 +163,7 @@ MediaStreamDevicesController::MediaStreamDevicesController( | 
| const content::MediaResponseCallback& callback) | 
| : web_contents_(web_contents), | 
| request_(request), | 
| -      callback_(callback), | 
| -      persist_(true) { | 
| +      callback_(callback) { | 
| if (request_.request_type == content::MEDIA_OPEN_DEVICE_PEPPER_ONLY) { | 
| MediaPermissionRequestLogger::LogRequest( | 
| web_contents, request.render_process_id, request.render_frame_id, | 
| @@ -268,12 +266,13 @@ MediaStreamDevicesController::GetPermissionTypeForContentSettingsType( | 
| } | 
|  | 
| void MediaStreamDevicesController::ForcePermissionDeniedTemporarily() { | 
| -  base::AutoReset<bool> persist_permissions(&persist_, false); | 
| +  set_persist(false); | 
| // TODO(tsergeant): Determine whether it is appropriate to record permission | 
| // action metrics here, as this is a different sort of user action. | 
| RunCallback(CONTENT_SETTING_BLOCK, | 
| CONTENT_SETTING_BLOCK, | 
| content::MEDIA_DEVICE_PERMISSION_DENIED); | 
| +  set_persist(true); | 
| } | 
|  | 
| int MediaStreamDevicesController::GetIconId() const { | 
| @@ -338,6 +337,10 @@ void MediaStreamDevicesController::GroupedRequestFinished(bool audio_accepted, | 
| content::MEDIA_DEVICE_PERMISSION_DENIED); | 
| } | 
|  | 
| +bool MediaStreamDevicesController::ShouldShowPersistenceToggle() const { | 
| +  return PermissionUtil::ShouldShowPersistenceToggle(); | 
| +} | 
| + | 
| void MediaStreamDevicesController::Cancelled() { | 
| RecordPermissionAction(request_, profile_, | 
| base::Bind(PermissionUmaUtil::PermissionDismissed)); | 
|  |