Upstream version 11.39.256.0
[platform/framework/web/crosswalk.git] / src / xwalk / runtime / browser / xwalk_app_extension_bridge.cc
index 7b10e55..49dd0a3 100644 (file)
@@ -7,6 +7,7 @@
 #include <string>
 
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/notification_service.h"
 #include "xwalk/application/browser/application.h"
 #include "xwalk/application/browser/application_service.h"
 #include "xwalk/application/browser/application_system.h"
 #include "xwalk/application/browser/application_service_provider_linux.h"
 #include "xwalk/application/browser/linux/running_application_object.h"
 #endif
-#include "xwalk/runtime/browser/runtime_defered_ui_strategy.h"
 
 namespace xwalk {
 
+using application::Application;
+using application::ApplicationService;
+using application::ApplicationSystem;
+
 XWalkAppExtensionBridge::XWalkAppExtensionBridge()
-    : app_system_(NULL) {
+    : app_system_(nullptr) {
 }
 
 XWalkAppExtensionBridge::~XWalkAppExtensionBridge() {}
@@ -66,10 +70,7 @@ void XWalkAppExtensionBridge::ExtensionProcessCreated(
     int render_process_id,
     const IPC::ChannelHandle& channel_handle) {
 #if defined(OS_LINUX)
-  CHECK(app_system_);
-  application::ApplicationService* service = app_system_->application_service();
-  application::Application* app =
-      service->GetApplicationByRenderHostID(render_process_id);
+  Application* app = GetApplication(render_process_id);
   CHECK(app);
 
   application::ApplicationSystemLinux* app_system =
@@ -83,19 +84,18 @@ void XWalkAppExtensionBridge::ExtensionProcessCreated(
 
 void XWalkAppExtensionBridge::RenderChannelCreated(
     int render_process_id) {
-  CHECK(app_system_);
-  application::ApplicationService *service =
-      app_system_->application_service();
-  application::Application *app =
-      service->GetApplicationByRenderHostID(render_process_id);
+  Application* app = GetApplication(render_process_id);
   if (!app)
     return;
+  content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE,
+      base::Bind(&Application::RenderChannelCreated, app->GetWeakPtr()));
+}
 
-  content::BrowserThread::PostTask(
-      content::BrowserThread::UI,
-      FROM_HERE,
-      base::Bind(
-          &RuntimeDeferedUIStrategy::ShowStoredRuntimes,
-          base::Unretained(ToRuntimeDeferedUIStrategy(app->ui_strategy()))));
+Application* XWalkAppExtensionBridge::GetApplication(int render_process_id) {
+  CHECK(app_system_);
+  ApplicationService* service =
+      app_system_->application_service();
+  return service->GetApplicationByRenderHostID(render_process_id);
 }
+
 }  // namespace xwalk