Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(187)

Unified Diff: tools/telemetry/telemetry/browser_options.py

Issue 11412238: Proof of concept for running extension API stack through dev tools. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/browser_options.py
diff --git a/tools/telemetry/telemetry/browser_options.py b/tools/telemetry/telemetry/browser_options.py
index be52f17b1174eecb1e994567fe40388cf052256e..daf68e898d7d3e00bd62280d930121b12ae72bbf 100644
--- a/tools/telemetry/telemetry/browser_options.py
+++ b/tools/telemetry/telemetry/browser_options.py
@@ -10,6 +10,11 @@ import copy
from telemetry import browser_finder
from telemetry import wpr_modes
+class ExtensionToLoad(object):
+ def __init__(self, path, is_component):
+ self.path = path
+ self.is_component = is_component
+
class BrowserOptions(optparse.Values):
"""Options to be used for discovering and launching a browser."""
@@ -25,6 +30,7 @@ class BrowserOptions(optparse.Values):
self.dont_override_profile = False
self.extra_browser_args = []
self.show_stdout = False
+ self.extensions_to_load = []
self.cros_remote = None
self.wpr_mode = wpr_modes.WPR_OFF
@@ -81,6 +87,12 @@ class BrowserOptions(optparse.Values):
group.add_option('--show-stdout',
action='store_true',
help='When possible, will display the stdout of the process')
+ group.add_option('--load-component-extension',
+ dest='component_extensions_to_load_as_string',
+ help='Loads additional component extensions.')
+ group.add_option('--load-extension',
+ dest='extensions_to_load_as_string',
+ help='Loads additional extension.')
parser.add_option_group(group)
# Page set options
@@ -142,6 +154,18 @@ class BrowserOptions(optparse.Values):
self.extra_browser_args_as_string) # pylint: disable=E1101
self.extra_browser_args.extend(tmp)
delattr(self, 'extra_browser_args_as_string')
+ if self.component_extensions_to_load_as_string: # pylint: disable=E1101
+ paths = self.component_extensions_to_load_as_string.split(',')
+ self.extensions_to_load.extend(
+ [ExtensionToLoad(ext_path, True)
+ for ext_path in paths])
+ delattr(self, 'component_extensions_to_load_as_string')
+ if self.extensions_to_load_as_string: # pylint: disable=E1101
+ paths = self.extensions_to_load_as_string.split(',')
+ self.extensions_to_load.extend(
+ [ExtensionToLoad(ext_path, False)
+ for ext_path in paths])
+ delattr(self, 'component_extensions_to_load_as_string')
return ret
parser.parse_args = ParseArgs
return parser

Powered by Google App Engine
This is Rietveld 408576698