| 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 "chrome/browser/permissions/permission_request_impl.h" | 5 #include "chrome/browser/permissions/permission_request_impl.h" |
| 6 | 6 |
| 7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
| 8 #include "chrome/browser/permissions/permission_decision_auto_blocker.h" | 8 #include "chrome/browser/permissions/permission_decision_auto_blocker.h" |
| 9 #include "chrome/browser/permissions/permission_uma_util.h" | 9 #include "chrome/browser/permissions/permission_uma_util.h" |
| 10 #include "chrome/browser/permissions/permission_util.h" |
| 10 #include "chrome/grit/generated_resources.h" | 11 #include "chrome/grit/generated_resources.h" |
| 11 #include "components/url_formatter/elide_url.h" | 12 #include "components/url_formatter/elide_url.h" |
| 12 #include "grit/theme_resources.h" | 13 #include "grit/theme_resources.h" |
| 13 #include "net/base/escape.h" | 14 #include "net/base/escape.h" |
| 14 #include "ui/base/l10n/l10n_util.h" | 15 #include "ui/base/l10n/l10n_util.h" |
| 15 #include "ui/gfx/vector_icons_public.h" | 16 #include "ui/gfx/vector_icons_public.h" |
| 16 | 17 |
| 17 PermissionRequestImpl::PermissionRequestImpl( | 18 PermissionRequestImpl::PermissionRequestImpl( |
| 18 const GURL& request_origin, | 19 const GURL& request_origin, |
| 19 content::PermissionType permission_type, | 20 content::PermissionType permission_type, |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 } | 117 } |
| 117 return l10n_util::GetStringUTF16(message_id); | 118 return l10n_util::GetStringUTF16(message_id); |
| 118 } | 119 } |
| 119 | 120 |
| 120 GURL PermissionRequestImpl::GetOrigin() const { | 121 GURL PermissionRequestImpl::GetOrigin() const { |
| 121 return request_origin_; | 122 return request_origin_; |
| 122 } | 123 } |
| 123 | 124 |
| 124 void PermissionRequestImpl::PermissionGranted() { | 125 void PermissionRequestImpl::PermissionGranted() { |
| 125 RegisterActionTaken(); | 126 RegisterActionTaken(); |
| 126 permission_decided_callback_.Run(true, CONTENT_SETTING_ALLOW); | 127 permission_decided_callback_.Run(persist(), CONTENT_SETTING_ALLOW); |
| 127 } | 128 } |
| 128 | 129 |
| 129 void PermissionRequestImpl::PermissionDenied() { | 130 void PermissionRequestImpl::PermissionDenied() { |
| 130 RegisterActionTaken(); | 131 RegisterActionTaken(); |
| 131 permission_decided_callback_.Run(true, CONTENT_SETTING_BLOCK); | 132 permission_decided_callback_.Run(persist(), CONTENT_SETTING_BLOCK); |
| 132 } | 133 } |
| 133 | 134 |
| 134 void PermissionRequestImpl::Cancelled() { | 135 void PermissionRequestImpl::Cancelled() { |
| 135 RegisterActionTaken(); | 136 RegisterActionTaken(); |
| 136 permission_decided_callback_.Run(false, CONTENT_SETTING_DEFAULT); | 137 permission_decided_callback_.Run(false, CONTENT_SETTING_DEFAULT); |
| 137 } | 138 } |
| 138 | 139 |
| 139 void PermissionRequestImpl::RequestFinished() { | 140 void PermissionRequestImpl::RequestFinished() { |
| 140 is_finished_ = true; | 141 is_finished_ = true; |
| 141 delete_callback_.Run(); | 142 delete_callback_.Run(); |
| 142 } | 143 } |
| 143 | 144 |
| 145 bool PermissionRequestImpl::ShouldShowPersistenceToggle() const { |
| 146 switch (permission_type_) { |
| 147 case content::PermissionType::GEOLOCATION: |
| 148 return PermissionUtil::ShouldShowPersistenceToggle(); |
| 149 default: |
| 150 return false; |
| 151 } |
| 152 } |
| 153 |
| 144 PermissionRequestType PermissionRequestImpl::GetPermissionRequestType() | 154 PermissionRequestType PermissionRequestImpl::GetPermissionRequestType() |
| 145 const { | 155 const { |
| 146 switch (permission_type_) { | 156 switch (permission_type_) { |
| 147 case content::PermissionType::GEOLOCATION: | 157 case content::PermissionType::GEOLOCATION: |
| 148 return PermissionRequestType::PERMISSION_GEOLOCATION; | 158 return PermissionRequestType::PERMISSION_GEOLOCATION; |
| 149 #if defined(ENABLE_NOTIFICATIONS) | 159 #if defined(ENABLE_NOTIFICATIONS) |
| 150 case content::PermissionType::NOTIFICATIONS: | 160 case content::PermissionType::NOTIFICATIONS: |
| 151 return PermissionRequestType::PERMISSION_NOTIFICATIONS; | 161 return PermissionRequestType::PERMISSION_NOTIFICATIONS; |
| 152 #endif | 162 #endif |
| 153 case content::PermissionType::MIDI_SYSEX: | 163 case content::PermissionType::MIDI_SYSEX: |
| 154 return PermissionRequestType::PERMISSION_MIDI_SYSEX; | 164 return PermissionRequestType::PERMISSION_MIDI_SYSEX; |
| 155 case content::PermissionType::PUSH_MESSAGING: | 165 case content::PermissionType::PUSH_MESSAGING: |
| 156 return PermissionRequestType::PERMISSION_PUSH_MESSAGING; | 166 return PermissionRequestType::PERMISSION_PUSH_MESSAGING; |
| 157 #if defined(OS_CHROMEOS) | 167 #if defined(OS_CHROMEOS) |
| 158 case content::PermissionType::PROTECTED_MEDIA_IDENTIFIER: | 168 case content::PermissionType::PROTECTED_MEDIA_IDENTIFIER: |
| 159 return PermissionRequestType::PERMISSION_PROTECTED_MEDIA_IDENTIFIER; | 169 return PermissionRequestType::PERMISSION_PROTECTED_MEDIA_IDENTIFIER; |
| 160 #endif | 170 #endif |
| 161 default: | 171 default: |
| 162 NOTREACHED(); | 172 NOTREACHED(); |
| 163 return PermissionRequestType::UNKNOWN; | 173 return PermissionRequestType::UNKNOWN; |
| 164 } | 174 } |
| 165 } | 175 } |
| 166 | 176 |
| 167 PermissionRequestGestureType PermissionRequestImpl::GetGestureType() | 177 PermissionRequestGestureType PermissionRequestImpl::GetGestureType() |
| 168 const { | 178 const { |
| 169 return has_gesture_ ? PermissionRequestGestureType::GESTURE | 179 return has_gesture_ ? PermissionRequestGestureType::GESTURE |
| 170 : PermissionRequestGestureType::NO_GESTURE; | 180 : PermissionRequestGestureType::NO_GESTURE; |
| 171 } | 181 } |
| OLD | NEW |