| Index: ipc/ipc_channel_reader.h
 | 
| diff --git a/ipc/ipc_channel_reader.h b/ipc/ipc_channel_reader.h
 | 
| index 2ee50af5362710d6ab443adb09c46b659de4d8a7..d69c616be6b4ea540718946e104096a1aa1389de 100644
 | 
| --- a/ipc/ipc_channel_reader.h
 | 
| +++ b/ipc/ipc_channel_reader.h
 | 
| @@ -12,7 +12,6 @@
 | 
|  #include "base/gtest_prod_util.h"
 | 
|  #include "base/macros.h"
 | 
|  #include "base/memory/scoped_vector.h"
 | 
| -#include "ipc/attachment_broker.h"
 | 
|  #include "ipc/brokerable_attachment.h"
 | 
|  #include "ipc/ipc_channel.h"
 | 
|  #include "ipc/ipc_export.h"
 | 
| @@ -32,8 +31,7 @@ namespace internal {
 | 
|  // functionality that would benefit from being factored out. If we add
 | 
|  // something like that in the future, it would be more appropriate to add it
 | 
|  // here (and rename appropriately) rather than writing a different class.
 | 
| -class IPC_EXPORT ChannelReader : public SupportsAttachmentBrokering,
 | 
| -                                 public AttachmentBroker::Observer {
 | 
| +class IPC_EXPORT ChannelReader {
 | 
|   public:
 | 
|    explicit ChannelReader(Listener* listener);
 | 
|    virtual ~ChannelReader();
 | 
| @@ -115,17 +113,11 @@ class IPC_EXPORT ChannelReader : public SupportsAttachmentBrokering,
 | 
|    virtual void HandleInternalMessage(const Message& msg) = 0;
 | 
|  
 | 
|    // Exposed for testing purposes only.
 | 
| -  ScopedVector<Message>* get_queued_messages() { return &queued_messages_; }
 | 
| -
 | 
| -  // Exposed for testing purposes only.
 | 
|    virtual void DispatchMessage(Message* m);
 | 
|  
 | 
|    // Get the process ID for the sender of the message.
 | 
|    virtual base::ProcessId GetSenderPID() = 0;
 | 
|  
 | 
| -  // Whether the channel is an endpoint of attachment brokering.
 | 
| -  virtual bool IsAttachmentBrokerEndpoint() = 0;
 | 
| -
 | 
|   private:
 | 
|    FRIEND_TEST_ALL_PREFIXES(ChannelReaderTest, AttachmentAlreadyBrokered);
 | 
|    FRIEND_TEST_ALL_PREFIXES(ChannelReaderTest, AttachmentNotYetBrokered);
 | 
| @@ -133,9 +125,6 @@ class IPC_EXPORT ChannelReader : public SupportsAttachmentBrokering,
 | 
|    FRIEND_TEST_ALL_PREFIXES(ChannelReaderTest, InvalidMessageSize);
 | 
|    FRIEND_TEST_ALL_PREFIXES(ChannelReaderTest, TrimBuffer);
 | 
|  
 | 
| -  using AttachmentIdSet = std::set<BrokerableAttachment::AttachmentId>;
 | 
| -  using AttachmentIdVector = std::vector<BrokerableAttachment::AttachmentId>;
 | 
| -
 | 
|    // Takes the data received from the IPC channel and translates it into
 | 
|    // Messages. Complete messages are passed to HandleTranslatedMessage().
 | 
|    // Returns |false| on unrecoverable error.
 | 
| @@ -145,43 +134,17 @@ class IPC_EXPORT ChannelReader : public SupportsAttachmentBrokering,
 | 
|    // immediately dispatched. Other messages are passed to
 | 
|    // HandleExternalMessage().
 | 
|    // Returns |false| on unrecoverable error.
 | 
| -  bool HandleTranslatedMessage(Message* translated_message,
 | 
| -                               const AttachmentIdVector& attachment_ids);
 | 
| +  bool HandleTranslatedMessage(Message* translated_message);
 | 
|  
 | 
|    // Populates the message with brokered and non-brokered attachments. If
 | 
|    // possible, the message is immediately dispatched. Otherwise, a deep copy of
 | 
|    // the message is added to |queued_messages_|. |blocked_ids_| are updated if
 | 
|    // necessary.
 | 
| -  bool HandleExternalMessage(Message* external_message,
 | 
| -                             const AttachmentIdVector& attachment_ids);
 | 
| +  bool HandleExternalMessage(Message* external_message);
 | 
|  
 | 
|    // If there was a dispatch error, informs |listener_|.
 | 
|    void HandleDispatchError(const Message& message);
 | 
|  
 | 
| -  // Attachment broker messages should be dispatched out of band, since there
 | 
| -  // are no ordering restrictions on them, and they may be required to dispatch
 | 
| -  // the messages waiting in |queued_messages_|.
 | 
| -  // Returns true if the attachment broker handled |message|.
 | 
| -  bool DispatchAttachmentBrokerMessage(const Message& message);
 | 
| -
 | 
| -  // Dispatches messages from queued_messages_ to listeners. Successfully
 | 
| -  // dispatched messages are removed from queued_messages_.
 | 
| -  DispatchState DispatchMessages();
 | 
| -
 | 
| -  // Attempts to fill in the brokerable attachments of |msg| with information
 | 
| -  // from the Attachment Broker.
 | 
| -  // Returns the set of ids that are still waiting to be brokered.
 | 
| -  AttachmentIdSet GetBrokeredAttachments(Message* msg);
 | 
| -
 | 
| -  // AttachmentBroker::Observer overrides.
 | 
| -  void ReceivedBrokerableAttachmentWithId(
 | 
| -      const BrokerableAttachment::AttachmentId& id) override;
 | 
| -
 | 
| -  // This class should observe the attachment broker if and only if blocked_ids_
 | 
| -  // is not empty.
 | 
| -  void StartObservingAttachmentBroker();
 | 
| -  void StopObservingAttachmentBroker();
 | 
| -
 | 
|    // Checks that |size| is a valid message size. Has side effects if it's not.
 | 
|    bool CheckMessageSize(size_t size);
 | 
|  
 | 
| @@ -200,15 +163,6 @@ class IPC_EXPORT ChannelReader : public SupportsAttachmentBrokering,
 | 
|    // of std::string::reserve() implementation.
 | 
|    size_t max_input_buffer_size_;
 | 
|  
 | 
| -  // These messages are waiting to be dispatched. If this vector is non-empty,
 | 
| -  // then the front Message must be blocked on receiving an attachment from the
 | 
| -  // AttachmentBroker.
 | 
| -  ScopedVector<Message> queued_messages_;
 | 
| -
 | 
| -  // If the next message to be processed is blocked by the broker, then this
 | 
| -  // set contains the AttachmentIds that are needed to unblock the message.
 | 
| -  AttachmentIdSet blocked_ids_;
 | 
| -
 | 
|    DISALLOW_COPY_AND_ASSIGN(ChannelReader);
 | 
|  };
 | 
|  
 | 
| 
 |