Index: ipc/attachment_broker_unprivileged_mac.cc |
diff --git a/ipc/attachment_broker_unprivileged_mac.cc b/ipc/attachment_broker_unprivileged_mac.cc |
deleted file mode 100644 |
index 4f37698cdf21a2078092a9f82345e0ec5fb1440e..0000000000000000000000000000000000000000 |
--- a/ipc/attachment_broker_unprivileged_mac.cc |
+++ /dev/null |
@@ -1,81 +0,0 @@ |
-// Copyright 2015 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 "ipc/attachment_broker_unprivileged_mac.h" |
- |
-#include <mach/mach.h> |
- |
-#include "base/mac/mach_port_util.h" |
-#include "base/mac/scoped_mach_port.h" |
-#include "base/process/process.h" |
-#include "ipc/attachment_broker_messages.h" |
-#include "ipc/brokerable_attachment.h" |
-#include "ipc/ipc_sender.h" |
-#include "ipc/mach_port_attachment_mac.h" |
- |
-namespace IPC { |
- |
-AttachmentBrokerUnprivilegedMac::AttachmentBrokerUnprivilegedMac() {} |
- |
-AttachmentBrokerUnprivilegedMac::~AttachmentBrokerUnprivilegedMac() {} |
- |
-bool AttachmentBrokerUnprivilegedMac::SendAttachmentToProcess( |
- const scoped_refptr<IPC::BrokerableAttachment>& attachment, |
- base::ProcessId destination_process) { |
- switch (attachment->GetBrokerableType()) { |
- case BrokerableAttachment::MACH_PORT: { |
- internal::MachPortAttachmentMac* mach_port_attachment = |
- static_cast<internal::MachPortAttachmentMac*>(attachment.get()); |
- internal::MachPortAttachmentMac::WireFormat format = |
- mach_port_attachment->GetWireFormat(destination_process); |
- bool success = |
- get_sender()->Send(new AttachmentBrokerMsg_DuplicateMachPort(format)); |
- if (success) |
- mach_port_attachment->reset_mach_port_ownership(); |
- return success; |
- } |
- default: |
- NOTREACHED(); |
- return false; |
- } |
- return false; |
-} |
- |
-bool AttachmentBrokerUnprivilegedMac::OnMessageReceived(const Message& msg) { |
- bool handled = true; |
- IPC_BEGIN_MESSAGE_MAP(AttachmentBrokerUnprivilegedMac, msg) |
- IPC_MESSAGE_HANDLER(AttachmentBrokerMsg_MachPortHasBeenDuplicated, |
- OnMachPortHasBeenDuplicated) |
- IPC_MESSAGE_UNHANDLED(handled = false) |
- IPC_END_MESSAGE_MAP() |
- return handled; |
-} |
- |
-void AttachmentBrokerUnprivilegedMac::OnMachPortHasBeenDuplicated( |
- const IPC::internal::MachPortAttachmentMac::WireFormat& wire_format) { |
- // The IPC message was intended for a different process. Ignore it. |
- if (wire_format.destination_process != base::Process::Current().Pid()) { |
- // If everything is functioning correctly, this path should not be taken. |
- // However, it's still important to validate all fields of the IPC message. |
- LogError(WRONG_DESTINATION); |
- return; |
- } |
- |
- base::mac::ScopedMachReceiveRight message_port(wire_format.mach_port); |
- base::mac::ScopedMachSendRight memory_object( |
- base::ReceiveMachPort(message_port.get())); |
- |
- LogError(memory_object.get() == MACH_PORT_NULL ? ERR_RECEIVE_MACH_MESSAGE |
- : SUCCESS); |
- |
- IPC::internal::MachPortAttachmentMac::WireFormat translated_wire_format( |
- memory_object.release(), wire_format.destination_process, |
- wire_format.attachment_id); |
- |
- scoped_refptr<BrokerableAttachment> attachment( |
- new IPC::internal::MachPortAttachmentMac(translated_wire_format)); |
- HandleReceivedAttachment(attachment); |
-} |
- |
-} // namespace IPC |