summaryrefslogtreecommitdiffstats
path: root/net/proxy/proxy_config_service_win.cc
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-04 17:41:00 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-04 17:41:00 +0000
commit45446a5e18df7910f64a690a5d6389b70e30f985 (patch)
tree5318a1c6e14aa8600a2d958929da77019d1ef4a8 /net/proxy/proxy_config_service_win.cc
parent42d5be693f7cc623caa3df6bfb2bcc4f6861cb36 (diff)
downloadchromium_src-45446a5e18df7910f64a690a5d6389b70e30f985.zip
chromium_src-45446a5e18df7910f64a690a5d6389b70e30f985.tar.gz
chromium_src-45446a5e18df7910f64a690a5d6389b70e30f985.tar.bz2
Turn on file access checks on Win.
BUG=60211 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=64960 Review URL: http://codereview.chromium.org/4222005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65075 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/proxy/proxy_config_service_win.cc')
-rw-r--r--net/proxy/proxy_config_service_win.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/proxy/proxy_config_service_win.cc b/net/proxy/proxy_config_service_win.cc
index d0a387f..5aca4ae 100644
--- a/net/proxy/proxy_config_service_win.cc
+++ b/net/proxy/proxy_config_service_win.cc
@@ -12,6 +12,7 @@
#include "base/string_tokenizer.h"
#include "base/string_util.h"
#include "base/stl_util-inl.h"
+#include "base/thread_restrictions.h"
#include "base/win/registry.h"
#include "net/base/net_errors.h"
#include "net/proxy/proxy_config.h"
@@ -72,6 +73,9 @@ ProxyConfigServiceWin::ProxyConfigServiceWin()
}
ProxyConfigServiceWin::~ProxyConfigServiceWin() {
+ // The registry functions below will end up going to disk. Do this on another
+ // thread to avoid slowing the IO thread. http://crbug.com/61453
+ base::ThreadRestrictions::ScopedAllowIO allow_io;
STLDeleteElements(&keys_to_watch_);
}
@@ -87,6 +91,10 @@ void ProxyConfigServiceWin::StartWatchingRegistryForChanges() {
if (!keys_to_watch_.empty())
return; // Already initialized.
+ // The registry functions below will end up going to disk. Do this on another
+ // thread to avoid slowing the IO thread. http://crbug.com/61453
+ base::ThreadRestrictions::ScopedAllowIO allow_io;
+
// There are a number of different places where proxy settings can live
// in the registry. In some cases it appears in a binary value, in other
// cases string values. Furthermore winhttp and wininet appear to have