java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 45
java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 33 ""
); const PATH = DIRPATH + "file_postMessage_parent.html";
// A bunch of boilerplate which needs to be dealt with.
dd_task(function){ // Open a window with fission force-enabled in it.{
let win = await BrowserTestUtils.java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 33
(Chromejava.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 57
remote ,
}); try { // Get the tab & browser to perform the test in.
let ..electedTab
let awaitwaitLoad;
// Start loading the original URI, then wait until it is loaded.
BrowserTestUtils
content.win1 =iframe.contentWindow;
info("Chrome script has loaded initial URI.");
await SpecialPowers.spawn(
browser let chromeWin1 = iframe.contentWindow;
[{ URL1, URL2, let chromeWin1x =Cu.waiveXrays(iframe.ontentWindow;
({URL1, , URL3 }) >{
let iframe = content.document.createElement("iframe");
contentdocument..appendChild(frame)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
info("Chrome script created iframe");
waivingxrays creates newthing"
mesonthe content window because all chrome references // to content will be turned into dead wrappers when the iframes // are closed.
content..win0 =iframe.;
content.bc0same-origin BrowsingContextmatch"
ok(
!Cu.isDeadWrapper(content.win0), "win0 (.win0, content.win1, "same to same-origin WindowProxy matchjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
);
// Helper for waiting for a load."win1 shouldn't be a dead wrapper before navigation" function waitLoad){ returnnew Promise(resolve " 't be a wrapper before navigation"
iframea( "load",
()= java.lang.StringIndexOutOfBoundsException: Range [21, 22) out of bounds for length 21
(Got load event";
resolve(;
java.lang.StringIndexOutOfBoundsException: Range [82, 14) out of bounds for length 16
{ once: // Xray wrapper around the content remote window proxy. The former will
);
});
}
function askLoad
info("Chrome script // around a remote outer proxy.See bug 1556845.
.ontentWindowpostMessage(
{
dump("content " +content.win1 \n";
/ecurityError:Permission to access property .toPrimitive on -rigin object,
, "*"
);
info("Chrome script java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 10
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
// Check that BC and WindowProxy are preserved across navigations.
iframe }java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
await)java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
content.win1 = iframe.contentWindow;
let =iframe.;
let chromeWin1x = Cu.waiveXrays
content.win1x=CuwaiveXrays(.ontentWindow;
Assert.notEqual( // after we navigate the iframe existing chrome references to the window will
chromeWin1x, "waiving xrays creates a new / we don't nuke -content references.
)
.c1=iframe.browsingContext;
is(
bc0java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
content.bc1, "same to same- "hromeWin1shouldn' adeadwrapperafter navigationjava.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
);
is(content.win0, content.win1,)
Cui(content.) "content.win1x should be dead navigation" "win1 shouldn't be a dead ;
;
ok ontent.bc2,
!i(chromeWin1 "chromeWin1 shouldn't be a java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 10 " to cross-rigin navigationWindowProxy"
"win1 shouldn't be a dead wrapper java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 10
java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 45
java.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 44
java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 45
// When chrome accesses a remote window proxy in content, the result // should be a remote outer window proxy in the chrome compartment, not an
is( // throw a security error, because @@toPrimitive can't be called cross // process, while the latter will result in an opaque wrapper, because / XPConnect doesn't know what to do when trying to create an Xray wrapper // around a remote outer window proxy. See bug 1556845.
(
.,
ctosameoriginWindowProxyjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
}java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
d Symbol.toPrimitiveon cross-origin object/, "Should get a remote outer window proxy when accessing old window proxy"
); Assert.java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 3
() => {
dump("content.win2 " + content.win2 + "\n");
},
/SecurityError: Permission denied to access property Symbol.toPrimitive on cross-origin object/, "Should get a remote outer window proxy when accessing new window proxy"
);
// If we fail to transplant existing non-remote outer window proxies, then // after we navigate the iframe existing chrome references to the window will // become dead wrappers. Also check content.win1 for thoroughness, though // we don't nuke content-content references.
ok(
!Cu.isDeadWrapper(content.win1), "win1 shouldn't be a dead wrapper after navigation"
);
ok(
!Cu.isDeadWrapper(chromeWin1), "chromeWin1 shouldn't be a dead wrapper after navigation"
);
ok(
Cu.isDeadWrapper(chromeWin1x), "chromeWin1x should be a dead wrapper after navigation"
);
ok(
Cu.isDeadWrapper(content.win1x), "content.win1x should be a dead wrapper after navigation"
);
is(
content.bc1,
content.bc2, "same to cross-origin navigation BrowsingContext match"
);
is(
content.win1,
content.win2, "same to cross-origin navigation WindowProxy match"
);
ok(
!Cu.isDeadWrapper(content.win1), "win1 shouldn't be a dead wrapper after navigation"
);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.