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

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

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/resources/remoting_setup_flow.html ('k') | chrome/browser/remoting/setup_flow.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/remoting/setup_flow.h
diff --git a/chrome/browser/remoting/setup_flow.h b/chrome/browser/remoting/setup_flow.h
deleted file mode 100644
index c952bd68b3de5902ed5d17dfeafd96c6b94e127b..0000000000000000000000000000000000000000
--- a/chrome/browser/remoting/setup_flow.h
+++ /dev/null
@@ -1,220 +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.
-
-#ifndef CHROME_BROWSER_REMOTING_SETUP_FLOW_H_
-#define CHROME_BROWSER_REMOTING_SETUP_FLOW_H_
-
-#include "base/callback.h"
-#include "base/memory/scoped_ptr.h"
-#include "chrome/browser/ui/webui/html_dialog_ui.h"
-#include "chrome/common/remoting/chromoting_host_info.h"
-#include "content/browser/webui/web_ui.h"
-
-class ListValue;
-class ServiceProcessControl;
-
-namespace remoting {
-
-class SetupFlow;
-
-// SetupFlowStep represents a single step for SetupFlow, e.g. login or
-// host registration. When a step is finished, GetNextStep() is called
-// to get the step that must follow.
-class SetupFlowStep {
- public:
- typedef Callback0::Type DoneCallback;
-
- SetupFlowStep();
- virtual ~SetupFlowStep();
-
- // Start the step. Ownership of |done_callback| is given to the
- // function. |done_callback| is called when the step is finished,
- // The callback must be called on the same thread as Start().
- virtual void Start(SetupFlow* flow, DoneCallback* done_callback) = 0;
-
- // Called to handle |message| received from UI. |args| may be set to
- // NULL.
- virtual void HandleMessage(const std::string& message, const Value* arg) = 0;
-
- // Called if user closes the dialog.
- virtual void Cancel() = 0;
-
- // Returns SetupFlowStep object that corresponds to the next
- // step. Must never return NULL.
- virtual SetupFlowStep* GetNextStep() = 0;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(SetupFlowStep);
-};
-
-// SetupFlowStepBase implements base functions common for all
-// SetupFlowStep implementations.
-class SetupFlowStepBase : public SetupFlowStep {
- public:
- SetupFlowStepBase();
- ~SetupFlowStepBase();
-
- // SetupFlowStep implementation.
- virtual void Start(SetupFlow* flow, DoneCallback* done_callback);
- virtual SetupFlowStep* GetNextStep();
-
- protected:
- SetupFlow* flow() { return flow_; }
-
- void ExecuteJavascriptInIFrame(const std::wstring& iframe_xpath,
- const std::wstring& js);
-
- // Finish current step. Calls |done_callback| specified in Start().
- // GetNextStep() will return the specified |next_step|.
- void FinishStep(SetupFlowStep* next_step);
-
- // Called from Start(). Child classes must override this method
- // instead of Start().
- virtual void DoStart() = 0;
-
- private:
- SetupFlow* flow_;
- scoped_ptr<DoneCallback> done_callback_;
- bool done_;
-
- // Next step stored between Done() and GetNextStep();
- SetupFlowStep* next_step_;
-
- DISALLOW_COPY_AND_ASSIGN(SetupFlowStepBase);
-};
-
-// Base class for error steps. It shows the error message returned by
-// GetErrorMessage() and Retry button.
-class SetupFlowErrorStepBase : public SetupFlowStepBase {
- public:
- SetupFlowErrorStepBase();
- virtual ~SetupFlowErrorStepBase();
-
- // SetupFlowStep implementation.
- virtual void HandleMessage(const std::string& message, const Value* arg);
- virtual void Cancel();
-
- protected:
- virtual void DoStart();
-
- // Returns error message that is shown to the user.
- virtual string16 GetErrorMessage() = 0;
-
- // Called when user clicks Retry button. Normally this methoud just
- // calls FinishStep() with an appropriate next step.
- virtual void Retry() = 0;
-
- private:
- DISALLOW_COPY_AND_ASSIGN(SetupFlowErrorStepBase);
-};
-
-// The last step in the setup flow. This step never finishes, user is
-// expected to close dialog after that.
-class SetupFlowDoneStep : public SetupFlowStepBase {
- public:
- SetupFlowDoneStep();
- explicit SetupFlowDoneStep(const string16& message);
- virtual ~SetupFlowDoneStep();
-
- // SetupFlowStep implementation.
- virtual void HandleMessage(const std::string& message, const Value* arg);
- virtual void Cancel();
-
- protected:
- virtual void DoStart();
-
- private:
- string16 message_;
-
- DISALLOW_COPY_AND_ASSIGN(SetupFlowDoneStep);
-};
-
-// SetupFlowContext stores data that needs to be passed between
-// different setup flow steps.
-struct SetupFlowContext {
- SetupFlowContext();
- ~SetupFlowContext();
-
- std::string login;
- std::string remoting_token;
- std::string talk_token;
-
- ChromotingHostInfo host_info;
-};
-
-// This class is responsible for showing a remoting setup dialog and
-// perform operations to fill the content of the dialog and handle
-// user actions in the dialog.
-//
-// Each page in the setup flow may send message to the current
-// step. In order to do that it must use send a RemotingSetup message
-// and specify message name as the first value in the argument
-// list. For example the following code sends Retry message to the
-// current step:
-//
-// chrome.send("RemotingSetup", ["Retry"])
-//
-// Assitional message parameters may be provided via send value in the
-// arguments list, e.g.:
-//
-// chrome.send("RemotingSetup", ["SubmitAuth", auth_data])
-//
-// In this case auth_data would be passed in
-// SetupFlowStep::HandleMessage().
-class SetupFlow : public WebUIMessageHandler,
- public HtmlDialogUIDelegate {
- public:
- virtual ~SetupFlow();
-
- static SetupFlow* OpenSetupDialog(Profile* profile);
-
- WebUI* web_ui() { return web_ui_; }
- Profile* profile() { return profile_; }
- SetupFlowContext* context() { return &context_; }
-
- private:
- explicit SetupFlow(const std::string& args, Profile* profile,
- SetupFlowStep* first_step);
-
- // HtmlDialogUIDelegate implementation.
- virtual GURL GetDialogContentURL() const;
- virtual void GetWebUIMessageHandlers(
- std::vector<WebUIMessageHandler*>* handlers) const;
- virtual void GetDialogSize(gfx::Size* size) const;
- virtual std::string GetDialogArgs() const;
- virtual void OnDialogClosed(const std::string& json_retval);
- virtual void OnCloseContents(TabContents* source, bool* out_close_dialog);
- virtual std::wstring GetDialogTitle() const;
- virtual bool IsDialogModal() const;
- virtual bool ShouldShowDialogTitle() const;
-
- // WebUIMessageHandler implementation.
- virtual WebUIMessageHandler* Attach(WebUI* web_ui);
- virtual void RegisterMessages();
-
- // Message handlers for the messages we receive from UI.
- void HandleSubmitAuth(const ListValue* args);
- void HandleUIMessage(const ListValue* args);
-
- void StartCurrentStep();
- void OnStepDone();
-
- // Pointer to the Web UI. This is provided by RemotingSetupMessageHandler
- // when attached.
- WebUI* web_ui_;
-
- // The args to pass to the initial page.
- std::string dialog_start_args_;
- Profile* profile_;
-
- SetupFlowContext context_;
-
- scoped_ptr<SetupFlowStep> current_step_;
-
- DISALLOW_COPY_AND_ASSIGN(SetupFlow);
-};
-
-} // namespace remoting
-
-#endif // CHROME_BROWSER_REMOTING_SETUP_FLOW_H_
« no previous file with comments | « chrome/browser/remoting/resources/remoting_setup_flow.html ('k') | chrome/browser/remoting/setup_flow.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698