1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 from telemetry import decorators
6 from telemetry.core import camel_case
7 from telemetry.core import system_info
8 from telemetry.core.backends.chrome import inspector_websocket
11 class SystemInfoBackend(object):
12 def __init__(self, devtools_port):
13 self._port = devtools_port
16 def GetSystemInfo(self, timeout=10):
17 req = {'method': 'SystemInfo.getInfo'}
18 websocket = inspector_websocket.InspectorWebsocket()
20 websocket.Connect('ws://127.0.0.1:%i/devtools/browser' % self._port)
21 res = websocket.SyncRequest(req, timeout)
23 websocket.Disconnect()
26 return system_info.SystemInfo.FromDict(
27 camel_case.ToUnderscore(res['result']))