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..cba2f1fd7f444a468ec0d5ab9cf3472779d3ae04 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,7 @@ class QuotaPermissionRequest : public PermissionRequest { |
private: |
// PermissionRequest: |
IconId GetIconId() const override; |
+ base::string16 GetMessageText() const override; |
base::string16 GetMessageTextFragment() const override; |
GURL GetOrigin() const override; |
void PermissionGranted() override; |
@@ -67,6 +69,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,9 +78,11 @@ 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), |
+ requested_quota_(requested_quota), |
callback_(callback) {} |
QuotaPermissionRequest::~QuotaPermissionRequest() {} |
@@ -91,6 +96,19 @@ PermissionRequest::IconId QuotaPermissionRequest::GetIconId() const { |
#endif |
} |
+base::string16 QuotaPermissionRequest::GetMessageText() const { |
+#if !defined(OS_ANDROID) |
+ NOTREACHED(); |
+#endif |
+ // If the site requested larger quota than this threshold, show a different |
+ // message to the user. |
+ return l10n_util::GetStringFUTF16( |
+ (requested_quota_ > kRequestLargeQuotaThreshold |
+ ? IDS_REQUEST_LARGE_QUOTA_INFOBAR_QUESTION |
+ : IDS_REQUEST_QUOTA_INFOBAR_QUESTION), |
+ url_formatter::FormatUrlForSecurityDisplay(origin_url_)); |
+} |
+ |
base::string16 QuotaPermissionRequest::GetMessageTextFragment() const { |
return l10n_util::GetStringUTF16(IDS_REQUEST_QUOTA_PERMISSION_FRAGMENT); |
} |
@@ -268,8 +286,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) |