Roll src/third_party/WebKit dbf9be3:8d6c3d5 (svn 202308:202312)
[chromium-blink-merge.git] / ipc / attachment_broker_unprivileged_win.h
blobc3d290927410728fbfb3d300dd10abc59c52e5cf
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef IPC_ATTACHMENT_BROKER_UNPRIVILEGED_WIN_H_
6 #define IPC_ATTACHMENT_BROKER_UNPRIVILEGED_WIN_H_
8 #include "ipc/attachment_broker_unprivileged.h"
9 #include "ipc/handle_attachment_win.h"
10 #include "ipc/ipc_export.h"
12 namespace IPC {
14 class BrokerableAttachment;
16 // This class is an implementation of AttachmentBroker for the Windows platform
17 // for non-privileged processes.
18 class IPC_EXPORT AttachmentBrokerUnprivilegedWin
19 : public IPC::AttachmentBrokerUnprivileged {
20 public:
21 AttachmentBrokerUnprivilegedWin();
22 ~AttachmentBrokerUnprivilegedWin() override;
24 // IPC::AttachmentBroker overrides.
25 bool SendAttachmentToProcess(const BrokerableAttachment* attachment,
26 base::ProcessId destination_process) override;
28 // IPC::Listener overrides.
29 bool OnMessageReceived(const Message& message) override;
31 private:
32 // IPC message handlers.
33 void OnWinHandleHasBeenDuplicated(
34 const IPC::internal::HandleAttachmentWin::WireFormat& wire_format);
36 DISALLOW_COPY_AND_ASSIGN(AttachmentBrokerUnprivilegedWin);
39 } // namespace IPC
41 #endif // IPC_ATTACHMENT_BROKER_UNPRIVILEGED_WIN_H_