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 3 # found in the LICENSE file. 4 from telemetry.page import page as page_module 5 from telemetry.page import page_set as page_set_module 6 7 8 class ToughDomMemoryCasesPage(page_module.Page): 9 10 def __init__(self, url, page_set): 11 super(ToughDomMemoryCasesPage, self).__init__(url=url, page_set=page_set) 12 self.user_agent_type = 'desktop' 13 self.archive_data_file = 'data/tough_dom_memory_cases.json' 14 15 def RunStressMemory(self, action_runner): 16 interaction = action_runner.BeginGestureInteraction( 17 'ScrollAction', is_smooth=True) 18 action_runner.ScrollPage() 19 interaction.End() 20 21 class ToughDomMemoryCasesPageSet(page_set_module.PageSet): 22 23 """ 24 Websites in top 25 where some DOM objects seem to remain even 25 after closing the page. 26 """ 27 28 def __init__(self): 29 super(ToughDomMemoryCasesPageSet, self).__init__( 30 user_agent_type='desktop', 31 archive_data_file='data/tough_dom_memory_cases.json', 32 bucket=page_set_module.PARTNER_BUCKET) 33 34 urls_list = [ 35 # pylint: disable=C0301 36 'http://en.blog.wordpress.com/2012/09/04/freshly-pressed-editors-picks-for-august-2012/', 37 # pylint: disable=C0301 38 'http://en.blog.wordpress.com/2012/09/06/new-themes-gridspace-and-ascetica/', 39 # pylint: disable=C0301 40 'http://en.blog.wordpress.com/2012/09/20/new-themes-gigawatt-and-pinboard/', 41 # pylint: disable=C0301 42 'https://twitter.com/katyperry', 43 'https://twitter.com/justinbieber', 44 'https://twitter.com/BarackObama', 45 'https://twitter.com/ladygaga' 46 ] 47 48 for url in urls_list: 49 self.AddPage(ToughDomMemoryCasesPage(url, self)) 50