// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Multiply-included file, hence no include guard.

#include "build/build_config.h"
#undef CONTENT_COMMON_ACCESSIBILITY_MESSAGES_H_
#include "content/common/accessibility_messages.h"
#ifndef CONTENT_COMMON_ACCESSIBILITY_MESSAGES_H_
#error "Failed to include content/common/accessibility_messages.h"
#endif
#undef CONTENT_COMMON_BROWSER_PLUGIN_BROWSER_PLUGIN_MESSAGES_H_
#include "content/common/browser_plugin/browser_plugin_messages.h"
#ifndef CONTENT_COMMON_BROWSER_PLUGIN_BROWSER_PLUGIN_MESSAGES_H_
#error \
    "Failed to include content/common/browser_plugin/browser_plugin_messages.h"
#endif
#undef CONTENT_COMMON_DOM_STORAGE_DOM_STORAGE_MESSAGES_H_
#include "content/common/dom_storage/dom_storage_messages.h"
#ifndef CONTENT_COMMON_DOM_STORAGE_DOM_STORAGE_MESSAGES_H_
#error "Failed to include content/common/dom_storage/dom_storage_messages.h"
#endif
#undef CONTENT_COMMON_DRAG_MESSAGES_H_
#include "content/common/drag_messages.h"
#ifndef CONTENT_COMMON_DRAG_MESSAGES_H_
#error "Failed to include content/common/drag_messages.h"
#endif
#include "content/common/drag_traits.h"
#undef CONTENT_COMMON_FILEAPI_FILE_SYSTEM_MESSAGES_H_
#include "content/common/fileapi/file_system_messages.h"
#ifndef CONTENT_COMMON_FILEAPI_FILE_SYSTEM_MESSAGES_H_
#error "Failed to include content/common/fileapi/file_system_messages.h"
#endif
#undef CONTENT_COMMON_FILEAPI_WEBBLOB_MESSAGES_H_
#include "content/common/fileapi/webblob_messages.h"
#ifndef CONTENT_COMMON_FILEAPI_WEBBLOB_MESSAGES_H_
#error "Failed to include content/common/fileapi/webblob_messages.h"
#endif
#undef CONTENT_COMMON_FRAME_MESSAGES_H_
#include "content/common/frame_messages.h"
#ifndef CONTENT_COMMON_FRAME_MESSAGES_H_
#error "Failed to include content/common/frame_messages.h"
#endif
#undef CONTENT_COMMON_INPUT_MESSAGES_H_
#include "content/common/input_messages.h"
#ifndef CONTENT_COMMON_INPUT_MESSAGES_H_
#error "Failed to include content/common/input_messages.h"
#endif
#undef CONTENT_COMMON_MEDIA_AEC_DUMP_MESSAGES_H_
#include "content/common/media/aec_dump_messages.h"
#ifndef CONTENT_COMMON_MEDIA_AEC_DUMP_MESSAGES_H_
#error "Failed to include content/common/media/aec_dump_messages.h"
#endif
#undef CONTENT_COMMON_MEDIA_MEDIA_PLAYER_DELEGATE_MESSAGES_H_
#include "content/common/media/media_player_delegate_messages.h"
#ifndef CONTENT_COMMON_MEDIA_MEDIA_PLAYER_DELEGATE_MESSAGES_H_
#error "Failed to include content/common/media/media_player_delegate_messages.h"
#endif
#undef CONTENT_COMMON_MEDIA_MIDI_MESSAGES_H_
#include "content/common/media/midi_messages.h"
#ifndef CONTENT_COMMON_MEDIA_MIDI_MESSAGES_H_
#error "Failed to include content/common/media/midi_messages.h"
#endif
#undef CONTENT_COMMON_MEDIA_PEER_CONNECTION_TRACKER_MESSAGES_H_
#include "content/common/media/peer_connection_tracker_messages.h"
#ifndef CONTENT_COMMON_MEDIA_PEER_CONNECTION_TRACKER_MESSAGES_H_
#error \
    "Failed to include content/common/media/peer_connection_tracker_messages.h"
#endif
#undef CONTENT_COMMON_PAGE_MESSAGES_H_
#include "content/common/page_messages.h"
#ifndef CONTENT_COMMON_PAGE_MESSAGES_H_
#error "Failed to include content/common/page_messages.h"
#endif
#undef CONTENT_COMMON_RESOURCE_MESSAGES_H_
#include "content/common/resource_messages.h"
#ifndef CONTENT_COMMON_RESOURCE_MESSAGES_H_
#error "Failed to include content/common/resource_messages.h"
#endif
#undef CONTENT_COMMON_SERVICE_WORKER_SERVICE_WORKER_MESSAGES_H_
#include "content/common/service_worker/service_worker_messages.h"
#ifndef CONTENT_COMMON_SERVICE_WORKER_SERVICE_WORKER_MESSAGES_H_
#error \
    "Failed to include content/common/service_worker/service_worker_messages.h"
#endif
#undef CONTENT_COMMON_TEXT_INPUT_CLIENT_MESSAGES_H_
#include "content/common/text_input_client_messages.h"
#ifndef CONTENT_COMMON_TEXT_INPUT_CLIENT_MESSAGES_H_
#error "Failed to include content/common/text_input_client_messages.h"
#endif
#undef CONTENT_COMMON_VIEW_MESSAGES_H_
#include "content/common/view_messages.h"
#ifndef CONTENT_COMMON_VIEW_MESSAGES_H_
#error "Failed to include content/common/view_messages.h"
#endif
#include "media/media_buildflags.h"

#undef CONTENT_COMMON_SYNC_COMPOSITOR_MESSAGES_H_
#include "content/common/input/sync_compositor_messages.h"
#ifndef CONTENT_COMMON_SYNC_COMPOSITOR_MESSAGES_H_
#error "Failed to include content/common/input/sync_compositor_messages.h"
#endif

#undef CONTENT_COMMON_P2P_MESSAGES_H_
#include "content/common/p2p_messages.h"
#ifndef CONTENT_COMMON_P2P_MESSAGES_H_
#error "Failed to include content/common/p2p_messages.h"
#endif

#if defined(OS_ANDROID)
#undef CONTENT_COMMON_GIN_JAVA_BRIDGE_MESSAGES_H_
#include "content/common/gin_java_bridge_messages.h"
#ifndef CONTENT_COMMON_GIN_JAVA_BRIDGE_MESSAGES_H_
#error "Failed to include content/common/gin_java_bridge_messages.h"
#endif
#undef CONTENT_COMMON_MEDIA_MEDIA_PLAYER_MESSAGES_ANDROID_H_
#include "content/common/media/media_player_messages_android.h"
#ifndef CONTENT_COMMON_MEDIA_MEDIA_PLAYER_MESSAGES_ANDROID_H_
#error "Failed to include content/common/media/media_player_messages_android.h"
#endif
#endif  // defined(OS_ANDROID)
