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

Side by Side Diff: chrome/browser/win/enumerate_modules_model.cc

Issue 2577533002: Revert of Annotate Trusteer Rapport < 3.6 as incompatible with Chrome. (Closed)
Patch Set: Created 4 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
« no previous file with comments | « chrome/browser/win/enumerate_modules_model.h ('k') | no next file » | 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/win/enumerate_modules_model.h" 5 #include "chrome/browser/win/enumerate_modules_model.h"
6 6
7 #include <softpub.h> 7 #include <softpub.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 #include <tlhelp32.h> 10 #include <tlhelp32.h>
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 // enumeration in this already started task. 511 // enumeration in this already started task.
512 ++index; 512 ++index;
513 } 513 }
514 514
515 // Getting here means that all of the modules have been inspected. 515 // Getting here means that all of the modules have been inspected.
516 return ScanImplFinish(); 516 return ScanImplFinish();
517 } 517 }
518 518
519 void ModuleEnumerator::ScanImplFinish() { 519 void ModuleEnumerator::ScanImplFinish() {
520 // TODO(chrisha): Annotate any modules that are suspicious/bad. 520 // TODO(chrisha): Annotate any modules that are suspicious/bad.
521 AnnotateBadModules();
522 521
523 ReportThirdPartyMetrics(); 522 ReportThirdPartyMetrics();
524 523
525 std::sort(enumerated_modules_->begin(), 524 std::sort(enumerated_modules_->begin(),
526 enumerated_modules_->end(), ModuleSort); 525 enumerated_modules_->end(), ModuleSort);
527 526
528 UMA_HISTOGRAM_TIMES("Conflicts.EnumerationInspectionTime", 527 UMA_HISTOGRAM_TIMES("Conflicts.EnumerationInspectionTime",
529 enumeration_inspection_time_); 528 enumeration_inspection_time_);
530 UMA_HISTOGRAM_TIMES("Conflicts.EnumerationTotalTime", 529 UMA_HISTOGRAM_TIMES("Conflicts.EnumerationTotalTime",
531 enumeration_total_time_); 530 enumeration_total_time_);
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
686 base::CompareCase::SENSITIVE)) { 685 base::CompareCase::SENSITIVE)) {
687 base::string16 new_location = mapping->second + 686 base::string16 new_location = mapping->second +
688 location.substr(prefix.length() - 1); 687 location.substr(prefix.length() - 1);
689 size_t length = new_location.length() - mapping->second.length(); 688 size_t length = new_location.length() - mapping->second.length();
690 if (length < min_length) { 689 if (length < min_length) {
691 entry->location = new_location; 690 entry->location = new_location;
692 min_length = length; 691 min_length = length;
693 } 692 }
694 } 693 }
695 } 694 }
696 }
697
698 void ModuleEnumerator::AnnotateBadModules() {
699 for (auto& module : *enumerated_modules_) {
700 if (module.name == L"rapportnikko.dll") {
701 base::Version version(base::UTF16ToASCII(module.version));
702 base::Version good("3.6");
703 if (version.CompareTo(good) < 0) {
704 module.status = ModuleStatus::CONFIRMED_BAD;
705 module.recommended_action = RecommendedAction::UNINSTALL;
706 }
707 }
708 }
709 } 695 }
710 696
711 void ModuleEnumerator::ReportThirdPartyMetrics() { 697 void ModuleEnumerator::ReportThirdPartyMetrics() {
712 static const wchar_t kMicrosoft[] = L"Microsoft "; 698 static const wchar_t kMicrosoft[] = L"Microsoft ";
713 static const wchar_t kGoogle[] = L"Google Inc"; 699 static const wchar_t kGoogle[] = L"Google Inc";
714 700
715 // Used for counting unique certificates that need to be validated. A 701 // Used for counting unique certificates that need to be validated. A
716 // catalog counts as a single certificate, as does a file with a baked in 702 // catalog counts as a single certificate, as does a file with a baked in
717 // certificate. 703 // certificate.
718 std::set<base::FilePath> unique_certificates; 704 std::set<base::FilePath> unique_certificates;
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
1025 1011
1026 UMA_HISTOGRAM_COUNTS_100("Conflicts.SuspectedBadModules", 1012 UMA_HISTOGRAM_COUNTS_100("Conflicts.SuspectedBadModules",
1027 suspected_bad_modules_detected_); 1013 suspected_bad_modules_detected_);
1028 UMA_HISTOGRAM_COUNTS_100("Conflicts.ConfirmedBadModules", 1014 UMA_HISTOGRAM_COUNTS_100("Conflicts.ConfirmedBadModules",
1029 confirmed_bad_modules_detected_); 1015 confirmed_bad_modules_detected_);
1030 1016
1031 // Forward the callback to any registered observers. 1017 // Forward the callback to any registered observers.
1032 for (Observer& observer : observers_) 1018 for (Observer& observer : observers_)
1033 observer.OnScanCompleted(); 1019 observer.OnScanCompleted();
1034 } 1020 }
OLDNEW
« no previous file with comments | « chrome/browser/win/enumerate_modules_model.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698