Revert "shill: Convert code to use the newest version of libchrome."

This reverts commit ffebe0c489e0ecccf497547d7078c30cbc8072e2

Unit tests ran on local machine, but wouldn't run on CQ because of some kind of environment difference.

Change-Id: Ia876c0c17f4cd84bca5e2f1bacd7e24a81832d4d
Reviewed-on: https://gerrit.chromium.org/gerrit/17969
Reviewed-by: Eric Shienbrood <ers@chromium.org>
Tested-by: Eric Shienbrood <ers@chromium.org>
diff --git a/rtnl_handler.cc b/rtnl_handler.cc
index f0432d9..66639f5 100644
--- a/rtnl_handler.cc
+++ b/rtnl_handler.cc
@@ -16,7 +16,6 @@
 #include <linux/rtnetlink.h>
 #include <fcntl.h>
 
-#include <base/bind.h>
 #include <base/logging.h>
 
 #include "shill/event_dispatcher.h"
@@ -28,15 +27,12 @@
 #include "shill/rtnl_message.h"
 #include "shill/sockets.h"
 
-using base::Bind;
-using base::Unretained;
 using std::string;
 
 namespace shill {
 
-// TODO(ers): not using LAZY_INSTANCE_INITIALIZER
-// because of http://crbug.com/114828
-static base::LazyInstance<RTNLHandler> g_rtnl_handler = {0, {{0}}};
+static base::LazyInstance<RTNLHandler> g_rtnl_handler(
+    base::LINKER_INITIALIZED);
 
 RTNLHandler::RTNLHandler()
     : sockets_(NULL),
@@ -45,7 +41,7 @@
       request_flags_(0),
       request_sequence_(0),
       last_dump_sequence_(0),
-      rtnl_callback_(Bind(&RTNLHandler::ParseRTNL, Unretained(this))) {
+      rtnl_callback_(NewCallback(this, &RTNLHandler::ParseRTNL)) {
   VLOG(2) << "RTNLHandler created";
 }
 
@@ -86,7 +82,7 @@
   }
 
   rtnl_handler_.reset(dispatcher->CreateInputHandler(rtnl_socket_,
-                                                     rtnl_callback_));
+                                                     rtnl_callback_.get()));
   sockets_ = sockets;
 
   NextRequest(last_dump_sequence_);