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

Unified Diff: chrome/test/testing_profile.cc

Issue 5005002: Dynamically refresh pref-configured proxies. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address Jochen's comments. Created 10 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/testing_profile.cc
diff --git a/chrome/test/testing_profile.cc b/chrome/test/testing_profile.cc
index 184a7034be3eabec6adaee6993f9f70148a7ac9c..9e1f428b215e0513cb66f1c3d93f1ff2000ef006 100644
--- a/chrome/test/testing_profile.cc
+++ b/chrome/test/testing_profile.cc
@@ -27,6 +27,7 @@
#include "chrome/browser/host_content_settings_map.h"
#include "chrome/browser/in_process_webkit/webkit_context.h"
#include "chrome/browser/net/gaia/token_service.h"
+#include "chrome/browser/net/pref_proxy_config_service.h"
#include "chrome/browser/notifications/desktop_notification_service.h"
#include "chrome/browser/prefs/browser_prefs.h"
#include "chrome/browser/search_engines/template_url_fetcher.h"
@@ -39,7 +40,6 @@
#include "chrome/common/notification_service.h"
#include "chrome/common/url_constants.h"
#include "chrome/test/testing_pref_service.h"
-#include "chrome/test/test_url_request_context_getter.h"
#include "chrome/test/ui_test_utils.h"
#include "net/base/cookie_monster.h"
#include "net/url_request/url_request_context.h"
@@ -112,6 +112,26 @@ class BookmarkLoadObserver : public BookmarkModelObserver {
DISALLOW_COPY_AND_ASSIGN(BookmarkLoadObserver);
};
+// Used to return a dummy context (normally the context is on the IO thread).
+// The one here can be run on the main test thread. Note that this can lead to
+// a leak if your test does not have a BrowserThread::IO in it because
+// URLRequestContextGetter is defined as a ReferenceCounted object with a
+// special trait that deletes it on the IO thread.
+class TestURLRequestContextGetter : public URLRequestContextGetter {
eroman 2010/11/30 02:58:54 What is this used for? (I don't see it referenced
battre (please use the other) 2010/12/02 18:06:12 Line 427, see below.
+ public:
+ virtual URLRequestContext* GetURLRequestContext() {
+ if (!context_)
+ context_ = new TestURLRequestContext();
+ return context_.get();
+ }
+ virtual scoped_refptr<base::MessageLoopProxy> GetIOMessageLoopProxy() const {
+ return BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO);
+ }
+
+ private:
+ scoped_refptr<URLRequestContext> context_;
+};
+
class TestExtensionURLRequestContext : public URLRequestContext {
public:
TestExtensionURLRequestContext() {
@@ -185,6 +205,8 @@ TestingProfile::~TestingProfile() {
extensions_service_->DestroyingProfile();
extensions_service_ = NULL;
}
+ if (pref_proxy_config_tracker_.get())
+ pref_proxy_config_tracker_->DetachFromPrefService();
}
void TestingProfile::CreateFaviconService() {
@@ -470,6 +492,13 @@ DesktopNotificationService* TestingProfile::GetDesktopNotificationService() {
return desktop_notification_service_.get();
}
+PrefProxyConfigTracker* TestingProfile::GetProxyConfigTracker() {
+ if (!pref_proxy_config_tracker_)
+ pref_proxy_config_tracker_ = new PrefProxyConfigTracker(GetPrefs());
+
+ return pref_proxy_config_tracker_;
+}
+
void TestingProfile::BlockUntilHistoryProcessesPendingRequests() {
DCHECK(history_service_.get());
DCHECK(MessageLoop::current());
« chrome/browser/net/pref_proxy_config_service.cc ('K') | « chrome/test/testing_profile.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698