| 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)
|
|
|