diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-08-14 11:38:45 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-08-14 17:16:47 +0000 |
commit | 3a97ca8dd9b96b599ae2d33e40df0dd2f7ea5859 (patch) | |
tree | 43cc572ba067417c7341db81f71ae7cc6e0fcc3e /chromium/ipc/handle_attachment_win.h | |
parent | f61ab1ac7f855cd281809255c0aedbb1895e1823 (diff) | |
download | qtwebengine-chromium-3a97ca8dd9b96b599ae2d33e40df0dd2f7ea5859.tar.gz |
BASELINE: Update chromium to 45.0.2454.40
Change-Id: Id2121d9f11a8fc633677236c65a3e41feef589e4
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Diffstat (limited to 'chromium/ipc/handle_attachment_win.h')
-rw-r--r-- | chromium/ipc/handle_attachment_win.h | 49 |
1 files changed, 49 insertions, 0 deletions
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 <stdint.h> + +#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_ |