Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 import json | 4 import json |
| 5 import logging | 5 import logging |
| 6 import socket | 6 import socket |
| 7 import sys | 7 import sys |
| 8 | 8 |
| 9 from telemetry import inspector_console | 9 from telemetry import inspector_console |
| 10 from telemetry import inspector_page | 10 from telemetry import inspector_page |
| 11 from telemetry import inspector_runtime | 11 from telemetry import inspector_runtime |
| 12 from telemetry import inspector_timeline | 12 from telemetry import inspector_timeline |
| 13 from telemetry import png_bitmap | 13 from telemetry import png_bitmap |
| 14 from telemetry import tab_crash_exception | 14 from telemetry import tab_crash_exception |
| 15 from telemetry import user_agent | |
| 15 from telemetry import util | 16 from telemetry import util |
| 16 from telemetry import websocket | 17 from telemetry import websocket |
| 17 | 18 |
| 18 class InspectorException(Exception): | 19 class InspectorException(Exception): |
| 19 pass | 20 pass |
| 20 | 21 |
| 21 class TabBackend(object): | 22 class TabBackend(object): |
| 22 def __init__(self, browser, browser_backend, debugger_url): | 23 def __init__(self, browser, browser_backend, debugger_url): |
| 23 assert debugger_url | 24 assert debugger_url |
| 24 self._browser = browser | 25 self._browser = browser |
| 25 self._browser_backend = browser_backend | 26 self._browser_backend = browser_backend |
| 26 self._debugger_url = debugger_url | 27 self._debugger_url = debugger_url |
| 27 self._socket = None | 28 self._socket = None |
| 28 self._domain_handlers = {} | 29 self._domain_handlers = {} |
| 29 self._cur_socket_timeout = 0 | 30 self._cur_socket_timeout = 0 |
| 30 self._next_request_id = 0 | 31 self._next_request_id = 0 |
| 31 | 32 |
| 32 self._console = inspector_console.InspectorConsole(self) | 33 self._console = inspector_console.InspectorConsole(self) |
| 33 self._page = inspector_page.InspectorPage(self) | 34 self._page = inspector_page.InspectorPage(self) |
| 34 self._runtime = inspector_runtime.InspectorRuntime(self) | 35 self._runtime = inspector_runtime.InspectorRuntime(self) |
| 35 self._timeline = inspector_timeline.InspectorTimeline(self) | 36 self._timeline = inspector_timeline.InspectorTimeline(self) |
| 36 | 37 |
| 37 def __del__(self): | 38 def __del__(self): |
| 38 self.Disconnect() | 39 self.Disconnect() |
| 39 | 40 |
| 40 def _Connect(self): | 41 def _Connect(self): |
|
nduca
2013/01/22 21:46:03
hmmm... what if connect happens after we've naviga
| |
| 41 if self._socket: | 42 if self._socket: |
| 42 return | 43 return |
| 43 self._socket = websocket.create_connection(self._debugger_url) | 44 self._socket = websocket.create_connection(self._debugger_url) |
| 44 self._cur_socket_timeout = 0 | 45 self._cur_socket_timeout = 0 |
| 45 self._next_request_id = 0 | 46 self._next_request_id = 0 |
| 46 | 47 |
| 48 user_agent_string = user_agent.GetUserAgentFromType( | |
| 49 self._browser_backend.options.browser_user_agent_type) | |
| 50 if user_agent_string is not None: | |
|
bulach
2013/01/18 20:44:04
nit: s/is not None//
| |
| 51 self._page.SetUserAgent(user_agent_string) | |
| 52 | |
| 47 def Disconnect(self): | 53 def Disconnect(self): |
| 48 for _, handlers in self._domain_handlers.items(): | 54 for _, handlers in self._domain_handlers.items(): |
| 49 _, will_close_handler = handlers | 55 _, will_close_handler = handlers |
| 50 will_close_handler() | 56 will_close_handler() |
| 51 self._domain_handlers = {} | 57 self._domain_handlers = {} |
| 52 | 58 |
| 53 if self._socket: | 59 if self._socket: |
| 54 self._socket.close() | 60 self._socket.close() |
| 55 self._socket = None | 61 self._socket = None |
| 56 | 62 |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 286 OnConsoleNotification, OnConsoleClose) | 292 OnConsoleNotification, OnConsoleClose) |
| 287 """ | 293 """ |
| 288 assert domain_name not in self._domain_handlers | 294 assert domain_name not in self._domain_handlers |
| 289 self._domain_handlers[domain_name] = (notification_handler, | 295 self._domain_handlers[domain_name] = (notification_handler, |
| 290 will_close_handler) | 296 will_close_handler) |
| 291 | 297 |
| 292 def UnregisterDomain(self, domain_name): | 298 def UnregisterDomain(self, domain_name): |
| 293 """Unregisters a previously registered domain.""" | 299 """Unregisters a previously registered domain.""" |
| 294 assert domain_name in self._domain_handlers | 300 assert domain_name in self._domain_handlers |
| 295 self._domain_handlers.pop(domain_name) | 301 self._domain_handlers.pop(domain_name) |
| OLD | NEW |