- add sources.
[platform/framework/web/crosswalk.git] / src / content / common / dom_storage / dom_storage_messages.h
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Multiply-included message file, no traditional include guard.
6 #include "content/common/dom_storage/dom_storage_types.h"
7 #include "content/public/common/common_param_traits.h"
8 #include "ipc/ipc_message_macros.h"
9 #include "ipc/ipc_param_traits.h"
10 #include "third_party/WebKit/public/platform/WebStorageArea.h"
11 #include "url/gurl.h"
12
13 #define IPC_MESSAGE_START DOMStorageMsgStart
14
15 // Signals a local storage event.
16 IPC_STRUCT_BEGIN(DOMStorageMsg_Event_Params)
17   // The key that generated the storage event.  Null if clear() was called.
18   IPC_STRUCT_MEMBER(base::NullableString16, key)
19
20   // The old value of this key.  Null on clear() or if it didn't have a value.
21   IPC_STRUCT_MEMBER(base::NullableString16, old_value)
22
23   // The new value of this key.  Null on removeItem() or clear().
24   IPC_STRUCT_MEMBER(base::NullableString16, new_value)
25
26   // The origin this is associated with.
27   IPC_STRUCT_MEMBER(GURL, origin)
28
29   // The URL of the page that caused the storage event.
30   IPC_STRUCT_MEMBER(GURL, page_url)
31
32   // The non-zero connection_id which caused the event or 0 if the event
33   // was not caused by the target renderer process.
34   IPC_STRUCT_MEMBER(int, connection_id)
35
36   // The non-zero session namespace_id associated with the event or 0 if
37   // this is a local storage event.
38   IPC_STRUCT_MEMBER(int64, namespace_id)
39 IPC_STRUCT_END()
40
41 IPC_ENUM_TRAITS(WebKit::WebStorageArea::Result)
42
43 // DOM Storage messages sent from the browser to the renderer.
44
45 // Storage events are broadcast to all renderer processes.
46 IPC_MESSAGE_CONTROL1(DOMStorageMsg_Event,
47                      DOMStorageMsg_Event_Params)
48
49 // Completion notification sent in response to each async
50 // load, set, remove, and clear operation.
51 // Used to maintain the integrity  of the renderer-side cache.
52 IPC_MESSAGE_CONTROL1(DOMStorageMsg_AsyncOperationComplete,
53                      bool /* success */)
54
55 // DOM Storage messages sent from the renderer to the browser.
56 // Note: The 'connection_id' must be the first parameter in these message.
57
58 // Open the storage area for a particular origin within a namespace.
59 IPC_MESSAGE_CONTROL3(DOMStorageHostMsg_OpenStorageArea,
60                      int /* connection_id */,
61                      int64 /* namespace_id */,
62                      GURL /* origin */)
63
64 // Close a previously opened storage area.
65 IPC_MESSAGE_CONTROL1(DOMStorageHostMsg_CloseStorageArea,
66                      int /* connection_id */)
67
68 // Retrieves the set of key/value pairs for the area. Used to prime
69 // the renderer-side cache. A completion notification is sent in response.
70 // The response will also indicate whether the renderer should send
71 // messagse to the browser for get operations for logging purposes.
72 IPC_SYNC_MESSAGE_CONTROL1_2(DOMStorageHostMsg_LoadStorageArea,
73                             int /* connection_id */,
74                             content::DOMStorageValuesMap,
75                             bool /* send_log_get_messages */)
76
77 // Set a value that's associated with a key in a storage area.
78 // A completion notification is sent in response.
79 IPC_MESSAGE_CONTROL4(DOMStorageHostMsg_SetItem,
80                      int /* connection_id */,
81                      string16 /* key */,
82                      string16 /* value */,
83                      GURL /* page_url */)
84
85 // Logs that a get operation was performed on a key/value pair.
86 IPC_MESSAGE_CONTROL3(DOMStorageHostMsg_LogGetItem,
87                      int /* connection_id */,
88                      string16 /* key */,
89                      base::NullableString16 /* value */)
90
91 // Remove the value associated with a key in a storage area.
92 // A completion notification is sent in response.
93 IPC_MESSAGE_CONTROL3(DOMStorageHostMsg_RemoveItem,
94                      int /* connection_id */,
95                      string16 /* key */,
96                      GURL /* page_url */)
97
98 // Clear the storage area. A completion notification is sent in response.
99 IPC_MESSAGE_CONTROL2(DOMStorageHostMsg_Clear,
100                      int /* connection_id */,
101                      GURL /* page_url */)
102
103 // Used to flush the ipc message queue.
104 IPC_SYNC_MESSAGE_CONTROL0_0(DOMStorageHostMsg_FlushMessages)