refactor: apply some 'clang-tidy -fix' changes (#20172)

* refactor: fix clang-tidy vector operation warnings

Fix vector population performance-inefficient-vector-operation warnings
generated by clang-tidy

* refactor: fix clang-tidy emplace_back warnings

In cases where a temporary is created to be passed
to push_back(), replace it with emplace_back().

Warning: modernize-use-emplace

* refactor: fix clang-tidy loop iteration warnings

When practical, use range-based for loops instead of C-style for loops.

clang-tiny check: modernize-loop-convert

* refactor: fix clang-tidy string initialize warning

Remove redundant empty string initialization.

clang-tidy check: readability-redundant-string-init
This commit is contained in:
Charles Kerr 2019-09-13 10:26:59 -04:00 committed by GitHub
parent 3ec17a88ba
commit b2652beceb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 62 additions and 69 deletions

View file

@ -101,29 +101,27 @@ content::PepperPluginInfo CreatePepperFlashInfo(const base::FilePath& path,
std::vector<std::string> flash_version_numbers = base::SplitString( std::vector<std::string> flash_version_numbers = base::SplitString(
version, ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY); version, ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
if (flash_version_numbers.empty()) if (flash_version_numbers.empty())
flash_version_numbers.push_back("11"); flash_version_numbers.emplace_back("11");
// |SplitString()| puts in an empty string given an empty string. :( // |SplitString()| puts in an empty string given an empty string. :(
else if (flash_version_numbers[0].empty()) else if (flash_version_numbers[0].empty())
flash_version_numbers[0] = "11"; flash_version_numbers[0] = "11";
if (flash_version_numbers.size() < 2) if (flash_version_numbers.size() < 2)
flash_version_numbers.push_back("2"); flash_version_numbers.emplace_back("2");
if (flash_version_numbers.size() < 3) if (flash_version_numbers.size() < 3)
flash_version_numbers.push_back("999"); flash_version_numbers.emplace_back("999");
if (flash_version_numbers.size() < 4) if (flash_version_numbers.size() < 4)
flash_version_numbers.push_back("999"); flash_version_numbers.emplace_back("999");
// E.g., "Shockwave Flash 10.2 r154": // E.g., "Shockwave Flash 10.2 r154":
plugin.description = plugin.name + " " + flash_version_numbers[0] + "." + plugin.description = plugin.name + " " + flash_version_numbers[0] + "." +
flash_version_numbers[1] + " r" + flash_version_numbers[1] + " r" +
flash_version_numbers[2]; flash_version_numbers[2];
plugin.version = base::JoinString(flash_version_numbers, "."); plugin.version = base::JoinString(flash_version_numbers, ".");
content::WebPluginMimeType swf_mime_type(content::kFlashPluginSwfMimeType, plugin.mime_types.emplace_back(content::kFlashPluginSwfMimeType,
content::kFlashPluginSwfExtension, content::kFlashPluginSwfExtension,
content::kFlashPluginSwfDescription); content::kFlashPluginSwfDescription);
plugin.mime_types.push_back(swf_mime_type); plugin.mime_types.emplace_back(content::kFlashPluginSplMimeType,
content::WebPluginMimeType spl_mime_type(content::kFlashPluginSplMimeType,
content::kFlashPluginSplExtension, content::kFlashPluginSplExtension,
content::kFlashPluginSplDescription); content::kFlashPluginSplDescription);
plugin.mime_types.push_back(spl_mime_type);
return plugin; return plugin;
} }
@ -219,8 +217,8 @@ void AtomContentClient::AddAdditionalSchemes(Schemes* schemes) {
AppendDelimitedSwitchToVector(switches::kCORSSchemes, AppendDelimitedSwitchToVector(switches::kCORSSchemes,
&schemes->cors_enabled_schemes); &schemes->cors_enabled_schemes);
schemes->service_worker_schemes.push_back(url::kFileScheme); schemes->service_worker_schemes.emplace_back(url::kFileScheme);
schemes->standard_schemes.push_back("chrome-extension"); schemes->standard_schemes.emplace_back("chrome-extension");
} }
void AtomContentClient::AddPepperPlugins( void AtomContentClient::AddPepperPlugins(

View file

@ -751,7 +751,7 @@ base::OnceClosure App::SelectClientCertificate(
// to avoid changes in the API. // to avoid changes in the API.
auto client_certs = net::CertificateList(); auto client_certs = net::CertificateList();
for (const std::unique_ptr<net::ClientCertIdentity>& identity : identities) for (const std::unique_ptr<net::ClientCertIdentity>& identity : identities)
client_certs.push_back(identity->certificate()); client_certs.emplace_back(identity->certificate());
auto shared_identities = auto shared_identities =
std::make_shared<net::ClientCertIdentityList>(std::move(identities)); std::make_shared<net::ClientCertIdentityList>(std::move(identities));

View file

@ -42,13 +42,13 @@ typename T::iterator FindById(T* container, int id) {
std::vector<std::string> MetricsToArray(uint32_t metrics) { std::vector<std::string> MetricsToArray(uint32_t metrics) {
std::vector<std::string> array; std::vector<std::string> array;
if (metrics & display::DisplayObserver::DISPLAY_METRIC_BOUNDS) if (metrics & display::DisplayObserver::DISPLAY_METRIC_BOUNDS)
array.push_back("bounds"); array.emplace_back("bounds");
if (metrics & display::DisplayObserver::DISPLAY_METRIC_WORK_AREA) if (metrics & display::DisplayObserver::DISPLAY_METRIC_WORK_AREA)
array.push_back("workArea"); array.emplace_back("workArea");
if (metrics & display::DisplayObserver::DISPLAY_METRIC_DEVICE_SCALE_FACTOR) if (metrics & display::DisplayObserver::DISPLAY_METRIC_DEVICE_SCALE_FACTOR)
array.push_back("scaleFactor"); array.emplace_back("scaleFactor");
if (metrics & display::DisplayObserver::DISPLAY_METRIC_ROTATION) if (metrics & display::DisplayObserver::DISPLAY_METRIC_ROTATION)
array.push_back("rotation"); array.emplace_back("rotation");
return array; return array;
} }

View file

@ -248,7 +248,7 @@ struct Converter<electron::api::WebContents::Type> {
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate, static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
electron::api::WebContents::Type val) { electron::api::WebContents::Type val) {
using Type = electron::api::WebContents::Type; using Type = electron::api::WebContents::Type;
std::string type = ""; std::string type;
switch (val) { switch (val) {
case Type::BACKGROUND_PAGE: case Type::BACKGROUND_PAGE:
type = "backgroundPage"; type = "backgroundPage";
@ -1719,9 +1719,9 @@ void WebContents::Print(mate::Arguments* args) {
std::vector<mate::Dictionary> page_ranges; std::vector<mate::Dictionary> page_ranges;
if (options.Get("pageRanges", &page_ranges)) { if (options.Get("pageRanges", &page_ranges)) {
std::unique_ptr<base::ListValue> page_range_list(new base::ListValue()); std::unique_ptr<base::ListValue> page_range_list(new base::ListValue());
for (size_t i = 0; i < page_ranges.size(); ++i) { for (auto& range : page_ranges) {
int from, to; int from, to;
if (page_ranges[i].Get("from", &from) && page_ranges[i].Get("to", &to)) { if (range.Get("from", &from) && range.Get("to", &to)) {
std::unique_ptr<base::DictionaryValue> range( std::unique_ptr<base::DictionaryValue> range(
new base::DictionaryValue()); new base::DictionaryValue());
range->SetInteger(printing::kSettingPageRangeFrom, from); range->SetInteger(printing::kSettingPageRangeFrom, from);

View file

@ -67,7 +67,7 @@ void AtomJavaScriptDialogManager::RunJavaScriptDialog(
std::vector<std::string> buttons = {"OK"}; std::vector<std::string> buttons = {"OK"};
if (dialog_type == JavaScriptDialogType::JAVASCRIPT_DIALOG_TYPE_CONFIRM) { if (dialog_type == JavaScriptDialogType::JAVASCRIPT_DIALOG_TYPE_CONFIRM) {
buttons.push_back("Cancel"); buttons.emplace_back("Cancel");
// First button is default, second button is cancel // First button is default, second button is cancel
default_id = 0; default_id = 0;
cancel_id = 1; cancel_id = 1;

View file

@ -32,7 +32,7 @@ bool LaunchXdgUtility(const std::vector<std::string>& argv, int* exit_code) {
return false; return false;
base::LaunchOptions options; base::LaunchOptions options;
options.fds_to_remap.push_back(std::make_pair(devnull, STDIN_FILENO)); options.fds_to_remap.emplace_back(devnull, STDIN_FILENO);
base::Process process = base::LaunchProcess(argv, options); base::Process process = base::LaunchProcess(argv, options);
close(devnull); close(devnull);
@ -46,10 +46,10 @@ bool SetDefaultWebClient(const std::string& protocol) {
std::unique_ptr<base::Environment> env(base::Environment::Create()); std::unique_ptr<base::Environment> env(base::Environment::Create());
std::vector<std::string> argv; std::vector<std::string> argv;
argv.push_back(kXdgSettings); argv.emplace_back(kXdgSettings);
argv.push_back("set"); argv.emplace_back("set");
if (!protocol.empty()) { if (!protocol.empty()) {
argv.push_back(kXdgSettingsDefaultSchemeHandler); argv.emplace_back(kXdgSettingsDefaultSchemeHandler);
argv.push_back(protocol); argv.push_back(protocol);
} }
argv.push_back(libgtkui::GetDesktopName(env.get())); argv.push_back(libgtkui::GetDesktopName(env.get()));
@ -88,9 +88,9 @@ bool Browser::IsDefaultProtocolClient(const std::string& protocol,
return false; return false;
std::vector<std::string> argv; std::vector<std::string> argv;
argv.push_back(kXdgSettings); argv.emplace_back(kXdgSettings);
argv.push_back("check"); argv.emplace_back("check");
argv.push_back(kXdgSettingsDefaultSchemeHandler); argv.emplace_back(kXdgSettingsDefaultSchemeHandler);
argv.push_back(protocol); argv.push_back(protocol);
argv.push_back(libgtkui::GetDesktopName(env.get())); argv.push_back(libgtkui::GetDesktopName(env.get()));

View file

@ -117,6 +117,7 @@ void BluetoothChooser::AddOrUpdateDevice(const std::string& device_id,
std::vector<electron::BluetoothChooser::DeviceInfo> std::vector<electron::BluetoothChooser::DeviceInfo>
BluetoothChooser::GetDeviceList() { BluetoothChooser::GetDeviceList() {
std::vector<electron::BluetoothChooser::DeviceInfo> vec; std::vector<electron::BluetoothChooser::DeviceInfo> vec;
vec.reserve(device_map_.size());
for (const auto& it : device_map_) { for (const auto& it : device_map_) {
DeviceInfo info = {it.first, it.second}; DeviceInfo info = {it.first, it.second};
vec.push_back(info); vec.push_back(info);

View file

@ -170,19 +170,19 @@ void MediaStreamDevicesController::HandleUserMediaRequest() {
if (request_.audio_type == if (request_.audio_type ==
blink::mojom::MediaStreamType::GUM_TAB_AUDIO_CAPTURE) { blink::mojom::MediaStreamType::GUM_TAB_AUDIO_CAPTURE) {
devices.push_back(blink::MediaStreamDevice( devices.emplace_back(blink::mojom::MediaStreamType::GUM_TAB_AUDIO_CAPTURE,
blink::mojom::MediaStreamType::GUM_TAB_AUDIO_CAPTURE, "", "")); "", "");
} }
if (request_.video_type == if (request_.video_type ==
blink::mojom::MediaStreamType::GUM_TAB_VIDEO_CAPTURE) { blink::mojom::MediaStreamType::GUM_TAB_VIDEO_CAPTURE) {
devices.push_back(blink::MediaStreamDevice( devices.emplace_back(blink::mojom::MediaStreamType::GUM_TAB_VIDEO_CAPTURE,
blink::mojom::MediaStreamType::GUM_TAB_VIDEO_CAPTURE, "", "")); "", "");
} }
if (request_.audio_type == if (request_.audio_type ==
blink::mojom::MediaStreamType::GUM_DESKTOP_AUDIO_CAPTURE) { blink::mojom::MediaStreamType::GUM_DESKTOP_AUDIO_CAPTURE) {
devices.push_back(blink::MediaStreamDevice( devices.emplace_back(
blink::mojom::MediaStreamType::GUM_DESKTOP_AUDIO_CAPTURE, "loopback", blink::mojom::MediaStreamType::GUM_DESKTOP_AUDIO_CAPTURE, "loopback",
"System Audio")); "System Audio");
} }
if (request_.video_type == if (request_.video_type ==
blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE) { blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE) {
@ -197,9 +197,9 @@ void MediaStreamDevicesController::HandleUserMediaRequest() {
content::DesktopMediaID::Parse(request_.requested_video_device_id); content::DesktopMediaID::Parse(request_.requested_video_device_id);
} }
devices.push_back(blink::MediaStreamDevice( devices.emplace_back(
blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE, blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE,
screen_id.ToString(), "Screen")); screen_id.ToString(), "Screen");
} }
std::move(callback_).Run( std::move(callback_).Run(

View file

@ -33,7 +33,7 @@ void ResolveProxyHelper::ResolveProxy(const GURL& url,
ResolveProxyCallback callback) { ResolveProxyCallback callback) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
// Enqueue the pending request. // Enqueue the pending request.
pending_requests_.push_back(PendingRequest(url, std::move(callback))); pending_requests_.emplace_back(url, std::move(callback));
// If nothing is in progress, start. // If nothing is in progress, start.
if (!binding_.is_bound()) { if (!binding_.is_bound()) {

View file

@ -61,8 +61,8 @@ int LaunchProgram(const StringVector& relauncher_args,
base::LaunchOptions options; base::LaunchOptions options;
options.allow_new_privs = true; options.allow_new_privs = true;
options.new_process_group = true; // detach options.new_process_group = true; // detach
options.fds_to_remap.push_back(std::make_pair(devnull.get(), STDERR_FILENO)); options.fds_to_remap.emplace_back(devnull.get(), STDERR_FILENO);
options.fds_to_remap.push_back(std::make_pair(devnull.get(), STDOUT_FILENO)); options.fds_to_remap.emplace_back(devnull.get(), STDOUT_FILENO);
base::Process process = base::LaunchProcess(argv, options); base::Process process = base::LaunchProcess(argv, options);
return process.IsValid() ? 0 : 1; return process.IsValid() ? 0 : 1;

View file

@ -28,8 +28,9 @@ void DragFileItems(const std::vector<base::FilePath>& files,
*views::Widget::GetTopLevelWidgetForNativeView(view), data.get()); *views::Widget::GetTopLevelWidgetForNativeView(view), data.get());
std::vector<ui::FileInfo> file_infos; std::vector<ui::FileInfo> file_infos;
file_infos.reserve(files.size());
for (const base::FilePath& file : files) { for (const base::FilePath& file : files) {
file_infos.push_back(ui::FileInfo(file, base::FilePath())); file_infos.emplace_back(file, base::FilePath());
} }
data->SetFilenames(file_infos); data->SetFilenames(file_infos);

View file

@ -229,13 +229,11 @@ void FileChooserDialog::OnFileDialogResponse(GtkWidget* widget, int response) {
} }
void FileChooserDialog::AddFilters(const Filters& filters) { void FileChooserDialog::AddFilters(const Filters& filters) {
for (size_t i = 0; i < filters.size(); ++i) { for (const auto& filter : filters) {
const Filter& filter = filters[i];
GtkFileFilter* gtk_filter = gtk_file_filter_new(); GtkFileFilter* gtk_filter = gtk_file_filter_new();
for (size_t j = 0; j < filter.second.size(); ++j) { for (const auto& extension : filter.second) {
auto file_extension = auto file_extension = std::make_unique<std::string>("." + extension);
std::make_unique<std::string>("." + filter.second[j]);
gtk_file_filter_add_custom( gtk_file_filter_add_custom(
gtk_filter, GTK_FILE_FILTER_FILENAME, gtk_filter, GTK_FILE_FILTER_FILENAME,
reinterpret_cast<GtkFileFilterFunc>(FileFilterCaseInsensitive), reinterpret_cast<GtkFileFilterFunc>(FileFilterCaseInsensitive),

View file

@ -48,16 +48,14 @@ void ConvertFilters(const Filters& filters,
} }
buffer->reserve(filters.size() * 2); buffer->reserve(filters.size() * 2);
for (size_t i = 0; i < filters.size(); ++i) { for (const Filter& filter : filters) {
const Filter& filter = filters[i];
COMDLG_FILTERSPEC spec; COMDLG_FILTERSPEC spec;
buffer->push_back(base::UTF8ToWide(filter.first)); buffer->push_back(base::UTF8ToWide(filter.first));
spec.pszName = buffer->back().c_str(); spec.pszName = buffer->back().c_str();
std::vector<std::string> extensions(filter.second); std::vector<std::string> extensions(filter.second);
for (size_t j = 0; j < extensions.size(); ++j) for (std::string& extension : extensions)
extensions[j].insert(0, "*."); extension.insert(0, "*.");
buffer->push_back(base::UTF8ToWide(base::JoinString(extensions, ";"))); buffer->push_back(base::UTF8ToWide(base::JoinString(extensions, ";")));
spec.pszSpec = buffer->back().c_str(); spec.pszSpec = buffer->back().c_str();

View file

@ -159,9 +159,8 @@ bool MenuBar::AcceleratorPressed(const ui::Accelerator& accelerator) {
views::FocusManager::FocusChangeReason::kFocusTraversal); views::FocusManager::FocusChangeReason::kFocusTraversal);
return true; return true;
default: { default: {
auto children = GetChildrenInZOrder(); for (auto* child : GetChildrenInZOrder()) {
for (int i = 0, n = children.size(); i < n; ++i) { auto* button = static_cast<SubmenuButton*>(child);
auto* button = static_cast<SubmenuButton*>(children[i]);
bool shifted = false; bool shifted = false;
auto keycode = auto keycode =
electron::KeyboardCodeFromCharCode(button->accelerator(), &shifted); electron::KeyboardCodeFromCharCode(button->accelerator(), &shifted);
@ -204,10 +203,9 @@ bool MenuBar::SetPaneFocus(views::View* initial_focus) {
bool result = views::AccessiblePaneView::SetPaneFocus(initial_focus); bool result = views::AccessiblePaneView::SetPaneFocus(initial_focus);
if (result) { if (result) {
auto children = GetChildrenInZOrder();
std::set<ui::KeyboardCode> reg; std::set<ui::KeyboardCode> reg;
for (int i = 0, n = children.size(); i < n; ++i) { for (auto* child : GetChildrenInZOrder()) {
auto* button = static_cast<SubmenuButton*>(children[i]); auto* button = static_cast<SubmenuButton*>(child);
bool shifted = false; bool shifted = false;
auto keycode = auto keycode =
electron::KeyboardCodeFromCharCode(button->accelerator(), &shifted); electron::KeyboardCodeFromCharCode(button->accelerator(), &shifted);
@ -235,10 +233,9 @@ void MenuBar::RemovePaneFocus() {
views::AccessiblePaneView::RemovePaneFocus(); views::AccessiblePaneView::RemovePaneFocus();
SetAcceleratorVisibility(false); SetAcceleratorVisibility(false);
auto children = GetChildrenInZOrder();
std::set<ui::KeyboardCode> unreg; std::set<ui::KeyboardCode> unreg;
for (int i = 0, n = children.size(); i < n; ++i) { for (auto* child : GetChildrenInZOrder()) {
auto* button = static_cast<SubmenuButton*>(children[i]); auto* button = static_cast<SubmenuButton*>(child);
bool shifted = false; bool shifted = false;
auto keycode = auto keycode =
electron::KeyboardCodeFromCharCode(button->accelerator(), &shifted); electron::KeyboardCodeFromCharCode(button->accelerator(), &shifted);

View file

@ -282,7 +282,7 @@ file_dialog::Filters GetFileTypesFromAcceptType(
// Allow all files when extension is specified. // Allow all files when extension is specified.
filters.push_back(file_dialog::Filter()); filters.push_back(file_dialog::Filter());
filters.back().first = "All Files"; filters.back().first = "All Files";
filters.back().second.push_back("*"); filters.back().second.emplace_back("*");
return filters; return filters;
} }

View file

@ -93,8 +93,7 @@ CrashReporter::GetUploadedReports(const base::FilePath& crashes_dir) {
int report_time = 0; int report_time = 0;
if (report_item.size() >= 2 && if (report_item.size() >= 2 &&
base::StringToInt(report_item[0], &report_time)) { base::StringToInt(report_item[0], &report_time)) {
result.push_back( result.emplace_back(report_time, report_item[1]);
CrashReporter::UploadReportResult(report_time, report_item[1]));
} }
} }
} }

View file

@ -66,6 +66,7 @@ v8::Local<v8::Value> MenuToV8(v8::Isolate* isolate,
const content::CustomContextMenuContext& context, const content::CustomContextMenuContext& context,
const std::vector<content::MenuItem>& menu) { const std::vector<content::MenuItem>& menu) {
std::vector<v8::Local<v8::Value>> v8_menu; std::vector<v8::Local<v8::Value>> v8_menu;
v8_menu.reserve(menu.size());
for (const auto& menu_item : menu) for (const auto& menu_item : menu)
v8_menu.push_back(MenuItemToV8(isolate, web_contents, context, menu_item)); v8_menu.push_back(MenuItemToV8(isolate, web_contents, context, menu_item));
return mate::ConvertToV8(isolate, v8_menu); return mate::ConvertToV8(isolate, v8_menu);

View file

@ -96,7 +96,7 @@ content::RenderFrame* GetRenderFrame(v8::Local<v8::Value> value) {
return content::RenderFrame::FromWebFrame(frame); return content::RenderFrame::FromWebFrame(frame);
} }
class RenderFrameStatus : public content::RenderFrameObserver { class RenderFrameStatus final : public content::RenderFrameObserver {
public: public:
explicit RenderFrameStatus(content::RenderFrame* render_frame) explicit RenderFrameStatus(content::RenderFrame* render_frame)
: content::RenderFrameObserver(render_frame) {} : content::RenderFrameObserver(render_frame) {}
@ -165,7 +165,7 @@ class FrameSetSpellChecker : public content::RenderFrameVisitor {
DISALLOW_COPY_AND_ASSIGN(FrameSetSpellChecker); DISALLOW_COPY_AND_ASSIGN(FrameSetSpellChecker);
}; };
class SpellCheckerHolder : public content::RenderFrameObserver { class SpellCheckerHolder final : public content::RenderFrameObserver {
public: public:
// Find existing holder for the |render_frame|. // Find existing holder for the |render_frame|.
static SpellCheckerHolder* FromRenderFrame( static SpellCheckerHolder* FromRenderFrame(

View file

@ -43,9 +43,9 @@ void TrimStringVectorForIPC(std::vector<base::string16>* strings) {
strings->resize(kMaxListSize); strings->resize(kMaxListSize);
// Limit the size of the strings in the vector. // Limit the size of the strings in the vector.
for (size_t i = 0; i < strings->size(); ++i) { for (auto& str : *strings) {
if ((*strings)[i].length() > kMaxDataLength) if (str.length() > kMaxDataLength)
(*strings)[i].resize(kMaxDataLength); str.resize(kMaxDataLength);
} }
} }
} // namespace } // namespace