| 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 | 
|  |