diff options
author | gbillock@chromium.org <gbillock@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-04 00:04:25 +0000 |
---|---|---|
committer | gbillock@chromium.org <gbillock@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-04 00:04:25 +0000 |
commit | f78aa772a44043f8164f3ba9ea2068af36fa04b7 (patch) | |
tree | 93ae44cb44667b22a124c8eea7d316f26fcc6960 /chrome | |
parent | 0e343df4bc331f52a6c00cc2b7e2037ef7765f58 (diff) | |
download | chromium_src-f78aa772a44043f8164f3ba9ea2068af36fa04b7.zip chromium_src-f78aa772a44043f8164f3ba9ea2068af36fa04b7.tar.gz chromium_src-f78aa772a44043f8164f3ba9ea2068af36fa04b7.tar.bz2 |
[Quota] Pass user gesture state with quota request message.
Review URL: https://codereview.chromium.org/185793004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261588 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/chrome_quota_permission_context.cc | 28 | ||||
-rw-r--r-- | chrome/browser/chrome_quota_permission_context.h | 6 |
2 files changed, 16 insertions, 18 deletions
diff --git a/chrome/browser/chrome_quota_permission_context.cc b/chrome/browser/chrome_quota_permission_context.cc index f2ef8045..3c12556 100644 --- a/chrome/browser/chrome_quota_permission_context.cc +++ b/chrome/browser/chrome_quota_permission_context.cc @@ -42,6 +42,7 @@ class QuotaPermissionRequest : public PermissionBubbleRequest { ChromeQuotaPermissionContext* context, const GURL& origin_url, int64 requested_quota, + bool user_gesture, const std::string& display_languages, const content::QuotaPermissionContext::PermissionCallback& callback); @@ -63,6 +64,7 @@ class QuotaPermissionRequest : public PermissionBubbleRequest { GURL origin_url_; std::string display_languages_; int64 requested_quota_; + bool user_gesture_; content::QuotaPermissionContext::PermissionCallback callback_; DISALLOW_COPY_AND_ASSIGN(QuotaPermissionRequest); @@ -72,12 +74,14 @@ QuotaPermissionRequest::QuotaPermissionRequest( ChromeQuotaPermissionContext* context, const GURL& origin_url, int64 requested_quota, + bool user_gesture, const std::string& display_languages, const content::QuotaPermissionContext::PermissionCallback& callback) : context_(context), origin_url_(origin_url), display_languages_(display_languages), requested_quota_(requested_quota), + user_gesture_(user_gesture), callback_(callback) {} QuotaPermissionRequest::~QuotaPermissionRequest() {} @@ -100,8 +104,7 @@ base::string16 QuotaPermissionRequest::GetMessageTextFragment() const { } bool QuotaPermissionRequest::HasUserGesture() const { - // TODO(gbillock): plumb this through - return false; + return user_gesture_; } GURL QuotaPermissionRequest::GetRequestingHostname() const { @@ -248,13 +251,10 @@ ChromeQuotaPermissionContext::ChromeQuotaPermissionContext() { } void ChromeQuotaPermissionContext::RequestQuotaPermission( - const GURL& origin_url, - quota::StorageType type, - int64 requested_quota, + const content::StorageQuotaParams& params, int render_process_id, - int render_view_id, const PermissionCallback& callback) { - if (type != quota::kStorageTypePersistent) { + if (params.storage_type != quota::kStorageTypePersistent) { // For now we only support requesting quota with this interface // for Persistent storage type. callback.Run(QUOTA_PERMISSION_RESPONSE_DISALLOW); @@ -265,17 +265,17 @@ void ChromeQuotaPermissionContext::RequestQuotaPermission( content::BrowserThread::PostTask( content::BrowserThread::UI, FROM_HERE, base::Bind(&ChromeQuotaPermissionContext::RequestQuotaPermission, this, - origin_url, type, requested_quota, render_process_id, - render_view_id, callback)); + params, render_process_id, callback)); return; } content::WebContents* web_contents = - tab_util::GetWebContentsByID(render_process_id, render_view_id); + tab_util::GetWebContentsByID(render_process_id, + params.render_view_id); if (!web_contents) { // The tab may have gone away or the request may not be from a tab. LOG(WARNING) << "Attempt to request quota tabless renderer: " - << render_process_id << "," << render_view_id; + << render_process_id << "," << params.render_view_id; DispatchCallbackOnIOThread(callback, QUOTA_PERMISSION_RESPONSE_CANCELLED); return; } @@ -284,7 +284,7 @@ void ChromeQuotaPermissionContext::RequestQuotaPermission( PermissionBubbleManager* bubble_manager = PermissionBubbleManager::FromWebContents(web_contents); bubble_manager->AddRequest(new QuotaPermissionRequest(this, - origin_url, requested_quota, + params.origin_url, params.requested_size, params.user_gesture, Profile::FromBrowserContext(web_contents->GetBrowserContext())-> GetPrefs()->GetString(prefs::kAcceptLanguages), callback)); @@ -296,12 +296,12 @@ void ChromeQuotaPermissionContext::RequestQuotaPermission( if (!infobar_service) { // The tab has no infobar service. LOG(WARNING) << "Attempt to request quota from a background page: " - << render_process_id << "," << render_view_id; + << render_process_id << "," << params.render_view_id; DispatchCallbackOnIOThread(callback, QUOTA_PERMISSION_RESPONSE_CANCELLED); return; } RequestQuotaInfoBarDelegate::Create( - infobar_service, this, origin_url, requested_quota, + infobar_service, this, params.origin_url, params.requested_size, Profile::FromBrowserContext(web_contents->GetBrowserContext())-> GetPrefs()->GetString(prefs::kAcceptLanguages), callback); diff --git a/chrome/browser/chrome_quota_permission_context.h b/chrome/browser/chrome_quota_permission_context.h index 895d4af..60d1231 100644 --- a/chrome/browser/chrome_quota_permission_context.h +++ b/chrome/browser/chrome_quota_permission_context.h @@ -7,6 +7,7 @@ #include "base/compiler_specific.h" #include "content/public/browser/quota_permission_context.h" +#include "webkit/common/quota/quota_types.h" class ChromeQuotaPermissionContext : public content::QuotaPermissionContext { public: @@ -14,11 +15,8 @@ class ChromeQuotaPermissionContext : public content::QuotaPermissionContext { // The callback will be dispatched on the IO thread. virtual void RequestQuotaPermission( - const GURL& origin_url, - quota::StorageType type, - int64 new_quota, + const content::StorageQuotaParams& params, int render_process_id, - int render_view_id, const PermissionCallback& callback) OVERRIDE; void DispatchCallbackOnIOThread( |