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 BrowserMessageFilter; |
10 class RenderProcessHost; | 10 class RenderProcessHost; |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 // obsolete; no longer used | 125 // obsolete; no longer used |
126 WC_CONTENT_WITH_CERT_ERRORS_BAD_SECURITY_INFO = 101, | 126 WC_CONTENT_WITH_CERT_ERRORS_BAD_SECURITY_INFO = 101, |
127 RFMF_RENDERER_FAKED_ITS_OWN_DEATH = 102, | 127 RFMF_RENDERER_FAKED_ITS_OWN_DEATH = 102, |
128 DWNLD_INVALID_SAVABLE_RESOURCE_LINKS_RESPONSE = 103, | 128 DWNLD_INVALID_SAVABLE_RESOURCE_LINKS_RESPONSE = 103, |
129 DWNLD_INVALID_SERIALIZE_AS_MHTML_RESPONSE = 104, | 129 DWNLD_INVALID_SERIALIZE_AS_MHTML_RESPONSE = 104, |
130 BDH_DEVICE_NOT_ALLOWED_FOR_ORIGIN = 105, | 130 BDH_DEVICE_NOT_ALLOWED_FOR_ORIGIN = 105, |
131 ACI_WRONG_STORAGE_PARTITION = 106, | 131 ACI_WRONG_STORAGE_PARTITION = 106, |
132 RDHI_WRONG_STORAGE_PARTITION = 107, | 132 RDHI_WRONG_STORAGE_PARTITION = 107, |
133 RDH_INVALID_REQUEST_ID = 108, | 133 RDH_INVALID_REQUEST_ID = 108, |
134 BDH_SERVICE_NOT_ALLOWED_FOR_ORIGIN = 109, | 134 BDH_SERVICE_NOT_ALLOWED_FOR_ORIGIN = 109, |
135 WSH_SEND_BLOB_DURING_BLOB_SEND = 110, | 135 WSI_UNEXPECTED_ADD_CHANNEL_REQUEST = 110, |
136 WSH_SEND_FRAME_DURING_BLOB_SEND = 111, | 136 WSI_UNEXPECTED_SEND_FRAME = 111, |
137 RFH_UNEXPECTED_LOAD_START = 112, | 137 RFH_UNEXPECTED_LOAD_START = 112, |
138 NMF_INVALID_ARGUMENT = 113, | 138 NMF_INVALID_ARGUMENT = 113, |
139 RFH_INVALID_ORIGIN_ON_COMMIT = 114, | 139 RFH_INVALID_ORIGIN_ON_COMMIT = 114, |
140 BDH_UUID_REGISTERED = 115, | 140 BDH_UUID_REGISTERED = 115, |
141 BDH_CONSTRUCTION_FAILED = 116, | 141 BDH_CONSTRUCTION_FAILED = 116, |
142 BDH_INVALID_REFCOUNT_OPERATION = 117, | 142 BDH_INVALID_REFCOUNT_OPERATION = 117, |
143 BDH_INVALID_URL_OPERATION = 118, | 143 BDH_INVALID_URL_OPERATION = 118, |
144 IDBDH_INVALID_ORIGIN = 119, | 144 IDBDH_INVALID_ORIGIN = 119, |
145 RFH_FAIL_PROVISIONAL_LOAD_NO_HANDLE = 120, | 145 RFH_FAIL_PROVISIONAL_LOAD_NO_HANDLE = 120, |
146 RFH_FAIL_PROVISIONAL_LOAD_NO_ERROR = 121, | 146 RFH_FAIL_PROVISIONAL_LOAD_NO_ERROR = 121, |
147 NI_IN_PAGE_NAVIGATION = 122, | 147 NI_IN_PAGE_NAVIGATION = 122, |
148 RPH_MOJO_PROCESS_ERROR = 123, | 148 RPH_MOJO_PROCESS_ERROR = 123, |
149 DBMF_INVALID_ORIGIN_ON_GET_SPACE = 124, | 149 DBMF_INVALID_ORIGIN_ON_GET_SPACE = 124, |
150 DBMF_INVALID_ORIGIN_ON_MODIFIED = 125, | 150 DBMF_INVALID_ORIGIN_ON_MODIFIED = 125, |
151 DBMF_INVALID_ORIGIN_ON_CLOSED = 126, | 151 DBMF_INVALID_ORIGIN_ON_CLOSED = 126, |
152 WSH_INVALID_HEADER_VALUE = 127, | 152 WSI_INVALID_HEADER_VALUE = 127, |
153 SWDH_SET_HOSTED_VERSION_INVALID_HOST = 128, | 153 SWDH_SET_HOSTED_VERSION_INVALID_HOST = 128, |
154 SWDH_SET_HOSTED_VERSION_PROCESS_MISMATCH = 129, | 154 SWDH_SET_HOSTED_VERSION_PROCESS_MISMATCH = 129, |
155 MSDH_INVALID_FRAME_ID = 130, | 155 MSDH_INVALID_FRAME_ID = 130, |
156 SDH_INVALID_PORT_RANGE = 131, | 156 SDH_INVALID_PORT_RANGE = 131, |
157 | 157 |
158 // Please add new elements here. The naming convention is abbreviated class | 158 // Please add new elements here. The naming convention is abbreviated class |
159 // name (e.g. RenderFrameHost becomes RFH) plus a unique description of the | 159 // name (e.g. RenderFrameHost becomes RFH) plus a unique description of the |
160 // reason. After making changes, you MUST update histograms.xml by running: | 160 // reason. After making changes, you MUST update histograms.xml by running: |
161 // "python tools/metrics/histograms/update_bad_message_reasons.py" | 161 // "python tools/metrics/histograms/update_bad_message_reasons.py" |
162 BAD_MESSAGE_MAX | 162 BAD_MESSAGE_MAX |
163 }; | 163 }; |
164 | 164 |
165 // Called when the browser receives a bad IPC message from a renderer process on | 165 // Called when the browser receives a bad IPC message from a renderer process on |
166 // the UI thread. Logs the event, records a histogram metric for the |reason|, | 166 // the UI thread. Logs the event, records a histogram metric for the |reason|, |
167 // and terminates the process for |host|. | 167 // and terminates the process for |host|. |
168 void ReceivedBadMessage(RenderProcessHost* host, BadMessageReason reason); | 168 void ReceivedBadMessage(RenderProcessHost* host, BadMessageReason reason); |
169 | 169 |
| 170 // Equivalent to the above, but callable from any thread. |
| 171 void ReceivedBadMessage(int render_process_id, BadMessageReason reason); |
| 172 |
170 // Called when a browser message filter receives a bad IPC message from a | 173 // Called when a browser message filter receives a bad IPC message from a |
171 // renderer or other child process. Logs the event, records a histogram metric | 174 // renderer or other child process. Logs the event, records a histogram metric |
172 // for the |reason|, and terminates the process for |filter|. | 175 // for the |reason|, and terminates the process for |filter|. |
173 void ReceivedBadMessage(BrowserMessageFilter* filter, BadMessageReason reason); | 176 void ReceivedBadMessage(BrowserMessageFilter* filter, BadMessageReason reason); |
174 | 177 |
175 } // namespace bad_message | 178 } // namespace bad_message |
176 } // namespace content | 179 } // namespace content |
177 | 180 |
178 #endif // CONTENT_BROWSER_BAD_MESSAGE_H_ | 181 #endif // CONTENT_BROWSER_BAD_MESSAGE_H_ |
OLD | NEW |