code: func (c *Emulation) SetVirtualTimePolicy(policy string, budget float64, maxVirtualTimeTaskStarvationCount int, waitForNavigation bool, initialVirtualTime float64) (float64, error) {
  	var v EmulationSetVirtualTimePolicyParams
  	v.Policy = policy
  	v.Budget = budget
  	v.MaxVirtualTimeTaskStarvationCount = maxVirtualTimeTaskStarvationCount
  	v.WaitForNavigation = waitForNavigation
  	v.InitialVirtualTime = initialVirtualTime
  	return c.SetVirtualTimePolicyWithParams(&v)
  }
docs: // SetVirtualTimePolicy - Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets the current virtual time policy.  Note this supersedes any previous time budget.
  // policy -  enum values: advance, pause, pauseIfNetworkFetchesPending
  // budget - If set, after this many virtual milliseconds have elapsed virtual time will be paused and a virtualTimeBudgetExpired event is sent.
  // maxVirtualTimeTaskStarvationCount - If set this specifies the maximum number of tasks that can be run before virtual is forced forwards to prevent deadlock.
  // waitForNavigation - If set the virtual time policy change should be deferred until any frame starts navigating. Note any previous deferred policy change is superseded.
  // initialVirtualTime - If set, base::Time::Now will be overriden to initially return this value.
  // Returns -  virtualTimeTicksBase - Absolute timestamp at which virtual time was first enabled (up time in milliseconds).