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

Side by Side Diff: minidump/minidump_exception_writer.cc

Issue 1513573005: Provide std::move() in compat instead of using crashpad::move() (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Created 5 years 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 2014 The Crashpad Authors. All rights reserved. 1 // Copyright 2014 The Crashpad Authors. All rights reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and 12 // See the License for the specific language governing permissions and
13 // limitations under the License. 13 // limitations under the License.
14 14
15 #include "minidump/minidump_exception_writer.h" 15 #include "minidump/minidump_exception_writer.h"
16 16
17 #include <sys/types.h> 17 #include <sys/types.h>
18 18
19 #include <utility>
20
19 #include "base/logging.h" 21 #include "base/logging.h"
20 #include "base/numerics/safe_conversions.h" 22 #include "base/numerics/safe_conversions.h"
21 #include "minidump/minidump_context_writer.h" 23 #include "minidump/minidump_context_writer.h"
22 #include "snapshot/exception_snapshot.h" 24 #include "snapshot/exception_snapshot.h"
23 #include "util/file/file_writer.h" 25 #include "util/file/file_writer.h"
24 #include "util/stdlib/move.h"
25 26
26 namespace crashpad { 27 namespace crashpad {
27 28
28 MinidumpExceptionWriter::MinidumpExceptionWriter() 29 MinidumpExceptionWriter::MinidumpExceptionWriter()
29 : MinidumpStreamWriter(), exception_(), context_(nullptr) { 30 : MinidumpStreamWriter(), exception_(), context_(nullptr) {
30 } 31 }
31 32
32 MinidumpExceptionWriter::~MinidumpExceptionWriter() { 33 MinidumpExceptionWriter::~MinidumpExceptionWriter() {
33 } 34 }
34 35
35 void MinidumpExceptionWriter::InitializeFromSnapshot( 36 void MinidumpExceptionWriter::InitializeFromSnapshot(
36 const ExceptionSnapshot* exception_snapshot, 37 const ExceptionSnapshot* exception_snapshot,
37 const MinidumpThreadIDMap& thread_id_map) { 38 const MinidumpThreadIDMap& thread_id_map) {
38 DCHECK_EQ(state(), kStateMutable); 39 DCHECK_EQ(state(), kStateMutable);
39 DCHECK(!context_); 40 DCHECK(!context_);
40 41
41 auto thread_id_it = thread_id_map.find(exception_snapshot->ThreadID()); 42 auto thread_id_it = thread_id_map.find(exception_snapshot->ThreadID());
42 DCHECK(thread_id_it != thread_id_map.end()); 43 DCHECK(thread_id_it != thread_id_map.end());
43 SetThreadID(thread_id_it->second); 44 SetThreadID(thread_id_it->second);
44 45
45 SetExceptionCode(exception_snapshot->Exception()); 46 SetExceptionCode(exception_snapshot->Exception());
46 SetExceptionFlags(exception_snapshot->ExceptionInfo()); 47 SetExceptionFlags(exception_snapshot->ExceptionInfo());
47 SetExceptionAddress(exception_snapshot->ExceptionAddress()); 48 SetExceptionAddress(exception_snapshot->ExceptionAddress());
48 SetExceptionInformation(exception_snapshot->Codes()); 49 SetExceptionInformation(exception_snapshot->Codes());
49 50
50 scoped_ptr<MinidumpContextWriter> context = 51 scoped_ptr<MinidumpContextWriter> context =
51 MinidumpContextWriter::CreateFromSnapshot(exception_snapshot->Context()); 52 MinidumpContextWriter::CreateFromSnapshot(exception_snapshot->Context());
52 SetContext(crashpad::move(context)); 53 SetContext(std::move(context));
53 } 54 }
54 55
55 void MinidumpExceptionWriter::SetContext( 56 void MinidumpExceptionWriter::SetContext(
56 scoped_ptr<MinidumpContextWriter> context) { 57 scoped_ptr<MinidumpContextWriter> context) {
57 DCHECK_EQ(state(), kStateMutable); 58 DCHECK_EQ(state(), kStateMutable);
58 59
59 context_ = crashpad::move(context); 60 context_ = std::move(context);
60 } 61 }
61 62
62 void MinidumpExceptionWriter::SetExceptionInformation( 63 void MinidumpExceptionWriter::SetExceptionInformation(
63 const std::vector<uint64_t>& exception_information) { 64 const std::vector<uint64_t>& exception_information) {
64 DCHECK_EQ(state(), kStateMutable); 65 DCHECK_EQ(state(), kStateMutable);
65 66
66 const size_t parameters = exception_information.size(); 67 const size_t parameters = exception_information.size();
67 const size_t kMaxParameters = 68 const size_t kMaxParameters =
68 arraysize(exception_.ExceptionRecord.ExceptionInformation); 69 arraysize(exception_.ExceptionRecord.ExceptionInformation);
69 CHECK_LE(parameters, kMaxParameters); 70 CHECK_LE(parameters, kMaxParameters);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 DCHECK_EQ(state(), kStateWritable); 114 DCHECK_EQ(state(), kStateWritable);
114 115
115 return file_writer->Write(&exception_, sizeof(exception_)); 116 return file_writer->Write(&exception_, sizeof(exception_));
116 } 117 }
117 118
118 MinidumpStreamType MinidumpExceptionWriter::StreamType() const { 119 MinidumpStreamType MinidumpExceptionWriter::StreamType() const {
119 return kMinidumpStreamTypeException; 120 return kMinidumpStreamTypeException;
120 } 121 }
121 122
122 } // namespace crashpad 123 } // namespace crashpad
OLDNEW
« no previous file with comments | « minidump/minidump_crashpad_info_writer_test.cc ('k') | minidump/minidump_exception_writer_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698