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

Side by Side Diff: telemetry/telemetry/page/shared_page_state.py

Issue 2346093002: [Telemetry] Add API for updating ts_proxy_server's traffic settings (Closed)
Patch Set: Rebase Created 4 years, 2 months 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 unified diff | Download patch
« no previous file with comments | « telemetry/telemetry/page/__init__.py ('k') | telemetry/telemetry/page/traffic_setting.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import logging 5 import logging
6 import os 6 import os
7 import sys 7 import sys
8 8
9 from telemetry.core import exceptions 9 from telemetry.core import exceptions
10 from telemetry.core import util 10 from telemetry.core import util
11 from telemetry import decorators 11 from telemetry import decorators
12 from telemetry.internal.browser import browser_finder 12 from telemetry.internal.browser import browser_finder
13 from telemetry.internal.browser import browser_finder_exceptions 13 from telemetry.internal.browser import browser_finder_exceptions
14 from telemetry.internal.browser import browser_info as browser_info_module 14 from telemetry.internal.browser import browser_info as browser_info_module
15 from telemetry.internal.platform.profiler import profiler_finder 15 from telemetry.internal.platform.profiler import profiler_finder
16 from telemetry.internal.util import exception_formatter 16 from telemetry.internal.util import exception_formatter
17 from telemetry.internal.util import file_handle 17 from telemetry.internal.util import file_handle
18 from telemetry.page import cache_temperature 18 from telemetry.page import cache_temperature
19 from telemetry.page import traffic_setting
19 from telemetry.page import legacy_page_test 20 from telemetry.page import legacy_page_test
20 from telemetry import story 21 from telemetry import story
21 from telemetry.util import screenshot 22 from telemetry.util import screenshot
22 from telemetry.util import wpr_modes 23 from telemetry.util import wpr_modes
23 from telemetry.web_perf import timeline_based_measurement 24 from telemetry.web_perf import timeline_based_measurement
24 25
25 26
26 def _PrepareFinderOptions(finder_options, test, device_type): 27 def _PrepareFinderOptions(finder_options, test, device_type):
27 browser_options = finder_options.browser_options 28 browser_options = finder_options.browser_options
28 # Set up user agent. 29 # Set up user agent.
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 # navigation has begun and RenderFrameHostManager::DidNavigateMainFrame() 240 # navigation has begun and RenderFrameHostManager::DidNavigateMainFrame()
240 # will cancel the next navigation because it's pending. This manifests as 241 # will cancel the next navigation because it's pending. This manifests as
241 # the first navigation in a PageSet freezing indefinitely because the 242 # the first navigation in a PageSet freezing indefinitely because the
242 # navigation was silently canceled when |self.browser.tabs[0]| was 243 # navigation was silently canceled when |self.browser.tabs[0]| was
243 # committed. Only do this when we just started the browser, otherwise 244 # committed. Only do this when we just started the browser, otherwise
244 # there are cases where previous pages in a PageSet never complete 245 # there are cases where previous pages in a PageSet never complete
245 # loading so we'll wait forever. 246 # loading so we'll wait forever.
246 if started_browser: 247 if started_browser:
247 self.browser.tabs[0].WaitForDocumentReadyStateToBeComplete() 248 self.browser.tabs[0].WaitForDocumentReadyStateToBeComplete()
248 249
250 # Reset traffic shaping to speed up cache temperature setup.
251 self.platform.network_controller.UpdateTrafficSettings(0, 0, 0)
249 cache_temperature.EnsurePageCacheTemperature( 252 cache_temperature.EnsurePageCacheTemperature(
250 self._current_page, self.browser, self._previous_page) 253 self._current_page, self.browser, self._previous_page)
254 if self._current_page.traffic_setting != traffic_setting.NONE:
255 # TODO(kouhei): fill in appropriate traffic shaping data.
256 raise NotImplementedError()
251 257
252 # Start profiling if needed. 258 # Start profiling if needed.
253 if self._finder_options.profiler: 259 if self._finder_options.profiler:
254 self._StartProfiling(self._current_page) 260 self._StartProfiling(self._current_page)
255 261
256 def CanRunStory(self, page): 262 def CanRunStory(self, page):
257 return self.CanRunOnBrowser(browser_info_module.BrowserInfo(self.browser), 263 return self.CanRunOnBrowser(browser_info_module.BrowserInfo(self.browser),
258 page) 264 page)
259 265
260 def CanRunOnBrowser(self, browser_info, 266 def CanRunOnBrowser(self, browser_info,
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 class SharedDesktopPageState(SharedPageState): 354 class SharedDesktopPageState(SharedPageState):
349 _device_type = 'desktop' 355 _device_type = 'desktop'
350 356
351 357
352 class SharedTabletPageState(SharedPageState): 358 class SharedTabletPageState(SharedPageState):
353 _device_type = 'tablet' 359 _device_type = 'tablet'
354 360
355 361
356 class Shared10InchTabletPageState(SharedPageState): 362 class Shared10InchTabletPageState(SharedPageState):
357 _device_type = 'tablet_10_inch' 363 _device_type = 'tablet_10_inch'
OLDNEW
« no previous file with comments | « telemetry/telemetry/page/__init__.py ('k') | telemetry/telemetry/page/traffic_setting.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698