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

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

Issue 1332293002: permissions: switch from explicitly passing queue controller to callbacks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unecessary includes Created 5 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_queue_controller.h" 5 #include "chrome/browser/permissions/permission_queue_controller.h"
6 6
7 #include "base/prefs/pref_service.h" 7 #include "base/prefs/pref_service.h"
8 #include "chrome/browser/chrome_notification_types.h" 8 #include "chrome/browser/chrome_notification_types.h"
9 #include "chrome/browser/geolocation/geolocation_infobar_delegate.h" 9 #include "chrome/browser/geolocation/geolocation_infobar_delegate.h"
10 #include "chrome/browser/infobars/infobar_service.h" 10 #include "chrome/browser/infobars/infobar_service.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 } 106 }
107 107
108 void PermissionQueueController::PendingInfobarRequest::RunCallback( 108 void PermissionQueueController::PendingInfobarRequest::RunCallback(
109 ContentSetting content_setting) { 109 ContentSetting content_setting) {
110 callback_.Run(content_setting); 110 callback_.Run(content_setting);
111 } 111 }
112 112
113 void PermissionQueueController::PendingInfobarRequest::CreateInfoBar( 113 void PermissionQueueController::PendingInfobarRequest::CreateInfoBar(
114 PermissionQueueController* controller, 114 PermissionQueueController* controller,
115 const std::string& display_languages) { 115 const std::string& display_languages) {
116 base::Callback<void(bool, bool)> callback =
mlamouri (slow - plz ping) 2015/09/15 12:55:59 rename to PermissionInfobarDelegate::PermissionSet
Lalit Maganti 2015/09/15 14:19:25 Done.
117 base::Bind(&PermissionQueueController::OnPermissionSet,
118 base::Unretained(controller),
mlamouri (slow - plz ping) 2015/09/15 12:55:59 Add a comment explaining why base::Unretained() is
Lalit Maganti 2015/09/15 14:19:25 Done.
119 id_,
120 requesting_frame_,
121 embedder_);
122
116 switch (type_) { 123 switch (type_) {
117 case CONTENT_SETTINGS_TYPE_GEOLOCATION: 124 case CONTENT_SETTINGS_TYPE_GEOLOCATION:
118 infobar_ = GeolocationInfoBarDelegate::Create( 125 infobar_ = GeolocationInfoBarDelegate::Create(
119 GetInfoBarService(id_), controller, id_, requesting_frame_, 126 GetInfoBarService(id_), id_, requesting_frame_,
120 display_languages); 127 display_languages, callback);
121 break; 128 break;
122 #if defined(ENABLE_NOTIFICATIONS) 129 #if defined(ENABLE_NOTIFICATIONS)
123 case CONTENT_SETTINGS_TYPE_NOTIFICATIONS: 130 case CONTENT_SETTINGS_TYPE_NOTIFICATIONS:
124 infobar_ = NotificationPermissionInfobarDelegate::Create( 131 infobar_ = NotificationPermissionInfobarDelegate::Create(
125 GetInfoBarService(id_), controller, id_, requesting_frame_, 132 GetInfoBarService(id_), id_, requesting_frame_,
126 display_languages); 133 display_languages, callback);
127 break; 134 break;
128 #endif // ENABLE_NOTIFICATIONS 135 #endif // ENABLE_NOTIFICATIONS
129 case CONTENT_SETTINGS_TYPE_MIDI_SYSEX: 136 case CONTENT_SETTINGS_TYPE_MIDI_SYSEX:
130 infobar_ = MidiPermissionInfoBarDelegate::Create( 137 infobar_ = MidiPermissionInfoBarDelegate::Create(
131 GetInfoBarService(id_), controller, id_, requesting_frame_, 138 GetInfoBarService(id_), id_, requesting_frame_,
132 display_languages, type_); 139 display_languages, type_, callback);
133 break; 140 break;
134 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) 141 #if defined(OS_ANDROID) || defined(OS_CHROMEOS)
135 case CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER: 142 case CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER:
136 infobar_ = ProtectedMediaIdentifierInfoBarDelegate::Create( 143 infobar_ = ProtectedMediaIdentifierInfoBarDelegate::Create(
137 GetInfoBarService(id_), controller, id_, requesting_frame_, 144 GetInfoBarService(id_), id_, requesting_frame_,
138 display_languages); 145 display_languages, callback);
139 break; 146 break;
140 #endif 147 #endif
141 case CONTENT_SETTINGS_TYPE_DURABLE_STORAGE: 148 case CONTENT_SETTINGS_TYPE_DURABLE_STORAGE:
142 infobar_ = DurableStoragePermissionInfoBarDelegate::Create( 149 infobar_ = DurableStoragePermissionInfoBarDelegate::Create(
143 GetInfoBarService(id_), controller, id_, requesting_frame_, 150 GetInfoBarService(id_), id_, requesting_frame_,
144 display_languages, type_); 151 display_languages, type_, callback);
145 break; 152 break;
146 default: 153 default:
147 NOTREACHED(); 154 NOTREACHED();
148 break; 155 break;
149 } 156 }
150 } 157 }
151 158
152 159
153 PermissionQueueController::PermissionQueueController(Profile* profile, 160 PermissionQueueController::PermissionQueueController(Profile* profile,
154 ContentSettingsType type) 161 ContentSettingsType type)
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 ContentSettingsPattern::Wildcard() : 404 ContentSettingsPattern::Wildcard() :
398 ContentSettingsPattern::FromURLNoWildcard(embedder.GetOrigin()); 405 ContentSettingsPattern::FromURLNoWildcard(embedder.GetOrigin());
399 406
400 profile_->GetHostContentSettingsMap()->SetContentSetting( 407 profile_->GetHostContentSettingsMap()->SetContentSetting(
401 ContentSettingsPattern::FromURLNoWildcard(requesting_frame.GetOrigin()), 408 ContentSettingsPattern::FromURLNoWildcard(requesting_frame.GetOrigin()),
402 embedder_pattern, 409 embedder_pattern,
403 type_, 410 type_,
404 std::string(), 411 std::string(),
405 content_setting); 412 content_setting);
406 } 413 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698