| Index: ipc/brokerable_attachment.h
|
| diff --git a/ipc/brokerable_attachment.h b/ipc/brokerable_attachment.h
|
| index 452d1297aa9df2cfdaa173652131b5f7a944d407..cad6f4d212b6949d7574d7575755ba38da91f4df 100644
|
| --- a/ipc/brokerable_attachment.h
|
| +++ b/ipc/brokerable_attachment.h
|
| @@ -22,6 +22,15 @@ class IPC_EXPORT BrokerableAttachment : public MessageAttachment {
|
| struct IPC_EXPORT AttachmentId {
|
| uint8_t nonce[kNonceSize];
|
|
|
| + // Default constructor returns a random nonce.
|
| + AttachmentId();
|
| +
|
| + // Constructs an AttachmentId from a buffer.
|
| + AttachmentId(const char* start_address, size_t size);
|
| +
|
| + // Writes the nonce into a buffer.
|
| + void SerializeToBuffer(char* start_address, size_t size);
|
| +
|
| bool operator==(const AttachmentId& rhs) const {
|
| for (size_t i = 0; i < kNonceSize; ++i) {
|
| if (nonce[i] != rhs.nonce[i])
|
| @@ -42,6 +51,7 @@ class IPC_EXPORT BrokerableAttachment : public MessageAttachment {
|
| };
|
|
|
| enum BrokerableType {
|
| + PLACEHOLDER,
|
| WIN_HANDLE,
|
| };
|
|
|
| @@ -52,31 +62,26 @@ class IPC_EXPORT BrokerableAttachment : public MessageAttachment {
|
| // can be used.
|
| bool NeedsBrokering() const;
|
|
|
| - // Fills in the data of this instance with the data from |attachment|.
|
| - // This instance must require brokering, |attachment| must be brokered, and
|
| - // both instances must have the same identifier.
|
| - virtual void PopulateWithAttachment(
|
| - const BrokerableAttachment* attachment) = 0;
|
| -
|
| // Returns TYPE_BROKERABLE_ATTACHMENT
|
| Type GetType() const override;
|
|
|
| virtual BrokerableType GetBrokerableType() const = 0;
|
|
|
| +// MessageAttachment override.
|
| +#if defined(OS_POSIX)
|
| + base::PlatformFile TakePlatformFile() override;
|
| +#endif // OS_POSIX
|
| +
|
| protected:
|
| BrokerableAttachment();
|
| - BrokerableAttachment(const AttachmentId& id, bool needs_brokering);
|
| + BrokerableAttachment(const AttachmentId& id);
|
| ~BrokerableAttachment() override;
|
|
|
| - void SetNeedsBrokering(bool needs_brokering);
|
| -
|
| private:
|
| // This member uniquely identifies a BrokerableAttachment across all Chrome
|
| // processes.
|
| const AttachmentId id_;
|
|
|
| - // Whether the attachment still needs to be filled in by an AttachmentBroker.
|
| - bool needs_brokering_;
|
| DISALLOW_COPY_AND_ASSIGN(BrokerableAttachment);
|
| };
|
|
|
|
|