Index: tools/telemetry/telemetry/core/extension_page.py |
diff --git a/tools/telemetry/telemetry/core/extension_page.py b/tools/telemetry/telemetry/core/extension_page.py |
index 0ca5d2941511b74f12205d5bbdd92a1e1a6675d7..3402878b61102d809d3251b2f6b67506f6fe004e 100644 |
--- a/tools/telemetry/telemetry/core/extension_page.py |
+++ b/tools/telemetry/telemetry/core/extension_page.py |
@@ -5,8 +5,18 @@ from telemetry.core import web_contents |
class ExtensionPage(web_contents.WebContents): |
"""Represents a an extension page in the browser""" |
- def __init__(self, inspector_backend): |
+ def __init__(self, extension_id, url, inspector_backend): |
super(ExtensionPage, self).__init__(inspector_backend) |
+ self.extension_id = extension_id |
+ self.url = url |
+ assert url.startswith('chrome-extension://' + extension_id) |
def __del__(self): |
super(ExtensionPage, self).__del__() |
+ |
+ def Reload(self): |
+ """ Reloading an extension page is used as a workaround for an extension |
+ binding bug for old versions of Chrome (crbug.com/263162). After Navigate |
+ returns, we are guaranteed that the inspected page is in the correct state. |
+ """ |
+ self._inspector_backend.Navigate(self.url, None, 10) |