text: (async function(testRunner) {
    var {page, session, dp} = await testRunner.startBlank(
        `Tests that waitForDebuggerOnStart works with out-of-process iframes.`);
  
    await dp.Target.setAutoAttach({autoAttach: true, waitForDebuggerOnStart: true, flatten: true});
  
    await Promise.all([
      dp.Page.enable(),
      dp.Network.enable()
    ]);
    await dp.Network.setUserAgentOverride({userAgent: 'test'});
    const requestSentPromise = dp.Network.onceRequestWillBeSent();
    const attachedPromise = dp.Target.onceAttachedToTarget();
    session.evaluate(`
      var iframe = document.createElement('iframe');
      iframe.src = 'http://devtools.oopif.test:8000/inspector-protocol/network/resources/echo-headers.php?headers=HTTP_USER_AGENT';
      document.body.appendChild(iframe);
    `);
  
    const params = (await requestSentPromise).params;
    const sessionId = (await attachedPromise).params.sessionId;
    const dp1 = session.createChild(sessionId).protocol;
    await dp1.Network.enable();
    await dp1.Network.setUserAgentOverride({userAgent: 'test (subframe)'});
  
    const loadingFinishedPromise = dp1.Network.onceLoadingFinished();
    await dp1.Runtime.runIfWaitingForDebugger();
    testRunner.log(`User-Agent = ${params.request.headers['User-Agent']}`);
    await loadingFinishedPromise;
    const content = (await dp1.Network.getResponseBody({requestId: params.requestId})).result.body;
    testRunner.log(`content (should have user-agent header overriden): ${content}`);
  
    testRunner.completeTest();
  })
  