OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/system/core_test_base.h" | 5 #include "mojo/system/core_test_base.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 | 61 |
62 if (transports) | 62 if (transports) |
63 return MOJO_RESULT_UNIMPLEMENTED; | 63 return MOJO_RESULT_UNIMPLEMENTED; |
64 | 64 |
65 return MOJO_RESULT_OK; | 65 return MOJO_RESULT_OK; |
66 } | 66 } |
67 | 67 |
68 virtual MojoResult ReadMessageImplNoLock( | 68 virtual MojoResult ReadMessageImplNoLock( |
69 void* bytes, | 69 void* bytes, |
70 uint32_t* num_bytes, | 70 uint32_t* num_bytes, |
71 DispatcherVector* /*dispatchers*/, | 71 DispatcherVector* dispatchers, |
72 uint32_t* /*num_dispatchers*/, | 72 uint32_t* num_dispatchers, |
73 MojoReadMessageFlags /*flags*/) OVERRIDE { | 73 MojoReadMessageFlags /*flags*/) OVERRIDE { |
74 info_->IncrementReadMessageCallCount(); | 74 info_->IncrementReadMessageCallCount(); |
75 lock().AssertAcquired(); | 75 lock().AssertAcquired(); |
76 | 76 |
77 if (num_bytes && !VerifyUserPointerWithSize<1>(bytes, *num_bytes)) | 77 if (num_bytes && !VerifyUserPointerWithSize<1>(bytes, *num_bytes)) |
78 return MOJO_RESULT_INVALID_ARGUMENT; | 78 return MOJO_RESULT_INVALID_ARGUMENT; |
79 | 79 |
| 80 if (num_dispatchers) { |
| 81 *num_dispatchers = 1; |
| 82 if (dispatchers) { |
| 83 // Okay to leave an invalid dispatcher. |
| 84 dispatchers->resize(1); |
| 85 } |
| 86 } |
| 87 |
80 return MOJO_RESULT_OK; | 88 return MOJO_RESULT_OK; |
81 } | 89 } |
82 | 90 |
83 virtual MojoResult WriteDataImplNoLock( | 91 virtual MojoResult WriteDataImplNoLock( |
84 const void* /*elements*/, | 92 const void* /*elements*/, |
85 uint32_t* /*num_bytes*/, | 93 uint32_t* /*num_bytes*/, |
86 MojoWriteDataFlags /*flags*/) OVERRIDE { | 94 MojoWriteDataFlags /*flags*/) OVERRIDE { |
87 info_->IncrementWriteDataCallCount(); | 95 info_->IncrementWriteDataCallCount(); |
88 lock().AssertAcquired(); | 96 lock().AssertAcquired(); |
89 return MOJO_RESULT_UNIMPLEMENTED; | 97 return MOJO_RESULT_UNIMPLEMENTED; |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
340 } | 348 } |
341 | 349 |
342 void CoreTestBase_MockHandleInfo::IncrementCancelAllWaitersCallCount() { | 350 void CoreTestBase_MockHandleInfo::IncrementCancelAllWaitersCallCount() { |
343 base::AutoLock locker(lock_); | 351 base::AutoLock locker(lock_); |
344 cancel_all_waiters_call_count_++; | 352 cancel_all_waiters_call_count_++; |
345 } | 353 } |
346 | 354 |
347 } // namespace test | 355 } // namespace test |
348 } // namespace system | 356 } // namespace system |
349 } // namespace mojo | 357 } // namespace mojo |
OLD | NEW |