OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef CONTENT_BROWSER_BAD_MESSAGE_H_ | 5 #ifndef CONTENT_BROWSER_BAD_MESSAGE_H_ |
6 #define CONTENT_BROWSER_BAD_MESSAGE_H_ | 6 #define CONTENT_BROWSER_BAD_MESSAGE_H_ |
7 | 7 |
8 namespace content { | 8 namespace content { |
9 class BrowserMessageFilter; | |
9 class RenderProcessHost; | 10 class RenderProcessHost; |
10 | 11 |
11 namespace bad_message { | 12 namespace bad_message { |
12 | 13 |
13 // The browser process often chooses to terminate a renderer if it receives | 14 // The browser process often chooses to terminate a renderer if it receives |
14 // a bad IPC message. The reasons are tracked for metrics. | 15 // a bad IPC message. The reasons are tracked for metrics. |
15 // | 16 // |
16 // Content embedders should implement their own bad message statistics but | 17 // Content embedders should implement their own bad message statistics but |
17 // should use similar histogram names to make analysis easier. | 18 // should use similar histogram names to make analysis easier. |
18 // | 19 // |
(...skipping 14 matching lines...) Expand all Loading... | |
33 RWH_BLUR = 10, | 34 RWH_BLUR = 10, |
34 RWH_SHARED_BITMAP = 11, | 35 RWH_SHARED_BITMAP = 11, |
35 RWH_BAD_ACK_MESSAGE = 12, | 36 RWH_BAD_ACK_MESSAGE = 12, |
36 RWHVA_SHARED_MEMORY = 13, | 37 RWHVA_SHARED_MEMORY = 13, |
37 SERVICE_WORKER_BAD_URL = 14, | 38 SERVICE_WORKER_BAD_URL = 14, |
38 WC_INVALID_FRAME_SOURCE = 15, | 39 WC_INVALID_FRAME_SOURCE = 15, |
39 RWHVM_UNEXPECTED_FRAME_TYPE = 16, | 40 RWHVM_UNEXPECTED_FRAME_TYPE = 16, |
40 RFPH_DETACH = 17, | 41 RFPH_DETACH = 17, |
41 DFH_BAD_EMBEDDER_MESSAGE = 18, | 42 DFH_BAD_EMBEDDER_MESSAGE = 18, |
42 NC_AUTO_SUBFRAME = 19, | 43 NC_AUTO_SUBFRAME = 19, |
44 CSDH_NOT_RECOGNIZED = 20, | |
45 DSMF_OPEN_STORAGE = 21, | |
46 DSMF_LOAD_STORAGE = 22, | |
47 DBMF_INVALID_ORIGIN_ON_OPEN = 23, | |
48 DBMF_DB_NOT_OPEN_ON_MODIFY = 24, | |
49 DBMF_DB_NOT_OPEN_ON_CLOSE = 25, | |
50 DBMF_INVALID_ORIGIN_ON_SQLITE_ERROR = 26, | |
51 RDH_INVALID_PRIORITY = 27, | |
52 RDH_REQUEST_NOT_TRANSFERRING = 28, | |
53 RDH_BAD_DOWNLOAD = 29, | |
54 NMF_NO_PERMISSION_SHOW = 30, | |
55 NMF_NO_PERMISSION_CLOSE = 31, | |
56 NMF_NO_PERMISSION_VERIFY = 32, | |
57 MH_INVALID_MIDI_PORT = 33, | |
58 MH_SYS_EX_PERMISSION = 34, | |
59 ACDH_REGISTER = 35, | |
60 ACDH_UNREGISTER = 36, | |
61 ACDH_SET_SPAWNING = 37, | |
62 ACDH_SELECT_CACHE = 38, | |
63 ACDH_SELECT_CACHE_FOR_WORKER = 39, | |
64 ACDH_SELECT_CACHE_FOR_SHARED_WORKER = 40, | |
65 ACDH_MARK_AS_FOREIGN_ENTRY = 41, | |
66 ACDH_PENDING_REPLY_IN_GET_STATUS = 42, | |
67 ACDH_GET_STATUS = 43, | |
68 ACDH_PENDING_REPLY_IN_START_UPDATE = 44, | |
69 ACDH_START_UPDATE = 45, | |
70 ACDH_PENDING_REPLY_IN_SWAP_CACHE = 46, | |
71 ACDH_SWAP_CACHE = 47, | |
72 SWDH_NOT_HANDLED = 48, | |
73 SWDH_REGISTER_BAD_URL = 49, | |
74 SWDH_REGISTER_NO_HOST = 50, | |
75 SWDH_REGISTER_CANNOT = 51, | |
76 SWDH_UNREGISTER_BAD_URL = 52, | |
77 SWDH_UNREGISTER_NO_HOST = 53, | |
78 SWDH_UNREGISTER_CANNOT = 54, | |
79 SWDH_GET_REGISTRATION_BAD_URL = 55, | |
80 SWDH_GET_REGISTRATION_NO_HOST = 56, | |
81 SWDH_GET_REGISTRATION_CANNOT = 57, | |
82 SWDH_GET_REGISTRATION_FOR_READY_NO_HOST = 58, | |
83 SWDH_GET_REGISTRATION_FOR_READY_ALREADY_IN_PROGRESS = 59, | |
84 SWDH_POST_MESSAGE = 60, | |
85 SWDH_PROVIDER_CREATED_NO_HOST = 61, | |
86 SWDH_PROVIDER_DESTROYED_NO_HOST = 62, | |
87 SWDH_SET_HOSTED_VERSION_NO_HOST = 63, | |
88 SWDH_SET_HOSTED_VERSION = 64, | |
89 SWDH_WORKER_SCRIPT_LOAD_NO_HOST = 65, | |
90 SWDH_INCREMENT_WORKER_BAD_HANDLE = 66, | |
91 SWDH_DECREMENT_WORKER_BAD_HANDLE = 67, | |
92 SWDH_INCREMENT_REGISTRATION_BAD_HANDLE = 68, | |
93 SWDH_DECREMENT_REGISTRATION_BAD_HANDLE = 69, | |
94 SWDH_TERMINATE_BAD_HANDLE = 70, | |
95 FAMF_APPEND_ITEM_TO_BLOB = 71, | |
96 FAMF_APPEND_SHARED_MEMORY_TO_BLOB = 72, | |
97 FAMF_MALFORMED_STREAM_URL = 73, | |
98 FAMF_APPEND_ITEM_TO_STREAM = 74, | |
99 FAMF_APPEND_SHARED_MEMORY_TO_STREAM = 75, | |
100 IDBDH_CAN_READ_FILE = 76, | |
101 IDBDH_GET_OR_TERMINATE = 77, | |
Ilya Sherman
2015/05/26 23:07:59
nit: The manual numbering worries me a bit -- it's
Charlie Reis
2015/05/29 23:35:19
isherman: See mpearson's comment here:
https://cod
Ilya Sherman
2015/05/31 00:30:27
Hmm, ok. I guess Mark and I have different opinio
ncarter (slow)
2015/06/01 17:12:24
FWIW, I used the TextPastry plugin to Sublime Text
| |
43 // Please add new elements here. The naming convention is abbreviated class | 102 // Please add new elements here. The naming convention is abbreviated class |
44 // name (e.g. RenderFrameHost becomes RFH) plus a unique description of the | 103 // name (e.g. RenderFrameHost becomes RFH) plus a unique description of the |
45 // reason. | 104 // reason. |
46 BAD_MESSAGE_MAX | 105 BAD_MESSAGE_MAX |
47 }; | 106 }; |
48 | 107 |
49 // Called when the browser receives a bad IPC message from a renderer process. | 108 // Called when the browser receives a bad IPC message from a renderer process on |
50 // Logs the event, records a histogram metric for the |reason|, and terminates | 109 // the UI thread. Logs the event, records a histogram metric for the |reason|, |
51 // the process for |host|. | 110 // and terminates the process for |host|. |
52 void ReceivedBadMessage(RenderProcessHost* host, BadMessageReason reason); | 111 void ReceivedBadMessage(RenderProcessHost* host, BadMessageReason reason); |
53 | 112 |
113 // Called when a browser message filter receives a bad IPC message from a | |
114 // renderer or other child process. Logs the event, records a histogram metric | |
115 // for the |reason|, and terminates the process for |filter|. | |
116 void ReceivedBadMessage(BrowserMessageFilter* filter, BadMessageReason reason); | |
117 | |
54 } // namespace bad_message | 118 } // namespace bad_message |
55 } // namespace content | 119 } // namespace content |
56 | 120 |
57 #endif // CONTENT_BROWSER_BAD_MESSAGE_H_ | 121 #endif // CONTENT_BROWSER_BAD_MESSAGE_H_ |
OLD | NEW |