Commit ddf1f420 authored by Patrick Monette's avatar Patrick Monette Committed by Commit Bot

[3p-Conflicts] Restrict the incompatible applications warning to Win10

Bug: 819790
Change-Id: Ib5b1031bf23c211199693abcf614e0b9934214fb
Reviewed-on: https://chromium-review.googlesource.com/952202Reviewed-by: default avatarJoshua Pawlicki <waffles@chromium.org>
Reviewed-by: default avatarGreg Thompson <grt@chromium.org>
Commit-Queue: Patrick Monette <pmonette@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542154}
parent cb584c99
......@@ -142,7 +142,9 @@ void RegisterThirdPartyModuleListComponent(ComponentUpdateService* cus) {
if (!database)
return;
ThirdPartyConflictsManager* manager =
&database->third_party_conflicts_manager();
database->third_party_conflicts_manager();
if (!manager)
return;
auto installer = base::MakeRefCounted<ComponentInstaller>(
std::make_unique<ThirdPartyModuleListComponentInstallerPolicy>(manager));
installer->Register(cus, base::OnceClosure());
......
......@@ -10,6 +10,7 @@
#include "base/bind.h"
#include "base/files/file_path.h"
#include "base/location.h"
#include "base/win/windows_version.h"
#include "chrome/browser/conflicts/module_database_observer_win.h"
namespace {
......@@ -44,14 +45,15 @@ ModuleDatabase::ModuleDatabase(
// base::Unretained().
module_inspector_(base::Bind(&ModuleDatabase::OnModuleInspected,
base::Unretained(this))),
#if defined(GOOGLE_CHROME_BUILD)
third_party_conflicts_manager_(this),
#endif
weak_ptr_factory_(this) {
AddObserver(&third_party_metrics_);
#if defined(GOOGLE_CHROME_BUILD)
AddObserver(&third_party_conflicts_manager_);
if (base::win::GetVersion() >= base::win::VERSION_WIN10) {
third_party_conflicts_manager_ =
std::make_unique<ThirdPartyConflictsManager>(this);
AddObserver(third_party_conflicts_manager_.get());
}
#endif
}
......
......@@ -117,8 +117,9 @@ class ModuleDatabase {
#if defined(GOOGLE_CHROME_BUILD)
// Accessor for the third party conflicts manager. This is exposed so that the
// manager can be wired up to the ThirdPartyModuleListComponentInstaller.
ThirdPartyConflictsManager& third_party_conflicts_manager() {
return third_party_conflicts_manager_;
// Returns returns null on Windows 8.1 and lower.
ThirdPartyConflictsManager* third_party_conflicts_manager() {
return third_party_conflicts_manager_.get();
}
#endif
......@@ -193,7 +194,7 @@ class ModuleDatabase {
base::ObserverList<ModuleDatabaseObserver> observer_list_;
#if defined(GOOGLE_CHROME_BUILD)
ThirdPartyConflictsManager third_party_conflicts_manager_;
std::unique_ptr<ThirdPartyConflictsManager> third_party_conflicts_manager_;
#endif
// Records metrics on third-party modules.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment