Chromium Code Reviews| Index: ipc/ipc_test_sink.cc |
| diff --git a/ipc/ipc_test_sink.cc b/ipc/ipc_test_sink.cc |
| index 95900b6ca5074a164b45491431ffc7e86e5e9b66..d280ca2b127e5867632050541d93b47e95763d5b 100644 |
| --- a/ipc/ipc_test_sink.cc |
| +++ b/ipc/ipc_test_sink.cc |
| @@ -21,6 +21,13 @@ bool TestSink::Send(Message* message) { |
| } |
| bool TestSink::OnMessageReceived(const Message& msg) { |
| + ObserverListBase<Channel::Listener>::Iterator it(filter_list_); |
| + Channel::Listener* observer; |
| + while ((observer = it.GetNext()) != NULL) |
|
brettw
2011/01/28 21:12:32
This outer while() needs {} since it contains > 1
Brian Ryner
2011/01/28 22:04:23
Done.
|
| + if (observer->OnMessageReceived(msg)) |
| + return true; |
| + |
| + // No filter handled the message, so store it. |
| messages_.push_back(Message(msg)); |
| return true; |
| } |
| @@ -57,4 +64,12 @@ const Message* TestSink::GetUniqueMessageMatching(uint32 id) const { |
| return &messages_[found_index]; |
| } |
| +void TestSink::AddFilter(Channel::Listener* filter) { |
| + filter_list_.AddObserver(filter); |
| +} |
| + |
| +void TestSink::RemoveFilter(Channel::Listener* filter) { |
| + filter_list_.RemoveObserver(filter); |
| +} |
| + |
| } // namespace IPC |