OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "content/renderer/renderer_webstoragearea_impl.h" | 5 #include "content/renderer/renderer_webstoragearea_impl.h" |
6 | 6 |
7 #include "content/common/dom_storage_messages.h" | 7 #include "content/common/dom_storage_messages.h" |
8 #include "content/renderer/render_thread.h" | 8 #include "content/renderer/render_thread_impl.h" |
9 #include "content/renderer/render_view.h" | 9 #include "content/renderer/render_view.h" |
10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebStorageNamespace.h
" | 10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebStorageNamespace.h
" |
11 #include "third_party/WebKit/Source/WebKit/chromium/public/WebURL.h" | 11 #include "third_party/WebKit/Source/WebKit/chromium/public/WebURL.h" |
12 | 12 |
13 using WebKit::WebStorageNamespace; | 13 using WebKit::WebStorageNamespace; |
14 using WebKit::WebString; | 14 using WebKit::WebString; |
15 using WebKit::WebURL; | 15 using WebKit::WebURL; |
16 | 16 |
17 RendererWebStorageAreaImpl::RendererWebStorageAreaImpl( | 17 RendererWebStorageAreaImpl::RendererWebStorageAreaImpl( |
18 int64 namespace_id, const WebString& origin) { | 18 int64 namespace_id, const WebString& origin) { |
19 RenderThread::current()->Send( | 19 RenderThreadImpl::current()->Send( |
20 new DOMStorageHostMsg_StorageAreaId(namespace_id, origin, | 20 new DOMStorageHostMsg_StorageAreaId(namespace_id, origin, |
21 &storage_area_id_)); | 21 &storage_area_id_)); |
22 } | 22 } |
23 | 23 |
24 RendererWebStorageAreaImpl::~RendererWebStorageAreaImpl() { | 24 RendererWebStorageAreaImpl::~RendererWebStorageAreaImpl() { |
25 } | 25 } |
26 | 26 |
27 unsigned RendererWebStorageAreaImpl::length() { | 27 unsigned RendererWebStorageAreaImpl::length() { |
28 unsigned length; | 28 unsigned length; |
29 RenderThread::current()->Send( | 29 RenderThreadImpl::current()->Send( |
30 new DOMStorageHostMsg_Length(storage_area_id_, &length)); | 30 new DOMStorageHostMsg_Length(storage_area_id_, &length)); |
31 return length; | 31 return length; |
32 } | 32 } |
33 | 33 |
34 WebString RendererWebStorageAreaImpl::key(unsigned index) { | 34 WebString RendererWebStorageAreaImpl::key(unsigned index) { |
35 NullableString16 key; | 35 NullableString16 key; |
36 RenderThread::current()->Send( | 36 RenderThreadImpl::current()->Send( |
37 new DOMStorageHostMsg_Key(storage_area_id_, index, &key)); | 37 new DOMStorageHostMsg_Key(storage_area_id_, index, &key)); |
38 return key; | 38 return key; |
39 } | 39 } |
40 | 40 |
41 WebString RendererWebStorageAreaImpl::getItem(const WebString& key) { | 41 WebString RendererWebStorageAreaImpl::getItem(const WebString& key) { |
42 NullableString16 value; | 42 NullableString16 value; |
43 RenderThread::current()->Send( | 43 RenderThreadImpl::current()->Send( |
44 new DOMStorageHostMsg_GetItem(storage_area_id_, key, &value)); | 44 new DOMStorageHostMsg_GetItem(storage_area_id_, key, &value)); |
45 return value; | 45 return value; |
46 } | 46 } |
47 | 47 |
48 void RendererWebStorageAreaImpl::setItem( | 48 void RendererWebStorageAreaImpl::setItem( |
49 const WebString& key, const WebString& value, const WebURL& url, | 49 const WebString& key, const WebString& value, const WebURL& url, |
50 WebStorageArea::Result& result, WebString& old_value_webkit) { | 50 WebStorageArea::Result& result, WebString& old_value_webkit) { |
51 const size_t kMaxKeyValueLength = WebStorageNamespace::m_localStorageQuota; | 51 const size_t kMaxKeyValueLength = WebStorageNamespace::m_localStorageQuota; |
52 if (key.length() + value.length() > kMaxKeyValueLength) { | 52 if (key.length() + value.length() > kMaxKeyValueLength) { |
53 result = ResultBlockedByQuota; | 53 result = ResultBlockedByQuota; |
54 return; | 54 return; |
55 } | 55 } |
56 NullableString16 old_value; | 56 NullableString16 old_value; |
57 RenderThread::current()->Send(new DOMStorageHostMsg_SetItem( | 57 RenderThreadImpl::current()->Send(new DOMStorageHostMsg_SetItem( |
58 storage_area_id_, key, value, url, &result, &old_value)); | 58 storage_area_id_, key, value, url, &result, &old_value)); |
59 old_value_webkit = old_value; | 59 old_value_webkit = old_value; |
60 } | 60 } |
61 | 61 |
62 void RendererWebStorageAreaImpl::removeItem( | 62 void RendererWebStorageAreaImpl::removeItem( |
63 const WebString& key, const WebURL& url, WebString& old_value_webkit) { | 63 const WebString& key, const WebURL& url, WebString& old_value_webkit) { |
64 NullableString16 old_value; | 64 NullableString16 old_value; |
65 RenderThread::current()->Send( | 65 RenderThreadImpl::current()->Send( |
66 new DOMStorageHostMsg_RemoveItem(storage_area_id_, key, url, &old_value)); | 66 new DOMStorageHostMsg_RemoveItem(storage_area_id_, key, url, &old_value)); |
67 old_value_webkit = old_value; | 67 old_value_webkit = old_value; |
68 } | 68 } |
69 | 69 |
70 void RendererWebStorageAreaImpl::clear( | 70 void RendererWebStorageAreaImpl::clear( |
71 const WebURL& url, bool& cleared_something) { | 71 const WebURL& url, bool& cleared_something) { |
72 RenderThread::current()->Send( | 72 RenderThreadImpl::current()->Send( |
73 new DOMStorageHostMsg_Clear(storage_area_id_, url, &cleared_something)); | 73 new DOMStorageHostMsg_Clear(storage_area_id_, url, &cleared_something)); |
74 } | 74 } |
OLD | NEW |