mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
e0c6859bf8
r=mak77 (a=test-only).
98 lines
3.3 KiB
XML
98 lines
3.3 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<!--
|
|
Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/licenses/publicdomain/
|
|
-->
|
|
|
|
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
|
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
|
|
type="text/css"?>
|
|
|
|
<?xml-stylesheet href="chrome://browser/content/places/places.css"?>
|
|
<?xml-stylesheet href="chrome://browser/skin/places/places.css"?>
|
|
<?xul-overlay href="chrome://browser/content/places/placesOverlay.xul"?>
|
|
|
|
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
|
title="549491: 'The root node is never visible' exception when details of the root node are modified "
|
|
onload="runTest();">
|
|
|
|
<script type="application/javascript"
|
|
src="chrome://mochikit/content/MochiKit/packed.js" />
|
|
<script type="application/javascript"
|
|
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
|
|
|
|
<body xmlns="http://www.w3.org/1999/xhtml" />
|
|
|
|
<tree id="tree"
|
|
type="places"
|
|
flatList="true"
|
|
flex="1">
|
|
<treecols>
|
|
<treecol label="Title" id="title" anonid="title" primary="true" ordinal="1" flex="1"/>
|
|
<splitter class="tree-splitter"/>
|
|
<treecol label="Date" anonid="date" flex="1"/>
|
|
</treecols>
|
|
<treechildren flex="1"/>
|
|
</tree>
|
|
|
|
<script type="application/javascript"><![CDATA[
|
|
/**
|
|
* Bug 549491
|
|
* https://bugzilla.mozilla.org/show_bug.cgi?id=549491
|
|
*
|
|
* Ensures that changing the details of places tree's root-node doesn't
|
|
* throw.
|
|
*/
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
function runTest() {
|
|
// The mochitest page is added to history.
|
|
waitForClearHistory(continue_test);
|
|
}
|
|
|
|
function continue_test() {
|
|
PlacesUtils.history
|
|
.addVisit(Services.io.newURI("http://example.tld/", null, null),
|
|
Date.now() * 1000, null, PlacesUtils.history.TRANSITION_TYPED, false, 0);
|
|
|
|
// Make a history query.
|
|
let query = PlacesUtils.history.getNewQuery();
|
|
let opts = PlacesUtils.history.getNewQueryOptions();
|
|
let queryURI = PlacesUtils.history.queriesToQueryString([query], 1, opts);
|
|
|
|
// Setup the places tree contents.
|
|
let tree = document.getElementById("tree");
|
|
tree.place = queryURI;
|
|
|
|
let rootNode = tree.result.root;
|
|
let obs = tree.view.QueryInterface(Ci.nsINavHistoryResultObserver);
|
|
obs.nodeHistoryDetailsChanged(rootNode, rootNode.time, rootNode.accessCount);
|
|
obs.nodeTitleChanged(rootNode, rootNode.title);
|
|
ok(true, "No exceptions thrown");
|
|
|
|
// Cleanup.
|
|
waitForClearHistory(SimpleTest.finish);
|
|
}
|
|
|
|
/**
|
|
* Clears history invoking callback when done.
|
|
*/
|
|
function waitForClearHistory(aCallback) {
|
|
const TOPIC_EXPIRATION_FINISHED = "places-expiration-finished";
|
|
let observer = {
|
|
observe: function(aSubject, aTopic, aData) {
|
|
Services.obs.removeObserver(this, TOPIC_EXPIRATION_FINISHED);
|
|
aCallback();
|
|
}
|
|
};
|
|
Services.obs.addObserver(observer, TOPIC_EXPIRATION_FINISHED, false);
|
|
let hs = Cc["@mozilla.org/browser/nav-history-service;1"].
|
|
getService(Ci.nsINavHistoryService);
|
|
hs.QueryInterface(Ci.nsIBrowserHistory).removeAllPages();
|
|
}
|
|
|
|
]]></script>
|
|
</window>
|