summaryrefslogtreecommitdiffstats
path: root/chrome/browser/in_process_webkit
diff options
context:
space:
mode:
authorjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-20 17:58:32 +0000
committerjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-20 17:58:32 +0000
commit8c1ae5ec4d47638315096f54819793484383c91f (patch)
treec7749cae01663511be911c22e3928f7ef5aa8aab /chrome/browser/in_process_webkit
parente90eca1550812bb5694c9523ffc75963c845d46d (diff)
downloadchromium_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.cc37
-rw-r--r--chrome/browser/in_process_webkit/dom_storage_permission_request.h6
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_;