Bug 468836 - Existing tags no longer show and cannot be edited, r=dietrich

This commit is contained in:
Marco Bonardo 2008-12-11 01:32:24 +01:00
parent 004fd475bb
commit 1006ee8d3a
2 changed files with 25 additions and 10 deletions

View File

@ -299,9 +299,8 @@ TaggingService.prototype = {
if (!this.__tagFolders) {
this.__tagFolders = [];
var options = this._history.getNewQueryOptions();
options.resultType = Ci.nsINavHistoryQueryOptions.RESULTS_AS_TAG_QUERY;
options.expandQueries = 0;
var query = this._history.getNewQuery();
query.setFolders([this._bms.tagsFolder], 1);
var tagsResult = this._history.executeQuery(query, options);
var root = tagsResult.root;
root.containerOpen = true;

View File

@ -56,8 +56,10 @@ catch(ex) {
// Get tagging service
try {
// Notice we use createInstance because later we will have to terminate the
// service and restart it.
var tagssvc = Cc["@mozilla.org/browser/tagging-service;1"].
getService(Ci.nsITaggingService);
createInstance().QueryInterface(Ci.nsITaggingService);
} catch(ex) {
do_throw("Could not get tagging service\n");
}
@ -131,15 +133,12 @@ function run_test() {
// removing the last uri from a tag should remove the tag-container
tagssvc.untagURI(uri2, ["tag 1"]);
do_check_eq(tagRoot.childCount, 1);
// cleanup
tag1node.containerOpen = false;
// get array of tag folder ids => title
// for testing tagging with mixed folder ids and tags
var options = histsvc.getNewQueryOptions();
var query = histsvc.getNewQuery();
query.setFolders([bmsvc.tagsFolder], 1);
var result = histsvc.executeQuery(query, options);
var tagRoot = result.root;
tagRoot.containerOpen = true;
var tagFolders = [];
var child = tagRoot.getChild(0);
var tagId = child.itemId;
@ -158,4 +157,21 @@ function run_test() {
tagssvc.untagURI(uri3, [tagId, "tag 3", "456"]);
tags = tagssvc.getTagsForURI(uri3, {});
do_check_eq(tags.length, 0);
// Terminate tagging service, fire up a new instance and check that existing
// tags are there. This will ensure that any internal caching system is
// correctly filled at startup and we are not losing previously existing tags.
var uri4 = uri("http://testuri/4");
tagssvc.tagURI(uri4, [tagId, "tag 3", "456"]);
tagssvc = null;
tagssvc = Cc["@mozilla.org/browser/tagging-service;1"].
getService(Ci.nsITaggingService);
var uri4Tags = tagssvc.getTagsForURI(uri4, {});
do_check_eq(uri4Tags.length, 3);
do_check_true(uri4Tags.indexOf(tagTitle) != -1);
do_check_true(uri4Tags.indexOf("tag 3") != -1);
do_check_true(uri4Tags.indexOf("456") != -1);
// cleanup
tagRoot.containerOpen = false;
}