// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef EXTENSIONS_COMMON_API_MESSAGING_MESSAGE_H_ #define EXTENSIONS_COMMON_API_MESSAGING_MESSAGE_H_ #include "extensions/common/api/messaging/serialization_format.h" namespace extensions { // A message consists of both the data itself as well as a user gesture state. struct Message { std::string data; SerializationFormat format = SerializationFormat::kJson; bool user_gesture = false; bool from_privileged_context = false; Message() = default; Message(const std::string& data, SerializationFormat format, bool user_gesture, bool from_privileged_context = false) : data(data), format(format), user_gesture(user_gesture), from_privileged_context(from_privileged_context) {} bool operator==(const Message& other) const { // Skipping the equality check for |from_privileged_context| here // because this field is used only for histograms. return data == other.data && user_gesture == other.user_gesture && format == other.format; } }; } // namespace extensions #endif // EXTENSIONS_COMMON_API_MESSAGING_MESSAGE_H_