| Index: tools/perf/page_sets/key_silk_cases.py
|
| diff --git a/tools/perf/page_sets/key_silk_cases.py b/tools/perf/page_sets/key_silk_cases.py
|
| index 94efe3f4b8dd4cb64f65979ee503541e90d27b2d..deb6906fe5597752f5ff5c328da1ed5ccb9fe27b 100644
|
| --- a/tools/perf/page_sets/key_silk_cases.py
|
| +++ b/tools/perf/page_sets/key_silk_cases.py
|
| @@ -589,6 +589,33 @@ class SVGIconRaster(KeySilkCasesPage):
|
| action_runner.Wait(1)
|
| interaction.End()
|
|
|
| +
|
| +class UpdateHistoryState(KeySilkCasesPage):
|
| +
|
| + """ Why: Modern apps often update history state, which currently is janky."""
|
| +
|
| + def __init__(self, page_set):
|
| + super(UpdateHistoryState, self).__init__(
|
| + url='file://key_silk_cases/pushState.html',
|
| + page_set=page_set)
|
| +
|
| + def RunNavigateSteps(self, action_runner):
|
| + action_runner.NavigateToPage(self)
|
| + action_runner.ExecuteJavaScript('''
|
| + window.requestAnimationFrame(function() {
|
| + window.__history_state_loaded = true;
|
| + });
|
| + ''')
|
| + action_runner.WaitForJavaScriptCondition(
|
| + 'window.__history_state_loaded == true;')
|
| +
|
| + def RunSmoothness(self, action_runner):
|
| + interaction = action_runner.BeginInteraction('animation_interaction',
|
| + is_smooth=True)
|
| + action_runner.Wait(5) # JS runs the animation continuously on the page
|
| + interaction.End()
|
| +
|
| +
|
| class KeySilkCasesPageSet(page_set_module.PageSet):
|
|
|
| """ Pages hand-picked for project Silk. """
|
| @@ -627,3 +654,4 @@ class KeySilkCasesPageSet(page_set_module.PageSet):
|
| self.AddPage(Page25(self))
|
| self.AddPage(Page26(self))
|
| self.AddPage(SVGIconRaster(self))
|
| + self.AddPage(UpdateHistoryState(self))
|
|
|