blob: 9d4f3ab5b961dea2076971beb9c4258300349388 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "services/kiosk_wm/kiosk_wm.h"
#include "mojo/services/window_manager/interfaces/window_manager.mojom.h"
#include "services/kiosk_wm/kiosk_wm_controller.h"
#include "services/window_manager/window_manager_delegate.h"
namespace kiosk_wm {
KioskWM::KioskWM()
: window_manager_app_(new window_manager::WindowManagerApp(this)) {}
KioskWM::~KioskWM() {}
void KioskWM::Initialize(mojo::ApplicationImpl* app) {
window_manager_app_->Initialize(app);
// Format: --args-for="app_url default_url"
if (app->args().size() > 1) {
std::string default_url = app->args()[1];
mojo::WindowManagerPtr window_manager;
app->ConnectToService("mojo:kiosk_wm", &window_manager);
window_manager->Embed(default_url, nullptr, nullptr);
}
}
scoped_ptr<window_manager::WindowManagerController>
KioskWM::CreateWindowManagerController(
mojo::ApplicationConnection* connection,
window_manager::WindowManagerRoot* wm_root) {
return scoped_ptr<window_manager::WindowManagerController>(
new KioskWMController(wm_root));
}
bool KioskWM::ConfigureIncomingConnection(
mojo::ApplicationConnection* connection) {
window_manager_app_->ConfigureIncomingConnection(connection);
return true;
}
} // namespace kiosk_wm