forked from mirrors/gecko-dev
		
	# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D36041 --HG-- extra : source : 96b3895a3b2aa2fcb064c85ec5857b7216884556
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* Any copyright is dedicated to the Public Domain.
 | 
						|
   http://creativecommons.org/publicdomain/zero/1.0/ */
 | 
						|
 | 
						|
"use strict";
 | 
						|
 | 
						|
add_task(async function() {
 | 
						|
  if (
 | 
						|
    !AppConstants.NIGHTLY_BUILD &&
 | 
						|
    !AppConstants.MOZ_DEV_EDITION &&
 | 
						|
    !AppConstants.DEBUG
 | 
						|
  ) {
 | 
						|
    ok(
 | 
						|
      !("@mozilla.org/test/startuprecorder;1" in Cc),
 | 
						|
      "the startup recorder component shouldn't exist in this non-nightly/non-devedition/" +
 | 
						|
        "non-debug build."
 | 
						|
    );
 | 
						|
    return;
 | 
						|
  }
 | 
						|
 | 
						|
  let startupRecorder = Cc["@mozilla.org/test/startuprecorder;1"].getService()
 | 
						|
    .wrappedJSObject;
 | 
						|
  await startupRecorder.done;
 | 
						|
 | 
						|
  let extras = Cu.cloneInto(startupRecorder.data.extras, {});
 | 
						|
 | 
						|
  let phasesExpectations = {
 | 
						|
    "before profile selection": false,
 | 
						|
    "before opening first browser window": false,
 | 
						|
    "before first paint": !Services.prefs.getBoolPref(
 | 
						|
      "toolkit.lazyHiddenWindow"
 | 
						|
    ),
 | 
						|
 | 
						|
    // Bug 1531854
 | 
						|
    "before handling user events": true,
 | 
						|
    "before becoming idle": true,
 | 
						|
  };
 | 
						|
 | 
						|
  for (let phase in extras) {
 | 
						|
    if (!(phase in phasesExpectations)) {
 | 
						|
      ok(false, `Startup phase '${phase}' should be specified.`);
 | 
						|
      continue;
 | 
						|
    }
 | 
						|
 | 
						|
    is(
 | 
						|
      extras[phase].hiddenWindowLoaded,
 | 
						|
      phasesExpectations[phase],
 | 
						|
      `Hidden window loaded at '${phase}': ${phasesExpectations[phase]}`
 | 
						|
    );
 | 
						|
  }
 | 
						|
});
 |