Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / content / common / dom_storage / dom_storage_messages.h
blob759dd20358d5d58c1a7302e0445d9334437e18cc
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.
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"
13 #define IPC_MESSAGE_START DOMStorageMsgStart
15 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebStorageArea::Result,
16 blink::WebStorageArea::ResultLast)
18 // Signals a local storage event.
19 IPC_STRUCT_BEGIN(DOMStorageMsg_Event_Params)
20 // The key that generated the storage event. Null if clear() was called.
21 IPC_STRUCT_MEMBER(base::NullableString16, key)
23 // The old value of this key. Null on clear() or if it didn't have a value.
24 IPC_STRUCT_MEMBER(base::NullableString16, old_value)
26 // The new value of this key. Null on removeItem() or clear().
27 IPC_STRUCT_MEMBER(base::NullableString16, new_value)
29 // The origin this is associated with.
30 IPC_STRUCT_MEMBER(GURL, origin)
32 // The URL of the page that caused the storage event.
33 IPC_STRUCT_MEMBER(GURL, page_url)
35 // The non-zero connection_id which caused the event or 0 if the event
36 // was not caused by the target renderer process.
37 IPC_STRUCT_MEMBER(int, connection_id)
39 // The non-zero session namespace_id associated with the event or 0 if
40 // this is a local storage event.
41 IPC_STRUCT_MEMBER(int64, namespace_id)
42 IPC_STRUCT_END()
44 // DOM Storage messages sent from the browser to the renderer.
46 // Storage events are broadcast to all renderer processes.
47 IPC_MESSAGE_CONTROL1(DOMStorageMsg_Event,
48 DOMStorageMsg_Event_Params)
50 // Completion notification sent in response to each async
51 // load, set, remove, and clear operation.
52 // Used to maintain the integrity of the renderer-side cache.
53 IPC_MESSAGE_CONTROL1(DOMStorageMsg_AsyncOperationComplete,
54 bool /* success */)
56 // Notification instructing the renderer to refresh all cached values for
57 // the given namespace.
58 IPC_MESSAGE_CONTROL1(DOMStorageMsg_ResetCachedValues,
59 int64 /* namespace_id */)
61 // DOM Storage messages sent from the renderer to the browser.
62 // Note: The 'connection_id' must be the first parameter in these message.
64 // Open the storage area for a particular origin within a namespace.
65 IPC_MESSAGE_CONTROL3(DOMStorageHostMsg_OpenStorageArea,
66 int /* connection_id */,
67 int64 /* namespace_id */,
68 GURL /* origin */)
70 // Close a previously opened storage area.
71 IPC_MESSAGE_CONTROL1(DOMStorageHostMsg_CloseStorageArea,
72 int /* connection_id */)
74 // Retrieves the set of key/value pairs for the area. Used to prime
75 // the renderer-side cache. A completion notification is sent in response.
76 // The response will also indicate whether the renderer should send
77 // messagse to the browser for get operations for logging purposes.
78 IPC_SYNC_MESSAGE_CONTROL1_2(DOMStorageHostMsg_LoadStorageArea,
79 int /* connection_id */,
80 content::DOMStorageValuesMap,
81 bool /* send_log_get_messages */)
83 // Set a value that's associated with a key in a storage area.
84 // A completion notification is sent in response.
85 IPC_MESSAGE_CONTROL4(DOMStorageHostMsg_SetItem,
86 int /* connection_id */,
87 base::string16 /* key */,
88 base::string16 /* value */,
89 GURL /* page_url */)
91 // Logs that a get operation was performed on a key/value pair.
92 IPC_MESSAGE_CONTROL3(DOMStorageHostMsg_LogGetItem,
93 int /* connection_id */,
94 base::string16 /* key */,
95 base::NullableString16 /* value */)
97 // Remove the value associated with a key in a storage area.
98 // A completion notification is sent in response.
99 IPC_MESSAGE_CONTROL3(DOMStorageHostMsg_RemoveItem,
100 int /* connection_id */,
101 base::string16 /* key */,
102 GURL /* page_url */)
104 // Clear the storage area. A completion notification is sent in response.
105 IPC_MESSAGE_CONTROL2(DOMStorageHostMsg_Clear,
106 int /* connection_id */,
107 GURL /* page_url */)
109 // Used to flush the ipc message queue.
110 IPC_SYNC_MESSAGE_CONTROL0_0(DOMStorageHostMsg_FlushMessages)