| // Copyright 2015 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CONTENT_BROWSER_BAD_MESSAGE_H_ |
| #define CONTENT_BROWSER_BAD_MESSAGE_H_ |
| |
| #include "base/debug/crash_logging.h" |
| #include "content/common/buildflags.h" |
| #include "content/public/browser/child_process_id.h" |
| |
| namespace content { |
| class BrowserMessageFilter; |
| class RenderProcessHost; |
| |
| namespace bad_message { |
| |
| // The browser process often chooses to terminate a renderer if it receives |
| // a bad IPC message. The reasons are tracked for metrics. |
| // |
| // Content embedders should implement their own bad message statistics but |
| // should use similar histogram names to make analysis easier. |
| // |
| // NOTE: Do not remove or reorder elements in this list. Add new entries at the |
| // end. Items may be renamed but do not change the values. We rely on the enum |
| // values in histograms. |
| enum BadMessageReason { |
| OBSOLETE_NC_IN_PAGE_NAVIGATION = 0, |
| RFH_CAN_COMMIT_URL_BLOCKED = 1, |
| RFH_CAN_ACCESS_FILES_OF_PAGE_STATE = 2, |
| RFH_SANDBOX_FLAGS = 3, |
| RFH_NO_PROXY_TO_PARENT = 4, |
| RPH_DESERIALIZATION_FAILED = 5, |
| OBSOLETE_RVH_CAN_ACCESS_FILES_OF_PAGE_STATE = 6, |
| OBSOLETE_RFH_FILE_CHOOSER_PATH = 7, |
| OBSOLETE_RWH_SYNTHETIC_GESTURE = 8, |
| OBSOLETE_RWH_FOCUS = 9, |
| OBSOLETE_RWH_BLUR = 10, |
| RWH_SHARED_BITMAP = 11, |
| OBSOLETE_RWH_BAD_ACK_MESSAGE = 12, |
| OBSOLETE_RWHVA_SHARED_MEMORY = 13, |
| SERVICE_WORKER_BAD_URL = 14, |
| OBSOLETE_WC_INVALID_FRAME_SOURCE = 15, |
| OBSOLETE_RWHVM_UNEXPECTED_FRAME_TYPE = 16, |
| RFPH_DETACH = 17, |
| DFH_BAD_EMBEDDER_MESSAGE = 18, |
| NC_AUTO_SUBFRAME = 19, |
| CSDH_NOT_RECOGNIZED = 20, |
| OBSOLETE_DSMF_OPEN_STORAGE = 21, |
| DSMF_LOAD_STORAGE = 22, |
| OBSOLETE_DBMF_INVALID_ORIGIN_ON_OPEN = 23, |
| OBSOLETE_DBMF_DB_NOT_OPEN_ON_MODIFY = 24, |
| OBSOLETE_DBMF_DB_NOT_OPEN_ON_CLOSE = 25, |
| OBSOLETE_DBMF_INVALID_ORIGIN_ON_SQLITE_ERROR = 26, |
| RDH_INVALID_PRIORITY = 27, |
| OBSOLETE_RDH_REQUEST_NOT_TRANSFERRING = 28, |
| RDH_BAD_DOWNLOAD = 29, |
| OBSOLETE_NMF_NO_PERMISSION_SHOW = 30, |
| OBSOLETE_NMF_NO_PERMISSION_CLOSE = 31, |
| OBSOLETE_NMF_NO_PERMISSION_VERIFY = 32, |
| MH_INVALID_MIDI_PORT = 33, |
| MH_MIDI_SYSEX_PERMISSION = 34, |
| ACDH_REGISTER = 35, |
| ACDH_UNREGISTER = 36, |
| ACDH_SET_SPAWNING = 37, |
| ACDH_SELECT_CACHE = 38, |
| OBSOLETE_ACDH_SELECT_CACHE_FOR_WORKER = 39, |
| ACDH_SELECT_CACHE_FOR_SHARED_WORKER = 40, |
| ACDH_MARK_AS_FOREIGN_ENTRY = 41, |
| ACDH_PENDING_REPLY_IN_GET_STATUS = 42, |
| ACDH_GET_STATUS = 43, |
| ACDH_PENDING_REPLY_IN_START_UPDATE = 44, |
| ACDH_START_UPDATE = 45, |
| ACDH_PENDING_REPLY_IN_SWAP_CACHE = 46, |
| ACDH_SWAP_CACHE = 47, |
| SWDH_NOT_HANDLED = 48, |
| OBSOLETE_SWDH_REGISTER_BAD_URL = 49, |
| OBSOLETE_SWDH_REGISTER_NO_HOST = 50, |
| OBSOLETE_SWDH_REGISTER_CANNOT = 51, |
| OBSOLETE_SWDH_UNREGISTER_BAD_URL = 52, |
| OBSOLETE_SWDH_UNREGISTER_NO_HOST = 53, |
| OBSOLETE_SWDH_UNREGISTER_CANNOT = 54, |
| OBSOLETE_SWDH_GET_REGISTRATION_BAD_URL = 55, |
| OBSOLETE_SWDH_GET_REGISTRATION_NO_HOST = 56, |
| OBSOLETE_SWDH_GET_REGISTRATION_CANNOT = 57, |
| OBSOLETE_SWDH_GET_REGISTRATION_FOR_READY_NO_HOST = 58, |
| OBSOLETE_SWDH_GET_REGISTRATION_FOR_READY_ALREADY_IN_PROGRESS = 59, |
| SWDH_POST_MESSAGE = 60, |
| OBSOLETE_SWDH_PROVIDER_CREATED_NO_HOST = 61, |
| OBSOLETE_SWDH_PROVIDER_DESTROYED_NO_HOST = 62, |
| OBSOLETE_SWDH_SET_HOSTED_VERSION_NO_HOST = 63, |
| OBSOLETE_SWDH_SET_HOSTED_VERSION = 64, |
| OBSOLETE_SWDH_WORKER_SCRIPT_LOAD_NO_HOST = 65, |
| SWDH_INCREMENT_WORKER_BAD_HANDLE = 66, |
| SWDH_DECREMENT_WORKER_BAD_HANDLE = 67, |
| OBSOLETE_SWDH_INCREMENT_REGISTRATION_BAD_HANDLE = 68, |
| OBSOLETE_SWDH_DECREMENT_REGISTRATION_BAD_HANDLE = 69, |
| SWDH_TERMINATE_BAD_HANDLE = 70, |
| OBSOLETE_FAMF_APPEND_ITEM_TO_BLOB = 71, |
| OBSOLETE_FAMF_APPEND_SHARED_MEMORY_TO_BLOB = 72, |
| OBSOLETE_FAMF_MALFORMED_STREAM_URL = 73, |
| OBSOLETE_FAMF_APPEND_ITEM_TO_STREAM = 74, |
| OBSOLETE_FAMF_APPEND_SHARED_MEMORY_TO_STREAM = 75, |
| OBSOLETE_IDBDH_CAN_READ_FILE = 76, |
| OBSOLETE_IDBDH_GET_OR_TERMINATE = 77, |
| RFMF_SET_COOKIE_BAD_ORIGIN = 78, |
| RFMF_GET_COOKIES_BAD_ORIGIN = 79, |
| OBSOLETE_SWDH_GET_REGISTRATIONS_NO_HOST = 80, |
| OBSOLETE_SWDH_GET_REGISTRATIONS_INVALID_ORIGIN = 81, |
| OBSOLETE_AOAH_UNAUTHORIZED_URL = 82, |
| BDH_INVALID_SERVICE_ID = 83, |
| OBSOLETE_RFH_COMMIT_DESERIALIZATION_FAILED = 84, |
| BDH_INVALID_CHARACTERISTIC_ID = 85, |
| OBSOLETE_SWDH_UPDATE_NO_HOST = 86, |
| OBSOLETE_SWDH_UPDATE_BAD_REGISTRATION_ID = 87, |
| OBSOLETE_SWDH_UPDATE_CANNOT = 88, |
| OBSOLETE_SWDH_UNREGISTER_BAD_REGISTRATION_ID = 89, |
| BDH_INVALID_WRITE_VALUE_LENGTH = 90, |
| OBSOLETE_WC_MEMORY_CACHE_RESOURCE_BAD_SECURITY_INFO = 91, |
| OBSOLETE_WC_RENDERER_DID_NAVIGATE_BAD_SECURITY_INFO = 92, |
| OBSOLETE_BDH_DUPLICATE_REQUEST_DEVICE_ID = 93, |
| CSDH_INVALID_ORIGIN = 94, |
| OBSOLETE_RDH_ILLEGAL_ORIGIN = 95, |
| OBSOLETE_RDH_UNAUTHORIZED_HEADER_REQUEST = 96, |
| RDH_INVALID_URL = 97, |
| OBSOLETE_BDH_CHARACTERISTIC_ALREADY_SUBSCRIBED = 98, |
| RFH_OWNER_PROPERTY = 99, |
| OBSOLETE_BDH_EMPTY_OR_INVALID_FILTERS = 100, |
| OBSOLETE_WC_CONTENT_WITH_CERT_ERRORS_BAD_SECURITY_INFO = 101, |
| OBSOLETE_RFMF_RENDERER_FAKED_ITS_OWN_DEATH = 102, |
| DWNLD_INVALID_SAVABLE_RESOURCE_LINKS_RESPONSE = 103, |
| OBSOLETE_DWNLD_INVALID_SERIALIZE_AS_MHTML_RESPONSE = 104, |
| BDH_DEVICE_NOT_ALLOWED_FOR_ORIGIN = 105, |
| OBSOLETE_ACI_WRONG_STORAGE_PARTITION = 106, |
| OBSOLETE_RDHI_WRONG_STORAGE_PARTITION = 107, |
| RDH_INVALID_REQUEST_ID = 108, |
| BDH_SERVICE_NOT_ALLOWED_FOR_ORIGIN = 109, |
| WSI_UNEXPECTED_ADD_CHANNEL_REQUEST = 110, |
| WSI_UNEXPECTED_SEND_FRAME = 111, |
| RFH_UNEXPECTED_LOAD_START = 112, |
| NMF_INVALID_ARGUMENT = 113, |
| RFH_INVALID_ORIGIN_ON_COMMIT = 114, |
| BDH_UUID_REGISTERED = 115, |
| BDH_CONSTRUCTION_FAILED = 116, |
| BDH_INVALID_REFCOUNT_OPERATION = 117, |
| BDH_INVALID_URL_OPERATION = 118, |
| OBSOLETE_IDBDH_INVALID_ORIGIN = 119, |
| OBSOLETE_RFH_FAIL_PROVISIONAL_LOAD_NO_HANDLE = 120, |
| OBSOLETE_RFH_FAIL_PROVISIONAL_LOAD_NO_ERROR = 121, |
| NI_IN_PAGE_NAVIGATION = 122, |
| RPH_MOJO_PROCESS_ERROR = 123, |
| OBSOLETE_DBMF_INVALID_ORIGIN_ON_GET_SPACE = 124, |
| OBSOLETE_DBMF_INVALID_ORIGIN_ON_MODIFIED = 125, |
| OBSOLETE_DBMF_INVALID_ORIGIN_ON_CLOSED = 126, |
| OBSOLETE_WSI_INVALID_HEADER_VALUE = 127, |
| OBSOLETE_SWDH_SET_HOSTED_VERSION_INVALID_HOST = 128, |
| OBSOLETE_SWDH_SET_HOSTED_VERSION_PROCESS_MISMATCH = 129, |
| OBSOLETE_MSDH_INVALID_FRAME_ID = 130, |
| SDH_INVALID_PORT_RANGE = 131, |
| SCO_INVALID_ARGUMENT = 132, |
| RFH_INCONSISTENT_DEVTOOLS_MESSAGE = 133, |
| DSH_DUPLICATE_CONNECTION_ID = 134, |
| DSH_NOT_CREATED_SESSION_ID = 135, |
| DSH_NOT_ALLOCATED_SESSION_ID = 136, |
| DSH_DELETED_SESSION_ID = 137, |
| OBSOLETE_DSH_WRONG_STORAGE_PARTITION = 138, |
| BDH_DISALLOWED_ORIGIN = 139, |
| ARH_CREATED_STREAM_WITHOUT_AUTHORIZATION = 140, |
| MDDH_INVALID_DEVICE_TYPE_REQUEST = 141, |
| OBSOLETE_MDDH_UNAUTHORIZED_ORIGIN = 142, |
| OBSOLETE_SWDH_ENABLE_NAVIGATION_PRELOAD_NO_HOST = 143, |
| OBSOLETE_SWDH_ENABLE_NAVIGATION_PRELOAD_INVALID_ORIGIN = 144, |
| OBSOLETE_SWDH_ENABLE_NAVIGATION_PRELOAD_BAD_REGISTRATION_ID = 145, |
| OBSOLETE_RDH_TRANSFERRING_REQUEST_NOT_FOUND = |
| 146, // Disabled - crbug.com/659613. |
| OBSOLETE_RDH_TRANSFERRING_NONNAVIGATIONAL_REQUEST = 147, |
| OBSOLETE_SWDH_GET_NAVIGATION_PRELOAD_STATE_NO_HOST = 148, |
| OBSOLETE_SWDH_GET_NAVIGATION_PRELOAD_STATE_INVALID_ORIGIN = 149, |
| OBSOLETE_SWDH_GET_NAVIGATION_PRELOAD_STATE_BAD_REGISTRATION_ID = 150, |
| OBSOLETE_SWDH_SET_NAVIGATION_PRELOAD_HEADER_NO_HOST = 151, |
| OBSOLETE_SWDH_SET_NAVIGATION_PRELOAD_HEADER_INVALID_ORIGIN = 152, |
| OBSOLETE_SWDH_SET_NAVIGATION_PRELOAD_HEADER_BAD_REGISTRATION_ID = 153, |
| OBSOLETE_SWDH_SET_NAVIGATION_PRELOAD_HEADER_BAD_VALUE = 154, |
| MDDH_INVALID_SUBSCRIPTION_REQUEST = 155, |
| OBSOLETE_MDDH_INVALID_UNSUBSCRIPTION_REQUEST = 156, |
| OBSOLETE_AOAH_NONSENSE_DEVICE_ID = 157, |
| BDH_INVALID_OPTIONS = 158, |
| RFH_DID_ADD_CONSOLE_MESSAGE_BAD_SEVERITY = 159, |
| AIRH_VOLUME_OUT_OF_RANGE = 160, |
| BDH_INVALID_DESCRIPTOR_ID = 161, |
| OBSOLETE_RWH_INVALID_BEGIN_FRAME_ACK_DID_NOT_SWAP = 162, |
| OBSOLETE_RWH_INVALID_BEGIN_FRAME_ACK_COMPOSITOR_FRAME = 163, |
| BFSI_INVALID_DEVELOPER_ID = 164, |
| BFSI_INVALID_REQUESTS = 165, |
| BFSI_INVALID_TITLE = 166, |
| RWH_INVALID_FRAME_TOKEN = 167, |
| RWH_BAD_FRAME_SINK_REQUEST = 168, |
| RWH_SURFACE_INVARIANTS_VIOLATION = 169, |
| ILLEGAL_UPLOAD_PARAMS = 170, |
| RFH_BASE_URL_FOR_DATA_URL_SPECIFIED = 171, |
| OBSOLETE_RFPH_ILLEGAL_UPLOAD_PARAMS = 172, |
| OBSOLETE_SWDH_PROVIDER_CREATED_ILLEGAL_TYPE = 173, |
| OBSOLETE_SWDH_PROVIDER_CREATED_ILLEGAL_TYPE_NOT_WINDOW = 174, |
| OBSOLETE_SWDH_PROVIDER_CREATED_ILLEGAL_TYPE_SERVICE_WORKER = 175, |
| OBSOLETE_SWDH_PROVIDER_CREATED_DUPLICATE_ID = 176, |
| OBSOLETE_SWDH_PROVIDER_CREATED_BAD_ID = 177, |
| RFH_KEEP_ALIVE_HANDLE_REQUESTED_INCORRECTLY = 178, |
| BFSI_INVALID_UNIQUE_ID = 179, |
| BPE_UNEXPECTED_MESSAGE_BEFORE_BPGM_CREATION = 180, |
| WEBUI_SEND_FROM_UNAUTHORIZED_PROCESS = 181, |
| CPFC_RESIZE_PARAMS_CHANGED_LOCAL_SURFACE_ID_UNCHANGED = 182, |
| BPG_RESIZE_PARAMS_CHANGED_LOCAL_SURFACE_ID_UNCHANGED = 183, |
| RFH_NEGATIVE_SELECTION_START_OFFSET = 184, |
| WEBUI_BAD_SCHEME_ACCESS = 185, |
| CSDH_UNEXPECTED_OPERATION = 186, |
| RMF_BAD_URL_CACHEABLE_METADATA = 187, |
| RFH_INTERFACE_PROVIDER_MISSING = 188, |
| OBSOLETE_RFH_INTERFACE_PROVIDER_SUPERFLUOUS = 189, |
| AIRH_UNEXPECTED_BITSTREAM = 190, |
| ARH_UNEXPECTED_BITSTREAM = 191, |
| RDH_NULL_CLIENT = 192, |
| RVH_WEB_UI_BINDINGS_MISMATCH = 193, |
| OBSOLETE_WCI_NEW_WIDGET_PROCESS_MISMATCH = 194, |
| AUTH_INVALID_EFFECTIVE_DOMAIN = 195, |
| AUTH_INVALID_RELYING_PARTY = 196, |
| RWH_COPY_REQUEST_ATTEMPT = 197, |
| SYNC_COMPOSITOR_NO_FUTURE_FRAME = 198, |
| SYNC_COMPOSITOR_NO_BEGIN_FRAME = 199, |
| WEBUI_BAD_HOST_ACCESS = 200, |
| OBSOLETE_RFMF_BLOB_URL_TOKEN_FOR_NON_BLOB_URL = 201, |
| PSI_BAD_PERMISSION_DESCRIPTOR = 202, |
| BLOB_URL_TOKEN_FOR_NON_BLOB_URL = 203, |
| OBSOLETE_RFPH_BLOB_URL_TOKEN_FOR_NON_BLOB_URL = 204, |
| RFH_ERROR_PROCESS_NON_ERROR_COMMIT = 205, |
| RFH_ERROR_PROCESS_NON_UNIQUE_ORIGIN_COMMIT = 206, |
| OBSOLETE_RFH_CANNOT_RENDER_FALLBACK_CONTENT = 207, |
| OBSOLETE_RFH_CHILD_FRAME_NEEDS_OWNER_ELEMENT_TYPE = 208, |
| OBSOLETE_RFH_INVALID_WEB_REPORTING_CRASH_ID = 209, |
| RFH_DETACH_MAIN_FRAME = 210, |
| RFH_BROWSER_INTERFACE_BROKER_MISSING = 211, |
| RFPH_POST_MESSAGE_INVALID_SOURCE_ORIGIN = 212, |
| INVALID_INITIATOR_ORIGIN = 213, |
| RFHI_BEGIN_NAVIGATION_MISSING_INITIATOR_ORIGIN = 214, |
| RFHI_BEGIN_NAVIGATION_NON_WEBBY_TRANSITION = 215, |
| RFH_NO_MATCHING_NAVIGATION_REQUEST_ON_COMMIT = 216, |
| OBSOLETE_AUTH_INVALID_ICON_URL = 217, |
| MDDH_INVALID_STREAM_SELECTION_INFO = 218, |
| REGISTER_PROTOCOL_HANDLER_INVALID_URL = 219, |
| NC_SAME_DOCUMENT_POST_COMMIT_ERROR = 220, |
| RFH_INVALID_WEB_UI_CONTROLLER = 221, |
| OBSOLETE_RFPH_ADVANCE_FOCUS_INTO_PORTAL = 222, |
| RFH_UNEXPECTED_EMBEDDING_TOKEN = 223, |
| RFH_MISSING_EMBEDDING_TOKEN = 224, |
| RFH_BAD_DOCUMENT_POLICY_HEADER = 225, |
| RFMF_INVALID_PLUGIN_EMBEDDER_ORIGIN = 226, |
| RFH_INVALID_CALL_FROM_NOT_MAIN_FRAME = 227, |
| INPUT_ROUTER_INVALID_EVENT_SOURCE = 228, |
| RFH_INACTIVE_CHECK_FROM_SPECULATIVE_RFH = 229, |
| RFH_SUBFRAME_CAPTURE_ON_MAIN_FRAME = 230, |
| RFH_CSP_ATTRIBUTE = 231, |
| RFH_RECEIVED_ASSOCIATED_MESSAGE_WHILE_BFCACHED = 232, |
| OBSOLETE_RWH_CLOSE_PORTAL = 233, |
| MSDH_INVALID_STREAM_TYPE = 234, |
| RFH_CREATE_CHILD_FRAME_TOKENS_NOT_FOUND = 235, |
| ASGH_ASSOCIATED_INTERFACE_REQUEST = 236, |
| ASGH_RECEIVED_CONTROL_MESSAGE = 237, |
| CSDH_BAD_OWNER = 238, |
| SYNC_COMPOSITOR_NO_LOCAL_SURFACE_ID = 239, |
| WCI_INVALID_FULLSCREEN_OPTIONS = 240, |
| PAYMENTS_WITHOUT_PERMISSION = 241, |
| WEB_BUNDLE_INVALID_NAVIGATION_URL = 242, |
| WCI_INVALID_DOWNLOAD_IMAGE_RESULT = 243, |
| MDDH_NULL_CAPTURE_HANDLE_CONFIG = 244, |
| MDDH_INVALID_CAPTURE_HANDLE = 245, |
| MDDH_INVALID_ALL_ORIGINS_PERMITTED = 246, |
| MDDH_INVALID_PERMITTED_ORIGIN = 247, |
| MDDH_NOT_TOP_LEVEL = 248, |
| RFH_DID_CHANGE_IFRAME_ATTRIBUTE = 249, |
| FARI_LOGOUT_BAD_ENDPOINT = 250, |
| OBSOLETE_RFH_CHILD_FRAME_UNEXPECTED_OWNER_ELEMENT_TYPE = 251, |
| RFH_POPUP_REQUEST_WHILE_PRERENDERING = 252, |
| RFH_INTERECEPT_DOWNLOAD_WHILE_INACTIVE = 253, |
| RFH_CREATE_CHILD_FRAME_SANDBOX_FLAGS = 254, |
| RFPH_FOCUSED_FENCED_FRAME = 255, |
| WCI_REQUEST_LOCK_MOUSE_FENCED_FRAME = 256, |
| BFSI_CREATE_FOR_FRAME_FENCED_FRAME = 257, |
| RFH_FENCED_FRAME_MOJO_WHEN_DISABLED = 258, |
| PMM_SUBSCRIBE_INVALID_ORIGIN = 259, |
| PMM_UNSUBSCRIBE_INVALID_ORIGIN = 260, |
| PMM_GET_SUBSCRIPTION_INVALID_ORIGIN = 261, |
| RFH_INACTIVE_CHECK_FROM_PENDING_COMMIT_RFH = 262, |
| MSDH_INVALID_STREAM_TYPE_COMBINATION = 263, |
| AUTH_INVALID_FENCED_FRAME = 264, |
| BIBI_BIND_GAMEPAD_MONITOR_FOR_FENCED_FRAME = 265, |
| BIBI_BIND_GAMEPAD_HAPTICS_MANAGER_FOR_FENCED_FRAME = 266, |
| BIBI_BIND_BATTERY_MONITOR_FOR_FENCED_FRAME = 267, |
| RFH_CREATE_FENCED_FRAME_IN_SANDBOXED_FRAME = 268, |
| RFH_UNLOAD_HANDLER_NOT_ALLOWED_IN_FENCED_FRAME = 269, |
| RFH_BEFOREUNLOAD_HANDLER_NOT_ALLOWED_IN_FENCED_FRAME = 270, |
| MSDH_GET_OPEN_DEVICE_USE_WITHOUT_FEATURE = 271, |
| RFHI_SUBFRAME_NAV_WOULD_CHANGE_MAINFRAME_ORIGIN = 272, |
| FF_CREATE_WHILE_PRERENDERING = 273, |
| RFHI_SET_OVERLAYS_CONTENT_NOT_OUTERMOST_FRAME = 274, |
| FF_DIFFERENT_MODE_THAN_EMBEDDER = 275, |
| RFHI_UNFENCED_TOP_IPC_OUTSIDE_FENCED_FRAME = 276, |
| FF_NAVIGATION_INVALID_URL = 277, |
| FTN_ANONYMOUS = 278, |
| BFSI_CREATE_FOR_WORKER_FENCED_FRAME = 279, |
| PMM_SUBSCRIBE_IN_FENCED_FRAME = 280, |
| MSDH_REQUEST_ALL_SCREENS_NOT_ALLOWED_FOR_ORIGIN = 281, |
| RFHI_CREATE_FENCED_FRAME_BAD_FRAME_TOKEN = 282, |
| RFHI_CREATE_FENCED_FRAME_BAD_DEVTOOLS_FRAME_TOKEN = 283, |
| FF_FROZEN_SANDBOX_FLAGS_CHANGED = 284, |
| MSM_GET_OPEN_DEVICE_FOR_UNSUPPORTED_STREAM_TYPE = 285, |
| MSDH_KEEP_DEVICE_ALIVE_USE_WITHOUT_FEATURE = 286, |
| OBSOLETE_MSDH_INCONSISTENT_AUDIO_TYPE_AND_REQUESTED_FIELDS = 287, |
| OBSOLETE_MSDH_INCONSISTENT_VIDEO_TYPE_AND_REQUESTED_FIELDS = 288, |
| MSDH_SUPPRESS_LOCAL_AUDIO_PLAYBACK_BUT_AUDIO_NOT_REQUESTED = 289, |
| MSDH_HOTWORD_ENABLED_BUT_AUDIO_NOT_REQUESTED = 290, |
| MSDH_DISABLE_LOCAL_ECHO_BUT_AUDIO_NOT_REQUESTED = 291, |
| MSDH_ON_STREAM_STARTED_DISALLOWED = 292, |
| RFH_WINDOW_CLOSE_ON_NON_OUTERMOST_FRAME = 293, |
| RFPH_WINDOW_CLOSE_ON_NON_OUTERMOST_FRAME = 294, |
| BIBI_BIND_PRESSURE_MANAGER_FOR_INSECURE_ORIGIN = 295, |
| BIBI_BIND_PRESSURE_MANAGER_FOR_FENCED_FRAME = 296, |
| BIBI_BIND_PRESSURE_MANAGER_BLOCKED_BY_PERMISSIONS_POLICY = 297, |
| RFSCI_BROWSER_VALIDATION_BAD_ORIGIN_TRIAL_TOKEN = 298, |
| RFH_RECEIVED_INVALID_BROWSING_TOPICS_ATTRIBUTE = 299, |
| OBSOLETE_RFHI_FULLSCREEN_NAV_INVALID_INITIAL_DOCUMENT = 300, |
| OBSOLETE_RFHI_FULLSCREEN_NAV_NOT_OUTERMOST_MAIN_FRAME = 301, |
| MH_MIDI_PERMISSION = 302, |
| RFH_CAN_ACCESS_FILES_OF_PAGE_STATE_AT_COMMIT = 303, |
| PSI_REQUEST_EMBEDDED_PERMISSION_WITHOUT_FEATURE = 304, |
| RFH_FOCUS_ACROSS_FENCED_BOUNDARY = 305, |
| RFH_RECEIVED_INVALID_SHARED_STORAGE_WRITABLE_ATTRIBUTE = 306, |
| MSDH_EXCLUDE_MONITORS_BUT_PREFERRED_MONITOR_REQUESTED = 307, |
| PSI_REGISTER_PERMISSION_ELEMENT_WITHOUT_FEATURE = 308, |
| OBSOLETE_RFH_RECEIVED_INVALID_AD_AUCTION_HEADERS_ATTRIBUTE = 309, |
| OBSOLETE_MSDH_SEND_WHEEL_BUT_CSC_FEATURE_DISABLED = 310, |
| MSDH_SEND_WHEEL_INVALID_ACTION = 311, |
| OBSOLETE_MSDH_GET_ZOOM_LEVEL_BUT_CSC_FEATURE_DISABLED = 312, |
| OBSOLETE_RFH_FENCED_DOCUMENT_DATA_NOT_FOUND = 313, |
| OBSOLETE_MSDH_SET_ZOOM_LEVEL_BUT_CSC_FEATURE_DISABLED = 314, |
| MSDH_SET_ZOOM_LEVEL_INVALID_LEVEL = 315, |
| SSHO_RECEIVED_SHARED_STORAGE_WRITE_HEADER_FROM_UNTRUSTWORTHY_ORIGIN = 316, |
| SSHO_RECEIVED_SHARED_STORAGE_WRITE_HEADER_FROM_OPAQUE_ORIGIN = 317, |
| SSHO_RECEIVED_SHARED_STORAGE_WRITE_HEADER_WITH_PERMISSION_DISABLED = 318, |
| RFPH_POST_MESSAGE_PDF_CONTENT_FRAME = 319, |
| PSI_ADD_PAGE_EMBEDDED_PERMISSION_OBSERVER_WITHOUT_FEATURE = 320, |
| RFH_INITIATOR_BASE_URL_IS_EMPTY = 321, |
| MDDH_SELECT_AUDIO_OUTPUT_WITHOUT_FEATURE = 322, |
| MDDH_SET_PREFERRED_SINK_ID_WITHOUT_FEATURE = 323, |
| MH_MULTIPLE_MIDI_SESSIONS = 324, |
| // Please add new elements here. The naming convention is abbreviated class |
| // name (e.g. RenderFrameHost becomes RFH) plus a unique description of the |
| // reason. After making changes, you MUST update histograms.xml by running: |
| // "python tools/metrics/histograms/update_bad_message_reasons.py" |
| BAD_MESSAGE_MAX |
| }; |
| |
| // Called when the browser receives a bad IPC message from a renderer process on |
| // the UI thread. Logs the event, records a histogram metric for the |reason|, |
| // and terminates the process for |host|. |
| void ReceivedBadMessage(RenderProcessHost* host, BadMessageReason reason); |
| |
| // Equivalent to the above, but callable from any thread. |
| void ReceivedBadMessage(ChildProcessId render_process_id, |
| BadMessageReason reason); |
| |
| // TODO(crbug.com/379869738): Deprecated, please use ReceivedBadMessage with |
| // ChildProcessId above. |
| void ReceivedBadMessage(int render_process_id, BadMessageReason reason); |
| |
| #if BUILDFLAG(CONTENT_ENABLE_LEGACY_IPC) |
| // Called when a browser message filter receives a bad IPC message from a |
| // renderer or other child process. Logs the event, records a histogram metric |
| // for the |reason|, and terminates the process for |filter|. |
| void ReceivedBadMessage(BrowserMessageFilter* filter, BadMessageReason reason); |
| #endif |
| |
| // Site isolation. These keys help debug renderer kills such as |
| // https://crbug.com/773140. |
| // Retuns a key for logging a requested SiteInfo. |
| base::debug::CrashKeyString* GetRequestedSiteInfoKey(); |
| |
| } // namespace bad_message |
| } // namespace content |
| |
| #endif // CONTENT_BROWSER_BAD_MESSAGE_H_ |