From 6b98302a77d9165dbf418679304278ada0a4226f Mon Sep 17 00:00:00 2001 From: Duong Dac <ddac@google.com> Date: Fri, 28 Mar 2025 17:33:21 -0700 Subject: [PATCH] [iOS] Adjust supervised user interstitial font size from iOS settings This CL allows the "Ask your parent" interstitial to adjust to iOS system text size. "Zoom text..." from 3-dot menu will still work on top of this. Based on components/security_interstitials/.../interstitial_large.html Bug: 405993406 Change-Id: I26c3e0135428fa38b8b692484198252ff97f7eb9 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6395058 Commit-Queue: Duong Dac <ddac@chromium.org> Reviewed-by: Carlos IL <carlosil@chromium.org> Cr-Commit-Position: refs/heads/main@{#1439803} --- .../ui/webui/interstitials/interstitial_ui.cc | 3 +- .../security_interstitials/core/BUILD.gn | 2 + .../security_interstitials/core/utils.cc | 27 +++++ .../security_interstitials/core/utils.h | 19 +++ components/supervised_user/DEPS | 1 + .../supervised_user/core/browser/BUILD.gn | 1 + ...supervised_user_block_interstitial_v3.html | 2 +- .../browser/supervised_user_error_page.cc | 109 ++++++++++-------- .../core/browser/supervised_user_error_page.h | 3 +- .../supervised_user_error_page_unittest.cc | 5 +- .../browser/supervised_user_interstitial.cc | 8 +- .../browser/supervised_user_interstitial.h | 6 +- ios/chrome/browser/web/model/BUILD.gn | 1 + .../browser/web/model/chrome_web_client.mm | 4 +- .../ios_security_interstitial_page.mm | 23 +--- 15 files changed, 136 insertions(+), 78 deletions(-) create mode 100644 components/security_interstitials/core/utils.cc create mode 100644 components/security_interstitials/core/utils.h diff --git a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc index d0a3c9da6caed..f42a07364453b 100644 --- a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc +++ b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc @@ -5,6 +5,7 @@ #include "chrome/browser/ui/webui/interstitials/interstitial_ui.h" #include <memory> +#include <optional> #include <utility> #include "base/atomic_sequence_num.h" @@ -734,5 +735,5 @@ std::string InterstitialHTMLSource::GetSupervisedUserInterstitialHTML( allow_access_requests, first_custodian, second_custodian, reason, g_browser_process->GetApplicationLocale(), /*already_sent_remote_request=*/false, - /*is_main_frame=*/true); + /*is_main_frame=*/true, /*ios_font_size_multiplier=*/std::nullopt); } diff --git a/components/security_interstitials/core/BUILD.gn b/components/security_interstitials/core/BUILD.gn index 33f70f71186aa..ad1024a15928e 100644 --- a/components/security_interstitials/core/BUILD.gn +++ b/components/security_interstitials/core/BUILD.gn @@ -36,6 +36,8 @@ static_library("core") { "ssl_error_ui.h", "urls.cc", "urls.h", + "utils.cc", + "utils.h", ] if (!is_ios) { diff --git a/components/security_interstitials/core/utils.cc b/components/security_interstitials/core/utils.cc new file mode 100644 index 0000000000000..097f30977e22f --- /dev/null +++ b/components/security_interstitials/core/utils.cc @@ -0,0 +1,27 @@ +// Copyright 2025 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/security_interstitials/core/utils.h" + +#include "base/strings/string_number_conversions.h" +#include "base/strings/stringprintf.h" + +namespace security_interstitials { + +void AdjustFontSize(base::Value::Dict& load_time_data, + float font_size_multiplier) { + std::string* value = load_time_data.FindString("fontsize"); + CHECK(value); + std::string old_size = *value; + // `old_size` should be in form of "75%". + CHECK(old_size.size() > 1 && old_size.back() == '%'); + double new_size = 75.0; + bool converted = + base::StringToDouble(old_size.substr(0, old_size.size() - 1), &new_size); + CHECK(converted); + new_size *= font_size_multiplier; + load_time_data.Set("fontsize", base::StringPrintf("%.0lf%%", new_size)); +} + +} // namespace security_interstitials diff --git a/components/security_interstitials/core/utils.h b/components/security_interstitials/core/utils.h new file mode 100644 index 0000000000000..ed79a5f98a553 --- /dev/null +++ b/components/security_interstitials/core/utils.h @@ -0,0 +1,19 @@ +// Copyright 2025 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_SECURITY_INTERSTITIALS_CORE_UTILS_H_ +#define COMPONENTS_SECURITY_INTERSTITIALS_CORE_UTILS_H_ + +#include "base/values.h" + +namespace security_interstitials { + +// Adjusts the interstitial page's template parameter "fontsize" by the font +// size multiplier. +void AdjustFontSize(base::Value::Dict& load_time_data, + float font_size_multiplier); + +} // namespace security_interstitials + +#endif // COMPONENTS_SECURITY_INTERSTITIALS_CORE_UTILS_H_ diff --git a/components/supervised_user/DEPS b/components/supervised_user/DEPS index 271dcb63b5946..03e836b7bb9b4 100644 --- a/components/supervised_user/DEPS +++ b/components/supervised_user/DEPS @@ -10,6 +10,7 @@ include_rules = [ "+components/prefs", "+components/pref_registry", "+components/safe_search_api", + "+components/security_interstitials/core", "+components/strings/grit", "+components/signin", "+components/sync", diff --git a/components/supervised_user/core/browser/BUILD.gn b/components/supervised_user/core/browser/BUILD.gn index 871e685c036aa..f2cd0bceb9938 100644 --- a/components/supervised_user/core/browser/BUILD.gn +++ b/components/supervised_user/core/browser/BUILD.gn @@ -125,6 +125,7 @@ static_library("browser") { "//components/google/core/common", "//components/prefs", "//components/resources:components_resources", + "//components/security_interstitials/core", "//components/signin/internal/identity_manager", "//components/signin/public/base", "//components/signin/public/identity_manager", diff --git a/components/supervised_user/core/browser/resources/supervised_user_block_interstitial_v3.html b/components/supervised_user/core/browser/resources/supervised_user_block_interstitial_v3.html index eb46a5645d246..e718ed1692803 100644 --- a/components/supervised_user/core/browser/resources/supervised_user_block_interstitial_v3.html +++ b/components/supervised_user/core/browser/resources/supervised_user_block_interstitial_v3.html @@ -14,7 +14,7 @@ <script src="%ROOT_GEN_DIR%/components/supervised_user/core/browser/resources/minified/supervised_user_block_interstitial_v3.js"></script> </if> </head> -<body class="supervised-user-block"> +<body class="supervised-user-block" <if expr="is_ios">style="font-size: $i18n{fontsize}"</if>> <div class="frame-blocked" id="frame-blocked" tabindex="-1"> <div class="message-container"> <picture id="error-page-illustration"> diff --git a/components/supervised_user/core/browser/supervised_user_error_page.cc b/components/supervised_user/core/browser/supervised_user_error_page.cc index 798ff8afcc691..23a67fd8fdd68 100644 --- a/components/supervised_user/core/browser/supervised_user_error_page.cc +++ b/components/supervised_user/core/browser/supervised_user_error_page.cc @@ -12,6 +12,7 @@ #include "base/strings/utf_string_conversions.h" #include "base/values.h" #include "components/grit/components_resources.h" +#include "components/security_interstitials/core/utils.h" #include "components/signin/public/base/avatar_icon_util.h" #include "components/strings/grit/components_strings.h" #include "components/supervised_user/core/browser/supervised_user_service.h" @@ -78,50 +79,54 @@ std::string BuildErrorPageHtml(bool allow_access_requests, FilteringBehaviorReason reason, const std::string& app_locale, bool already_sent_remote_request, - bool is_main_frame) { - base::Value::Dict strings; - strings.Set("blockPageTitle", - l10n_util::GetStringUTF8(IDS_BLOCK_INTERSTITIAL_TITLE)); - strings.Set("allowAccessRequests", allow_access_requests); + bool is_main_frame, + std::optional<float> ios_font_size_multiplier) { + base::Value::Dict load_time_data; + load_time_data.Set("blockPageTitle", + l10n_util::GetStringUTF8(IDS_BLOCK_INTERSTITIAL_TITLE)); + load_time_data.Set("allowAccessRequests", allow_access_requests); if (custodian.has_value()) { - strings.Set("custodianName", custodian->GetName()); - strings.Set("custodianEmail", custodian->GetEmailAddress()); - strings.Set( + load_time_data.Set("custodianName", custodian->GetName()); + load_time_data.Set("custodianEmail", custodian->GetEmailAddress()); + load_time_data.Set( "avatarURL1x", BuildAvatarImageUrl(custodian->GetProfileImageUrl(), kAvatarSize1x)); - strings.Set( + load_time_data.Set( "avatarURL2x", BuildAvatarImageUrl(custodian->GetProfileImageUrl(), kAvatarSize2x)); } else { // empty custodianName denotes no custodian, see // components/supervised_user/core/browser/resources/supervised_user_block_interstitial_v2.js - strings.Set("custodianName", ""); + load_time_data.Set("custodianName", ""); } if (second_custodian.has_value()) { - strings.Set("secondCustodianName", second_custodian->GetName()); - strings.Set("secondCustodianEmail", second_custodian->GetEmailAddress()); - strings.Set("secondAvatarURL1x", - BuildAvatarImageUrl(second_custodian->GetProfileImageUrl(), - kAvatarSize1x)); - strings.Set("secondAvatarURL2x", - BuildAvatarImageUrl(second_custodian->GetProfileImageUrl(), - kAvatarSize2x)); + load_time_data.Set("secondCustodianName", second_custodian->GetName()); + load_time_data.Set("secondCustodianEmail", + second_custodian->GetEmailAddress()); + load_time_data.Set( + "secondAvatarURL1x", + BuildAvatarImageUrl(second_custodian->GetProfileImageUrl(), + kAvatarSize1x)); + load_time_data.Set( + "secondAvatarURL2x", + BuildAvatarImageUrl(second_custodian->GetProfileImageUrl(), + kAvatarSize2x)); } else { // empty secondCustodianName denotes no second custodian, see // components/supervised_user/core/browser/resources/supervised_user_block_interstitial_v2.js - strings.Set("secondCustodianName", ""); + load_time_data.Set("secondCustodianName", ""); } - strings.Set("alreadySentRemoteRequest", already_sent_remote_request); - strings.Set("isMainFrame", is_main_frame); + load_time_data.Set("alreadySentRemoteRequest", already_sent_remote_request); + load_time_data.Set("isMainFrame", is_main_frame); bool local_web_approvals_enabled = (is_main_frame && supervised_user::IsLocalWebApprovalsEnabled()) || (!is_main_frame && supervised_user::IsLocalWebApprovalsEnabledForSubframes()); - strings.Set("isLocalWebApprovalsEnabled", local_web_approvals_enabled); + load_time_data.Set("isLocalWebApprovalsEnabled", local_web_approvals_enabled); std::string block_page_header; std::string block_page_message; @@ -135,36 +140,41 @@ std::string BuildErrorPageHtml(bool allow_access_requests, IDS_BLOCK_INTERSTITIAL_HEADER_ACCESS_REQUESTS_DISABLED); } - strings.Set("blockPageHeader", block_page_header); - strings.Set("blockPageMessage", block_page_message); + load_time_data.Set("blockPageHeader", block_page_header); + load_time_data.Set("blockPageMessage", block_page_message); if (!supervised_user::IsBlockInterstitialV3Enabled()) { // For the V2 interstitial, the filtering reason is displayed in a // separate UI component. - strings.Set("blockReasonMessage", - l10n_util::GetStringUTF8(GetBlockMessageID( - reason, /*single_parent=*/!second_custodian.has_value()))); - strings.Set("blockReasonHeader", - l10n_util::GetStringUTF8(IDS_SUPERVISED_USER_BLOCK_HEADER)); - strings.Set("siteBlockHeader", - l10n_util::GetStringUTF8(IDS_GENERIC_SITE_BLOCK_HEADER)); - strings.Set("showDetailsLink", - l10n_util::GetStringUTF8(IDS_BLOCK_INTERSTITIAL_SHOW_DETAILS)); - strings.Set("hideDetailsLink", - l10n_util::GetStringUTF8(IDS_BLOCK_INTERSTITIAL_HIDE_DETAILS)); + load_time_data.Set( + "blockReasonMessage", + l10n_util::GetStringUTF8(GetBlockMessageID( + reason, /*single_parent=*/!second_custodian.has_value()))); + load_time_data.Set( + "blockReasonHeader", + l10n_util::GetStringUTF8(IDS_SUPERVISED_USER_BLOCK_HEADER)); + load_time_data.Set("siteBlockHeader", + l10n_util::GetStringUTF8(IDS_GENERIC_SITE_BLOCK_HEADER)); + load_time_data.Set( + "showDetailsLink", + l10n_util::GetStringUTF8(IDS_BLOCK_INTERSTITIAL_SHOW_DETAILS)); + load_time_data.Set( + "hideDetailsLink", + l10n_util::GetStringUTF8(IDS_BLOCK_INTERSTITIAL_HIDE_DETAILS)); } - strings.Set( + load_time_data.Set( "remoteApprovalsButton", l10n_util::GetStringUTF8(IDS_BLOCK_INTERSTITIAL_ASK_IN_A_MESSAGE_BUTTON)); - strings.Set("backButton", l10n_util::GetStringUTF8(IDS_REQUEST_SENT_OK)); + load_time_data.Set("backButton", + l10n_util::GetStringUTF8(IDS_REQUEST_SENT_OK)); - strings.Set( + load_time_data.Set( "localApprovalsButton", l10n_util::GetStringUTF8(IDS_BLOCK_INTERSTITIAL_ASK_IN_PERSON_BUTTON)); - strings.Set("localApprovalsRemoteRequestSentButton", - l10n_util::GetStringUTF8( - IDS_BLOCK_INTERSTITIAL_ASK_IN_PERSON_INSTEAD_BUTTON)); + load_time_data.Set("localApprovalsRemoteRequestSentButton", + l10n_util::GetStringUTF8( + IDS_BLOCK_INTERSTITIAL_ASK_IN_PERSON_INSTEAD_BUTTON)); std::string request_sent_message; std::string request_failed_message; @@ -180,17 +190,24 @@ std::string BuildErrorPageHtml(bool allow_access_requests, ? IDS_CHILD_BLOCK_INTERSTITIAL_REQUEST_FAILED_MESSAGE_SINGLE_PARENT : IDS_CHILD_BLOCK_INTERSTITIAL_REQUEST_FAILED_MESSAGE_MULTI_PARENT); - strings.Set("requestSentMessage", std::move(request_sent_message)); - strings.Set("requestSentDescription", std::move(request_sent_description)); - strings.Set("requestFailedMessage", std::move(request_failed_message)); - webui::SetLoadTimeDataDefaults(app_locale, &strings); + load_time_data.Set("requestSentMessage", std::move(request_sent_message)); + load_time_data.Set("requestSentDescription", + std::move(request_sent_description)); + load_time_data.Set("requestFailedMessage", std::move(request_failed_message)); + webui::SetLoadTimeDataDefaults(app_locale, &load_time_data); + + if (ios_font_size_multiplier) { + security_interstitials::AdjustFontSize(load_time_data, + ios_font_size_multiplier.value()); + } + std::string html = ui::ResourceBundle::GetSharedInstance().LoadDataResourceString( supervised_user::IsBlockInterstitialV3Enabled() ? IDR_SUPERVISED_USER_BLOCK_INTERSTITIAL_V3_HTML : IDR_SUPERVISED_USER_BLOCK_INTERSTITIAL_V2_HTML); webui::AppendWebUiCssTextDefaults(&html); - std::string error_html = webui::GetI18nTemplateHtml(html, strings); + std::string error_html = webui::GetI18nTemplateHtml(html, load_time_data); return error_html; } diff --git a/components/supervised_user/core/browser/supervised_user_error_page.h b/components/supervised_user/core/browser/supervised_user_error_page.h index e8ac97b3c0bc9..d5b4fbf08c946 100644 --- a/components/supervised_user/core/browser/supervised_user_error_page.h +++ b/components/supervised_user/core/browser/supervised_user_error_page.h @@ -22,7 +22,8 @@ std::string BuildErrorPageHtml(bool allow_access_requests, FilteringBehaviorReason reason, const std::string& app_locale, bool already_sent_remote_request, - bool is_main_frame); + bool is_main_frame, + std::optional<float> ios_font_size_multiplier); } // namespace supervised_user diff --git a/components/supervised_user/core/browser/supervised_user_error_page_unittest.cc b/components/supervised_user/core/browser/supervised_user_error_page_unittest.cc index b141208654d0e..0fc7b302d8a4e 100644 --- a/components/supervised_user/core/browser/supervised_user_error_page_unittest.cc +++ b/components/supervised_user/core/browser/supervised_user_error_page_unittest.cc @@ -4,6 +4,8 @@ #include "components/supervised_user/core/browser/supervised_user_error_page.h" +#include <optional> + #include "base/memory/raw_ptr_exclusion.h" #include "base/strings/utf_string_conversions.h" #include "base/test/scoped_feature_list.h" @@ -195,7 +197,8 @@ TEST_P(SupervisedUserErrorPageTest_BuildHtml, BuildHtml) { param.allow_access_requests, param.custodian, param.second_custodian, param.reason, /*app_locale=*/"", - /*already_sent_remote_request=*/false, /*is_main_frame=*/true); + /*already_sent_remote_request=*/false, /*is_main_frame=*/true, + /*ios_font_size_multiplier=*/std::nullopt); VerifyCustodianInfo(); diff --git a/components/supervised_user/core/browser/supervised_user_interstitial.cc b/components/supervised_user/core/browser/supervised_user_interstitial.cc index 3c0d45301d2cf..fcd99df58e908 100644 --- a/components/supervised_user/core/browser/supervised_user_interstitial.cc +++ b/components/supervised_user/core/browser/supervised_user_interstitial.cc @@ -21,6 +21,7 @@ #include "base/values.h" #include "build/build_config.h" #include "components/prefs/pref_service.h" +#include "components/supervised_user/core/browser/supervised_user_error_page.h" #include "components/supervised_user/core/browser/supervised_user_service.h" #include "components/supervised_user/core/browser/supervised_user_utils.h" #include "components/supervised_user/core/browser/web_content_handler.h" @@ -75,16 +76,15 @@ std::string SupervisedUserInterstitial::GetHTMLContents( FilteringBehaviorReason reason, bool already_sent_request, bool is_main_frame, - const std::string& application_locale) { - + const std::string& application_locale, + std::optional<float> ios_font_size_multiplier) { bool allow_access_requests = supervised_user_service->remote_web_approvals_manager() .AreApprovalRequestsEnabled(); - return BuildErrorPageHtml( allow_access_requests, supervised_user_service->GetCustodian(), supervised_user_service->GetSecondCustodian(), reason, application_locale, - already_sent_request, is_main_frame); + already_sent_request, is_main_frame, ios_font_size_multiplier); } void SupervisedUserInterstitial::GoBack() { diff --git a/components/supervised_user/core/browser/supervised_user_interstitial.h b/components/supervised_user/core/browser/supervised_user_interstitial.h index 6cd592a87a40d..523cf443218a2 100644 --- a/components/supervised_user/core/browser/supervised_user_interstitial.h +++ b/components/supervised_user/core/browser/supervised_user_interstitial.h @@ -10,7 +10,7 @@ #include "base/functional/callback_forward.h" #include "base/memory/raw_ref.h" -#include "components/supervised_user/core/browser/supervised_user_error_page.h" +#include "components/supervised_user/core/browser/supervised_user_utils.h" #include "url/gurl.h" class PrefService; @@ -75,13 +75,15 @@ class SupervisedUserInterstitial { const std::u16string& supervised_user_name, FilteringBehaviorReason reason); + // Returns the HTML contents of the error page. static std::string GetHTMLContents( SupervisedUserService* supervised_user_service, PrefService* pref_service, FilteringBehaviorReason reason, bool already_sent_request, bool is_main_frame, - const std::string& application_locale); + const std::string& application_locale, + std::optional<float> font_size_multiplier = std::nullopt); void GoBack(); void RequestUrlAccessRemote(base::OnceCallback<void(bool)> callback); diff --git a/ios/chrome/browser/web/model/BUILD.gn b/ios/chrome/browser/web/model/BUILD.gn index a18c65f1e8f53..9630b7d69fa47 100644 --- a/ios/chrome/browser/web/model/BUILD.gn +++ b/ios/chrome/browser/web/model/BUILD.gn @@ -326,6 +326,7 @@ source_set("web_internal") { "//ios/components/security_interstitials/https_only_mode:feature", "//ios/components/security_interstitials/lookalikes", "//ios/components/security_interstitials/safe_browsing", + "//ios/components/ui_util", "//ios/components/webui:url_constants", "//ios/net", "//ios/public/provider/chrome/browser/additional_features:additional_features_api", diff --git a/ios/chrome/browser/web/model/chrome_web_client.mm b/ios/chrome/browser/web/model/chrome_web_client.mm index 754b4ad38db45..f97cffe40bded 100644 --- a/ios/chrome/browser/web/model/chrome_web_client.mm +++ b/ios/chrome/browser/web/model/chrome_web_client.mm @@ -94,6 +94,7 @@ #import "ios/components/security_interstitials/lookalikes/lookalike_url_error.h" #import "ios/components/security_interstitials/safe_browsing/safe_browsing_error.h" #import "ios/components/security_interstitials/safe_browsing/safe_browsing_unsafe_resource_container.h" +#import "ios/components/ui_util/dynamic_type_util.h" #import "ios/components/webui/web_ui_url_constants.h" #import "ios/net/protocol_handler_util.h" #import "ios/public/provider/chrome/browser/url_rewriters/url_rewriters_api.h" @@ -213,7 +214,8 @@ NSString* GetSupervisedUserErrorPageHTML(web::WebState* web_state, profile->GetPrefs(), error_info->filtering_behavior_reason(), container->IsRemoteApprovalPendingForUrl(url), error_info->is_main_frame(), - GetApplicationContext()->GetApplicationLocale()); + GetApplicationContext()->GetApplicationLocale(), + ui_util::SystemSuggestedFontSizeMultiplier()); security_interstitials::IOSBlockingPageTabHelper::FromWebState(web_state) ->AssociateBlockingPage(navigation_id, std::move(page)); diff --git a/ios/components/security_interstitials/ios_security_interstitial_page.mm b/ios/components/security_interstitials/ios_security_interstitial_page.mm index 4756898769c67..4a0494bbd123d 100644 --- a/ios/components/security_interstitials/ios_security_interstitial_page.mm +++ b/ios/components/security_interstitials/ios_security_interstitial_page.mm @@ -7,10 +7,9 @@ #import "base/check.h" #import "base/feature_list.h" #import "base/metrics/histogram_macros.h" -#import "base/strings/string_number_conversions.h" -#import "base/strings/stringprintf.h" #import "components/grit/components_resources.h" #import "components/security_interstitials/core/common_string_util.h" +#import "components/security_interstitials/core/utils.h" #import "ios/components/security_interstitials/ios_blocking_page_controller_client.h" #import "ios/components/ui_util/dynamic_type_util.h" #import "ios/web/common/features.h" @@ -20,24 +19,6 @@ namespace security_interstitials { -namespace { -// Adjusts the interstitial page's template parameter "fontsize" by system font -// size multiplier. -void AdjustFontSize(base::Value::Dict& load_time_data) { - std::string* value = load_time_data.FindString("fontsize"); - DCHECK(value); - std::string old_size = *value; - // `old_size` should be in form of "75%". - DCHECK(old_size.size() > 1 && old_size.back() == '%'); - double new_size = 75.0; - bool converted = - base::StringToDouble(old_size.substr(0, old_size.size() - 1), &new_size); - DCHECK(converted); - new_size *= ui_util::SystemSuggestedFontSizeMultiplier(); - load_time_data.Set("fontsize", base::StringPrintf("%.0lf%%", new_size)); -} -} // namespace - IOSSecurityInterstitialPage::IOSSecurityInterstitialPage( web::WebState* web_state, const GURL& request_url, @@ -55,7 +36,7 @@ std::string IOSSecurityInterstitialPage::GetHtmlContents() const { PopulateInterstitialStrings(load_time_data); webui::SetLoadTimeDataDefaults(client_->GetApplicationLocale(), &load_time_data); - AdjustFontSize(load_time_data); + AdjustFontSize(load_time_data, ui_util::SystemSuggestedFontSizeMultiplier()); std::string html = ui::ResourceBundle::GetSharedInstance().LoadDataResourceString( IDR_SECURITY_INTERSTITIAL_HTML);