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

Unified Diff: tools/telemetry/telemetry/cros_browser_backend.py

Issue 11412238: Proof of concept for running extension API stack through dev tools. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 11 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 | « tools/telemetry/telemetry/browser_unittest.py ('k') | tools/telemetry/telemetry/cros_browser_finder.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/cros_browser_backend.py
diff --git a/tools/telemetry/telemetry/cros_browser_backend.py b/tools/telemetry/telemetry/cros_browser_backend.py
index 5fed131c19c9a64fdca878bd9b51620ceaf08ee9..38423379d294e23ea8947fa6ec309f37023f5328 100644
--- a/tools/telemetry/telemetry/cros_browser_backend.py
+++ b/tools/telemetry/telemetry/cros_browser_backend.py
@@ -2,7 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import logging
-import os
import socket
import subprocess
@@ -18,8 +17,7 @@ class CrOSBrowserBackend(browser_backend.BrowserBackend):
self._cri = cri
self._browser_type = browser_type
- self._remote_debugging_port = self._cri.GetRemotePort()
- self._login_ext_dir = '/tmp/chromeos_login_ext'
+ self._remote_debugging_port = 8666 # self._cri.GetRemotePort()
# Ensure the UI is running and logged out.
self._RestartUI()
@@ -30,23 +28,6 @@ class CrOSBrowserBackend(browser_backend.BrowserBackend):
self._cri.GetCmdOutput(
['cryptohome', '--action=remove', '--force', '--user=test@test.test'])
- # Push a dummy login extension to the device.
- # This extension automatically logs in as test@test.test
- logging.info('Copying dummy login extension to the device')
- cri.PushFile(
- os.path.join(os.path.dirname(__file__), 'chromeos_login_ext'), '/tmp/')
- cri.GetCmdOutput(['chown', '-R', 'chronos:chronos', self._login_ext_dir])
-
- # Restart Chrome with the login extension and remote debugging.
- logging.info('Restarting Chrome with flags and login')
- args = ['dbus-send', '--system', '--type=method_call',
- '--dest=org.chromium.SessionManager',
- '/org/chromium/SessionManager',
- 'org.chromium.SessionManagerInterface.EnableChromeTesting',
- 'boolean:true',
- 'array:string:"%s"' % '","'.join(self.GetBrowserStartupArgs())]
- cri.GetCmdOutput(args)
-
# Find a free local port.
tmp = socket.socket()
tmp.bind(('', 0))
@@ -70,9 +51,16 @@ class CrOSBrowserBackend(browser_backend.BrowserBackend):
self.Close()
raise
-
logging.info('Browser is up!')
+ def _InstallExtension(self, local_path, device_path):
+ # Push a dummy login extension to the device.
+ # This extension automatically logs in as test@test.test
+ logging.info('Copying extension from "%s" to the device "%s"' %
+ (local_path, device_path))
+ self._cri.PushFile(local_path, '/tmp/')
+ self._cri.GetCmdOutput(['chown', '-R', 'chronos:chronos', device_path])
+
def GetBrowserStartupArgs(self):
args = super(CrOSBrowserBackend, self).GetBrowserStartupArgs()
@@ -86,6 +74,7 @@ class CrOSBrowserBackend(browser_backend.BrowserBackend):
'--force-compositing-mode',
'--remote-debugging-port=%i' % self._remote_debugging_port,
'--auth-ext-path=%s' % self._login_ext_dir,
+ '--load-component-extension=%s' % self._auto_ext_dir,
'--start-maximized'])
return args
@@ -137,10 +126,6 @@ class CrOSBrowserBackend(browser_backend.BrowserBackend):
self._forwarder.Close()
self._forwarder = None
- if self._login_ext_dir:
- self._cri.RmRF(self._login_ext_dir)
- self._login_ext_dir = None
-
self._cri = None
def IsBrowserRunning(self):
« no previous file with comments | « tools/telemetry/telemetry/browser_unittest.py ('k') | tools/telemetry/telemetry/cros_browser_finder.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698