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

Side by Side Diff: tools/gn/setup.cc

Issue 1869503004: Convert //tools to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase, change iwyu fixes for converted directories to include <memory> Created 4 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 unified diff | Download patch
« no previous file with comments | « tools/gn/setup.h ('k') | tools/gn/string_utils.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 "tools/gn/setup.h" 5 #include "tools/gn/setup.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 #include <algorithm> 8 #include <algorithm>
9 #include <sstream> 9 #include <sstream>
10 #include <utility> 10 #include <utility>
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 base::FilePath up_one_dir = with_no_slash.DirName(); 133 base::FilePath up_one_dir = with_no_slash.DirName();
134 if (up_one_dir == current_dir) 134 if (up_one_dir == current_dir)
135 return base::FilePath(); // Got to the top. 135 return base::FilePath(); // Got to the top.
136 136
137 return FindDotFile(up_one_dir); 137 return FindDotFile(up_one_dir);
138 } 138 }
139 139
140 // Called on any thread. Post the item to the builder on the main thread. 140 // Called on any thread. Post the item to the builder on the main thread.
141 void ItemDefinedCallback(base::MessageLoop* main_loop, 141 void ItemDefinedCallback(base::MessageLoop* main_loop,
142 scoped_refptr<Builder> builder, 142 scoped_refptr<Builder> builder,
143 scoped_ptr<Item> item) { 143 std::unique_ptr<Item> item) {
144 DCHECK(item); 144 DCHECK(item);
145 main_loop->PostTask(FROM_HERE, base::Bind(&Builder::ItemDefined, builder, 145 main_loop->PostTask(FROM_HERE, base::Bind(&Builder::ItemDefined, builder,
146 base::Passed(&item))); 146 base::Passed(&item)));
147 } 147 }
148 148
149 void DecrementWorkCount() { 149 void DecrementWorkCount() {
150 g_scheduler->DecrementWorkCount(); 150 g_scheduler->DecrementWorkCount();
151 } 151 }
152 152
153 #if defined(OS_WIN) 153 #if defined(OS_WIN)
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 base::FilePath cur_dir_candidate_exe = 192 base::FilePath cur_dir_candidate_exe =
193 base::FilePath(current_directory).Append(kPythonExeName); 193 base::FilePath(current_directory).Append(kPythonExeName);
194 if (base::PathExists(cur_dir_candidate_exe)) 194 if (base::PathExists(cur_dir_candidate_exe))
195 return cur_dir_candidate_exe; 195 return cur_dir_candidate_exe;
196 196
197 // Get the path. 197 // Get the path.
198 const base::char16 kPathEnvVarName[] = L"Path"; 198 const base::char16 kPathEnvVarName[] = L"Path";
199 DWORD path_length = ::GetEnvironmentVariable(kPathEnvVarName, nullptr, 0); 199 DWORD path_length = ::GetEnvironmentVariable(kPathEnvVarName, nullptr, 0);
200 if (path_length == 0) 200 if (path_length == 0)
201 return base::FilePath(); 201 return base::FilePath();
202 scoped_ptr<base::char16[]> full_path(new base::char16[path_length]); 202 std::unique_ptr<base::char16[]> full_path(new base::char16[path_length]);
203 DWORD actual_path_length = 203 DWORD actual_path_length =
204 ::GetEnvironmentVariable(kPathEnvVarName, full_path.get(), path_length); 204 ::GetEnvironmentVariable(kPathEnvVarName, full_path.get(), path_length);
205 CHECK_EQ(path_length, actual_path_length + 1); 205 CHECK_EQ(path_length, actual_path_length + 1);
206 206
207 // Search for python.exe in the path. 207 // Search for python.exe in the path.
208 for (const auto& component : base::SplitStringPiece( 208 for (const auto& component : base::SplitStringPiece(
209 base::StringPiece16(full_path.get(), path_length), L";", 209 base::StringPiece16(full_path.get(), path_length), L";",
210 base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY)) { 210 base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY)) {
211 base::FilePath candidate_exe = 211 base::FilePath candidate_exe =
212 base::FilePath(component).Append(kPythonExeName); 212 base::FilePath(component).Append(kPythonExeName);
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
705 705
706 // Fill exec_script_whitelist. 706 // Fill exec_script_whitelist.
707 const Value* exec_script_whitelist_value = 707 const Value* exec_script_whitelist_value =
708 dotfile_scope_.GetValue("exec_script_whitelist", true); 708 dotfile_scope_.GetValue("exec_script_whitelist", true);
709 if (exec_script_whitelist_value) { 709 if (exec_script_whitelist_value) {
710 // Fill the list of targets to check. 710 // Fill the list of targets to check.
711 if (!exec_script_whitelist_value->VerifyTypeIs(Value::LIST, &err)) { 711 if (!exec_script_whitelist_value->VerifyTypeIs(Value::LIST, &err)) {
712 err.PrintToStdout(); 712 err.PrintToStdout();
713 return false; 713 return false;
714 } 714 }
715 scoped_ptr<std::set<SourceFile>> whitelist(new std::set<SourceFile>); 715 std::unique_ptr<std::set<SourceFile>> whitelist(new std::set<SourceFile>);
716 for (const auto& item : exec_script_whitelist_value->list_value()) { 716 for (const auto& item : exec_script_whitelist_value->list_value()) {
717 if (!item.VerifyTypeIs(Value::STRING, &err)) { 717 if (!item.VerifyTypeIs(Value::STRING, &err)) {
718 err.PrintToStdout(); 718 err.PrintToStdout();
719 return false; 719 return false;
720 } 720 }
721 whitelist->insert(current_dir.ResolveRelativeFile(item, &err)); 721 whitelist->insert(current_dir.ResolveRelativeFile(item, &err));
722 if (err.has_error()) { 722 if (err.has_error()) {
723 err.PrintToStdout(); 723 err.PrintToStdout();
724 return false; 724 return false;
725 } 725 }
726 } 726 }
727 build_settings_.set_exec_script_whitelist(std::move(whitelist)); 727 build_settings_.set_exec_script_whitelist(std::move(whitelist));
728 } 728 }
729 729
730 return true; 730 return true;
731 } 731 }
OLDNEW
« no previous file with comments | « tools/gn/setup.h ('k') | tools/gn/string_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698