OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "webkit/support/simple_dom_storage_system.h" | 5 #include "webkit/support/simple_dom_storage_system.h" |
6 | 6 |
7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
8 #include "googleurl/src/gurl.h" | 8 #include "googleurl/src/gurl.h" |
9 #include "third_party/WebKit/public/platform/WebStorageArea.h" | 9 #include "third_party/WebKit/public/platform/WebStorageArea.h" |
10 #include "third_party/WebKit/public/platform/WebStorageNamespace.h" | 10 #include "third_party/WebKit/public/platform/WebStorageNamespace.h" |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 | 138 |
139 unsigned SimpleDomStorageSystem::AreaImpl::length() { | 139 unsigned SimpleDomStorageSystem::AreaImpl::length() { |
140 if (Host()) | 140 if (Host()) |
141 return Host()->GetAreaLength(connection_id_); | 141 return Host()->GetAreaLength(connection_id_); |
142 return 0; | 142 return 0; |
143 } | 143 } |
144 | 144 |
145 WebString SimpleDomStorageSystem::AreaImpl::key(unsigned index) { | 145 WebString SimpleDomStorageSystem::AreaImpl::key(unsigned index) { |
146 if (Host()) | 146 if (Host()) |
147 return Host()->GetAreaKey(connection_id_, index); | 147 return Host()->GetAreaKey(connection_id_, index); |
148 return NullableString16(true); | 148 return base::NullableString16(true); |
149 } | 149 } |
150 | 150 |
151 WebString SimpleDomStorageSystem::AreaImpl::getItem(const WebString& key) { | 151 WebString SimpleDomStorageSystem::AreaImpl::getItem(const WebString& key) { |
152 if (Host()) | 152 if (Host()) |
153 return Host()->GetAreaItem(connection_id_, key); | 153 return Host()->GetAreaItem(connection_id_, key); |
154 return NullableString16(true); | 154 return base::NullableString16(true); |
155 } | 155 } |
156 | 156 |
157 void SimpleDomStorageSystem::AreaImpl::setItem( | 157 void SimpleDomStorageSystem::AreaImpl::setItem( |
158 const WebString& key, const WebString& newValue, | 158 const WebString& key, const WebString& newValue, |
159 const WebURL& pageUrl, Result& result) { | 159 const WebURL& pageUrl, Result& result) { |
160 result = ResultBlockedByQuota; | 160 result = ResultBlockedByQuota; |
161 if (!Host()) | 161 if (!Host()) |
162 return; | 162 return; |
163 | 163 |
164 base::AutoReset<AreaImpl*> auto_reset(&parent_->area_being_processed_, this); | 164 base::AutoReset<AreaImpl*> auto_reset(&parent_->area_being_processed_, this); |
165 NullableString16 unused; | 165 base::NullableString16 unused; |
166 if (!Host()->SetAreaItem(connection_id_, key, newValue, pageUrl, | 166 if (!Host()->SetAreaItem(connection_id_, key, newValue, pageUrl, |
167 &unused)) | 167 &unused)) |
168 return; | 168 return; |
169 | 169 |
170 result = ResultOK; | 170 result = ResultOK; |
171 } | 171 } |
172 | 172 |
173 void SimpleDomStorageSystem::AreaImpl::removeItem( | 173 void SimpleDomStorageSystem::AreaImpl::removeItem( |
174 const WebString& key, const WebURL& pageUrl) { | 174 const WebString& key, const WebURL& pageUrl) { |
175 if (!Host()) | 175 if (!Host()) |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 WebStorageNamespace* SimpleDomStorageSystem::CreateSessionStorageNamespace() { | 219 WebStorageNamespace* SimpleDomStorageSystem::CreateSessionStorageNamespace() { |
220 int id = context_->AllocateSessionId(); | 220 int id = context_->AllocateSessionId(); |
221 context_->CreateSessionNamespace(id, std::string()); | 221 context_->CreateSessionNamespace(id, std::string()); |
222 return new NamespaceImpl(weak_factory_.GetWeakPtr(), id); | 222 return new NamespaceImpl(weak_factory_.GetWeakPtr(), id); |
223 } | 223 } |
224 | 224 |
225 void SimpleDomStorageSystem::OnDomStorageItemSet( | 225 void SimpleDomStorageSystem::OnDomStorageItemSet( |
226 const dom_storage::DomStorageArea* area, | 226 const dom_storage::DomStorageArea* area, |
227 const base::string16& key, | 227 const base::string16& key, |
228 const base::string16& new_value, | 228 const base::string16& new_value, |
229 const NullableString16& old_value, | 229 const base::NullableString16& old_value, |
230 const GURL& page_url) { | 230 const GURL& page_url) { |
231 DispatchDomStorageEvent(area, page_url, | 231 DispatchDomStorageEvent(area, page_url, |
232 NullableString16(key, false), | 232 base::NullableString16(key, false), |
233 NullableString16(new_value, false), | 233 base::NullableString16(new_value, false), |
234 old_value); | 234 old_value); |
235 } | 235 } |
236 | 236 |
237 void SimpleDomStorageSystem::OnDomStorageItemRemoved( | 237 void SimpleDomStorageSystem::OnDomStorageItemRemoved( |
238 const dom_storage::DomStorageArea* area, | 238 const dom_storage::DomStorageArea* area, |
239 const base::string16& key, | 239 const base::string16& key, |
240 const base::string16& old_value, | 240 const base::string16& old_value, |
241 const GURL& page_url) { | 241 const GURL& page_url) { |
242 DispatchDomStorageEvent(area, page_url, | 242 DispatchDomStorageEvent(area, page_url, |
243 NullableString16(key, false), | 243 base::NullableString16(key, false), |
244 NullableString16(true), | 244 base::NullableString16(true), |
245 NullableString16(old_value, false)); | 245 base::NullableString16(old_value, false)); |
246 } | 246 } |
247 | 247 |
248 void SimpleDomStorageSystem::OnDomStorageAreaCleared( | 248 void SimpleDomStorageSystem::OnDomStorageAreaCleared( |
249 const dom_storage::DomStorageArea* area, | 249 const dom_storage::DomStorageArea* area, |
250 const GURL& page_url) { | 250 const GURL& page_url) { |
251 DispatchDomStorageEvent(area, page_url, | 251 DispatchDomStorageEvent(area, page_url, |
252 NullableString16(true), | 252 base::NullableString16(true), |
253 NullableString16(true), | 253 base::NullableString16(true), |
254 NullableString16(true)); | 254 base::NullableString16(true)); |
255 } | 255 } |
256 | 256 |
257 void SimpleDomStorageSystem::DispatchDomStorageEvent( | 257 void SimpleDomStorageSystem::DispatchDomStorageEvent( |
258 const dom_storage::DomStorageArea* area, | 258 const dom_storage::DomStorageArea* area, |
259 const GURL& page_url, | 259 const GURL& page_url, |
260 const NullableString16& key, | 260 const base::NullableString16& key, |
261 const NullableString16& new_value, | 261 const base::NullableString16& new_value, |
262 const NullableString16& old_value) { | 262 const base::NullableString16& old_value) { |
263 DCHECK(area_being_processed_); | 263 DCHECK(area_being_processed_); |
264 if (area->namespace_id() == dom_storage::kLocalStorageNamespaceId) { | 264 if (area->namespace_id() == dom_storage::kLocalStorageNamespaceId) { |
265 WebStorageEventDispatcher::dispatchLocalStorageEvent( | 265 WebStorageEventDispatcher::dispatchLocalStorageEvent( |
266 key, | 266 key, |
267 old_value, | 267 old_value, |
268 new_value, | 268 new_value, |
269 area->origin(), | 269 area->origin(), |
270 page_url, | 270 page_url, |
271 area_being_processed_, | 271 area_being_processed_, |
272 true /* originatedInProcess */); | 272 true /* originatedInProcess */); |
273 } else { | 273 } else { |
274 NamespaceImpl session_namespace_for_event_dispatch( | 274 NamespaceImpl session_namespace_for_event_dispatch( |
275 base::WeakPtr<SimpleDomStorageSystem>(), area->namespace_id()); | 275 base::WeakPtr<SimpleDomStorageSystem>(), area->namespace_id()); |
276 WebStorageEventDispatcher::dispatchSessionStorageEvent( | 276 WebStorageEventDispatcher::dispatchSessionStorageEvent( |
277 key, | 277 key, |
278 old_value, | 278 old_value, |
279 new_value, | 279 new_value, |
280 area->origin(), | 280 area->origin(), |
281 page_url, | 281 page_url, |
282 session_namespace_for_event_dispatch, | 282 session_namespace_for_event_dispatch, |
283 area_being_processed_, | 283 area_being_processed_, |
284 true /* originatedInProcess */); | 284 true /* originatedInProcess */); |
285 } | 285 } |
286 } | 286 } |
OLD | NEW |