| Index: chrome/browser/ui/webui/signin/inline_login_ui.cc
|
| diff --git a/chrome/browser/ui/webui/signin/inline_login_ui.cc b/chrome/browser/ui/webui/signin/inline_login_ui.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..98c2caf97e513d80e129a769a74c1ed1d199a1e7
|
| --- /dev/null
|
| +++ b/chrome/browser/ui/webui/signin/inline_login_ui.cc
|
| @@ -0,0 +1,53 @@
|
| +// Copyright 2013 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 "chrome/browser/ui/webui/signin/inline_login_ui.h"
|
| +
|
| +#include "chrome/browser/profiles/profile.h"
|
| +#include "chrome/common/url_constants.h"
|
| +#include "content/public/browser/web_ui.h"
|
| +#include "content/public/browser/web_ui_data_source.h"
|
| +#include "grit/browser_resources.h"
|
| +
|
| +#if defined(OS_CHROMEOS)
|
| +#include "chrome/browser/ui/webui/chromeos/login/inline_login_handler_cros_impl.h"
|
| +#else
|
| +#include "chrome/browser/extensions/tab_helper.h"
|
| +#include "chrome/browser/ui/webui/signin/inline_login_handler_impl.h"
|
| +#endif
|
| +
|
| +namespace {
|
| +
|
| +content::WebUIDataSource* CreateWebUIDataSource() {
|
| + content::WebUIDataSource* source =
|
| + content::WebUIDataSource::Create(chrome::kChromeUIChromeSigninHost);
|
| + source->SetUseJsonJSFormatV2();
|
| + source->SetJsonPath("strings.js");
|
| +
|
| + source->SetDefaultResource(IDR_INLINE_LOGIN_HTML);
|
| + source->AddResourcePath("inline_login.css", IDR_INLINE_LOGIN_CSS);
|
| + source->AddResourcePath("inline_login.js", IDR_INLINE_LOGIN_JS);
|
| + return source;
|
| +};
|
| +
|
| +} // empty namespace
|
| +
|
| +InlineLoginUI::InlineLoginUI(content::WebUI* web_ui)
|
| + : WebDialogUI(web_ui),
|
| + auth_extension_(Profile::FromWebUI(web_ui)) {
|
| + Profile* profile = Profile::FromWebUI(web_ui);
|
| + content::WebUIDataSource::Add(profile, CreateWebUIDataSource());
|
| +
|
| +#if defined(OS_CHROMEOS)
|
| + web_ui->AddMessageHandler(new chromeos::InlineLoginHandlerCrosImpl());
|
| +#else
|
| + web_ui->AddMessageHandler(new InlineLoginHandlerImpl());
|
| + // Required for intercepting extension function calls when the page is loaded
|
| + // in a bubble (not a full tab, thus tab helpers are not registered
|
| + // automatically).
|
| + extensions::TabHelper::CreateForWebContents(web_ui->GetWebContents());
|
| +#endif
|
| +}
|
| +
|
| +InlineLoginUI::~InlineLoginUI() {}
|
|
|