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

Unified Diff: tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py

Issue 729833002: Move RegisterDomain/UnregisterDomain and its handling to inspector_websocket. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove try-except in domain notification handler. Created 6 years, 1 month 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 | « no previous file | tools/telemetry/telemetry/core/backends/chrome/inspector_websocket.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py
diff --git a/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py b/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py
index 8c4c47efbe2fa79f3eb0533b3ad183c4bf879478..ca34e4688044c33e770465dcf687251d7ad84fa4 100644
--- a/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py
+++ b/tools/telemetry/telemetry/core/backends/chrome/inspector_backend.py
@@ -29,12 +29,11 @@ class InspectorException(Exception):
class InspectorBackend(inspector_websocket.InspectorWebsocket):
def __init__(self, browser_backend, context, timeout=60):
- super(InspectorBackend, self).__init__(self._HandleNotification,
- self._HandleError)
+ super(InspectorBackend, self).__init__(self._HandleError)
+ self.RegisterDomain('Inspector', self._HandleInspectorDomainNotification)
self._browser_backend = browser_backend
self._context = context
- self._domain_handlers = {}
logging.debug('InspectorBackend._Connect() to %s', self.debugger_url)
try:
@@ -59,14 +58,6 @@ class InspectorBackend(inspector_websocket.InspectorWebsocket):
def __del__(self):
self.Disconnect()
- def Disconnect(self):
- for _, handlers in self._domain_handlers.items():
- _, will_close_handler = handlers
- will_close_handler()
- self._domain_handlers = {}
-
- super(InspectorBackend, self).Disconnect()
-
@property
def app(self):
return self._browser_backend.app
@@ -225,7 +216,7 @@ class InspectorBackend(inspector_websocket.InspectorWebsocket):
contexts = self._browser_backend.ListInspectableContexts()
return self._context['id'] in [c['id'] for c in contexts]
- def _HandleNotification(self, res):
+ def _HandleInspectorDomainNotification(self, res):
if (res['method'] == 'Inspector.detached' and
res.get('params', {}).get('reason', '') == 'replaced_with_devtools'):
self._WaitForInspectorToGoAwayAndReconnect()
@@ -233,18 +224,6 @@ class InspectorBackend(inspector_websocket.InspectorWebsocket):
if res['method'] == 'Inspector.targetCrashed':
raise exceptions.DevtoolsTargetCrashException(self.app)
- mname = res['method']
- dot_pos = mname.find('.')
- domain_name = mname[:dot_pos]
- if domain_name in self._domain_handlers:
- try:
- self._domain_handlers[domain_name][0](res)
- except Exception:
- import traceback
- traceback.print_exc()
- else:
- logging.warn('Unhandled inspector message: %s', res)
-
def _HandleError(self, elapsed_time):
if self._IsInspectable():
raise util.TimeoutException(
@@ -275,29 +254,6 @@ class InspectorBackend(inspector_websocket.InspectorWebsocket):
sys.stderr.write('\n')
sys.stderr.write('Inspector\'s UI closed. Telemetry will now resume.\n')
- def RegisterDomain(self,
- domain_name, notification_handler, will_close_handler):
- """Registers a given domain for handling notification methods.
-
- For example, given inspector_backend:
- def OnConsoleNotification(msg):
- if msg['method'] == 'Console.messageAdded':
- print msg['params']['message']
- return
- def OnConsoleClose(self):
- pass
- inspector_backend.RegisterDomain('Console',
- OnConsoleNotification, OnConsoleClose)
- """
- assert domain_name not in self._domain_handlers
- self._domain_handlers[domain_name] = (notification_handler,
- will_close_handler)
-
- def UnregisterDomain(self, domain_name):
- """Unregisters a previously registered domain."""
- assert domain_name in self._domain_handlers
- self._domain_handlers.pop(domain_name)
-
def CollectGarbage(self):
self._page.CollectGarbage()
« no previous file with comments | « no previous file | tools/telemetry/telemetry/core/backends/chrome/inspector_websocket.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698