  // Create a nested frame so we check if navigation and history.back()
    // properly handle child window state.
    return with_nested_frame(win, 'about:blank');

  }).then(frame => {
    // Schedule a timer within the nested frame contained by the new window.
    // Our intent is to navigate the window before the timer fires.
    let delayFired = false;
    let innerDelay = delay(frame.contentWindow, DELAY);
    innerDelay.then(_ => {
      delayFired = true;
    });

    return navigate_by_name(win, 'b