diff options
author | jorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-20 17:58:32 +0000 |
---|---|---|
committer | jorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-20 17:58:32 +0000 |
commit | 8c1ae5ec4d47638315096f54819793484383c91f (patch) | |
tree | c7749cae01663511be911c22e3928f7ef5aa8aab /chrome/browser/in_process_webkit | |
parent | e90eca1550812bb5694c9523ffc75963c845d46d (diff) | |
download | chromium_src-8c1ae5ec4d47638315096f54819793484383c91f.zip chromium_src-8c1ae5ec4d47638315096f54819793484383c91f.tar.gz chromium_src-8c1ae5ec4d47638315096f54819793484383c91f.tar.bz2 |
Pass in the HostContentSettingsMap to the CookieModalDialog so IsValid can make its decision. Before, it used the TabContents to get the profile to get the map, but this was incorrect because the current tab isn't necessarily from the same profile as the original request.
As long as we have the HostContentSettingsMap, we might as well handle "remember" in CookieModalDialog.
This bug exists in 4.1.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/651023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39558 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/in_process_webkit')
-rw-r--r-- | chrome/browser/in_process_webkit/dom_storage_permission_request.cc | 37 | ||||
-rw-r--r-- | chrome/browser/in_process_webkit/dom_storage_permission_request.h | 6 |
2 files changed, 17 insertions, 26 deletions
diff --git a/chrome/browser/in_process_webkit/dom_storage_permission_request.cc b/chrome/browser/in_process_webkit/dom_storage_permission_request.cc index 93b21ef..47b61ce 100644 --- a/chrome/browser/in_process_webkit/dom_storage_permission_request.cc +++ b/chrome/browser/in_process_webkit/dom_storage_permission_request.cc @@ -26,53 +26,44 @@ ContentSetting DOMStoragePermissionRequest::WaitOnResponse() { // static void DOMStoragePermissionRequest::PromptUser( - DOMStoragePermissionRequest* dom_storage_permission_request) { + DOMStoragePermissionRequest* request) { DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI)); // Cookie settings may have changed. ContentSetting setting = - dom_storage_permission_request->host_content_settings_map_-> - GetContentSetting(dom_storage_permission_request->url(), - CONTENT_SETTINGS_TYPE_COOKIES); + request->host_content_settings_map_->GetContentSetting( + request->url_, CONTENT_SETTINGS_TYPE_COOKIES); if (setting != CONTENT_SETTING_ASK) { - dom_storage_permission_request->SendResponse(setting, false); + request->SendResponse(setting); return; } Browser* browser = BrowserList::GetLastActive(); if (!browser || !browser->GetSelectedTabContents()) { - dom_storage_permission_request->SendResponse(CONTENT_SETTING_BLOCK, false); + request->SendResponse(CONTENT_SETTING_BLOCK); return; } #if defined(OS_WIN) RunLocalStoragePrompt(browser->GetSelectedTabContents(), - dom_storage_permission_request->url(), - dom_storage_permission_request->key(), - dom_storage_permission_request->value(), - dom_storage_permission_request); + request->host_content_settings_map_, request->url_, + request->key_, request->value_, request); #else // TODO(darin): Enable prompting for other ports. - dom_storage_permission_request->SendResponse(CONTENT_SETTING_BLOCK, false); + request->SendResponse(CONTENT_SETTING_BLOCK); #endif } -void DOMStoragePermissionRequest::AllowSiteData(bool remember, - bool session_expire) { - // The session_expire parameter is not relevant. - SendResponse(CONTENT_SETTING_ALLOW, remember); +void DOMStoragePermissionRequest::AllowSiteData(bool session_expire) { + SendResponse(CONTENT_SETTING_ALLOW); } -void DOMStoragePermissionRequest::BlockSiteData(bool remember) { - SendResponse(CONTENT_SETTING_BLOCK, remember); +void DOMStoragePermissionRequest::BlockSiteData() { + SendResponse(CONTENT_SETTING_BLOCK); } -void DOMStoragePermissionRequest::SendResponse(ContentSetting content_setting, - bool remember) { +void DOMStoragePermissionRequest::SendResponse( + ContentSetting content_setting) { response_content_setting_ = content_setting; - if (remember) { - host_content_settings_map_->SetContentSetting( - url_.host(), CONTENT_SETTINGS_TYPE_COOKIES, content_setting); - } event_.Signal(); } diff --git a/chrome/browser/in_process_webkit/dom_storage_permission_request.h b/chrome/browser/in_process_webkit/dom_storage_permission_request.h index cad41cb..48f93c3 100644 --- a/chrome/browser/in_process_webkit/dom_storage_permission_request.h +++ b/chrome/browser/in_process_webkit/dom_storage_permission_request.h @@ -35,11 +35,11 @@ class DOMStoragePermissionRequest : public CookiePromptModalDialogDelegate { static void PromptUser(DOMStoragePermissionRequest* request); // CookiesPromptViewDelegate methods: - virtual void AllowSiteData(bool remember, bool session_expire); - virtual void BlockSiteData(bool remember); + virtual void AllowSiteData(bool session_expire); + virtual void BlockSiteData(); private: - void SendResponse(ContentSetting content_setting, bool remember); + void SendResponse(ContentSetting content_setting); // The URL we need to get permission for. const GURL url_; |