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

Unified Diff: chrome/browser/permissions/permission_request_manager.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, 4 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/permissions/permission_request_manager.cc
diff --git a/chrome/browser/permissions/permission_request_manager.cc b/chrome/browser/permissions/permission_request_manager.cc
index e4d6e513bbf493801b44f5f0376f81adaf75c238..ccca826504a9bf8273d05654aaeeb4de9cd80b4f 100644
--- a/chrome/browser/permissions/permission_request_manager.cc
+++ b/chrome/browser/permissions/permission_request_manager.cc
@@ -83,6 +83,7 @@ PermissionRequestManager::PermissionRequestManager(
#endif
view_(nullptr),
main_frame_has_fully_loaded_(false),
+ persist_(true),
auto_response_for_test_(NONE),
weak_factory_(this) {
}
@@ -310,6 +311,10 @@ void PermissionRequestManager::ToggleAccept(int request_index, bool new_value) {
accept_states_[request_index] = new_value;
}
+void PermissionRequestManager::TogglePersist(bool new_value) {
+ persist_ = new_value;
+}
+
void PermissionRequestManager::Accept() {
PermissionUmaUtil::PermissionPromptAccepted(requests_, accept_states_);
@@ -445,19 +450,25 @@ void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
PermissionRequest* request) {
DCHECK_EQ(request, GetExistingRequest(request))
<< "Only requests in [queued_[frame_]]requests_ can have duplicates";
+ request->set_persist(persist_);
request->PermissionGranted();
auto range = duplicate_requests_.equal_range(request);
- for (auto it = range.first; it != range.second; ++it)
+ for (auto it = range.first; it != range.second; ++it) {
+ it->second->set_persist(persist_);
it->second->PermissionGranted();
+ }
}
void PermissionRequestManager::PermissionDeniedIncludingDuplicates(
PermissionRequest* request) {
DCHECK_EQ(request, GetExistingRequest(request))
<< "Only requests in [queued_[frame_]]requests_ can have duplicates";
+ request->set_persist(persist_);
request->PermissionDenied();
auto range = duplicate_requests_.equal_range(request);
- for (auto it = range.first; it != range.second; ++it)
+ for (auto it = range.first; it != range.second; ++it) {
+ it->second->set_persist(persist_);
it->second->PermissionDenied();
+ }
}
void PermissionRequestManager::CancelledIncludingDuplicates(
PermissionRequest* request) {

Powered by Google App Engine
This is Rietveld 408576698