#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() {}
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 =
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