ignore 'type' properties in edit commands; fix history sync

This commit is contained in:
Dan Mills 2008-03-28 22:55:23 -07:00
Родитель 5ec2b83320
Коммит 86caf96468
1 изменённых файлов: 15 добавлений и 10 удалений

Просмотреть файл

@ -459,6 +459,10 @@ BookmarksStore.prototype = {
for (let key in command.data) { for (let key in command.data) {
switch (key) { switch (key) {
case "type":
// all commands have this to help in reconciliation, but it makes
// no sense to edit it
break;
case "GUID": case "GUID":
var existing = this._getItemIdForGUID(command.data.GUID); var existing = this._getItemIdForGUID(command.data.GUID);
if (existing < 0) if (existing < 0)
@ -676,7 +680,7 @@ HistoryStore.prototype = {
_createCommand: function HistStore__createCommand(command) { _createCommand: function HistStore__createCommand(command) {
this._log.debug(" -> creating history entry: " + command.GUID); this._log.debug(" -> creating history entry: " + command.GUID);
try { try {
let uri = Utils.makeURI(command.GUID); let uri = Utils.makeURI(command.data.URI);
this._hsvc.addVisit(uri, command.data.time, null, this._hsvc.addVisit(uri, command.data.time, null,
this._hsvc.TRANSITION_TYPED, false, null); this._hsvc.TRANSITION_TYPED, false, null);
this._hsvc.setPageTitle(uri, command.data.title); this._hsvc.setPageTitle(uri, command.data.title);
@ -686,15 +690,15 @@ HistoryStore.prototype = {
}, },
_removeCommand: function HistStore__removeCommand(command) { _removeCommand: function HistStore__removeCommand(command) {
this._log.debug(" -> NOT removing history entry: " + command.GUID); this._log.trace(" -> NOT removing history entry: " + command.GUID);
// we can't remove because we only sync the last 500 items, not // we can't remove because we only sync the last 1000 items, not
// the whole store. So we don't know if remove commands were // the whole store. So we don't know if remove commands were
// generated due to the user removing an entry or because it // generated due to the user removing an entry or because it
// dropped past the 500 item mark. // dropped past the 1000 item mark.
}, },
_editCommand: function HistStore__editCommand(command) { _editCommand: function HistStore__editCommand(command) {
this._log.debug(" -> FIXME: NOT editing history entry: " + command.GUID); this._log.trace(" -> FIXME: NOT editing history entry: " + command.GUID);
// FIXME: implement! // FIXME: implement!
}, },
@ -703,9 +707,9 @@ HistoryStore.prototype = {
options = this._hsvc.getNewQueryOptions(); options = this._hsvc.getNewQueryOptions();
query.minVisits = 1; query.minVisits = 1;
options.maxResults = 500; options.maxResults = 1000;
options.resultType = options.RESULTS_AS_FULL_VISIT; options.resultType = options.RESULTS_AS_VISIT; // FULL_VISIT does not work
options.sortingMode = query.SORT_BY_LASTMODIFIED_DESCENDING; options.sortingMode = options.SORT_BY_DATE_DESCENDING;
options.queryType = options.QUERY_TYPE_HISTORY; options.queryType = options.QUERY_TYPE_HISTORY;
let root = this._hsvc.executeQuery(query, options).root; let root = this._hsvc.executeQuery(query, options).root;
@ -719,12 +723,13 @@ HistoryStore.prototype = {
let items = {}; let items = {};
for (let i = 0; i < root.childCount; i++) { for (let i = 0; i < root.childCount; i++) {
let item = root.getChild(i); let item = root.getChild(i);
items[item.uri] = {parentGUID: '', let guid = item.time + ":" + item.uri
items[guid] = {parentGUID: '',
title: item.title, title: item.title,
URI: item.uri, URI: item.uri,
time: item.time time: item.time
}; };
// FIXME: sync transition type // FIXME: sync transition type - requires FULL_VISITs
} }
return items; return items;
}, },