Commit 629b0d75 authored by achuith@chromium.org's avatar achuith@chromium.org

wpr_mode, no_proxy_server and browser_user_agent_type to BrowserOptions

These are used by chrome_browser_backend.

BUG=269131
TEST=trybot

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222122 0039d316-1c4b-4281-b951-d872f2087c98
parent e7b3d326
......@@ -43,7 +43,7 @@ class BrowserBackend(object):
@property
def wpr_mode(self):
return self.finder_options.wpr_mode
return self.browser_options.wpr_mode
@property
def supports_tab_control(self):
......
......@@ -82,13 +82,13 @@ class ChromeBrowserBackend(browser_backend.BrowserBackend):
args.append('--metrics-recording-only')
args.append('--no-first-run')
args.append('--no-proxy-server')
if self.finder_options.wpr_mode != wpr_modes.WPR_OFF:
if self.browser_options.wpr_mode != wpr_modes.WPR_OFF:
args.extend(wpr_server.GetChromeFlags(
self.WEBPAGEREPLAY_HOST,
self.webpagereplay_remote_http_port,
self.webpagereplay_remote_https_port))
args.extend(user_agent.GetChromeUserAgentArgumentFromType(
self.finder_options.browser_user_agent_type))
self.browser_options.browser_user_agent_type))
extensions = [extension.local_path for extension in
self.finder_options.extensions_to_load
......@@ -104,7 +104,7 @@ class ChromeBrowserBackend(browser_backend.BrowserBackend):
if len(component_extensions) > 0:
args.append('--load-component-extension=%s' % component_extension_str)
if self.finder_options.no_proxy_server:
if self.browser_options.no_proxy_server:
args.append('--no-proxy-server')
return args
......
......@@ -35,9 +35,6 @@ class BrowserFinderOptions(optparse.Values):
self.output_profile_path = None
self.cros_remote = None
self.wpr_mode = wpr_modes.WPR_OFF
self.browser_user_agent_type = None
self.profiler = None
self.verbosity = 0
......@@ -45,8 +42,6 @@ class BrowserFinderOptions(optparse.Values):
self.page_filter = None
self.page_filter_exclude = None
self.no_proxy_server = False
self.repeat_options = repeat_options.RepeatOptions()
self.browser_options = BrowserOptions()
self.output_file = None
......@@ -213,6 +208,10 @@ class BrowserOptions():
self.profile_type = None
self._extra_browser_args = set()
self.extra_wpr_args = []
self.wpr_mode = wpr_modes.WPR_OFF
self.no_proxy_server = False
self.browser_user_agent_type = None
def AddCommandLineOptions(self, parser):
group = optparse.OptionGroup(parser, 'Browser options')
......
......@@ -8,7 +8,7 @@ from telemetry.unittest import tab_test_case
class UserAgentTest(tab_test_case.TabTestCase):
def CustomizeBrowserOptions(self, options):
options.browser_user_agent_type = 'tablet'
options.browser_options.browser_user_agent_type = 'tablet'
def testUserAgent(self):
ua = self._tab.EvaluateJavaScript('window.navigator.userAgent')
......
......@@ -55,7 +55,7 @@ class PageMeasurementUnitTest(
def setUp(self):
self._options = options_for_unittests.GetCopy()
self._options.wpr_mode = wpr_modes.WPR_OFF
self._options.browser_options.wpr_mode = wpr_modes.WPR_OFF
def testGotToBlank(self):
ps = self.CreatePageSetFromFileInUnittestDataDir('blank.html')
......@@ -102,7 +102,7 @@ class PageMeasurementUnitTest(
measurement = MeasurementForReplay()
# First record an archive with only www.google.com.
self._options.wpr_mode = wpr_modes.WPR_RECORD
self._options.browser_options.wpr_mode = wpr_modes.WPR_RECORD
ps.wpr_archive_info = page_set_archive_info.PageSetArchiveInfo(
'', '', json.loads(archive_info_template %
......@@ -112,7 +112,7 @@ class PageMeasurementUnitTest(
self.assertEquals(0, len(all_results.failures))
# Now replay it and verify that google.com is found but foo.com is not.
self._options.wpr_mode = wpr_modes.WPR_REPLAY
self._options.browser_options.wpr_mode = wpr_modes.WPR_REPLAY
ps.wpr_archive_info = page_set_archive_info.PageSetArchiveInfo(
'', '', json.loads(archive_info_template % (test_archive, foo_url)))
......
......@@ -161,13 +161,14 @@ def _LogStackTrace(title, browser):
logging.warning('%s%s', title, stack_trace)
def _PrepareAndRunPage(test, page_set, expectations, finder_options, page,
credentials_path, possible_browser, results, state):
if finder_options.wpr_mode != wpr_modes.WPR_RECORD:
if page.archive_path and os.path.isfile(page.archive_path):
possible_browser.finder_options.wpr_mode = wpr_modes.WPR_REPLAY
else:
possible_browser.finder_options.wpr_mode = wpr_modes.WPR_OFF
def _PrepareAndRunPage(test, page_set, expectations, finder_options,
browser_options, page, credentials_path,
possible_browser, results, state):
if browser_options.wpr_mode != wpr_modes.WPR_RECORD:
possible_browser.finder_options.browser_options.wpr_mode = (
wpr_modes.WPR_REPLAY
if page.archive_path and os.path.isfile(page.archive_path)
else wpr_modes.WPR_OFF)
results_for_current_run = results
if state.first_page[page] and test.discard_first_result:
# If discarding results, substitute a dummy object.
......@@ -215,6 +216,7 @@ def _PrepareAndRunPage(test, page_set, expectations, finder_options, page,
def Run(test, page_set, expectations, finder_options):
"""Runs a given test against a given page_set with the given options."""
results = results_options.PrepareResults(test, finder_options)
browser_options = finder_options.browser_options
# Create a possible_browser with the given options.
test.CustomizeBrowserOptions(finder_options)
......@@ -237,7 +239,7 @@ def Run(test, page_set, expectations, finder_options):
pages = _ShuffleAndFilterPageSet(page_set, finder_options)
if (not finder_options.allow_live_sites and
finder_options.wpr_mode != wpr_modes.WPR_RECORD):
browser_options.wpr_mode != wpr_modes.WPR_RECORD):
pages = _CheckArchives(page_set, pages, results)
# Verify credentials path.
......@@ -250,7 +252,7 @@ def Run(test, page_set, expectations, finder_options):
# Set up user agent.
if page_set.user_agent_type:
finder_options.browser_user_agent_type = page_set.user_agent_type
browser_options.browser_user_agent_type = page_set.user_agent_type
for page in pages:
test.CustomizeBrowserOptionsForPage(page, possible_browser.finder_options)
......@@ -279,8 +281,9 @@ def Run(test, page_set, expectations, finder_options):
test.WillRunPageRepeats(page, state.tab)
while state.repeat_state.ShouldRepeatPage():
# execute test on page
_PrepareAndRunPage(test, page_set, expectations, finder_options, page,
credentials_path, possible_browser, results, state)
_PrepareAndRunPage(test, page_set, expectations, finder_options,
browser_options, page, credentials_path,
possible_browser, results, state)
state.repeat_state.DidRunPage()
test.DidRunPageRepeats(page, state.tab)
state.repeat_state.DidRunPageSet()
......
......@@ -114,8 +114,8 @@ def Main(base_dir):
ps.wpr_archive_info.AddNewTemporaryRecording(temp_target_wpr_file_path)
# Do the actual recording.
options.wpr_mode = wpr_modes.WPR_RECORD
options.no_proxy_server = True
options.browser_options.wpr_mode = wpr_modes.WPR_RECORD
options.browser_options.no_proxy_server = True
recorder.CustomizeBrowserOptions(options)
results = page_runner.Run(recorder, ps, expectations, options)
......
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