Index: mojo/data_pipe_utils/data_pipe_utils.cc |
diff --git a/mojo/data_pipe_utils/data_pipe_utils.cc b/mojo/data_pipe_utils/data_pipe_utils.cc |
index e7e1df4055994a21a35d9aa48fc51251f209f25e..1084db30a9fd1d068b36389f63c60c2978846e87 100644 |
--- a/mojo/data_pipe_utils/data_pipe_utils.cc |
+++ b/mojo/data_pipe_utils/data_pipe_utils.cc |
@@ -112,5 +112,18 @@ bool BlockingCopyFromString(const std::string& source, |
} |
} |
+ScopedDataPipeConsumerHandle WriteStringToConsumerHandle( |
+ const std::string& source) { |
+ TRACE_EVENT0("data_pipe_utils", "WriteStringToConsumerHandle"); |
+ static const size_t max_buffer_size = 2 * 1024 * 1024; // 2MB |
+ CHECK_LE(static_cast<uint32_t>(source.size()), max_buffer_size); |
+ MojoCreateDataPipeOptions options = {sizeof(MojoCreateDataPipeOptions), |
+ MOJO_CREATE_DATA_PIPE_OPTIONS_FLAG_NONE, |
+ 1, source.size()}; |
+ DataPipe pipe(options); |
+ BlockingCopyFromString(source, pipe.producer_handle.Pass()); |
+ return pipe.consumer_handle.Pass(); |
+} |
+ |
} // namespace common |
} // namespace mojo |