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

Side by Side Diff: chrome/browser/permissions/permission_request_impl.cc

Issue 2258763002: Add a feature-controlled persistence checkbox to geolocation prompts on desktop Views platforms. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@permission-infobardelegate-clean
Patch Set: Rebase, add dependent Created 4 years, 3 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 unified diff | Download patch
OLDNEW
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
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_) {
raymes 2016/08/24 04:00:17 I think an if-statement is fine here
dominickn 2016/08/24 06:30:57 Done (made it the same as the infobar_delegate).
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698