From 3a97ca8dd9b96b599ae2d33e40df0dd2f7ea5859 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Fri, 14 Aug 2015 11:38:45 +0200 Subject: BASELINE: Update chromium to 45.0.2454.40 Change-Id: Id2121d9f11a8fc633677236c65a3e41feef589e4 Reviewed-by: Andras Becsi --- chromium/ipc/handle_attachment_win.h | 49 ++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 chromium/ipc/handle_attachment_win.h (limited to 'chromium/ipc/handle_attachment_win.h') diff --git a/chromium/ipc/handle_attachment_win.h b/chromium/ipc/handle_attachment_win.h new file mode 100644 index 00000000000..7dd898ad54b --- /dev/null +++ b/chromium/ipc/handle_attachment_win.h @@ -0,0 +1,49 @@ +// 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. + +#ifndef IPC_HANDLE_ATTACHMENT_WIN_H_ +#define IPC_HANDLE_ATTACHMENT_WIN_H_ + +#include + +#include "base/process/process_handle.h" +#include "ipc/brokerable_attachment.h" +#include "ipc/ipc_export.h" + +namespace IPC { +namespace internal { + +// This class represents a Windows HANDLE attached to a Chrome IPC message. +class IPC_EXPORT HandleAttachmentWin : public BrokerableAttachment { + public: + // The wire format for this handle. + struct IPC_EXPORT WireFormat { + // The HANDLE that is intended for duplication, or the HANDLE that has been + // duplicated, depending on context. + // The type is int32_t instead of HANDLE because HANDLE gets typedefed to + // void*, whose size varies between 32 and 64-bit processes. Using a + // int32_t means that 64-bit processes will need to perform both up-casting + // and down-casting. This is performed using the appropriate Windows apis. + int32_t handle; + // The id of the destination process that the handle is duplicated into. + base::ProcessId destination_process; + AttachmentId attachment_id; + }; + + HandleAttachmentWin(const HANDLE& handle); + + BrokerableType GetBrokerableType() const override; + + // Returns the wire format of this attachment. + WireFormat GetWireFormat(const base::ProcessId& destination) const; + + private: + ~HandleAttachmentWin() override; + HANDLE handle_; +}; + +} // namespace internal +} // namespace IPC + +#endif // IPC_HANDLE_ATTACHMENT_WIN_H_ -- cgit v1.2.1