| // Copyright 2017 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. |
| |
| #include "extensions/renderer/message_target.h" |
| |
| namespace extensions { |
| |
| MessageTarget MessageTarget::ForTab(int tab_id, int frame_id) { |
| MessageTarget target(TAB); |
| target.tab_id = tab_id; |
| target.frame_id = frame_id; |
| return target; |
| } |
| |
| MessageTarget MessageTarget::ForExtension(const ExtensionId& extension_id) { |
| MessageTarget target(EXTENSION); |
| target.extension_id = extension_id; |
| return target; |
| } |
| |
| MessageTarget MessageTarget::ForNativeApp(const std::string& native_app) { |
| MessageTarget target(NATIVE_APP); |
| target.native_application_name = native_app; |
| return target; |
| } |
| |
| MessageTarget::MessageTarget(MessageTarget&& other) = default; |
| MessageTarget::MessageTarget(const MessageTarget& other) = default; |
| MessageTarget::~MessageTarget() {} |
| |
| bool MessageTarget::operator==(const MessageTarget& other) const { |
| return type == other.type && extension_id == other.extension_id && |
| native_application_name == other.native_application_name && |
| tab_id == other.tab_id && frame_id == other.frame_id; |
| } |
| |
| MessageTarget::MessageTarget(Type type) : type(type) {} |
| |
| } // namespace extensions |