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
3 // found in the LICENSE file.
5 // Multiply-included message file, no traditional include guard.
6 #include "content/public/common/common_param_traits.h"
7 #include "googleurl/src/gurl.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 "webkit/common/dom_storage/dom_storage_types.h"
13 #define IPC_MESSAGE_START DOMStorageMsgStart
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
)
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
)
23 // The new value of this key. Null on removeItem() or clear().
24 IPC_STRUCT_MEMBER(base::NullableString16
, new_value
)
26 // The origin this is associated with.
27 IPC_STRUCT_MEMBER(GURL
, origin
)
29 // The URL of the page that caused the storage event.
30 IPC_STRUCT_MEMBER(GURL
, page_url
)
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
)
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
)
41 IPC_ENUM_TRAITS(WebKit::WebStorageArea::Result
)
43 // DOM Storage messages sent from the browser to the renderer.
45 // Storage events are broadcast to all renderer processes.
46 IPC_MESSAGE_CONTROL1(DOMStorageMsg_Event
,
47 DOMStorageMsg_Event_Params
)
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
,
55 // DOM Storage messages sent from the renderer to the browser.
56 // Note: The 'connection_id' must be the first parameter in these message.
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 */,
64 // Close a previously opened storage area.
65 IPC_MESSAGE_CONTROL1(DOMStorageHostMsg_CloseStorageArea
,
66 int /* connection_id */)
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 IPC_SYNC_MESSAGE_CONTROL1_1(DOMStorageHostMsg_LoadStorageArea
,
71 int /* connection_id */,
72 dom_storage::ValuesMap
)
74 // Set a value that's associated with a key in a storage area.
75 // A completion notification is sent in response.
76 IPC_MESSAGE_CONTROL4(DOMStorageHostMsg_SetItem
,
77 int /* connection_id */,
82 // Remove the value associated with a key in a storage area.
83 // A completion notification is sent in response.
84 IPC_MESSAGE_CONTROL3(DOMStorageHostMsg_RemoveItem
,
85 int /* connection_id */,
89 // Clear the storage area. A completion notification is sent in response.
90 IPC_MESSAGE_CONTROL2(DOMStorageHostMsg_Clear
,
91 int /* connection_id */,
94 // Used to flush the ipc message queue.
95 IPC_SYNC_MESSAGE_CONTROL0_0(DOMStorageHostMsg_FlushMessages
)