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 af9f2062bd7c045a7d5d2c23faf7424aa0e4abc1..98453d57066ea3010985a2fdce9ce8157f01cca2 100644 |
--- a/mojo/data_pipe_utils/data_pipe_utils.cc |
+++ b/mojo/data_pipe_utils/data_pipe_utils.cc |
@@ -111,5 +111,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 |