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

Unified Diff: third_party/crashpad/crashpad/handler/user_stream_data_source.cc

Issue 2814043003: Update Crashpad to 1f28a123a4c9449e3d7ddad4ff00dacd366d5216 (Closed)
Patch Set: Add missing GN config to fix compile/link. Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: third_party/crashpad/crashpad/handler/user_stream_data_source.cc
diff --git a/third_party/crashpad/crashpad/handler/user_stream_data_source.cc b/third_party/crashpad/crashpad/handler/user_stream_data_source.cc
new file mode 100644
index 0000000000000000000000000000000000000000..7e30fa8ca643c84b455378fca9231be956079475
--- /dev/null
+++ b/third_party/crashpad/crashpad/handler/user_stream_data_source.cc
@@ -0,0 +1,43 @@
+// Copyright 2017 The Crashpad Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "handler/user_stream_data_source.h"
+
+#include "base/logging.h"
+#include "minidump/minidump_file_writer.h"
+#include "minidump/minidump_user_extension_stream_data_source.h"
+#include "snapshot/process_snapshot.h"
+
+namespace crashpad {
+
+void AddUserExtensionStreams(
+ const UserStreamDataSources* user_stream_data_sources,
+ ProcessSnapshot* process_snapshot,
+ MinidumpFileWriter* minidump_file_writer) {
+ if (!user_stream_data_sources)
+ return;
+ for (const auto& source : *user_stream_data_sources) {
+ std::unique_ptr<MinidumpUserExtensionStreamDataSource> data_source(
+ source->ProduceStreamData(process_snapshot));
+ if (data_source &&
+ !minidump_file_writer->AddUserExtensionStream(std::move(data_source))) {
+ // This should only happen if multiple user stream sources yield the
+ // same stream type. It's the user's responsibility to make sure
+ // sources don't collide on the same stream type.
+ LOG(ERROR) << "AddUserExtensionStream failed";
+ }
+ }
+}
+
+} // namespace crashpad

Powered by Google App Engine
This is Rietveld 408576698