Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / xwalk / extensions / xesh / xesh_main.cc
index feabbae..7a06698 100644 (file)
@@ -145,7 +145,6 @@ class ExtensionManager {
  public:
   ExtensionManager()
     : shutdown_event_(false, false) {
-    runtime_variables_["app_id"] = base::Value::CreateStringValue("xesh");
   }
 
   ~ExtensionManager() {
@@ -157,9 +156,12 @@ class ExtensionManager {
         CommandLine::ForCurrentProcess()->GetSwitchValuePath(
             switches::kXWalkExternalExtensionsPath);
 
+    scoped_ptr<base::ValueMap> runtime_variables(new base::ValueMap);
+    (*runtime_variables)["app_id"] = new base::StringValue("xesh");
+
     std::vector<std::string> extensions =
         RegisterExternalExtensionsInDirectory(&server_, extensions_dir,
-            runtime_variables_);
+            runtime_variables.Pass());
 
     fprintf(stderr, "\nExtensions Loaded:\n");
     std::vector<std::string>::const_iterator it = extensions.begin();
@@ -170,9 +172,9 @@ class ExtensionManager {
   void Initialize(base::MessageLoopProxy* io_message_loop_proxy) {
     handle_ = IPC::Channel::GenerateVerifiedChannelID(std::string());
 
-    server_channel_.reset(new IPC::SyncChannel(handle_,
+    server_channel_ = IPC::SyncChannel::Create(handle_,
         IPC::Channel::MODE_SERVER, &server_, io_message_loop_proxy, true,
-        &shutdown_event_));
+        &shutdown_event_);
 
     server_.Initialize(server_channel_.get());
   }
@@ -184,7 +186,6 @@ class ExtensionManager {
   base::WaitableEvent shutdown_event_;
   XWalkExtensionServer server_;
   scoped_ptr<IPC::SyncChannel> server_channel_;
-  base::ValueMap runtime_variables_;
 };
 }  // namespace