forked from mirrors/gecko-dev
		
	Differential Revision: https://phabricator.services.mozilla.com/D63699 --HG-- extra : moz-landing-system : lando
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* Any copyright is dedicated to the Public Domain.
 | 
						|
 * http://creativecommons.org/publicdomain/zero/1.0/
 | 
						|
 */
 | 
						|
 | 
						|
const frameSource =
 | 
						|
  "<a href='about:mozilla'>some text</a><a id='other' href='about:about'>other text</a>";
 | 
						|
const sources = [
 | 
						|
  `<html><iframe id="f" srcdoc="${frameSource}"></iframe></html>`,
 | 
						|
  `<html><iframe id="f" src="https://example.com/document-builder.sjs?html=${frameSource}"></iframe></html>`,
 | 
						|
];
 | 
						|
 | 
						|
add_task(async function partial_source() {
 | 
						|
  for (let source of sources) {
 | 
						|
    let tab = await BrowserTestUtils.openNewForegroundTab(
 | 
						|
      gBrowser,
 | 
						|
      "data:text/html," + source
 | 
						|
    );
 | 
						|
 | 
						|
    let frameBC = gBrowser.selectedBrowser.browsingContext.children[0];
 | 
						|
 | 
						|
    await SpecialPowers.spawn(frameBC, [], () => {
 | 
						|
      let element = content.document.getElementById("other");
 | 
						|
      content.focus();
 | 
						|
      content.getSelection().selectAllChildren(element);
 | 
						|
    });
 | 
						|
 | 
						|
    let sourceTab = await openViewPartialSource("#other", frameBC);
 | 
						|
 | 
						|
    let browser = gBrowser.selectedBrowser;
 | 
						|
    let textContent = await SpecialPowers.spawn(browser, [], async function() {
 | 
						|
      return content.document.body.textContent;
 | 
						|
    });
 | 
						|
    is(
 | 
						|
      textContent,
 | 
						|
      '<a id="other" href="about:about">other text</a>',
 | 
						|
      "Correct content loaded"
 | 
						|
    );
 | 
						|
    let selection = await SpecialPowers.spawn(browser, [], async function() {
 | 
						|
      return String(content.getSelection());
 | 
						|
    });
 | 
						|
    is(selection, "other text", "Correct text selected");
 | 
						|
 | 
						|
    gBrowser.removeTab(sourceTab);
 | 
						|
    gBrowser.removeTab(tab);
 | 
						|
  }
 | 
						|
});
 |