Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 509055: Changing document.title does not change SHEntry's title i…
…f document was loaded from history. r=smaug
- Loading branch information
Justin Lebar
committed
Aug 10, 2009
1 parent
fbd0982
commit a980bf6
Showing
4 changed files
with
108 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<!DOCTYPE HTML> | ||
<html> | ||
<head> | ||
<title>Test inner frame for bug 509055</title> | ||
</head> | ||
<body onhashchange="hashchangeCallback(event)"> | ||
file_bug509055.html | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
<!DOCTYPE HTML> | ||
<html> | ||
<!-- | ||
https://bugzilla.mozilla.org/show_bug.cgi?id=509055 | ||
--> | ||
<head> | ||
<title>Test for Bug 509055</title> | ||
<script type="application/javascript" src="/MochiKit/packed.js"></script> | ||
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> | ||
<script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"></script> | ||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> | ||
</head> | ||
<body> | ||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=509055">Mozilla Bug 509055</a> | ||
<p id="display"></p> | ||
<div id="status"></div> | ||
<div id="content"> | ||
</div> | ||
<pre id="test"> | ||
<script type="application/javascript;version=1.7"> | ||
|
||
/** Test for Bug 509055 **/ | ||
|
||
SimpleTest.waitForExplicitFinish(); | ||
|
||
var gGen; | ||
|
||
function shortWait() { | ||
setTimeout(function() { gGen.next(); }, 0, false); | ||
} | ||
|
||
function onChildHashchange(e) { | ||
// gGen might be undefined when we refresh the page, so we have to check here | ||
if(gGen) | ||
gGen.next(); | ||
} | ||
|
||
function onChildLoad(e) { | ||
if(gGen) | ||
gGen.next(); | ||
} | ||
|
||
function runTest() { | ||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); | ||
|
||
var popup = window.open("file_bug509055.html", "popup 0", | ||
"height=200,width=200,location=yes," + | ||
"menubar=yes,status=yes,toolbar=yes,dependent=yes"); | ||
popup.hashchangeCallback = onChildHashchange; | ||
popup.onload = onChildLoad; | ||
yield; // wait for load | ||
|
||
// Not sure why this wait is necessary, but without it, the change to | ||
// location.hash below doesn't create a SHEntry or enable the back button. | ||
shortWait(); | ||
yield; | ||
|
||
popup.location.hash = "#1"; | ||
yield; // wait for hashchange | ||
|
||
popup.history.back(); | ||
yield; // wait for hashchange | ||
|
||
popup.document.title = "Changed"; | ||
|
||
// Wait for listeners to be notified of the title change. | ||
shortWait(); | ||
yield; | ||
|
||
var sh = popup.QueryInterface(Components.interfaces.nsIInterfaceRequestor) | ||
.getInterface(Components.interfaces.nsIWebNavigation) | ||
.sessionHistory; | ||
|
||
// Get the title of the inner popup's current SHEntry | ||
var sheTitle = sh.getEntryAtIndex(sh.index, false).title; | ||
is(sheTitle, "Changed", "SHEntry's title should change when we change."); | ||
|
||
popup.close(); | ||
|
||
SimpleTest.finish(); | ||
yield; | ||
} | ||
|
||
window.addEventListener('load', function() { | ||
gGen = runTest(); | ||
gGen.next(); | ||
}, false); | ||
|
||
</script> | ||
|
||
</body> | ||
</html> | ||
|