#include "base/command_line.h"
#include "base/file_util.h"
#include "content/public/browser/render_process_host.h"
-#include "net/base/net_util.h"
+#include "net/base/filename_util.h"
#include "xwalk/application/browser/application.h"
-#include "xwalk/application/browser/application_event_manager.h"
#include "xwalk/application/browser/application_service.h"
-#include "xwalk/application/browser/application_storage.h"
+#include "xwalk/application/common/application_storage.h"
#include "xwalk/application/common/application_manifest_constants.h"
-#include "xwalk/application/common/event_names.h"
#include "xwalk/application/common/id_util.h"
-#include "xwalk/application/extension/application_event_extension.h"
#include "xwalk/application/extension/application_runtime_extension.h"
#include "xwalk/application/extension/application_widget_extension.h"
#include "xwalk/runtime/browser/runtime_context.h"
ApplicationSystem::ApplicationSystem(RuntimeContext* runtime_context)
: runtime_context_(runtime_context),
application_storage_(new ApplicationStorage(runtime_context->GetPath())),
- event_manager_(new ApplicationEventManager()),
application_service_(new ApplicationService(
runtime_context,
- application_storage_.get(),
- event_manager_.get())) {}
+ application_storage_.get())) {}
ApplicationSystem::~ApplicationSystem() {
}
}
bool ApplicationSystem::HandleApplicationManagementCommands(
- const CommandLine& cmd_line, const GURL& url,
- bool& run_default_message_loop) {
+ const base::CommandLine& cmd_line, const GURL& url,
+ bool& run_default_message_loop) { // NOLINT
run_default_message_loop = false;
if (cmd_line.HasSwitch(switches::kListApplications)) {
- const ApplicationData::ApplicationDataMap& apps =
- application_storage_->GetInstalledApplications();
+ ApplicationData::ApplicationDataMap apps;
+ application_storage_->GetInstalledApplications(apps);
LOG(INFO) << "Application ID Application Name";
LOG(INFO) << "-----------------------------------------------------";
ApplicationData::ApplicationDataMap::const_iterator it;
}
if (cmd_line.HasSwitch(switches::kUninstall)) {
- const CommandLine::StringVector& args = cmd_line.GetArgs();
+ const base::CommandLine::StringVector& args = cmd_line.GetArgs();
if (args.empty())
return false;
std::string app_id;
if (application_service_->Install(path, &app_id)) {
LOG(INFO) << "[OK] Application installed: " << app_id;
- if (application_storage_->GetApplicationData(app_id)->HasMainDocument())
- run_default_message_loop = true;
} else if (!app_id.empty() &&
application_service_->Update(app_id, path)) {
LOG(INFO) << "[OK] Application updated: " << app_id;
- if (application_storage_->GetApplicationData(app_id)->HasMainDocument())
- run_default_message_loop = true;
} else {
LOG(ERROR) << "[ERR] Application install/update failure: "
<< path.value();
template <typename T>
bool ApplicationSystem::LaunchWithCommandLineParam(
- const T& param, const CommandLine& cmd_line) {
- scoped_refptr<Event> event = Event::CreateEvent(
- kOnLaunched, scoped_ptr<base::ListValue>(new base::ListValue));
-
+ const T& param, const base::CommandLine& cmd_line) {
Application::LaunchParams launch_params;
- if (cmd_line.HasSwitch(switches::kFullscreen))
- launch_params.window_state = ui::SHOW_STATE_FULLSCREEN;
-
- if (Application* application =
- application_service_->Launch(param, launch_params)) {
- event_manager_->SendEvent(application->id(), event);
- return true;
- }
+ launch_params.force_fullscreen = cmd_line.HasSwitch(switches::kFullscreen);
- return false;
+ return application_service_->Launch(param, launch_params);
}
// Launch an application created from arbitrary url.
// as common browser apps.
template <>
bool ApplicationSystem::LaunchWithCommandLineParam<GURL>(
- const GURL& url, const CommandLine& cmd_line) {
+ const GURL& url, const base::CommandLine& cmd_line) {
namespace keys = xwalk::application_manifest_keys;
const std::string& url_spec = url.spec();
if (!application_data) {
LOG(ERROR) << "Error occurred while trying to launch application: "
<< error;
- return NULL;
+ return false;
}
Application::LaunchParams launch_params;
- if (cmd_line.HasSwitch(switches::kFullscreen))
- launch_params.window_state = ui::SHOW_STATE_FULLSCREEN;
+ launch_params.force_fullscreen = cmd_line.HasSwitch(switches::kFullscreen);
launch_params.entry_points = Application::URLKey;
return !!application_service_->Launch(application_data, launch_params);
}
bool ApplicationSystem::LaunchFromCommandLine(
- const CommandLine& cmd_line, const GURL& url,
- bool& run_default_message_loop) {
+ const base::CommandLine& cmd_line, const GURL& url,
+ bool& run_default_message_loop) { // NOLINT
// Handles raw app_id passed as first non-switch argument.
- const CommandLine::StringVector& args = cmd_line.GetArgs();
+ const base::CommandLine::StringVector& args = cmd_line.GetArgs();
if (!args.empty()) {
std::string app_id = std::string(args[0].begin(), args[0].end());
if (ApplicationData::IsIDValid(app_id)) {
return; // We might be in browser mode.
extensions->push_back(new ApplicationRuntimeExtension(application));
- extensions->push_back(new ApplicationEventExtension(
- event_manager_.get(), application_storage_.get(), application));
extensions->push_back(new ApplicationWidgetExtension(application));
}