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

Side by Side Diff: chrome/browser/ui/webui/options/content_settings_handler.cc

Issue 1412453002: Remove enable-iframe-based-signin flag. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use nullptr Created 5 years 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/webui/options/content_settings_handler.h" 5 #include "chrome/browser/ui/webui/options/content_settings_handler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 719 matching lines...) Expand 10 before | Expand all | Expand 10 after
730 // Here we only subscribe to the HostZoomMap for the default storage partition 730 // Here we only subscribe to the HostZoomMap for the default storage partition
731 // since we don't allow the user to manage the zoom levels for apps. 731 // since we don't allow the user to manage the zoom levels for apps.
732 // We're only interested in zoom-levels that are persisted, since the user 732 // We're only interested in zoom-levels that are persisted, since the user
733 // is given the opportunity to view/delete these in the content-settings page. 733 // is given the opportunity to view/delete these in the content-settings page.
734 host_zoom_map_subscription_ = 734 host_zoom_map_subscription_ =
735 content::HostZoomMap::GetDefaultForBrowserContext(context) 735 content::HostZoomMap::GetDefaultForBrowserContext(context)
736 ->AddZoomLevelChangedCallback( 736 ->AddZoomLevelChangedCallback(
737 base::Bind(&ContentSettingsHandler::OnZoomLevelChanged, 737 base::Bind(&ContentSettingsHandler::OnZoomLevelChanged,
738 base::Unretained(this))); 738 base::Unretained(this)));
739 739
740 if (!switches::IsEnableWebviewBasedSignin()) {
741 // The legacy signin page uses a different storage partition, so we need to
742 // add a subscription for its HostZoomMap separately.
743 GURL signin_url(chrome::kChromeUIChromeSigninURL);
744 content::StoragePartition* signin_partition =
745 content::BrowserContext::GetStoragePartitionForSite(
746 GetBrowserContext(web_ui()), signin_url);
747 content::HostZoomMap* signin_host_zoom_map =
748 signin_partition->GetHostZoomMap();
749 signin_host_zoom_map_subscription_ =
750 signin_host_zoom_map->AddZoomLevelChangedCallback(
751 base::Bind(&ContentSettingsHandler::OnZoomLevelChanged,
752 base::Unretained(this)));
753 }
754
755 flash_settings_manager_.reset(new PepperFlashSettingsManager(this, context)); 740 flash_settings_manager_.reset(new PepperFlashSettingsManager(this, context));
756 741
757 Profile* profile = Profile::FromWebUI(web_ui()); 742 Profile* profile = Profile::FromWebUI(web_ui());
758 observer_.Add(HostContentSettingsMapFactory::GetForProfile(profile)); 743 observer_.Add(HostContentSettingsMapFactory::GetForProfile(profile));
759 if (profile->HasOffTheRecordProfile()) { 744 if (profile->HasOffTheRecordProfile()) {
760 auto map = HostContentSettingsMapFactory::GetForProfile( 745 auto map = HostContentSettingsMapFactory::GetForProfile(
761 profile->GetOffTheRecordProfile()); 746 profile->GetOffTheRecordProfile());
762 if (!observer_.IsObserving(map)) 747 if (!observer_.IsObserving(map))
763 observer_.Add(map); 748 observer_.Add(map);
764 } 749 }
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after
1196 for (auto& one_provider_exceptions : all_provider_exceptions) { 1181 for (auto& one_provider_exceptions : all_provider_exceptions) {
1197 for (auto& exception : one_provider_exceptions) 1182 for (auto& exception : one_provider_exceptions)
1198 exceptions.Append(exception.Pass()); 1183 exceptions.Append(exception.Pass());
1199 } 1184 }
1200 1185
1201 base::StringValue type_string(chooser_type.name); 1186 base::StringValue type_string(chooser_type.name);
1202 web_ui()->CallJavascriptFunction("ContentSettings.setExceptions", type_string, 1187 web_ui()->CallJavascriptFunction("ContentSettings.setExceptions", type_string,
1203 exceptions); 1188 exceptions);
1204 } 1189 }
1205 1190
1206 void ContentSettingsHandler::AdjustZoomLevelsListForSigninPageIfNecessary(
1207 content::HostZoomMap::ZoomLevelVector* zoom_levels) {
1208 if (switches::IsEnableWebviewBasedSignin())
1209 return;
1210
1211 GURL signin_url(chrome::kChromeUIChromeSigninURL);
1212 content::HostZoomMap* signin_host_zoom_map =
1213 content::BrowserContext::GetStoragePartitionForSite(
1214 GetBrowserContext(web_ui()), signin_url)->GetHostZoomMap();
1215
1216 // Since zoom levels set for scheme + host are not persisted, and since the
1217 // signin page zoom levels need to be persisted, they are stored without
1218 // a scheme. We use an empty scheme string to indicate this.
1219 std::string scheme;
1220 std::string host = signin_url.host();
1221
1222 // If there's a WebView signin zoom level, remove it.
1223 content::HostZoomMap::ZoomLevelVector::iterator it =
1224 std::find_if(zoom_levels->begin(), zoom_levels->end(),
1225 [&host](content::HostZoomMap::ZoomLevelChange change) {
1226 return change.host == host;
1227 });
1228 if (it != zoom_levels->end())
1229 zoom_levels->erase(it);
1230
1231 // If there's a non-WebView signin zoom level, add it.
1232 if (signin_host_zoom_map->HasZoomLevel(scheme, host)) {
1233 content::HostZoomMap::ZoomLevelChange change = {
1234 content::HostZoomMap::ZOOM_CHANGED_FOR_HOST,
1235 host,
1236 scheme,
1237 signin_host_zoom_map->GetZoomLevelForHostAndScheme(scheme, host)};
1238 zoom_levels->push_back(change);
1239 }
1240 }
1241
1242 void ContentSettingsHandler::UpdateZoomLevelsExceptionsView() { 1191 void ContentSettingsHandler::UpdateZoomLevelsExceptionsView() {
1243 base::ListValue zoom_levels_exceptions; 1192 base::ListValue zoom_levels_exceptions;
1244 1193
1245 content::HostZoomMap* host_zoom_map = 1194 content::HostZoomMap* host_zoom_map =
1246 content::HostZoomMap::GetDefaultForBrowserContext( 1195 content::HostZoomMap::GetDefaultForBrowserContext(
1247 GetBrowserContext(web_ui())); 1196 GetBrowserContext(web_ui()));
1248 content::HostZoomMap::ZoomLevelVector zoom_levels( 1197 content::HostZoomMap::ZoomLevelVector zoom_levels(
1249 host_zoom_map->GetAllZoomLevels()); 1198 host_zoom_map->GetAllZoomLevels());
1250 1199
1251 AdjustZoomLevelsListForSigninPageIfNecessary(&zoom_levels);
1252
1253 // Sort ZoomLevelChanges by host and scheme 1200 // Sort ZoomLevelChanges by host and scheme
1254 // (a.com < http://a.com < https://a.com < b.com). 1201 // (a.com < http://a.com < https://a.com < b.com).
1255 std::sort(zoom_levels.begin(), zoom_levels.end(), 1202 std::sort(zoom_levels.begin(), zoom_levels.end(),
1256 [](const content::HostZoomMap::ZoomLevelChange& a, 1203 [](const content::HostZoomMap::ZoomLevelChange& a,
1257 const content::HostZoomMap::ZoomLevelChange& b) { 1204 const content::HostZoomMap::ZoomLevelChange& b) {
1258 return a.host == b.host ? a.scheme < b.scheme : a.host < b.host; 1205 return a.host == b.host ? a.scheme < b.scheme : a.host < b.host;
1259 }); 1206 });
1260 1207
1261 for (content::HostZoomMap::ZoomLevelVector::const_iterator i = 1208 for (content::HostZoomMap::ZoomLevelVector::const_iterator i =
1262 zoom_levels.begin(); 1209 zoom_levels.begin();
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
1517 std::string pattern; 1464 std::string pattern;
1518 rv = args->GetString(2, &pattern); 1465 rv = args->GetString(2, &pattern);
1519 DCHECK(rv); 1466 DCHECK(rv);
1520 1467
1521 if (pattern == 1468 if (pattern ==
1522 l10n_util::GetStringUTF8(IDS_ZOOMLEVELS_CHROME_ERROR_PAGES_LABEL)) { 1469 l10n_util::GetStringUTF8(IDS_ZOOMLEVELS_CHROME_ERROR_PAGES_LABEL)) {
1523 pattern = content::kUnreachableWebDataURL; 1470 pattern = content::kUnreachableWebDataURL;
1524 } 1471 }
1525 1472
1526 content::HostZoomMap* host_zoom_map; 1473 content::HostZoomMap* host_zoom_map;
1527 if (switches::IsEnableWebviewBasedSignin() || 1474 host_zoom_map =
1528 pattern != chrome::kChromeUIChromeSigninHost) { 1475 content::HostZoomMap::GetDefaultForBrowserContext(
1529 host_zoom_map = 1476 GetBrowserContext(web_ui()));
1530 content::HostZoomMap::GetDefaultForBrowserContext(
1531 GetBrowserContext(web_ui()));
1532 } else {
1533 host_zoom_map =
1534 content::BrowserContext::GetStoragePartitionForSite(
1535 GetBrowserContext(web_ui()), GURL(chrome::kChromeUIChromeSigninURL))
1536 ->GetHostZoomMap();
1537 }
1538 double default_level = host_zoom_map->GetDefaultZoomLevel(); 1477 double default_level = host_zoom_map->GetDefaultZoomLevel();
1539 host_zoom_map->SetZoomLevelForHost(pattern, default_level); 1478 host_zoom_map->SetZoomLevelForHost(pattern, default_level);
1540 } 1479 }
1541 1480
1542 void ContentSettingsHandler::RemoveChooserException( 1481 void ContentSettingsHandler::RemoveChooserException(
1543 const ChooserTypeNameEntry* chooser_type, 1482 const ChooserTypeNameEntry* chooser_type,
1544 const base::ListValue* args) { 1483 const base::ListValue* args) {
1545 std::string mode; 1484 std::string mode;
1546 bool rv = args->GetString(1, &mode); 1485 bool rv = args->GetString(1, &mode);
1547 DCHECK(rv); 1486 DCHECK(rv);
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
1862 1801
1863 // Exceptions apply only when the feature is enabled. 1802 // Exceptions apply only when the feature is enabled.
1864 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui())); 1803 PrefService* prefs = user_prefs::UserPrefs::Get(GetBrowserContext(web_ui()));
1865 bool enable_exceptions = prefs->GetBoolean(prefs::kEnableDRM); 1804 bool enable_exceptions = prefs->GetBoolean(prefs::kEnableDRM);
1866 web_ui()->CallJavascriptFunction( 1805 web_ui()->CallJavascriptFunction(
1867 "ContentSettings.enableProtectedContentExceptions", 1806 "ContentSettings.enableProtectedContentExceptions",
1868 base::FundamentalValue(enable_exceptions)); 1807 base::FundamentalValue(enable_exceptions));
1869 } 1808 }
1870 1809
1871 } // namespace options 1810 } // namespace options
OLDNEW
« no previous file with comments | « chrome/browser/profiles/host_zoom_map_browsertest.cc ('k') | chrome/browser/ui/webui/signin/inline_login_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698