Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(334)

Side by Side Diff: mojo/public/cpp/bindings/lib/multiplex_router.cc

Issue 1811433002: [mojo-edk] Expose notification source to MojoWatch callbacks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "mojo/public/cpp/bindings/lib/multiplex_router.h" 5 #include "mojo/public/cpp/bindings/lib/multiplex_router.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 } 313 }
314 314
315 void MultiplexRouter::EnableTestingMode() { 315 void MultiplexRouter::EnableTestingMode() {
316 DCHECK(thread_checker_.CalledOnValidThread()); 316 DCHECK(thread_checker_.CalledOnValidThread());
317 base::AutoLock locker(lock_); 317 base::AutoLock locker(lock_);
318 318
319 testing_mode_ = true; 319 testing_mode_ = true;
320 connector_.set_enforce_errors_from_incoming_receiver(false); 320 connector_.set_enforce_errors_from_incoming_receiver(false);
321 } 321 }
322 322
323 void MultiplexRouter::SetAllowSyncDispatch(bool allowed) {
324 connector_.SetAllowSyncDispatch(allowed);
325 }
326
323 bool MultiplexRouter::Accept(Message* message) { 327 bool MultiplexRouter::Accept(Message* message) {
324 DCHECK(thread_checker_.CalledOnValidThread()); 328 DCHECK(thread_checker_.CalledOnValidThread());
325 329
326 scoped_refptr<MultiplexRouter> protector(this); 330 scoped_refptr<MultiplexRouter> protector(this);
327 base::AutoLock locker(lock_); 331 base::AutoLock locker(lock_);
328 tasks_.push_back(Task::CreateIncomingMessageTask(message)); 332 tasks_.push_back(Task::CreateIncomingMessageTask(message));
329 ProcessTasks(false); 333 ProcessTasks(false);
330 334
331 // Always return true. If we see errors during message processing, we will 335 // Always return true. If we see errors during message processing, we will
332 // explicitly call Connector::RaiseError() to disconnect the message pipe. 336 // explicitly call Connector::RaiseError() to disconnect the message pipe.
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 } 532 }
529 533
530 void MultiplexRouter::RaiseErrorInNonTestingMode() { 534 void MultiplexRouter::RaiseErrorInNonTestingMode() {
531 lock_.AssertAcquired(); 535 lock_.AssertAcquired();
532 if (!testing_mode_) 536 if (!testing_mode_)
533 RaiseError(); 537 RaiseError();
534 } 538 }
535 539
536 } // namespace internal 540 } // namespace internal
537 } // namespace mojo 541 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698