OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 // Multiply-included file, no traditional include guard. | 5 #ifndef COMPONENTS_NETWORK_HINTS_COMMON_NETWORK_HINTS_PARAM_TRAITS_H_ |
| 6 #define COMPONENTS_NETWORK_HINTS_COMMON_NETWORK_HINTS_PARAM_TRAITS_H_ |
| 7 |
6 #include <string> | 8 #include <string> |
7 #include <vector> | 9 #include <vector> |
8 | 10 |
9 #include "components/network_hints/common/network_hints_common.h" | 11 #include "components/network_hints/common/network_hints_common.h" |
10 #include "ipc/ipc_message_macros.h" | 12 #include "ipc/ipc_message_macros.h" |
11 #include "ipc/ipc_message_utils.h" | 13 #include "ipc/ipc_message_utils.h" |
12 #include "url/ipc/url_param_traits.h" | 14 #include "url/ipc/url_param_traits.h" |
13 | 15 |
14 // Singly-included section for custom IPC traits. | |
15 #ifndef COMPONENTS_NETWORK_HINTS_COMMON_NETWORK_HINTS_MESSAGES_H_ | |
16 #define COMPONENTS_NETWORK_HINTS_COMMON_NETWORK_HINTS_MESSAGES_H_ | |
17 | |
18 namespace IPC { | 16 namespace IPC { |
19 | 17 |
20 template <> | 18 template <> |
21 struct ParamTraits<network_hints::LookupRequest> { | 19 struct ParamTraits<network_hints::LookupRequest> { |
22 typedef network_hints::LookupRequest param_type; | 20 typedef network_hints::LookupRequest param_type; |
| 21 static void GetSize(base::PickleSizer* s, const param_type& p); |
23 static void Write(base::Pickle* m, const param_type& p); | 22 static void Write(base::Pickle* m, const param_type& p); |
24 static bool Read(const base::Pickle* m, | 23 static bool Read(const base::Pickle* m, |
25 base::PickleIterator* iter, | 24 base::PickleIterator* iter, |
26 param_type* r); | 25 param_type* r); |
27 static void Log(const param_type& p, std::string* l); | 26 static void Log(const param_type& p, std::string* l); |
28 }; | 27 }; |
29 | 28 |
30 } // namespace IPC | 29 } // namespace IPC |
31 | 30 |
32 #endif // COMPONENTS_NETWORK_HINTS_COMMON_NETWORK_HINTS_MESSAGES_H_ | 31 #endif // COMPONENTS_NETWORK_HINTS_COMMON_NETWORK_HINTS_PARAM_TRAITS_H_ |
33 | |
34 #define IPC_MESSAGE_START NetworkHintsMsgStart | |
35 | |
36 //----------------------------------------------------------------------------- | |
37 // Host messages | |
38 // These are messages sent from the renderer process to the browser process. | |
39 | |
40 // Request for a DNS prefetch of the names in the array. | |
41 // NameList is typedef'ed std::vector<std::string> | |
42 IPC_MESSAGE_CONTROL1(NetworkHintsMsg_DNSPrefetch, | |
43 network_hints::LookupRequest) | |
44 | |
45 | |
46 // Request for preconnect to host providing resource specified by URL | |
47 IPC_MESSAGE_CONTROL3(NetworkHintsMsg_Preconnect, | |
48 GURL /* preconnect target url */, | |
49 bool /* Does connection have its credentials flag set */, | |
50 int /* number of connections */) | |
OLD | NEW |