1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_HELP_APP_LAUNCHER_H_ 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_HELP_APP_LAUNCHER_H_ 7 8 #include "base/compiler_specific.h" 9 #include "base/memory/ref_counted.h" 10 #include "base/memory/scoped_ptr.h" 11 #include "chrome/browser/chromeos/login/ui/login_web_dialog.h" 12 #include "ui/gfx/native_widget_types.h" 13 14 class Profile; 15 16 namespace chromeos { 17 18 // Provides help content during OOBE / login. 19 // Based on connectivity state (offline/online) shows help topic dialog 20 // or launches HelpApp in BWSI mode. 21 class HelpAppLauncher : public base::RefCountedThreadSafe<HelpAppLauncher> { 22 public: 23 // IDs of help topics available from HelpApp. 24 enum HelpTopic { 25 // Showed on basic connectivity issues. 26 HELP_CONNECTIVITY = 188752, 27 // Showed at EULA screen as "Learn more" about stats/crash reports. 28 HELP_STATS_USAGE = 183078, 29 // Showed whenever there're troubles signing in (offline case). 30 HELP_CANT_ACCESS_ACCOUNT_OFFLINE = 188755, 31 // Showed whenever there're troubles signing in (online case). 32 HELP_CANT_ACCESS_ACCOUNT = 188036, 33 // Showed in case when account was disabled. 34 HELP_ACCOUNT_DISABLED = 188756, 35 // Showed in case when hosted account is used. 36 HELP_HOSTED_ACCOUNT = 1054228, 37 // Showed as "Learn more" about enterprise enrolled devices. 38 HELP_ENTERPRISE = 2535613, 39 // Shown at reset screen as "Learn more" about powerwash/rollback options. 40 HELP_POWERWASH = 183084, 41 }; 42 43 // Parent window is used to show dialog. 44 explicit HelpAppLauncher(gfx::NativeWindow parent_window); 45 46 // Shows specified help topic. 47 void ShowHelpTopic(HelpTopic help_topic_id); 48 49 protected: 50 virtual ~HelpAppLauncher(); 51 52 private: 53 friend class base::RefCountedThreadSafe<HelpAppLauncher>; 54 55 // Shows help topic dialog for specified GURL. 56 void ShowHelpTopicDialog(Profile* profile, const GURL& topic_url); 57 58 // Parent window which is passed to help dialog. 59 gfx::NativeWindow parent_window_; 60 61 DISALLOW_COPY_AND_ASSIGN(HelpAppLauncher); 62 }; 63 64 } // namespace chromeos 65 66 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_HELP_APP_LAUNCHER_H_ 67