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

Side by Side Diff: content/test/gpu/gpu_tests/context_lost.py

Issue 252123003: Work around about:gpucrash tab crashes caused by impl-side painting. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 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 import os 4 import os
5 5
6 from telemetry import test as test_module 6 from telemetry import test as test_module
7 from telemetry.core import util 7 from telemetry.core import util
8 from telemetry.page import page_set 8 from telemetry.page import page_set
9 from telemetry.page import page_test 9 from telemetry.page import page_test
10 10
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 raise page_test.Failure('Browser must support tab control') 65 raise page_test.Failure('Browser must support tab control')
66 # Reset the test's state. 66 # Reset the test's state.
67 tab.EvaluateJavaScript( 67 tab.EvaluateJavaScript(
68 'window.domAutomationController._succeeded = false'); 68 'window.domAutomationController._succeeded = false');
69 tab.EvaluateJavaScript( 69 tab.EvaluateJavaScript(
70 'window.domAutomationController._finished = false'); 70 'window.domAutomationController._finished = false');
71 # Crash the GPU process. 71 # Crash the GPU process.
72 new_tab = tab.browser.tabs.New() 72 new_tab = tab.browser.tabs.New()
73 # To access these debug URLs from Telemetry, they have to be 73 # To access these debug URLs from Telemetry, they have to be
74 # written using the chrome:// scheme. 74 # written using the chrome:// scheme.
75 new_tab.Navigate('chrome://gpucrash') 75 # The try/except is a workaround for crbug.com/368107.
76 try:
77 new_tab.Navigate('chrome://gpucrash')
78 except (exceptions.TabCrashException, Exception):
79 print 'Tab crashed while navigating to chrome://gpucrash'
76 # Activate the original tab and wait for completion. 80 # Activate the original tab and wait for completion.
77 tab.Activate() 81 tab.Activate()
78 completed = False 82 completed = False
79 try: 83 try:
80 util.WaitFor(lambda: tab.EvaluateJavaScript( 84 util.WaitFor(lambda: tab.EvaluateJavaScript(
81 'window.domAutomationController._finished'), wait_timeout) 85 'window.domAutomationController._finished'), wait_timeout)
82 completed = True 86 completed = True
83 except util.TimeoutException: 87 except util.TimeoutException:
84 pass 88 pass
85 new_tab.Close() 89 # The try/except is a workaround for crbug.com/368107.
90 try:
91 new_tab.Close()
92 except (exceptions.TabCrashException, Exception):
93 print 'Tab crashed while closing chrome://gpucrash'
86 if not completed: 94 if not completed:
87 raise page_test.Failure( 95 raise page_test.Failure(
88 'Test didn\'t complete (no context lost event?)') 96 'Test didn\'t complete (no context lost event?)')
89 if not tab.EvaluateJavaScript( 97 if not tab.EvaluateJavaScript(
90 'window.domAutomationController._succeeded'): 98 'window.domAutomationController._succeeded'):
91 raise page_test.Failure( 99 raise page_test.Failure(
92 'Test failed (context not restored properly?)') 100 'Test failed (context not restored properly?)')
93 101
94 class ContextLost(test_module.Test): 102 class ContextLost(test_module.Test):
95 enabled = True 103 enabled = True
(...skipping 26 matching lines...) Expand all
122 'navigate_steps': [ 130 'navigate_steps': [
123 { 'action': 'navigate' }, 131 { 'action': 'navigate' },
124 { 'action': 'wait', 132 { 'action': 'wait',
125 'javascript': 'window.domAutomationController._finished' } 133 'javascript': 'window.domAutomationController._finished' }
126 ], 134 ],
127 'kill_gpu_process': False 135 'kill_gpu_process': False
128 }, 136 },
129 ] 137 ]
130 } 138 }
131 return page_set.PageSet.FromDict(page_set_dict, data_path) 139 return page_set.PageSet.FromDict(page_set_dict, data_path)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698