AU: Full proxy support

This CL Introduces a new proxy resolver that queries Chrome browser
for all URLs. This means the updater now works with Proxy
AutoConfiguration (PAC) files and automatic proxy detection.

BUG=chromium-os:9478
TEST=performed update, unittests

Review URL: http://codereview.chromium.org/6594025

Change-Id: I2c169aec06109e3eabc4011e0b536685dfd13f79
diff --git a/update_attempter_unittest.cc b/update_attempter_unittest.cc
index 2f60609..76068fd 100644
--- a/update_attempter_unittest.cc
+++ b/update_attempter_unittest.cc
@@ -33,13 +33,13 @@
 // methods.
 class UpdateAttempterUnderTest : public UpdateAttempter {
  public:
-  UpdateAttempterUnderTest()
-      : UpdateAttempter(NULL, NULL, &dbus_) {}
-  MockDbusGlib dbus_;
+  explicit UpdateAttempterUnderTest(MockDbusGlib* dbus)
+      : UpdateAttempter(NULL, NULL, dbus) {}
 };
 
 class UpdateAttempterTest : public ::testing::Test {
  protected:
+  UpdateAttempterTest() : attempter_(&dbus_) {}
   virtual void SetUp() {
     EXPECT_EQ(NULL, attempter_.dbus_service_);
     EXPECT_EQ(NULL, attempter_.prefs_);
@@ -60,6 +60,7 @@
     attempter_.prefs_ = &prefs_;
   }
 
+  MockDbusGlib dbus_;
   UpdateAttempterUnderTest attempter_;
   ActionProcessorMock* processor_;
   NiceMock<PrefsMock> prefs_;
@@ -110,7 +111,8 @@
   extern const char* kUpdateCompletedMarker;
   const FilePath kMarker(kUpdateCompletedMarker);
   EXPECT_EQ(0, file_util::WriteFile(kMarker, "", 0));
-  UpdateAttempterUnderTest attempter;
+  MockDbusGlib dbus;
+  UpdateAttempterUnderTest attempter(&dbus);
   EXPECT_EQ(UPDATE_STATUS_UPDATED_NEED_REBOOT, attempter.status());
   EXPECT_TRUE(file_util::Delete(kMarker, false));
 }