function testAboutSrcdocNestedFrame() {
      chrome.runtime.onMessage.addListener(function onMessageListener(message) {
        chrome.runtime.onMessage.removeListener(onMessageListener);
        // Child frame of srcdoc document
        chrome.test.assertEq('message from about:blank', message);
        chrome.runtime.onMessage.addListener(function secondListener(message) {
          chrome.runtime.onMessage.removeListener(secondListener);
          // Child frame of top-level document
          chrome.test.assertEq('message from about:srcdoc', message);
          chrome.test.succeed();
        });
      });
      chrome.test.log('Creating tab...');
      var test_url =
          ('http://localhost:PORT/extensions/' +
           'test_file_with_about_blank_in_srcdoc.html')
              .replace(/PORT/, config.testServer.port);
      chrome.tabs.create({ url: test_url });
    }
// they are embedded in another about:-frame.
they are embedded in another about:-frame.
they are embedded in another about : - frame .
function testAboutSrcdocNestedFrame() {
      chrome.runtime.onMessage.addListener(function onMessageListener(message) {
        chrome.runtime.onMessage.removeListener(onMessageListener);
        chrome.test.assertEq('message from about:blank', message);
        chrome.runtime.onMessage.addListener(function secondListener(message) {
          chrome.runtime.onMessage.removeListener(secondListener);
          chrome.test.assertEq('message from about:srcdoc', message);
          chrome.test.succeed();
        });
      });
      chrome.test.log('Creating tab...');
      var test_url =
          ('http://localhost:PORT/extensions/' +
           'test_file_with_about_blank_in_srcdoc.html')
              .replace(/PORT/, config.testServer.port);
      chrome.tabs.create({ url: test_url });
    }
function testAboutSrcdocNestedFrame ( ) { chrome . runtime . onMessage . addListener ( function onMessageListener ( message ) { chrome . runtime . onMessage . removeListener ( onMessageListener ) ; chrome . test . assertEq ( 'message from about:blank' , message ) ; chrome . runtime . onMessage . addListener ( function secondListener ( message ) { chrome . runtime . onMessage . removeListener ( secondListener ) ; chrome . test . assertEq ( 'message from about:srcdoc' , message ) ; chrome . test . succeed ( ) ; } ) ; } ) ; chrome . test . log ( 'Creating tab...' ) ; var test_url = ( 'http://localhost:PORT/extensions/' + 'test_file_with_about_blank_in_srcdoc.html' ) . replace ( / PORT / , config . testServer . port ) ; chrome . tabs . create ( { url : test_url } ) ; }
they are embedded in another about:-frame.
they are embedded in another about : - frame .
// Child frame of srcdoc document // Child frame of top-level document