Chromium Code Reviews| Index: tools/chrome_remote_control/chrome_remote_control/browser.py |
| diff --git a/tools/chrome_remote_control/chrome_remote_control/browser.py b/tools/chrome_remote_control/chrome_remote_control/browser.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f7ba1b9f0f3de9d4bfa67ebe05ac1c9501b14dbe |
| --- /dev/null |
| +++ b/tools/chrome_remote_control/chrome_remote_control/browser.py |
| @@ -0,0 +1,44 @@ |
| +# 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 os as real_os |
| +import sys as real_sys |
| +import subprocess as real_subprocess |
| +import urllib2 |
| +import json |
| +import tab |
| + |
| +import browser_finder |
| + |
| +class Browser(object): |
| + """A running browser instance that can be controled in a limited way. |
| + |
| + To create a browser instance, use browser_finder.FindBestPossibleBrowser. |
| + |
| + Be sure to clean up after yourself by calling Close() when you are done with |
| + the browser. Or better yet: |
| + browser_to_create = FindBestPossibleBrowser(options) |
| + with browser_to_create.Create() as browser: |
| + ... do all your operations on browser here |
| + """ |
| + def __init__(self, backend): |
| + self._backend = backend |
| + |
| + def __enter__(self): |
| + return self |
| + |
| + def __exit__(self, *args): |
| + self.Close() |
|
dtu
2012/08/27 22:27:27
Makes more sense in __del__, so it'll take effect
nduca
2012/08/28 00:20:16
Remember, __del__ is tied to when GC runs, not whe
|
| + |
| + @property |
| + def num_tabs(self): |
| + return self._backend.num_tabs |
| + |
| + def GetNthTabURL(self, index): |
| + return self._backend.GetNthTabURL(index) |
| + |
| + def ConnectToNthTab(self, index): |
| + return self._backend.ConnectToNthTab(index) |
| + |
| + def Close(self): |
| + self._backend.Close() |