| Index: mojo/edk/system/ports/message_queue.cc
|
| diff --git a/mojo/edk/system/ports/message_queue.cc b/mojo/edk/system/ports/message_queue.cc
|
| index ef2e94009897c9e0474585854899c9127ae62122..defb1b6c759670a963f5566c11f5babffc75fec0 100644
|
| --- a/mojo/edk/system/ports/message_queue.cc
|
| +++ b/mojo/edk/system/ports/message_queue.cc
|
| @@ -8,6 +8,7 @@
|
|
|
| #include "base/logging.h"
|
| #include "mojo/edk/system/ports/event.h"
|
| +#include "mojo/edk/system/ports/message_filter.h"
|
|
|
| namespace mojo {
|
| namespace edk {
|
| @@ -44,10 +45,9 @@ bool MessageQueue::HasNextMessage() const {
|
| return !heap_.empty() && GetSequenceNum(heap_[0]) == next_sequence_num_;
|
| }
|
|
|
| -void MessageQueue::GetNextMessageIf(
|
| - std::function<bool(const Message&)> selector,
|
| - ScopedMessage* message) {
|
| - if (!HasNextMessage() || (selector && !selector(*heap_[0].get()))) {
|
| +void MessageQueue::GetNextMessage(ScopedMessage* message,
|
| + MessageFilter* filter) {
|
| + if (!HasNextMessage() || (filter && !filter->Match(*heap_[0].get()))) {
|
| message->reset();
|
| return;
|
| }
|
|
|