| Index: tools/resource_prefetch_predictor/prefetch_predictor_common.py
|
| diff --git a/tools/resource_prefetch_predictor/prefetch_predictor_common.py b/tools/resource_prefetch_predictor/prefetch_predictor_common.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..47552dac9f3af6df38a65cc017cb113034ce030d
|
| --- /dev/null
|
| +++ b/tools/resource_prefetch_predictor/prefetch_predictor_common.py
|
| @@ -0,0 +1,49 @@
|
| +# Copyright 2016 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.
|
| +
|
| +"""Common utils for the speculative resource prefetch evaluation."""
|
| +
|
| +import os
|
| +import sys
|
| +
|
| +_SRC_PATH = os.path.abspath(os.path.join(
|
| + os.path.dirname(__file__), os.pardir, os.pardir))
|
| +
|
| +sys.path.append(os.path.join(_SRC_PATH, 'third_party', 'catapult', 'devil'))
|
| +from devil.android import device_utils
|
| +
|
| +sys.path.append(os.path.join(_SRC_PATH, 'tools', 'android', 'loading'))
|
| +import controller
|
| +import device_setup
|
| +from options import OPTIONS
|
| +
|
| +
|
| +def FindDevice(device_id):
|
| + """Returns a device matching |device_id| or the first one if None, or None."""
|
| + devices = device_utils.DeviceUtils.HealthyDevices()
|
| + if device_id is None:
|
| + return devices[0]
|
| + return device_setup.GetDeviceFromSerial(device_id)
|
| +
|
| +
|
| +def Setup(device, additional_flags=None):
|
| + """Sets up a |device| and returns an instance of RemoteChromeController.
|
| +
|
| + Args:
|
| + device: (Device) As returned by FindDevice().
|
| + additional_flags: ([str] or None) Chrome flags to add.
|
| + """
|
| + if not device.HasRoot():
|
| + device.EnableRoot()
|
| + chrome_controller = controller.RemoteChromeController(device)
|
| + device.ForceStop(OPTIONS.ChromePackage().package)
|
| + if additional_flags is not None:
|
| + chrome_controller.AddChromeArguments(additional_flags)
|
| + chrome_controller.ResetBrowserState()
|
| + return chrome_controller
|
| +
|
| +
|
| +def DatabaseDevicePath():
|
| + return ('/data/user/0/%s/app_chrome/Default/Network Action Predictor' %
|
| + OPTIONS.ChromePackage().package)
|
|
|