Index: telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py |
diff --git a/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py b/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py |
index 908239d798e35054745a91fcab9a802e15298df9..8ce2b46b0b7a6effd9e3ea7ea51eee2f7dbe40b8 100644 |
--- a/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py |
+++ b/telemetry/telemetry/internal/backends/chrome/chrome_browser_backend.py |
@@ -3,6 +3,7 @@ |
# found in the LICENSE file. |
import logging |
+import os |
import pprint |
import shlex |
import sys |
@@ -128,9 +129,18 @@ class ChromeBrowserBackend(browser_backend.BrowserBackend): |
proxy_port = network_backend.forwarder.port_pair.remote_port |
replay_args.append('--proxy-server=socks://localhost:%s' % proxy_port) |
if not network_backend.is_test_ca_installed: |
- # Ignore certificate errors if the platform backend has not created |
- # and installed a root certificate. |
- replay_args.append('--ignore-certificate-errors') |
+ # Ignore certificate errors for certs that are signed with Wpr's root. |
+ # For more details on this flag, see crbug.com/753948. |
+ wpr_public_hash_file = |
+ os.path.join(util.GetCatapultDir(), |
+ 'web_page_replay_go/wpr_public_hash.txt') |
nednguyen
2017/08/22 21:12:18
nits:
os.path.join(util.GetCatapultDir(), 'web_pa
xunjieli
2017/08/22 21:28:41
Done.
|
+ if not os.path.exists(wpr_public_hash_file): |
+ raise exceptions.PathMissingError('Unable to find %s' % |
+ wpr_public_hash_file) |
+ with open(wpr_public_hash_file) as f: |
+ wpr_public_hash = f.readline() |
+ replay_args.append('--ignore-certificate-errors-spki-list=' + |
+ wpr_public_hash) |
return replay_args |
def HasBrowserFinishedLaunching(self): |