mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
116 lines
4.0 KiB
XML
116 lines
4.0 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="549192: History view not updated after deleting entry"
|
|
onload="runTest();">
|
|
|
|
<script type="application/javascript"
|
|
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
|
|
<script type="application/javascript" src="head.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"/>
|
|
</treecols>
|
|
<treechildren flex="1"/>
|
|
</tree>
|
|
|
|
<script type="application/javascript"><![CDATA[
|
|
/**
|
|
* Bug 549192
|
|
* https://bugzilla.mozilla.org/show_bug.cgi?id=549192
|
|
*
|
|
* Ensures that history views are updated after deleting entries.
|
|
*/
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
function runTest() {
|
|
// The mochitest page is added to history.
|
|
waitForClearHistory(continue_test);
|
|
}
|
|
|
|
function continue_test() {
|
|
// Add some visits.
|
|
let vtime = Date.now() * 1000;
|
|
const ttype = PlacesUtils.history.TRANSITION_TYPED;
|
|
|
|
addVisits(
|
|
[{ uri: Services.io.newURI("http://example.tld/", null, null),
|
|
visitDate: vtime, transition: ttype },
|
|
{ uri: Services.io.newURI("http://example2.tld/", null, null),
|
|
visitDate: vtime++, transition: ttype },
|
|
{ uri: Services.io.newURI("http://example3.tld/", null, null),
|
|
visitDate: vtime++, transition: ttype }],
|
|
function() {
|
|
// 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.
|
|
var tree = document.getElementById("tree");
|
|
tree.place = queryURI;
|
|
|
|
// loop through the rows and check formatting
|
|
let treeView = tree.view;
|
|
for (let i = 0; i < rc; i++) {
|
|
selection.select(rc);
|
|
let node = tree.selectedNode;
|
|
ok(true, "found " + node.title);
|
|
}
|
|
let rc = treeView.rowCount;
|
|
is(rc, 3, "Rows found.");
|
|
let selection = treeView.selection;
|
|
for (let i = 0; i < rc; i++) {
|
|
selection.select(0);
|
|
let node = tree.selectedNode;
|
|
tree.controller.remove("Removing page");
|
|
ok(treeView.treeIndexForNode(node) == Ci.nsINavHistoryResultTreeViewer.INDEX_INVISIBLE,
|
|
node.uri + " removed.");
|
|
ok(treeView.rowCount == rc - i - 1, "Rows count decreased");
|
|
}
|
|
|
|
// 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>
|