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

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

Issue 3080038: Add remoting to wrench menu. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Created 10 years, 4 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.cc ('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
new file mode 100644
index 0000000000000000000000000000000000000000..dd33c551fb2cb539b3edf4b0432783ab603826a0
--- /dev/null
+++ b/chrome/browser/remoting/setup_flow.h
@@ -0,0 +1,103 @@
+// Copyright (c) 2010 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 <string>
+#include <vector>
+
+#include "app/l10n_util.h"
+#include "base/time.h"
+#include "chrome/browser/dom_ui/html_dialog_ui.h"
+#include "gfx/native_widget_types.h"
+#include "grit/generated_resources.h"
+
+namespace remoting_setup {
+
+// The state machine used by Remoting for setup wizard.
+class SetupFlow : public HtmlDialogUIDelegate {
+ public:
+ virtual ~SetupFlow();
+
+ // Runs a flow from |start| to |end|, and does the work of actually showing
+ // the HTML dialog. |container| is kept up-to-date with the lifetime of the
+ // flow (e.g it is emptied on dialog close).
+ static SetupFlow* Run(Profile* service);
+
+ // Fills |args| with "user" and "error" arguments by querying |service|.
+ static void GetArgsForGaiaLogin(DictionaryValue* args);
+
+ // Triggers a state machine transition to advance_state.
+ void Advance();
+
+ // Focuses the dialog. This is useful in cases where the dialog has been
+ // obscured by a browser window.
+ void Focus();
+
+ // HtmlDialogUIDelegate implementation.
+ // Get the HTML file path for the content to load in the dialog.
+ virtual GURL GetDialogContentURL() const {
+ return GURL("chrome://remotingresources/setup");
+ }
+
+ // HtmlDialogUIDelegate implementation.
+ virtual void GetDOMMessageHandlers(
+ std::vector<DOMMessageHandler*>* handlers) const;
+
+ // HtmlDialogUIDelegate implementation.
+ // Get the size of the dialog.
+ virtual void GetDialogSize(gfx::Size* size) const;
+
+ // HtmlDialogUIDelegate implementation.
+ // Gets the JSON string input to use when opening the dialog.
+ virtual std::string GetDialogArgs() const {
+ return dialog_start_args_;
+ }
+
+ // HtmlDialogUIDelegate implementation.
+ // A callback to notify the delegate that the dialog closed.
+ virtual void OnDialogClosed(const std::string& json_retval);
+
+ // HtmlDialogUIDelegate implementation.
+ virtual void OnCloseContents(TabContents* source, bool* out_close_dialog) { }
+
+ // HtmlDialogUIDelegate implementation.
+ virtual std::wstring GetDialogTitle() const {
+ return l10n_util::GetString(IDS_REMOTING_SETUP_DIALOG_TITLE);
+ }
+
+ // HtmlDialogUIDelegate implementation.
+ virtual bool IsDialogModal() const {
+ return false;
+ }
+
+ void OnUserClickedCustomize() {
+ // TODO(pranavk): Implement this method.
+ }
+
+ bool ClickCustomizeOk() {
+ // TODO(pranavk): Implement this method.
+ return true;
+ }
+
+ void ClickCustomizeCancel() {
+ // TODO(pranavk): Implement this method.
+ }
+
+ private:
+
+ // Use static Run method to get an instance.
+ SetupFlow(const std::string& args, Profile* profile);
+
+ DISALLOW_COPY_AND_ASSIGN(SetupFlow);
+
+ std::string dialog_start_args_; // The args to pass to the initial page.
+
+ Profile* profile_;
+};
+
+} // namespace remoting_setup
+
+#endif // CHROME_BROWSER_REMOTING_SETUP_FLOW_H_
« no previous file with comments | « chrome/browser/remoting/setup.cc ('k') | chrome/browser/remoting/setup_flow.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698