Make file browser event router owned by the ExtensionService instead of a singleton.

Originally was a part of http://codereview.chromium.org/7243012/

BUG=81745
TEST=covered by existing FileSystemExtensionApiTest tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93475 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
index 6afe4cee..c2aab1e5 100644
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -646,13 +646,6 @@
     ExternalExtensionProviderInterface* provider = i->get();
     provider->ServiceShutdown();
   }
-
-#if defined(OS_CHROMEOS)
-  if (event_routers_initialized_) {
-    ExtensionFileBrowserEventRouter::GetInstance()->
-        StopObservingFileSystemEvents();
-  }
-#endif
 }
 
 void ExtensionService::InitEventRouters() {
@@ -678,8 +671,9 @@
   web_navigation_event_router_->Init();
 
 #if defined(OS_CHROMEOS)
-  ExtensionFileBrowserEventRouter::GetInstance()->ObserveFileSystemEvents(
-      profile_);
+  file_browser_event_router_.reset(
+      new ExtensionFileBrowserEventRouter(profile_));
+  file_browser_event_router_->ObserveFileSystemEvents();
   // Lazy initialization.
   chromeos::ExtensionInputMethodEventRouter::GetInstance();