Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(87)

Unified Diff: chrome/browser/remoting/setup_flow.cc

Issue 6955010: Remove the Remoting Host component from Chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove an errant include. Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/remoting/setup_flow.h ('k') | chrome/browser/remoting/setup_flow_get_status_step.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/remoting/setup_flow.cc
diff --git a/chrome/browser/remoting/setup_flow.cc b/chrome/browser/remoting/setup_flow.cc
deleted file mode 100644
index 0309d0705c874fb130e831cb8f89614271fee351..0000000000000000000000000000000000000000
--- a/chrome/browser/remoting/setup_flow.cc
+++ /dev/null
@@ -1,269 +0,0 @@
-// Copyright (c) 2011 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/remoting/setup_flow.h"
-
-#include "base/json/json_reader.h"
-#include "base/json/json_writer.h"
-#include "base/utf_string_conversions.h"
-#include "base/values.h"
-#include "chrome/browser/prefs/pref_service.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/remoting/remoting_resources_source.h"
-#include "chrome/browser/remoting/setup_flow_login_step.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_list.h"
-#include "chrome/common/pref_names.h"
-#include "content/browser/browser_thread.h"
-#include "content/browser/renderer_host/render_view_host.h"
-#include "content/browser/tab_contents/tab_contents.h"
-#include "grit/generated_resources.h"
-#include "grit/locale_settings.h"
-#include "ui/base/l10n/l10n_font_util.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "ui/gfx/font.h"
-
-namespace remoting {
-
-static const wchar_t kDoneIframeXPath[] = L"//iframe[@id='done']";
-static const wchar_t kErrorIframeXPath[] = L"//iframe[@id='error']";
-
-SetupFlowStep::SetupFlowStep() { }
-SetupFlowStep::~SetupFlowStep() { }
-
-SetupFlowStepBase::SetupFlowStepBase()
- : flow_(NULL),
- done_(false),
- next_step_(NULL) {
-}
-
-SetupFlowStepBase::~SetupFlowStepBase() { }
-
-void SetupFlowStepBase::Start(SetupFlow* flow, DoneCallback* done_callback) {
- done_callback_.reset(done_callback);
- flow_ = flow;
- DoStart();
-}
-
-SetupFlowStep* SetupFlowStepBase::GetNextStep() {
- DCHECK(done_);
- return next_step_;
-}
-
-void SetupFlowStepBase::ExecuteJavascriptInIFrame(
- const std::wstring& iframe_xpath, const std::wstring& js) {
- WebUI* web_ui = flow()->web_ui();
- DCHECK(web_ui);
-
- RenderViewHost* rvh = web_ui->tab_contents()->render_view_host();
- rvh->ExecuteJavascriptInWebFrame(WideToUTF16Hack(iframe_xpath),
- WideToUTF16Hack(js));
-}
-
-void SetupFlowStepBase::FinishStep(SetupFlowStep* next_step) {
- next_step_ = next_step;
- done_ = true;
- done_callback_->Run();
-}
-
-SetupFlowErrorStepBase::SetupFlowErrorStepBase() { }
-SetupFlowErrorStepBase::~SetupFlowErrorStepBase() { }
-
-void SetupFlowErrorStepBase::HandleMessage(const std::string& message,
- const Value* arg) {
- if (message == "Retry") {
- Retry();
- }
-}
-
-void SetupFlowErrorStepBase::Cancel() { }
-
-void SetupFlowErrorStepBase::DoStart() {
- std::wstring javascript =
- L"setMessage('" + UTF16ToWide(GetErrorMessage()) + L"');";
- ExecuteJavascriptInIFrame(kErrorIframeXPath, javascript);
-
- flow()->web_ui()->CallJavascriptFunction("showError");
-
- ExecuteJavascriptInIFrame(kErrorIframeXPath, L"onPageShown();");
-}
-
-SetupFlowDoneStep::SetupFlowDoneStep() {
- message_ = l10n_util::GetStringUTF16(IDS_REMOTING_SUCCESS_MESSAGE);
-}
-
-SetupFlowDoneStep::SetupFlowDoneStep(const string16& message)
- : message_(message) {
-}
-
-SetupFlowDoneStep::~SetupFlowDoneStep() { }
-
-void SetupFlowDoneStep::HandleMessage(const std::string& message,
- const Value* arg) {
-}
-
-void SetupFlowDoneStep::Cancel() { }
-
-void SetupFlowDoneStep::DoStart() {
- std::wstring javascript =
- L"setMessage('" + UTF16ToWide(message_) + L"');";
- ExecuteJavascriptInIFrame(kDoneIframeXPath, javascript);
-
- flow()->web_ui()->CallJavascriptFunction("showSetupDone");
-
- ExecuteJavascriptInIFrame(kDoneIframeXPath, L"onPageShown();");
-}
-
-SetupFlowContext::SetupFlowContext() { }
-SetupFlowContext::~SetupFlowContext() { }
-
-SetupFlow::SetupFlow(const std::string& args,
- Profile* profile,
- SetupFlowStep* first_step)
- : web_ui_(NULL),
- dialog_start_args_(args),
- profile_(profile),
- current_step_(first_step) {
- // TODO(hclam): The data source should be added once.
- profile->GetChromeURLDataManager()->AddDataSource(
- new RemotingResourcesSource());
-}
-
-SetupFlow::~SetupFlow() { }
-
-// static
-SetupFlow* SetupFlow::OpenSetupDialog(Profile* profile) {
- // Set the arguments for showing the gaia login page.
- DictionaryValue args;
- args.SetString("iframeToShow", "login");
- args.SetString("user", "");
- args.SetInteger("error", 0);
- args.SetBoolean("editable_user", true);
-
- std::string json_args;
- base::JSONWriter::Write(&args, false, &json_args);
-
- Browser* b = BrowserList::GetLastActive();
- if (!b)
- return NULL;
-
- SetupFlow *flow = new SetupFlow(json_args, profile, new SetupFlowLoginStep());
- b->BrowserShowHtmlDialog(flow, NULL);
- return flow;
-}
-
-GURL SetupFlow::GetDialogContentURL() const {
- return GURL("chrome://remotingresources/setup");
-}
-
-void SetupFlow::GetWebUIMessageHandlers(
- std::vector<WebUIMessageHandler*>* handlers) const {
- // The called will be responsible for deleting this object.
- handlers->push_back(const_cast<SetupFlow*>(this));
-}
-
-void SetupFlow::GetDialogSize(gfx::Size* size) const {
- PrefService* prefs = profile_->GetPrefs();
- gfx::Font approximate_web_font(
- UTF8ToUTF16(prefs->GetString(prefs::kWebKitSansSerifFontFamily)),
- prefs->GetInteger(prefs::kWebKitDefaultFontSize));
-
- // TODO(pranavk) Replace the following SYNC resources with REMOTING Resources.
- *size = ui::GetLocalizedContentsSizeForFont(
- IDS_REMOTING_SETUP_WIZARD_WIDTH_CHARS,
- IDS_REMOTING_SETUP_WIZARD_HEIGHT_LINES,
- approximate_web_font);
-}
-
-// A callback to notify the delegate that the dialog closed.
-void SetupFlow::OnDialogClosed(const std::string& json_retval) {
- if (current_step_ != NULL)
- current_step_->Cancel();
-}
-
-std::string SetupFlow::GetDialogArgs() const {
- return dialog_start_args_;
-}
-
-void SetupFlow::OnCloseContents(TabContents* source,
- bool* out_close_dialog) {
-}
-
-std::wstring SetupFlow::GetDialogTitle() const {
- return UTF16ToWideHack(
- l10n_util::GetStringUTF16(IDS_REMOTING_SETUP_DIALOG_TITLE));
-}
-
-bool SetupFlow::IsDialogModal() const {
- return false;
-}
-
-bool SetupFlow::ShouldShowDialogTitle() const {
- return true;
-}
-
-WebUIMessageHandler* SetupFlow::Attach(WebUI* web_ui) {
- web_ui_ = web_ui;
- StartCurrentStep();
- return WebUIMessageHandler::Attach(web_ui);
-}
-
-void SetupFlow::RegisterMessages() {
- web_ui_->RegisterMessageCallback(
- "SubmitAuth", NewCallback(this, &SetupFlow::HandleSubmitAuth));
- web_ui_->RegisterMessageCallback(
- "RemotingSetup", NewCallback(this, &SetupFlow::HandleUIMessage));
-}
-
-void SetupFlow::HandleSubmitAuth(const ListValue* args) {
- Value* first_arg = NULL;
- if (!args->Get(0, &first_arg)) {
- NOTREACHED();
- return;
- }
-
- current_step_->HandleMessage("SubmitAuth", first_arg);
-}
-
-void SetupFlow::HandleUIMessage(const ListValue* args) {
- std::string message;
- Value* message_value;
- if (!args->Get(0, &message_value) ||
- !message_value->GetAsString(&message)) {
- NOTREACHED();
- return;
- }
-
- // Message argument is optional and set to NULL if it is not
- // provided by the sending page.
- Value* arg_value = NULL;
- if (args->GetSize() >= 2) {
- if (!args->Get(1, &arg_value)) {
- NOTREACHED();
- return;
- }
- }
-
- current_step_->HandleMessage(message, arg_value);
-}
-
-void SetupFlow::StartCurrentStep() {
- current_step_->Start(this, NewCallback(this, &SetupFlow::OnStepDone));
-}
-
-void SetupFlow::OnStepDone() {
- SetupFlowStep* next_step = current_step_->GetNextStep();
-
- if (current_step_.get()) {
- // Can't destroy current step here. Schedule it to be destroyed later.
- BrowserThread::PostTask(
- BrowserThread::UI, FROM_HERE,
- new DeleteTask<SetupFlowStep>(current_step_.release()));
- }
-
- current_step_.reset(next_step);
- StartCurrentStep();
-}
-
-} // namespace remoting
« no previous file with comments | « chrome/browser/remoting/setup_flow.h ('k') | chrome/browser/remoting/setup_flow_get_status_step.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698