Index: chrome/installer/setup/uninstall.cc |
diff --git a/chrome/installer/setup/uninstall.cc b/chrome/installer/setup/uninstall.cc |
index 4bb3e7051ca0a54ad07c91dfc9aef373108d28fa..35905e4224d87708626bc6d4f7d13667951fc302 100644 |
--- a/chrome/installer/setup/uninstall.cc |
+++ b/chrome/installer/setup/uninstall.cc |
@@ -34,6 +34,7 @@ |
#include "chrome/installer/util/browser_distribution.h" |
#include "chrome/installer/util/channel_info.h" |
#include "chrome/installer/util/delete_after_reboot_helper.h" |
+#include "chrome/installer/util/firewall_manager.h" |
#include "chrome/installer/util/google_update_constants.h" |
#include "chrome/installer/util/google_update_settings.h" |
#include "chrome/installer/util/helper.h" |
@@ -1042,6 +1043,14 @@ void UninstallActiveSetupEntries(const InstallerState& installer_state, |
} |
} |
+void UninstallFirewallRules(BrowserDistribution* dist, |
+ const base::FilePath& chrome_exe) { |
+ scoped_ptr<FirewallManager> firewall_manager( |
+ FirewallManager::Create(dist, chrome_exe)); |
+ if (firewall_manager) |
+ firewall_manager->DeleteUDPFirewallRule(); |
+} |
+ |
InstallStatus UninstallProduct(const InstallationState& original_state, |
const InstallerState& installer_state, |
const base::FilePath& setup_path, |
@@ -1222,6 +1231,8 @@ InstallStatus UninstallProduct(const InstallationState& original_state, |
UninstallActiveSetupEntries(installer_state, product); |
+ UninstallFirewallRules(browser_dist, base::FilePath(chrome_exe)); |
+ |
// Notify the shell that associations have changed since Chrome was likely |
// unregistered. |
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL); |