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

Unified Diff: chrome/browser/chrome_quota_permission_context.cc

Issue 2897223002: Fix message text for modal prompts when PermissionRequestManager enabled (Closed)
Patch Set: address comments Created 3 years, 7 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
« no previous file with comments | « no previous file | chrome/browser/media/webrtc/media_stream_devices_controller.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chrome_quota_permission_context.cc
diff --git a/chrome/browser/chrome_quota_permission_context.cc b/chrome/browser/chrome_quota_permission_context.cc
index 10a65100af3cdcb415c830edd7c42d9c51bf670d..4c51d9fe01469b47163f8457ef0d14500e017f0a 100644
--- a/chrome/browser/chrome_quota_permission_context.cc
+++ b/chrome/browser/chrome_quota_permission_context.cc
@@ -37,11 +37,9 @@
namespace {
-#if defined(OS_ANDROID)
-// If the site requested larger quota than this threshold, show a different
-// message to the user.
+// On Android, if the site requested larger quota than this threshold, show a
+// different message to the user.
const int64_t kRequestLargeQuotaThreshold = 5 * 1024 * 1024;
-#endif
// QuotaPermissionRequest ---------------------------------------------
@@ -50,6 +48,7 @@ class QuotaPermissionRequest : public PermissionRequest {
QuotaPermissionRequest(
ChromeQuotaPermissionContext* context,
const GURL& origin_url,
+ bool is_large_quota_request_,
const content::QuotaPermissionContext::PermissionCallback& callback);
~QuotaPermissionRequest() override;
@@ -57,6 +56,9 @@ class QuotaPermissionRequest : public PermissionRequest {
private:
// PermissionRequest:
IconId GetIconId() const override;
+#if defined(OS_ANDROID)
+ base::string16 GetMessageText() const override;
+#endif
base::string16 GetMessageTextFragment() const override;
GURL GetOrigin() const override;
void PermissionGranted() override;
@@ -65,8 +67,9 @@ class QuotaPermissionRequest : public PermissionRequest {
void RequestFinished() override;
PermissionRequestType GetPermissionRequestType() const override;
- scoped_refptr<ChromeQuotaPermissionContext> context_;
- GURL origin_url_;
+ const scoped_refptr<ChromeQuotaPermissionContext> context_;
+ const GURL origin_url_;
+ const bool is_large_quota_request_;
content::QuotaPermissionContext::PermissionCallback callback_;
DISALLOW_COPY_AND_ASSIGN(QuotaPermissionRequest);
@@ -75,10 +78,15 @@ class QuotaPermissionRequest : public PermissionRequest {
QuotaPermissionRequest::QuotaPermissionRequest(
ChromeQuotaPermissionContext* context,
const GURL& origin_url,
+ bool is_large_quota_request,
const content::QuotaPermissionContext::PermissionCallback& callback)
: context_(context),
origin_url_(origin_url),
- callback_(callback) {}
+ is_large_quota_request_(is_large_quota_request),
+ callback_(callback) {
+ // Suppress unused private field warning on desktop
+ (void)is_large_quota_request_;
+}
QuotaPermissionRequest::~QuotaPermissionRequest() {}
@@ -91,6 +99,17 @@ PermissionRequest::IconId QuotaPermissionRequest::GetIconId() const {
#endif
}
+#if defined(OS_ANDROID)
+base::string16 QuotaPermissionRequest::GetMessageText() const {
+ // If the site requested larger quota than this threshold, show a different
+ // message to the user.
+ return l10n_util::GetStringFUTF16(
+ (is_large_quota_request_ ? IDS_REQUEST_LARGE_QUOTA_INFOBAR_QUESTION
+ : IDS_REQUEST_QUOTA_INFOBAR_QUESTION),
+ url_formatter::FormatUrlForSecurityDisplay(origin_url_));
+}
+#endif
+
base::string16 QuotaPermissionRequest::GetMessageTextFragment() const {
return l10n_util::GetStringUTF16(IDS_REQUEST_QUOTA_PERMISSION_FRAGMENT);
}
@@ -268,8 +287,10 @@ void ChromeQuotaPermissionContext::RequestQuotaPermission(
PermissionRequestManager* permission_request_manager =
PermissionRequestManager::FromWebContents(web_contents);
if (permission_request_manager) {
- permission_request_manager->AddRequest(
- new QuotaPermissionRequest(this, params.origin_url, callback));
+ bool is_large_quota_request =
+ params.requested_size > kRequestLargeQuotaThreshold;
+ permission_request_manager->AddRequest(new QuotaPermissionRequest(
+ this, params.origin_url, is_large_quota_request, callback));
return;
}
#if defined(OS_ANDROID)
« no previous file with comments | « no previous file | chrome/browser/media/webrtc/media_stream_devices_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698