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

Unified Diff: tools/chrome_remote_control/chrome_remote_control/browser_credentials.py

Issue 10914237: Port perf.py's _LoginToGoogleAccount to chrome_remote_control (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 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: tools/chrome_remote_control/chrome_remote_control/browser_credentials.py
diff --git a/tools/chrome_remote_control/chrome_remote_control/browser_credentials.py b/tools/chrome_remote_control/chrome_remote_control/browser_credentials.py
new file mode 100644
index 0000000000000000000000000000000000000000..bbc7a059634b18061631314584c9f9fd21977217
--- /dev/null
+++ b/tools/chrome_remote_control/chrome_remote_control/browser_credentials.py
@@ -0,0 +1,59 @@
+# Copyright (c) 2012 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.
+
+from chrome_remote_control import google_credentials_backend
+import logging
+import json
+
+class BrowserCredentials(object):
+ def __init__(self):
+ self._config = None
+ self._config_file = None
+
+ self._credentials_backends = \
+ [google_credentials_backend.GoogleCredentialsBackend(self)]
+
+ def _GetCredentialsBackend(self, credentials_type):
+ for backend in self._credentials_backends:
+ if credentials_type == backend.label:
+ return backend
+
+ def LoginNeeded(self, credentials_type, tab):
+ backend = self._GetCredentialsBackend(credentials_type)
+ if backend:
+ backend.LoginNeeded(tab)
+ else:
+ logging.warning('Credentials not implemented: "%s"', credentials_type)
+
+ def LoginNoLongerNeeded(self, credentials_type, tab):
+ backend = self._GetCredentialsBackend(credentials_type)
+ if backend:
+ backend.LoginNoLongerNeeded(tab)
+ else:
+ logging.warning('Credentials not implemented: "%s"', credentials_type)
+
+ def _ReadConfigFile(self):
+ try:
+ with open(self._config_file, 'r') as f:
+ contents = f.read()
+ return json.loads(contents)
+ except SyntaxError, e:
+ logging.info('Could not read %s: %s', self._config_file,
+ str(e))
+
+ def GetConfig(self, config):
+ if self._config is None:
+ self._config = self._ReadConfigFile()
+
+ for key in self._config:
+ if self._config.get(key) is not None and key in config:
+ config[key] = self._config.get(key)
+
+ return config
+
+ def GetCredentialsConfigFile(self):
+ return self._config_file
+
+ def SetCredentialsConfigFile(self, credentials_path):
+ self._config_file = credentials_path

Powered by Google App Engine
This is Rietveld 408576698