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

Unified Diff: chrome/browser/chromeos/app_mode/startup_app_launcher.h

Issue 22914008: Refactor kiosk app launch to be part of login screen UI flow. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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
Index: chrome/browser/chromeos/app_mode/startup_app_launcher.h
diff --git a/chrome/browser/chromeos/app_mode/startup_app_launcher.h b/chrome/browser/chromeos/app_mode/startup_app_launcher.h
deleted file mode 100644
index ac7e5ae67e8196975c824fd7e484e187667518e8..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/app_mode/startup_app_launcher.h
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright 2013 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_CHROMEOS_APP_MODE_STARTUP_APP_LAUNCHER_H_
-#define CHROME_BROWSER_CHROMEOS_APP_MODE_STARTUP_APP_LAUNCHER_H_
-
-#include <string>
-
-#include "base/basictypes.h"
-#include "base/memory/ref_counted.h"
-#include "base/memory/weak_ptr.h"
-#include "base/timer/timer.h"
-#include "chrome/browser/chromeos/app_mode/kiosk_app_launch_error.h"
-#include "chrome/browser/signin/oauth2_token_service.h"
-#include "net/base/network_change_notifier.h"
-#include "ui/base/events/event_handler.h"
-
-class Profile;
-
-namespace extensions {
-class WebstoreStandaloneInstaller;
-}
-
-namespace chromeos {
-
-// Launches the app at startup. The flow roughly looks like this:
-// - Starts the app launch splash screen;
-// - Checks if the app is installed in user profile (aka app profile);
-// - If the app is installed, launch it and finish the flow;
-// - If not installed, prepare to start install by checking network online
-// state;
-// - If network gets online in time, start to install the app from web store;
-// - If all goes good, launches the app and finish the flow;
-// If anything goes wrong, it exits app mode and goes back to login screen.
-class StartupAppLauncher
- : public base::SupportsWeakPtr<StartupAppLauncher>,
- public OAuth2TokenService::Observer,
- public net::NetworkChangeNotifier::NetworkChangeObserver,
- public ui::EventHandler {
- public:
- StartupAppLauncher(Profile* profile, const std::string& app_id);
-
- // Starts app launcher. If |skip_auth_setup| is set, we will skip
- // TokenService initialization.
- void Start();
-
- private:
- // OAuth parameters from /home/chronos/kiosk_auth file.
- struct KioskOAuthParams {
- std::string refresh_token;
- std::string client_id;
- std::string client_secret;
- };
-
- // Private dtor because this class manages its own lifetime.
- virtual ~StartupAppLauncher();
-
- void Cleanup();
- void OnLaunchSuccess();
- void OnLaunchFailure(KioskAppLaunchError::Error error);
-
- void Launch();
-
- void BeginInstall();
- void InstallCallback(bool success, const std::string& error);
-
- void InitializeTokenService();
- void InitializeNetwork();
-
- void OnNetworkWaitTimedout();
-
- void StartLoadingOAuthFile();
- static void LoadOAuthFileOnBlockingPool(KioskOAuthParams* auth_params);
- void OnOAuthFileLoaded(KioskOAuthParams* auth_params);
-
- // OAuth2TokenService::Observer overrides.
- virtual void OnRefreshTokenAvailable(const std::string& account_id) OVERRIDE;
- virtual void OnRefreshTokensLoaded() OVERRIDE;
-
- // net::NetworkChangeNotifier::NetworkChangeObserver overrides:
- virtual void OnNetworkChanged(
- net::NetworkChangeNotifier::ConnectionType type) OVERRIDE;
-
- // ui::EventHandler overrides:
- virtual void OnKeyEvent(ui::KeyEvent* event) OVERRIDE;
-
- Profile* profile_;
- const std::string app_id_;
-
- int64 launch_splash_start_time_;
-
- scoped_refptr<extensions::WebstoreStandaloneInstaller> installer_;
- base::OneShotTimer<StartupAppLauncher> network_wait_timer_;
- KioskOAuthParams auth_params_;
-
- DISALLOW_COPY_AND_ASSIGN(StartupAppLauncher);
-};
-
-} // namespace chromeos
-
-#endif // CHROME_BROWSER_CHROMEOS_APP_MODE_STARTUP_APP_LAUNCHER_H_

Powered by Google App Engine
This is Rietveld 408576698