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..bc67aac2dd80740723107009ef284b66667ea0e6 100644 |
--- a/chrome/browser/chrome_quota_permission_context.cc |
+++ b/chrome/browser/chrome_quota_permission_context.cc |
@@ -50,6 +50,7 @@ class QuotaPermissionRequest : public PermissionRequest { |
QuotaPermissionRequest( |
ChromeQuotaPermissionContext* context, |
const GURL& origin_url, |
+ int64_t requested_quota, |
const content::QuotaPermissionContext::PermissionCallback& callback); |
~QuotaPermissionRequest() override; |
@@ -57,6 +58,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; |
@@ -67,6 +71,7 @@ class QuotaPermissionRequest : public PermissionRequest { |
scoped_refptr<ChromeQuotaPermissionContext> context_; |
GURL origin_url_; |
+ int64_t requested_quota_; |
content::QuotaPermissionContext::PermissionCallback callback_; |
DISALLOW_COPY_AND_ASSIGN(QuotaPermissionRequest); |
@@ -75,10 +80,15 @@ class QuotaPermissionRequest : public PermissionRequest { |
QuotaPermissionRequest::QuotaPermissionRequest( |
ChromeQuotaPermissionContext* context, |
const GURL& origin_url, |
+ int64_t requested_quota, |
const content::QuotaPermissionContext::PermissionCallback& callback) |
: context_(context), |
origin_url_(origin_url), |
- callback_(callback) {} |
+ requested_quota_(requested_quota), |
+ callback_(callback) { |
+ // Suppress unused private field warning on desktop |
Lei Zhang
2017/05/31 07:28:22
Why not make |requested_quota_| Android only?
Timothy Loh
2017/06/01 04:12:39
I figured it'd be messier to have the ifdefs for i
|
+ (void)requested_quota_; |
+} |
QuotaPermissionRequest::~QuotaPermissionRequest() {} |
@@ -91,6 +101,18 @@ 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( |
+ (requested_quota_ > kRequestLargeQuotaThreshold |
Lei Zhang
2017/05/31 07:28:22
BTW, this is really a criticism of the original co
Timothy Loh
2017/06/01 04:12:39
I took the liberty to fix this (and const a couple
|
+ ? 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 +290,8 @@ 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)); |
+ permission_request_manager->AddRequest(new QuotaPermissionRequest( |
+ this, params.origin_url, params.requested_size, callback)); |
return; |
} |
#if defined(OS_ANDROID) |