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) { ...@@ -142,7 +142,9 @@ void RegisterThirdPartyModuleListComponent(ComponentUpdateService* cus) {
if (!database) if (!database)
return; return;
ThirdPartyConflictsManager* manager = ThirdPartyConflictsManager* manager =
&database->third_party_conflicts_manager(); database->third_party_conflicts_manager();
if (!manager)
return;
auto installer = base::MakeRefCounted<ComponentInstaller>( auto installer = base::MakeRefCounted<ComponentInstaller>(
std::make_unique<ThirdPartyModuleListComponentInstallerPolicy>(manager)); std::make_unique<ThirdPartyModuleListComponentInstallerPolicy>(manager));
installer->Register(cus, base::OnceClosure()); installer->Register(cus, base::OnceClosure());
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/files/file_path.h" #include "base/files/file_path.h"
#include "base/location.h" #include "base/location.h"
#include "base/win/windows_version.h"
#include "chrome/browser/conflicts/module_database_observer_win.h" #include "chrome/browser/conflicts/module_database_observer_win.h"
namespace { namespace {
...@@ -44,14 +45,15 @@ ModuleDatabase::ModuleDatabase( ...@@ -44,14 +45,15 @@ ModuleDatabase::ModuleDatabase(
// base::Unretained(). // base::Unretained().
module_inspector_(base::Bind(&ModuleDatabase::OnModuleInspected, module_inspector_(base::Bind(&ModuleDatabase::OnModuleInspected,
base::Unretained(this))), base::Unretained(this))),
#if defined(GOOGLE_CHROME_BUILD)
third_party_conflicts_manager_(this),
#endif
weak_ptr_factory_(this) { weak_ptr_factory_(this) {
AddObserver(&third_party_metrics_); AddObserver(&third_party_metrics_);
#if defined(GOOGLE_CHROME_BUILD) #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 #endif
} }
......
...@@ -117,8 +117,9 @@ class ModuleDatabase { ...@@ -117,8 +117,9 @@ class ModuleDatabase {
#if defined(GOOGLE_CHROME_BUILD) #if defined(GOOGLE_CHROME_BUILD)
// Accessor for the third party conflicts manager. This is exposed so that the // Accessor for the third party conflicts manager. This is exposed so that the
// manager can be wired up to the ThirdPartyModuleListComponentInstaller. // manager can be wired up to the ThirdPartyModuleListComponentInstaller.
ThirdPartyConflictsManager& third_party_conflicts_manager() { // Returns returns null on Windows 8.1 and lower.
return third_party_conflicts_manager_; ThirdPartyConflictsManager* third_party_conflicts_manager() {
return third_party_conflicts_manager_.get();
} }
#endif #endif
...@@ -193,7 +194,7 @@ class ModuleDatabase { ...@@ -193,7 +194,7 @@ class ModuleDatabase {
base::ObserverList<ModuleDatabaseObserver> observer_list_; base::ObserverList<ModuleDatabaseObserver> observer_list_;
#if defined(GOOGLE_CHROME_BUILD) #if defined(GOOGLE_CHROME_BUILD)
ThirdPartyConflictsManager third_party_conflicts_manager_; std::unique_ptr<ThirdPartyConflictsManager> third_party_conflicts_manager_;
#endif #endif
// Records metrics on third-party modules. // 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