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

Side by Side Diff: chrome/browser/intranet_redirect_detector.h

Issue 11570009: Split PrefService into PrefService, PrefServiceSimple and PrefServiceSyncable. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review comments. Created 8 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 | Annotate | Revision Log
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 #ifndef CHROME_BROWSER_INTRANET_REDIRECT_DETECTOR_H_ 5 #ifndef CHROME_BROWSER_INTRANET_REDIRECT_DETECTOR_H_
6 #define CHROME_BROWSER_INTRANET_REDIRECT_DETECTOR_H_ 6 #define CHROME_BROWSER_INTRANET_REDIRECT_DETECTOR_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/memory/weak_ptr.h" 12 #include "base/memory/weak_ptr.h"
13 #include "content/public/browser/notification_observer.h" 13 #include "content/public/browser/notification_observer.h"
14 #include "content/public/browser/notification_registrar.h" 14 #include "content/public/browser/notification_registrar.h"
15 #include "googleurl/src/gurl.h" 15 #include "googleurl/src/gurl.h"
16 #include "net/base/host_resolver_proc.h" 16 #include "net/base/host_resolver_proc.h"
17 #include "net/base/network_change_notifier.h" 17 #include "net/base/network_change_notifier.h"
18 #include "net/url_request/url_fetcher_delegate.h" 18 #include "net/url_request/url_fetcher_delegate.h"
19 19
20 class PrefService; 20 class PrefServiceSimple;
21 21
22 // This object is responsible for determining whether the user is on a network 22 // This object is responsible for determining whether the user is on a network
23 // that redirects requests for intranet hostnames to another site, and if so, 23 // that redirects requests for intranet hostnames to another site, and if so,
24 // tracking what that site is (including across restarts via a pref). For 24 // tracking what that site is (including across restarts via a pref). For
25 // example, the user's ISP might convert a request for "http://query/" into a 25 // example, the user's ISP might convert a request for "http://query/" into a
26 // 302 redirect to "http://isp.domain.com/search?q=query" in order to display 26 // 302 redirect to "http://isp.domain.com/search?q=query" in order to display
27 // custom pages on typos, nonexistent sites, etc. 27 // custom pages on typos, nonexistent sites, etc.
28 // 28 //
29 // We use this information in the AlternateNavURLFetcher to avoid displaying 29 // We use this information in the AlternateNavURLFetcher to avoid displaying
30 // infobars for these cases. Our infobars are designed to allow users to get at 30 // infobars for these cases. Our infobars are designed to allow users to get at
(...skipping 14 matching lines...) Expand all
45 // g_browser_process->intranet_redirect_detector() (which shouldn't be hard, 45 // g_browser_process->intranet_redirect_detector() (which shouldn't be hard,
46 // since there aren't useful public functions on this object for consumers to 46 // since there aren't useful public functions on this object for consumers to
47 // access anyway). 47 // access anyway).
48 IntranetRedirectDetector(); 48 IntranetRedirectDetector();
49 virtual ~IntranetRedirectDetector(); 49 virtual ~IntranetRedirectDetector();
50 50
51 // Returns the current redirect origin. This will be empty if no redirection 51 // Returns the current redirect origin. This will be empty if no redirection
52 // is in place. 52 // is in place.
53 static GURL RedirectOrigin(); 53 static GURL RedirectOrigin();
54 54
55 static void RegisterPrefs(PrefService* prefs); 55 static void RegisterPrefs(PrefServiceSimple* prefs);
56 56
57 // The number of characters the fetcher will use for its randomly-generated 57 // The number of characters the fetcher will use for its randomly-generated
58 // hostnames. 58 // hostnames.
59 static const size_t kNumCharsInHostnames; 59 static const size_t kNumCharsInHostnames;
60 60
61 private: 61 private:
62 typedef std::set<net::URLFetcher*> Fetchers; 62 typedef std::set<net::URLFetcher*> Fetchers;
63 63
64 // Called when the seven second startup sleep or the one second network 64 // Called when the seven second startup sleep or the one second network
65 // switch sleep has finished. Runs any pending fetch. 65 // switch sleep has finished. Runs any pending fetch.
(...skipping 26 matching lines...) Expand all
92 net::AddressFamily address_family, 92 net::AddressFamily address_family,
93 net::HostResolverFlags host_resolver_flags, 93 net::HostResolverFlags host_resolver_flags,
94 net::AddressList* addrlist, 94 net::AddressList* addrlist,
95 int* os_error) OVERRIDE; 95 int* os_error) OVERRIDE;
96 96
97 private: 97 private:
98 virtual ~IntranetRedirectHostResolverProc() {} 98 virtual ~IntranetRedirectHostResolverProc() {}
99 }; 99 };
100 100
101 #endif // CHROME_BROWSER_INTRANET_REDIRECT_DETECTOR_H_ 101 #endif // CHROME_BROWSER_INTRANET_REDIRECT_DETECTOR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698