diff --git a/sample.config b/sample.config --- a/sample.config +++ b/sample.config @@ -44,16 +44,17 @@ preferences : network.proxy.http_port : 80 dom.disable_window_flip : true dom.disable_window_move_resize : true security.enable_java : false extensions.checkCompatibility : false extensions.update.notifyUser: false browser.cache.disk.smart_size.enabled: false browser.cache.disk.smart_size.first_run: false + dom.send_after_paint_to_content: true # Extensions to install in test (use "extensions: {}" for none) # Need quotes around guid because of curly braces # extensions : # "{12345678-1234-1234-1234-abcd12345678}" : c:\path\to\unzipped\xpi # foo@sample.com : c:\path\to\other\unzipped\xpi extensions : {} @@ -99,16 +100,28 @@ tests : cycles : 20 timeout: 150 win_counters : [] w7_counters : [] linux_counters : [] mac_counters : [] shutdown : True profile_path: base_profile +- name: ts_paint + url : startup_test/startup_test.html?mozafterpaint=1%26begin= + url_mod : str(int(time.time()*1000)) + resolution : 1 + cycles : 20 + timeout: 150 + win_counters : [] + w7_counters : [] + linux_counters : [] + mac_counters : [] + shutdown : False + profile_path: base_profile - name: ts_cold url : startup_test/startup_test.html?begin= url_mod : str(int(time.time()*1000)) resolution : 1 cycles : 20 win_counters : [] w7_counters : [] linux_counters : [] @@ -271,16 +284,27 @@ tests : cycles : 1 timeout : 300 win_counters: [] w7_counters : [] linux_counters : [] mac_counters : [] shutdown : False profile_path: base_profile +- name: tpaint + url: startup_test/twinopen/winopen.xul?mozafterpaint=1%26phase1=20 + resolution: 1 + cycles : 1 + timeout : 300 + win_counters: [] + w7_counters : [] + linux_counters : [] + mac_counters : [] + shutdown : False + profile_path: base_profile - name: tsspider url: '-tp page_load_test/sunspider/sunspider.manifest -tpchrome -tpnoisy -tpformat tinderbox -tpcycles 5' resolution : 1 cycles : 1 win_counters : [] w7_counters : [] linux_counters : [] mac_counters : [] diff --git a/startup_test/startup_test.html b/startup_test/startup_test.html --- a/startup_test/startup_test.html +++ b/startup_test/startup_test.html @@ -36,24 +36,68 @@ - ***** END LICENSE BLOCK ***** --> + + diff --git a/startup_test/twinopen/child-window.html b/startup_test/twinopen/child-window.html --- a/startup_test/twinopen/child-window.html +++ b/startup_test/twinopen/child-window.html @@ -1,5 +1,54 @@ - + + + + + diff --git a/startup_test/twinopen/winopen.js b/startup_test/twinopen/winopen.js --- a/startup_test/twinopen/winopen.js +++ b/startup_test/twinopen/winopen.js @@ -20,34 +20,39 @@ var CYCLES = 1; // autoclose flag var AUTOCLOSE = 1; // Chrome url for child windows. var KID_CHROME = null; var SAVED_CHROME = null; +// measure after receiving the mozafterpaint event +var MOZ_AFTER_PAINT = 0; + // URL options and correspnding vars. const options = [ [ "phase1", "PHASE_ONE", false ], [ "phase2", "PHASE_TWO", false ], [ "phase3", "PHASE_THREE", false ], [ "overlap", "OVERLAP_COUNT", false ], [ "cycles", "CYCLES", false ], [ "chrome", "KID_CHROME", true ], + [ "mozafterpaint", "MOZ_AFTER_PAINT", false ], [ "close", "AUTOCLOSE", false ] ]; // Note: You can attach search options to the url for this file to control // any of the options in the array above. E.g., specifying // mozilla -chrome "file:///D|/mozilla/xpfe/test/winopen.xul?phase1=16&close=0" // will run this script with PHASE_ONE=16 and AUTOCLOSE=0. // // On Win32, you must enclose the -chrome option in quotes in order pass funny Win32 shell // characters such as '&' or '|'! -var opts = window.location.search.substring(1).split( '&' ); +var s = window.location.search.substring(1); +var opts = s.replace("%26", "&").split('&'); for ( opt in opts ) { for ( var i in options ) { if ( opts[opt].indexOf( options[i][0]+"=" ) == 0 ) { var newVal = opts[opt].split( '=' )[ 1 ]; // wrap with quotes, if required. if ( options[i][2] ) { newVal = '"' + newVal + '"'; } @@ -236,13 +241,14 @@ function restoreChromeURL() { } } function openWindow() { startingTimes[currentIndex] = (new Date()).getTime(); var path = window.location.pathname.substring( 0, window.location.pathname.lastIndexOf('/') ); var url = window.location.protocol + "//" + window.location.hostname + path + "/" + - KID_URL; + KID_URL + "?mozafterpaint=" + MOZ_AFTER_PAINT; + windowList[currentIndex] = window.open(url, currentIndex); }