Chromium Code Reviews

Side by Side Diff: chrome/browser/in_process_webkit/dom_storage_area.cc

Issue 5722003: Make DOMStorageDispatcherHost be a message filter (and rename it accordingly)... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: get rid of _DELAY_HANDLE macro Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/in_process_webkit/dom_storage_area.h" 5 #include "chrome/browser/in_process_webkit/dom_storage_area.h"
6 6
7 #include "base/task.h" 7 #include "base/task.h"
8 #include "chrome/browser/browser_thread.h" 8 #include "chrome/browser/browser_thread.h"
9 #include "chrome/browser/content_settings/host_content_settings_map.h" 9 #include "chrome/browser/content_settings/host_content_settings_map.h"
10 #include "chrome/browser/in_process_webkit/dom_storage_context.h" 10 #include "chrome/browser/in_process_webkit/dom_storage_context.h"
11 #include "chrome/browser/in_process_webkit/dom_storage_dispatcher_host.h"
12 #include "chrome/browser/in_process_webkit/dom_storage_namespace.h" 11 #include "chrome/browser/in_process_webkit/dom_storage_namespace.h"
13 #include "chrome/common/render_messages.h" 12 #include "chrome/common/render_messages.h"
14 #include "third_party/WebKit/WebKit/chromium/public/WebSecurityOrigin.h" 13 #include "third_party/WebKit/WebKit/chromium/public/WebSecurityOrigin.h"
15 #include "third_party/WebKit/WebKit/chromium/public/WebStorageArea.h" 14 #include "third_party/WebKit/WebKit/chromium/public/WebStorageArea.h"
16 #include "third_party/WebKit/WebKit/chromium/public/WebString.h" 15 #include "third_party/WebKit/WebKit/chromium/public/WebString.h"
17 #include "third_party/WebKit/WebKit/chromium/public/WebURL.h" 16 #include "third_party/WebKit/WebKit/chromium/public/WebURL.h"
18 #include "webkit/glue/webkit_glue.h" 17 #include "webkit/glue/webkit_glue.h"
19 18
20 using WebKit::WebSecurityOrigin; 19 using WebKit::WebSecurityOrigin;
21 using WebKit::WebStorageArea; 20 using WebKit::WebStorageArea;
(...skipping 27 matching lines...)
49 return storage_area_->key(index); 48 return storage_area_->key(index);
50 } 49 }
51 50
52 NullableString16 DOMStorageArea::GetItem(const string16& key) { 51 NullableString16 DOMStorageArea::GetItem(const string16& key) {
53 CreateWebStorageAreaIfNecessary(); 52 CreateWebStorageAreaIfNecessary();
54 return storage_area_->getItem(key); 53 return storage_area_->getItem(key);
55 } 54 }
56 55
57 NullableString16 DOMStorageArea::SetItem( 56 NullableString16 DOMStorageArea::SetItem(
58 const string16& key, const string16& value, 57 const string16& key, const string16& value,
59 WebStorageArea::Result* result, DOMStorageDispatcherHost* sender) { 58 WebStorageArea::Result* result) {
60 if (!CheckContentSetting(key, value, sender)) { 59 if (!CheckContentSetting(key, value)) {
61 *result = WebStorageArea::ResultBlockedByPolicy; 60 *result = WebStorageArea::ResultBlockedByPolicy;
62 return NullableString16(true); // Ignored if the content was blocked. 61 return NullableString16(true); // Ignored if the content was blocked.
63 } 62 }
64 63
65 CreateWebStorageAreaIfNecessary(); 64 CreateWebStorageAreaIfNecessary();
66 WebString old_value; 65 WebString old_value;
67 storage_area_->setItem(key, value, WebURL(), *result, old_value); 66 storage_area_->setItem(key, value, WebURL(), *result, old_value);
68 return old_value; 67 return old_value;
69 } 68 }
70 69
(...skipping 14 matching lines...)
85 void DOMStorageArea::PurgeMemory() { 84 void DOMStorageArea::PurgeMemory() {
86 storage_area_.reset(); 85 storage_area_.reset();
87 } 86 }
88 87
89 void DOMStorageArea::CreateWebStorageAreaIfNecessary() { 88 void DOMStorageArea::CreateWebStorageAreaIfNecessary() {
90 if (!storage_area_.get()) 89 if (!storage_area_.get())
91 storage_area_.reset(owner_->CreateWebStorageArea(origin_)); 90 storage_area_.reset(owner_->CreateWebStorageArea(origin_));
92 } 91 }
93 92
94 bool DOMStorageArea::CheckContentSetting( 93 bool DOMStorageArea::CheckContentSetting(
95 const string16& key, const string16& value, 94 const string16& key, const string16& value) {
96 DOMStorageDispatcherHost* sender) {
97 ContentSetting content_setting = 95 ContentSetting content_setting =
98 host_content_settings_map_->GetContentSetting( 96 host_content_settings_map_->GetContentSetting(
99 origin_url_, CONTENT_SETTINGS_TYPE_COOKIES, ""); 97 origin_url_, CONTENT_SETTINGS_TYPE_COOKIES, "");
100 return (content_setting != CONTENT_SETTING_BLOCK); 98 return (content_setting != CONTENT_SETTING_BLOCK);
101 } 99 }
OLDNEW

Powered by Google App Engine