Commit b870042f authored by Amy Qiu's avatar Amy Qiu Committed by Commit Bot

Merge tough_canvas_cases into rendering page sets

Move tough_canvas_cases into rendering folder and refactor page classes
to inherit from RenderingStory.

Bug: 760553
Change-Id: I5cc1a745360968757569b1868be2fb3ddca7222c
Reviewed-on: https://chromium-review.googlesource.com/1078934
Commit-Queue: Amy Qiu <amyqiu@google.com>
Reviewed-by: default avatarNed Nguyen <nednguyen@google.com>
Cr-Commit-Position: refs/heads/master@{#563010}
parent a45859e2
......@@ -140,6 +140,12 @@ crbug.com/249722 [ All ] rendering.mobile/espn_mobile [ Skip ]
crbug.com/249722 [ All ] rendering.mobile/espn_mobile_sync_scroll [ Skip ]
crbug.com/249736 [ All ] rendering.mobile/forecast.io_mobile [ Skip ]
crbug.com/249736 [ All ] rendering.mobile/forecast.io_mobile_sync_scroll [ Skip ]
crbug.com/785485 [ Android_Webview ] rendering.mobile/kevs_3d [ Skip ]
crbug.com/755657 [ Android_One ] rendering.mobile/canvas_to_blob [ Skip ]
crbug.com/785286 [ Android_Webview ] rendering.mobile/smash_cat [ Skip ]
crbug.com/785286 [ Android_Webview ] rendering.mobile/effect_games [ Skip ]
crbug.com/364248 [ Nexus_5 ] rendering.mobile/geo_apis [ Skip ]
crbug.com/825234 [ Android_Webview ] rendering.mobile/bouncing_balls_shadow [ Skip ]
# Benchmark: smoothness.gpu_rasterization.polymer
[ All ] smoothness.gpu_rasterization.polymer/* [ Skip ] # Test needs to be modernized.
......
......@@ -107,6 +107,69 @@
},
"ie_chalkboard": {
"DEFAULT": "tough_path_rendering_cases_002.wprgo"
},
"geo_apis": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"hakim": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_tweet_map": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_video_city": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_worker_fountains": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_asteroid_belt": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_fireflies": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_fish_ie_tank": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_snow": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_speed_reading": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"jarro_doverson": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"mix_10k": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"runway": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"spielzeugz": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"man_in_blue": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"chip_tune": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"crafty_mind": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"effect_games": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"kevs_3d": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"megi_dish": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"smash_cat": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
}
},
"description": "Describes the Web Page Replay archives for a story set. Don't edit by hand! Use record_wpr for updating.",
......
......@@ -455,6 +455,69 @@
},
"ie_chalkboard": {
"DEFAULT": "tough_path_rendering_cases_002.wprgo"
},
"geo_apis": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"hakim": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_tweet_map": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_video_city": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_worker_fountains": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_asteroid_belt": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_fireflies": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_fish_ie_tank": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_snow": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"microsoft_speed_reading": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"jarro_doverson": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"mix_10k": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"runway": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"spielzeugz": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"man_in_blue": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"chip_tune": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"crafty_mind": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"effect_games": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"kevs_3d": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"megi_dish": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
},
"smash_cat": {
"DEFAULT": "tough_canvas_cases_001.wprgo"
}
},
"description": "Describes the Web Page Replay archives for a story set. Don't edit by hand! Use record_wpr for updating.",
......
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from telemetry import story
from telemetry.page import shared_page_state
from page_sets.rendering import rendering_story
class ToughCanvasPage(rendering_story.RenderingStory):
ABSTRACT_STORY = True
def __init__(self,
page_set,
shared_page_state_class=shared_page_state.SharedPageState,
name_suffix='',
extra_browser_args=None):
super(ToughCanvasPage, self).__init__(
page_set=page_set,
shared_page_state_class=shared_page_state_class,
name_suffix=name_suffix,
extra_browser_args=extra_browser_args)
def RunNavigateSteps(self, action_runner):
super(ToughCanvasPage, self).RunNavigateSteps(action_runner)
action_runner.WaitForJavaScriptCondition(
"document.readyState == 'complete'")
def RunPageInteractions(self, action_runner):
with action_runner.CreateInteraction('CanvasAnimation'):
action_runner.Wait(5)
class MicrosoftFirefliesPage(ToughCanvasPage):
BASE_NAME = 'microsoft_fireflies'
# pylint: disable=line-too-long
URL = 'http://ie.microsoft.com/testdrive/Performance/Fireflies/Default.html'
class GeoAPIsPage(ToughCanvasPage):
BASE_NAME = 'geo_apis'
URL = 'http://geoapis.appspot.com/agdnZW9hcGlzchMLEgtFeGFtcGxlQ29kZRjh1wIM'
class RunwayPage(ToughCanvasPage):
BASE_NAME = 'runway'
URL = 'http://runway.countlessprojects.com/prototype/performance_test.html'
class MicrosoftFishIETankPage(ToughCanvasPage):
BASE_NAME = 'microsoft_fish_ie_tank'
# pylint: disable=line-too-long
URL = 'http://ie.microsoft.com/testdrive/Performance/FishIETank/Default.html'
class MicrosoftSpeedReadingPage(ToughCanvasPage):
BASE_NAME = 'microsoft_speed_reading'
# pylint: disable=line-too-long
URL = 'http://ie.microsoft.com/testdrive/Performance/SpeedReading/Default.html'
class Kevs3DPage(ToughCanvasPage):
BASE_NAME = 'kevs_3d'
URL = 'http://www.kevs3d.co.uk/dev/canvask3d/k3d_test.html'
class MegiDishPage(ToughCanvasPage):
BASE_NAME = 'megi_dish'
URL = 'http://www.megidish.net/awjs/'
class ManInBluePage(ToughCanvasPage):
BASE_NAME = 'man_in_blue'
URL = 'http://themaninblue.com/experiment/AnimationBenchmark/canvas/'
class Mix10KPage(ToughCanvasPage):
BASE_NAME = 'mix_10k'
URL = 'http://mix10k.visitmix.com/Entry/Details/169'
class CraftyMindPage(ToughCanvasPage):
BASE_NAME = 'crafty_mind'
URL = 'http://www.craftymind.com/factory/guimark2/HTML5ChartingTest.html'
class ChipTunePage(ToughCanvasPage):
BASE_NAME = 'chip_tune'
URL = 'http://www.chiptune.com/starfield/starfield.html'
class JarroDoversonPage(ToughCanvasPage):
BASE_NAME = 'jarro_doverson'
URL = 'http://jarrodoverson.com/static/demos/particleSystem/'
class EffectGamesPage(ToughCanvasPage):
BASE_NAME = 'effect_games'
URL = 'http://www.effectgames.com/demos/canvascycle/'
class SpielzeugzPage(ToughCanvasPage):
BASE_NAME = 'spielzeugz'
URL = 'http://spielzeugz.de/html5/liquid-particles.html'
class HakimPage(ToughCanvasPage):
BASE_NAME = 'hakim'
URL = 'http://hakim.se/experiments/html5/magnetic/02/'
class MicrosoftSnowPage(ToughCanvasPage):
BASE_NAME = 'microsoft_snow'
URL = 'http://ie.microsoft.com/testdrive/Performance/LetItSnow/'
class MicrosoftWorkerFountainsPage(ToughCanvasPage):
BASE_NAME = 'microsoft_worker_fountains'
# pylint: disable=line-too-long
URL = 'http://ie.microsoft.com/testdrive/Graphics/WorkerFountains/Default.html'
class MicrosoftTweetMapPage(ToughCanvasPage):
BASE_NAME = 'microsoft_tweet_map'
URL = 'http://ie.microsoft.com/testdrive/Graphics/TweetMap/Default.html'
class MicrosoftVideoCityPage(ToughCanvasPage):
BASE_NAME = 'microsoft_video_city'
URL = 'http://ie.microsoft.com/testdrive/Graphics/VideoCity/Default.html'
class MicrosoftAsteroidBeltPage(ToughCanvasPage):
BASE_NAME = 'microsoft_asteroid_belt'
# pylint: disable=line-too-long
URL = 'http://ie.microsoft.com/testdrive/Performance/AsteroidBelt/Default.html'
class SmashCatPage(ToughCanvasPage):
BASE_NAME = 'smash_cat'
URL = 'http://www.smashcat.org/av/canvas_test/'
class BouncingBallsShadowPage(ToughCanvasPage):
BASE_NAME = 'bouncing_balls_shadow'
# pylint: disable=line-too-long
URL = 'file://../tough_canvas_cases/canvas2d_balls_common/bouncing_balls.html?ball=image_with_shadow&back=image'
class BouncingBalls15Page(ToughCanvasPage):
BASE_NAME = 'bouncing_balls_15'
# pylint: disable=line-too-long
URL = 'file://../tough_canvas_cases/canvas2d_balls_common/bouncing_balls.html?ball=text&back=white&ball_count=15'
class CanvasFontCyclerPage(ToughCanvasPage):
BASE_NAME = 'canvas_font_cycler'
URL = 'file://../tough_canvas_cases/canvas-font-cycler.html'
class CanvasAnimationNoClearPage(ToughCanvasPage):
BASE_NAME = 'canvas_animation_no_clear'
URL = 'file://../tough_canvas_cases/canvas-animation-no-clear.html'
class CanvasToBlobPage(ToughCanvasPage):
BASE_NAME = 'canvas_to_blob'
URL = 'file://../tough_canvas_cases/canvas_toBlob.html'
class ManyImagesPage(ToughCanvasPage):
BASE_NAME = 'many_images'
URL = 'file://../../../../chrome/test/data/perf/canvas_bench/many_images.html'
class CanvasArcPage(ToughCanvasPage):
BASE_NAME = 'canvas_arcs'
URL = 'file://../tough_canvas_cases/rendering_throughput/canvas_arcs.html'
class CanvasLinesPage(ToughCanvasPage):
BASE_NAME = 'canvas_lines'
URL = 'file://../tough_canvas_cases/rendering_throughput/canvas_lines.html'
class PutGetImageDataPage(ToughCanvasPage):
BASE_NAME = 'put_get_image_data'
URL = 'file://../tough_canvas_cases/rendering_throughput/put_get_image_data.html'
class FillShapesPage(ToughCanvasPage):
BASE_NAME = 'fill_shapes'
URL = 'file://../tough_canvas_cases/rendering_throughput/fill_shapes.html'
class StrokeShapesPage(ToughCanvasPage):
BASE_NAME = 'stroke_shapes'
URL = 'file://../tough_canvas_cases/rendering_throughput/stroke_shapes.html'
class BouncingClippedRectanglesPage(ToughCanvasPage):
BASE_NAME = 'bouncing_clipped_rectangles'
# pylint: disable=line-too-long
URL = 'file://../tough_canvas_cases/rendering_throughput/bouncing_clipped_rectangles.html'
class BouncingGradientCirclesPage(ToughCanvasPage):
BASE_NAME = 'bouncing_gradient_circles'
# pylint: disable=line-too-long
URL = 'file://../tough_canvas_cases/rendering_throughput/bouncing_gradient_circles.html'
class BouncingSVGImagesPage(ToughCanvasPage):
BASE_NAME = 'bouncing_svg_images'
# pylint: disable=line-too-long
URL = 'file://../tough_canvas_cases/rendering_throughput/bouncing_svg_images.html'
class BouncingPNGImagesPage(ToughCanvasPage):
BASE_NAME = 'bouncing_png_images'
# pylint: disable=line-too-long
URL = 'file://../tough_canvas_cases/rendering_throughput/bouncing_png_images.html'
# TODO(crbug.com/760553):remove this class after smoothness.tough_canvas_cases
# benchmark is completely replaced by rendering benchmarks
class ToughCanvasCasesPageSet(story.StorySet):
"""
Description: Self-driven Canvas2D animation examples
"""
def __init__(self):
super(ToughCanvasCasesPageSet, self).__init__(
archive_data_file='../data/tough_canvas_cases.json',
cloud_storage_bucket=story.PARTNER_BUCKET)
# Crashes on Galaxy Nexus. crbug.com/314131
# TODO(rnephew): Rerecord this story.
# self.AddStory(MicrosofFirefliesPage(self))
page_classes = [
GeoAPIsPage,
RunwayPage,
MicrosoftFishIETankPage,
MicrosoftSpeedReadingPage,
Kevs3DPage,
MegiDishPage,
ManInBluePage,
Mix10KPage,
CraftyMindPage,
ChipTunePage,
JarroDoversonPage,
EffectGamesPage,
SpielzeugzPage,
HakimPage,
MicrosoftSnowPage,
MicrosoftWorkerFountainsPage,
MicrosoftTweetMapPage,
MicrosoftVideoCityPage,
MicrosoftAsteroidBeltPage,
SmashCatPage,
BouncingBallsShadowPage,
BouncingBalls15Page,
CanvasFontCyclerPage,
CanvasAnimationNoClearPage,
CanvasToBlobPage,
ManyImagesPage,
CanvasArcPage,
CanvasLinesPage,
PutGetImageDataPage,
FillShapesPage,
StrokeShapesPage,
BouncingClippedRectanglesPage,
BouncingGradientCirclesPage,
BouncingSVGImagesPage,
BouncingPNGImagesPage
]
for page_class in page_classes:
self.AddStory(page_class(self))
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from telemetry.page import page as page_module
from telemetry import story
class ToughCanvasCasesPage(page_module.Page):
def __init__(self, name, url, page_set):
super(ToughCanvasCasesPage, self).__init__(url=url, page_set=page_set,
name=name)
def RunNavigateSteps(self, action_runner):
super(ToughCanvasCasesPage, self).RunNavigateSteps(action_runner)
action_runner.WaitForJavaScriptCondition(
"document.readyState == 'complete'")
def RunPageInteractions(self, action_runner):
with action_runner.CreateInteraction('CanvasAnimation'):
action_runner.Wait(5)
class MicrosofFirefliesPage(ToughCanvasCasesPage):
def __init__(self, page_set):
super(MicrosofFirefliesPage, self).__init__(
name='microsoft_fireflies',
# pylint: disable=line-too-long
url='http://ie.microsoft.com/testdrive/Performance/Fireflies/Default.html',
page_set=page_set)
class ToughCanvasCasesPageSet(story.StorySet):
"""
Description: Self-driven Canvas2D animation examples
"""
def __init__(self):
super(ToughCanvasCasesPageSet, self).__init__(
archive_data_file='data/tough_canvas_cases.json',
cloud_storage_bucket=story.PARTNER_BUCKET)
# Crashes on Galaxy Nexus. crbug.com/314131
# TODO(rnephew): Rerecord this story.
# self.AddStory(MicrosofFirefliesPage(self))
urls_list = [
('geo_apis',
'http://geoapis.appspot.com/agdnZW9hcGlzchMLEgtFeGFtcGxlQ29kZRjh1wIM'),
('runway',
'http://runway.countlessprojects.com/prototype/performance_test.html'),
('microsoft_fish_ie_tank',
# pylint: disable=line-too-long
'http://ie.microsoft.com/testdrive/Performance/FishIETank/Default.html'),
('microsoft_speed_reading',
# pylint: disable=line-too-long
'http://ie.microsoft.com/testdrive/Performance/SpeedReading/Default.html'),
('kevs_3d',
'http://www.kevs3d.co.uk/dev/canvask3d/k3d_test.html'),
('megi_dish',
'http://www.megidish.net/awjs/'),
('man_in_blue',
'http://themaninblue.com/experiment/AnimationBenchmark/canvas/'),
('mix_10k',
'http://mix10k.visitmix.com/Entry/Details/169'),
('crafty_mind',
'http://www.craftymind.com/factory/guimark2/HTML5ChartingTest.html'),
('chip_tune',
'http://www.chiptune.com/starfield/starfield.html'),
('jarro_doverson',
'http://jarrodoverson.com/static/demos/particleSystem/'),
('effect_games',
'http://www.effectgames.com/demos/canvascycle/'),
('spielzeugz',
'http://spielzeugz.de/html5/liquid-particles.html'),
('hakim',
'http://hakim.se/experiments/html5/magnetic/02/'),
('microsoft_snow',
'http://ie.microsoft.com/testdrive/Performance/LetItSnow/'),
('microsoft_worker_fountains',
# pylint: disable=line-too-long
'http://ie.microsoft.com/testdrive/Graphics/WorkerFountains/Default.html'),
('microsoft_tweet_map',
'http://ie.microsoft.com/testdrive/Graphics/TweetMap/Default.html'),
('microsoft_video_city',
'http://ie.microsoft.com/testdrive/Graphics/VideoCity/Default.html'),
('microsoft_asteroid_belt',
# pylint: disable=line-too-long
'http://ie.microsoft.com/testdrive/Performance/AsteroidBelt/Default.html'),
('smash_cat',
'http://www.smashcat.org/av/canvas_test/'),
('bouncing_balls_shadow',
# pylint: disable=line-too-long
'file://tough_canvas_cases/canvas2d_balls_common/bouncing_balls.html?ball=image_with_shadow&back=image'),
('bouncing_balls_15',
# pylint: disable=line-too-long
'file://tough_canvas_cases/canvas2d_balls_common/bouncing_balls.html?ball=text&back=white&ball_count=15'),
('canvas_font_cycler',
'file://tough_canvas_cases/canvas-font-cycler.html'),
('canvas_animation_no_clear',
'file://tough_canvas_cases/canvas-animation-no-clear.html'),
('canvas_to_blob',
'file://tough_canvas_cases/canvas_toBlob.html'),
('many_images',
# pylint: disable=line-too-long
'file://../../../chrome/test/data/perf/canvas_bench/many_images.html'),
('canvas_arcs',
'file://tough_canvas_cases/rendering_throughput/canvas_arcs.html'),
('canvas_lines',
'file://tough_canvas_cases/rendering_throughput/canvas_lines.html'),
('put_get_image_data',
# pylint: disable=line-too-long
'file://tough_canvas_cases/rendering_throughput/put_get_image_data.html'),
('fill_shapes',
'file://tough_canvas_cases/rendering_throughput/fill_shapes.html'),
('stroke_shapes',
'file://tough_canvas_cases/rendering_throughput/stroke_shapes.html'),
('bouncing_clipped_rectangles',
# pylint: disable=line-too-long
'file://tough_canvas_cases/rendering_throughput/bouncing_clipped_rectangles.html'),
('bouncing_gradient_circles',
# pylint: disable=line-too-long
'file://tough_canvas_cases/rendering_throughput/bouncing_gradient_circles.html'),
('bouncing_svg_images',
# pylint: disable=line-too-long
'file://tough_canvas_cases/rendering_throughput/bouncing_svg_images.html'),
('bouncing_png_images',
'file://tough_canvas_cases/rendering_throughput/bouncing_png_images.html')
]
for name, url in urls_list:
self.AddStory(ToughCanvasCasesPage(name=name,url=url,page_set=self))
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