Commit ff71b686 authored by achuith@chromium.org's avatar achuith@chromium.org

show_stdout to BrowserOptions

BUG=269131
TEST=manual

Review URL: https://chromiumcodereview.appspot.com/23536019

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221603 0039d316-1c4b-4281-b951-d872f2087c98
parent e3bc88e9
...@@ -21,6 +21,7 @@ class BrowserBackend(object): ...@@ -21,6 +21,7 @@ class BrowserBackend(object):
self._supports_extensions = supports_extensions self._supports_extensions = supports_extensions
# TODO(achuith): Replace with browser options. crbug.com/269131. # TODO(achuith): Replace with browser options. crbug.com/269131.
self.finder_options = finder_options self.finder_options = finder_options
self.browser_options = finder_options.browser_options
self._browser = None self._browser = None
self._tab_list_backend = tab_list_backend(self) self._tab_list_backend = tab_list_backend(self)
......
...@@ -79,7 +79,7 @@ class DesktopBrowserBackend(chrome_browser_backend.ChromeBrowserBackend): ...@@ -79,7 +79,7 @@ class DesktopBrowserBackend(chrome_browser_backend.ChromeBrowserBackend):
env = os.environ.copy() env = os.environ.copy()
env['CHROME_HEADLESS'] = '1' # Don't upload minidumps. env['CHROME_HEADLESS'] = '1' # Don't upload minidumps.
env['BREAKPAD_DUMP_LOCATION'] = self._tmp_minidump_dir env['BREAKPAD_DUMP_LOCATION'] = self._tmp_minidump_dir
if not self.finder_options.show_stdout: if not self.browser_options.show_stdout:
self._tmp_output_file = tempfile.NamedTemporaryFile('w', 0) self._tmp_output_file = tempfile.NamedTemporaryFile('w', 0)
self._proc = subprocess.Popen( self._proc = subprocess.Popen(
args, stdout=self._tmp_output_file, stderr=subprocess.STDOUT, env=env) args, stdout=self._tmp_output_file, stderr=subprocess.STDOUT, env=env)
......
...@@ -35,7 +35,6 @@ class BrowserFinderOptions(optparse.Values): ...@@ -35,7 +35,6 @@ class BrowserFinderOptions(optparse.Values):
self.profile_type = None self.profile_type = None
self._extra_browser_args = set() self._extra_browser_args = set()
self.extra_wpr_args = [] self.extra_wpr_args = []
self.show_stdout = False
self.extensions_to_load = [] self.extensions_to_load = []
self.clear_sytem_cache_for_browser_and_profile_on_start = False self.clear_sytem_cache_for_browser_and_profile_on_start = False
...@@ -56,6 +55,7 @@ class BrowserFinderOptions(optparse.Values): ...@@ -56,6 +55,7 @@ class BrowserFinderOptions(optparse.Values):
self.no_proxy_server = False self.no_proxy_server = False
self.repeat_options = repeat_options.RepeatOptions() self.repeat_options = repeat_options.RepeatOptions()
self.browser_options = BrowserOptions()
self.output_file = None self.output_file = None
self.skip_navigate_on_repeat = False self.skip_navigate_on_repeat = False
...@@ -126,9 +126,6 @@ class BrowserFinderOptions(optparse.Values): ...@@ -126,9 +126,6 @@ class BrowserFinderOptions(optparse.Values):
dest='extra_wpr_args_as_string', dest='extra_wpr_args_as_string',
help=('Additional arguments to pass to Web Page Replay. ' help=('Additional arguments to pass to Web Page Replay. '
'See third_party/webpagereplay/replay.py for usage.')) 'See third_party/webpagereplay/replay.py for usage.'))
group.add_option('--show-stdout',
action='store_true',
help='When possible, will display the stdout of the process')
parser.add_option_group(group) parser.add_option_group(group)
# Page set options # Page set options
...@@ -184,6 +181,9 @@ class BrowserFinderOptions(optparse.Values): ...@@ -184,6 +181,9 @@ class BrowserFinderOptions(optparse.Values):
# Repeat options. # Repeat options.
self.repeat_options.AddCommandLineOptions(parser) self.repeat_options.AddCommandLineOptions(parser)
# Browser options.
self.browser_options.AddCommandLineOptions(parser)
real_parse = parser.parse_args real_parse = parser.parse_args
def ParseArgs(args=None): def ParseArgs(args=None):
defaults = parser.get_default_values() defaults = parser.get_default_values()
...@@ -227,6 +227,9 @@ class BrowserFinderOptions(optparse.Values): ...@@ -227,6 +227,9 @@ class BrowserFinderOptions(optparse.Values):
# Parse repeat options. # Parse repeat options.
self.repeat_options.UpdateFromParseResults(self, parser) self.repeat_options.UpdateFromParseResults(self, parser)
# Parse browser options.
self.browser_options.UpdateFromParseResults(self)
if self.profile_dir and self.profile_type != 'clean': if self.profile_dir and self.profile_type != 'clean':
raise Exception("It's illegal to specify both --profile-type and" raise Exception("It's illegal to specify both --profile-type and"
" --profile-dir.") " --profile-dir.")
...@@ -255,4 +258,20 @@ class BrowserFinderOptions(optparse.Values): ...@@ -255,4 +258,20 @@ class BrowserFinderOptions(optparse.Values):
class BrowserOptions(): class BrowserOptions():
"""Options to be used for launching a browser.""" """Options to be used for launching a browser."""
def __init__(self): def __init__(self):
pass self.show_stdout = False
def AddCommandLineOptions(self, parser):
group = optparse.OptionGroup(parser, 'Browser options')
group.add_option('--show-stdout',
action='store_true',
help='When possible, will display the stdout of the process')
parser.add_option_group(group)
def UpdateFromParseResults(self, finder_options):
"""Copies our options from finder_options"""
browser_options_list = ['show_stdout']
for o in browser_options_list:
a = getattr(finder_options, o)
if a:
setattr(self, o, a)
delattr(finder_options, o)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment