Index: tools/chrome_remote_control/chrome_remote_control/android_browser_backend.py |
diff --git a/tools/chrome_remote_control/chrome_remote_control/android_browser_backend.py b/tools/chrome_remote_control/chrome_remote_control/android_browser_backend.py |
deleted file mode 100644 |
index 1ed137253072528e3835b95bc3e3361f3978683a..0000000000000000000000000000000000000000 |
--- a/tools/chrome_remote_control/chrome_remote_control/android_browser_backend.py |
+++ /dev/null |
@@ -1,125 +0,0 @@ |
-# 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. |
-import logging |
-import tempfile |
-import json |
- |
-from chrome_remote_control import adb_commands |
-from chrome_remote_control import browser_backend |
-from chrome_remote_control import browser_gone_exception |
- |
-class AndroidBrowserBackend(browser_backend.BrowserBackend): |
- """The backend for controlling a browser instance running on Android. |
- """ |
- def __init__(self, options, adb, package, |
- is_content_shell, cmdline_file, activity, devtools_remote_port): |
- super(AndroidBrowserBackend, self).__init__(is_content_shell, options) |
- # Initialize fields so that an explosion during init doesn't break in Close. |
- self._options = options |
- self._adb = adb |
- self._package = package |
- self._cmdline_file = cmdline_file |
- self._activity = activity |
- self._port = 9222 |
- self._devtools_remote_port = devtools_remote_port |
- |
- # Kill old browser. |
- self._adb.KillAll(self._package) |
- self._adb.KillAll('device_forwarder') |
- self._adb.Forward('tcp:9222', self._devtools_remote_port) |
- |
- # Chrome Android doesn't listen to --user-data-dir. |
- # TODO: symlink the app's Default, files and cache dir |
- # to somewhere safe. |
- if not is_content_shell and not options.dont_override_profile: |
- # Set up the temp dir |
- # self._tmpdir = '/sdcard/chrome_remote_control_data' |
- # self._adb.RunShellCommand('rm -r %s' % self._tmpdir) |
- # args.append('--user-data-dir=%s' % self._tmpdir) |
- pass |
- |
- # Set up the command line. |
- if is_content_shell: |
- pseudo_exec_name = 'content_shell' |
- else: |
- pseudo_exec_name = 'chrome' |
- |
- args = [pseudo_exec_name] |
- args.extend(self.GetBrowserStartupArgs()) |
- |
- with tempfile.NamedTemporaryFile() as f: |
- def EscapeIfNeeded(arg): |
- return arg.replace(' ', '" "') |
- f.write(' '.join([EscapeIfNeeded(arg) for arg in args])) |
- f.flush() |
- self._adb.Push(f.name, cmdline_file) |
- |
- # Force devtools protocol on, if not already done. |
- if not is_content_shell: |
- # Make sure we can find the apps' prefs file |
- app_data_dir = '/data/data/%s' % self._package |
- prefs_file = (app_data_dir + |
- '/app_chrome/Default/Preferences') |
- if not self._adb.FileExistsOnDevice(prefs_file): |
- logging.critical( |
- 'android_browser_backend: Could not find preferences file ' + |
- '%s for %s' % (prefs_file, self._package)) |
- raise browser_gone_exception.BrowserGoneException( |
- 'Missing preferences file.') |
- |
- with tempfile.NamedTemporaryFile() as raw_f: |
- self._adb.Pull(prefs_file, raw_f.name) |
- with open(raw_f.name, 'r') as f: |
- txt_in = f.read() |
- preferences = json.loads(txt_in) |
- changed = False |
- if 'devtools' not in preferences: |
- preferences['devtools'] = {} |
- changed = True |
- if 'remote_enabled' not in preferences['devtools']: |
- preferences['devtools']['remote_enabled'] = True |
- changed = True |
- if preferences['devtools']['remote_enabled'] != True: |
- preferences['devtools']['remote_enabled'] = True |
- changed = True |
- if changed: |
- logging.warning('Manually enabled devtools protocol on %s' % |
- self._package) |
- with open(raw_f.name, 'w') as f: |
- txt = json.dumps(preferences, indent=2) |
- f.write(txt) |
- self._adb.Push(raw_f.name, prefs_file) |
- |
- # Start it up! |
- self._adb.StartActivity(self._package, |
- self._activity, |
- True, |
- None, |
- 'chrome://newtab/') |
- try: |
- self._WaitForBrowserToComeUp() |
- except: |
- import traceback |
- traceback.print_exc() |
- self.Close() |
- raise |
- |
- def GetBrowserStartupArgs(self): |
- args = super(AndroidBrowserBackend, self).GetBrowserStartupArgs() |
- args.append('--disable-fre') |
- return args |
- |
- def __del__(self): |
- self.Close() |
- |
- def Close(self): |
- self._adb.RunShellCommand('rm %s' % self._cmdline_file) |
- self._adb.KillAll(self._package) |
- |
- def IsBrowserRunning(self): |
- pids = self._adb.ExtractPid(self._package) |
- return len(pids) != 0 |
- |
- def CreateForwarder(self, *ports): |
- return adb_commands.Forwarder(self._adb, *ports) |