Bug 1673627 - [devtools] Force showing iframe content instead of inline content for remote frames. r=jdescottes

For some reason we return an inlineTextChild when the iframe is remote, so only with fission turned on.
When the iframe isn't remote, WalkerFront.inlineTextChild returns undefined.

Differential Revision: https://phabricator.services.mozilla.com/D95868
This commit is contained in:
Alexandre Poirot 2020-11-09 08:43:28 +00:00
parent 9ff58f7bb7
commit 48133a28a8
3 changed files with 26 additions and 1 deletions

View File

@ -74,6 +74,7 @@ skip-if = (os == 'win' && processor == 'aarch64') # bug 1533490
[browser_inspector_destroy-after-navigation.js]
[browser_inspector_destroy-before-ready.js]
[browser_inspector_expand-collapse.js]
[browser_inspector_fission_frame.js]
[browser_inspector_fission_frame_navigation.js]
skip-if = fission && (bits == 64 && (os == "win" || os == "linux")) # Bug 1665482
[browser_inspector_fission_switch_target.js]

View File

@ -0,0 +1,22 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* bug 1673627 - Test that remote iframes with short inline content,
* get their inner remote document displayed instead of the inlineTextChild content.
*/
const TEST_URI = `data:text/html,<div id="root"><iframe src="http://example.com/document-builder.sjs?html=<div id=com>com"><br></iframe></div>`;
add_task(async function() {
const { inspector } = await openInspectorForURL(TEST_URI);
const tree = `
id="root"
iframe
#document
html
head
body
id="com"`;
await assertMarkupViewAsTree(tree, "#root", inspector);
});

View File

@ -29,6 +29,7 @@ loader.lazyRequireGetter(
"isDirectShadowHostChild",
"isMarkerPseudoElement",
"isNativeAnonymous",
"isRemoteFrame",
"isShadowHost",
"isShadowRoot",
"isTemplateElement",
@ -719,7 +720,8 @@ var WalkerActor = protocol.ActorClassWithSpec(walkerSpec, {
isAfterPseudoElement(rawNode) ||
isShadowHost(rawNode) ||
rawNode.nodeType != Node.ELEMENT_NODE ||
rawNode.children.length > 0
rawNode.children.length > 0 ||
isRemoteFrame(rawNode)
) {
return undefined;
}