Bug 1463738 - Remove the Bookmark description UI. r=dao

This removes the bookmark description UI, but leaves the backend in-place for a release or two, so that users have time to save anything they want (e.g. via backup).
The backend will be removed in bug 1402890.

MozReview-Commit-ID: La4AYFar7eK

--HG--
extra : rebase_source : 02bfe3cacdac331d09d5e62a1a70f48b68741670
This commit is contained in:
Mark Banner 2018-05-23 17:15:09 +01:00
Родитель 8b264ece4d
Коммит 9f30e28934
21 изменённых файлов: 33 добавлений и 217 удалений

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

@ -284,7 +284,7 @@ var StarUI = {
};
gEditItemOverlay.initPanel({ node: aNode,
onPanelReady,
hiddenRows: ["description", "location",
hiddenRows: ["location",
"loadInSidebar", "keyword"],
focusedElement: "preferred"});
this.panel.openPopup(aAnchorElement, aPosition);
@ -367,13 +367,15 @@ var PlacesCommandHook = {
let parentGuid = PlacesUtils.bookmarks.unfiledGuid;
info = { url, parentGuid };
// Bug 1148838 - Make this code work for full page plugins.
let description = null;
let charset = null;
let docInfo = aUrl ? {} : await this._getPageDetails(aBrowser);
let isErrorPage = false;
if (!aUrl && aBrowser.documentURI) {
isErrorPage = /^about:(neterror|certerror|blocked)/.test(aBrowser.documentURI.spec);
}
try {
if (docInfo.isErrorPage) {
if (isErrorPage) {
let entry = await PlacesUtils.history.fetch(aBrowser.currentURI);
if (entry) {
info.title = entry.title;
@ -382,7 +384,6 @@ var PlacesCommandHook = {
info.title = aTitle || aBrowser.contentTitle;
}
info.title = info.title || url.href;
description = docInfo.description;
charset = aUrl ? null : aBrowser.characterSet;
} catch (e) {
Cu.reportError(e);
@ -395,11 +396,6 @@ var PlacesCommandHook = {
StarUI.beginBatch();
}
if (description) {
info.annotations = [{ name: PlacesUIUtils.DESCRIPTION_ANNO,
value: description }];
}
info.guid = await PlacesTransactions.NewBookmark(info).transact();
// Set the character-set
@ -428,18 +424,6 @@ var PlacesCommandHook = {
url);
},
_getPageDetails(browser) {
return new Promise(resolve => {
let mm = browser.messageManager;
mm.addMessageListener("Bookmarks:GetPageDetails:Result", function listener(msg) {
mm.removeMessageListener("Bookmarks:GetPageDetails:Result", listener);
resolve(msg.data);
});
mm.sendAsyncMessage("Bookmarks:GetPageDetails", { });
});
},
/**
* Adds a bookmark to the page targeted by a link.
* @param parentId
@ -449,10 +433,8 @@ var PlacesCommandHook = {
* the address of the link target
* @param title
* The link text
* @param [optional] description
* The linked page description, if available
*/
async bookmarkLink(parentId, url, title, description = "") {
async bookmarkLink(parentId, url, title) {
let bm = await PlacesUtils.bookmarks.fetch({url});
if (bm) {
let node = await PlacesUIUtils.promiseNodeLikeFromFetchInfo(bm);
@ -468,10 +450,8 @@ var PlacesCommandHook = {
type: "bookmark",
uri: makeURI(url),
title,
description,
defaultInsertionPoint,
hiddenRows: [ "description",
"location",
hiddenRows: [ "location",
"loadInSidebar",
"keyword" ]
}, window.top);
@ -508,8 +488,7 @@ var PlacesCommandHook = {
if (pages.length > 1) {
PlacesUIUtils.showBookmarkDialog({ action: "add",
type: "folder",
URIList: pages,
hiddenRows: [ "description" ]
URIList: pages
}, window);
}
},
@ -535,10 +514,8 @@ var PlacesCommandHook = {
* The nsIURI of the page the feed was attached to
* @title title
* The title of the feed. Optional.
* @subtitle subtitle
* A short description of the feed. Optional.
*/
async addLiveBookmark(url, feedTitle, feedSubtitle) {
async addLiveBookmark(url, feedTitle) {
let toolbarIP = new PlacesInsertionPoint({
parentId: PlacesUtils.toolbarFolderId,
parentGuid: PlacesUtils.bookmarks.toolbarGuid
@ -546,21 +523,15 @@ var PlacesCommandHook = {
let feedURI = makeURI(url);
let title = feedTitle || gBrowser.contentTitle;
let description = feedSubtitle;
if (!description) {
description = (await this._getPageDetails(gBrowser.selectedBrowser)).description;
}
PlacesUIUtils.showBookmarkDialog({ action: "add",
type: "livemark",
feedURI,
siteURI: gBrowser.currentURI,
title,
description,
defaultInsertionPoint: toolbarIP,
hiddenRows: [ "feedLocation",
"siteLocation",
"description" ]
"siteLocation" ]
}, window);
},

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

@ -6196,8 +6196,7 @@ function contentAreaClick(event, isPanelClick) {
uri: makeURI(href),
title: linkNode.getAttribute("title"),
loadBookmarkInSidebar: true,
hiddenRows: [ "description",
"location",
hiddenRows: [ "location",
"keyword" ]
}, window);
event.preventDefault();
@ -7338,12 +7337,10 @@ function AddKeywordForSearchField() {
type: "bookmark",
uri: makeURI(bookmarkData.spec),
title,
description: bookmarkData.description,
keyword: "",
postData: bookmarkData.postData,
charSet: bookmarkData.charset,
hiddenRows: [ "location",
"description",
"tags",
"loadInSidebar" ]
}, window);

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

@ -27,7 +27,6 @@ XPCOMUtils.defineLazyModuleGetters(this, {
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.jsm",
FormSubmitObserver: "resource:///modules/FormSubmitObserver.jsm",
PageMetadata: "resource://gre/modules/PageMetadata.jsm",
PlacesUIUtils: "resource:///modules/PlacesUIUtils.jsm",
SafeBrowsing: "resource://gre/modules/SafeBrowsing.jsm",
Utils: "resource://gre/modules/sessionstore/Utils.jsm",
WebNavigationFrames: "resource://gre/modules/WebNavigationFrames.jsm",
@ -1003,14 +1002,6 @@ var PageMetadataMessenger = {
};
PageMetadataMessenger.init();
addMessageListener("Bookmarks:GetPageDetails", (message) => {
let doc = content.document;
let isErrorPage = /^about:(neterror|certerror|blocked)/.test(doc.documentURI);
sendAsyncMessage("Bookmarks:GetPageDetails:Result",
{ isErrorPage,
description: PlacesUIUtils.getDescriptionFromDocument(doc) });
});
addEventListener("InstallBrowserTheme", LightWeightThemeWebInstallListener, false, true);
addEventListener("PreviewBrowserTheme", LightWeightThemeWebInstallListener, false, true);
addEventListener("ResetBrowserThemePreview", LightWeightThemeWebInstallListener, false, true);

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

@ -1428,8 +1428,7 @@ nsContextMenu.prototype = {
window.top.PlacesCommandHook.bookmarkLink(PlacesUtils.bookmarksMenuFolderId,
uri.spec,
message.data.title,
message.data.description)
message.data.title)
.catch(Cu.reportError);
};
mm.addMessageListener("ContextMenu:BookmarkFrame:Result", onMessage);

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

@ -387,7 +387,7 @@ FeedResultService.prototype = {
// fall through
case "bookmarks":
Services.cpmm.sendAsyncMessage("FeedConverter:addLiveBookmark",
{ spec, title, subtitle });
{ spec, title });
break;
}
},

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

@ -42,7 +42,7 @@ add_task(async function() {
registerCleanupFunction(() => PlacesCommandHook.addLiveBookmark = old);
await BrowserTestUtils.synthesizeMouseAtCenter("#subscribeButton", {}, tab.linkedBrowser);
let bmArgs = await createBMPromise;
Assert.deepEqual(bmArgs, [FEED_URI, "Example Feed", ""], "Should have been trying to subscribe");
Assert.deepEqual(bmArgs, [FEED_URI, "Example Feed"], "Should have been trying to subscribe");
let snapshot = getSnapShot();
Assert.equal(snapshot.parent[kSubscribed], 1, "Should have subscribed once.");
@ -94,4 +94,3 @@ add_task(async function() {
popup.hidePopup();
BrowserTestUtils.removeTab(tab);
});

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

@ -480,38 +480,6 @@ var PlacesUIUtils = {
return true;
},
/**
* Get the description associated with a document, as specified in a <META>
* element.
* @param doc
* A DOM Document to get a description for
* @return A description string if a META element was discovered with a
* "description" or "httpequiv" attribute, empty string otherwise.
*/
getDescriptionFromDocument: function PUIU_getDescriptionFromDocument(doc) {
var metaElements = doc.getElementsByTagName("META");
for (var i = 0; i < metaElements.length; ++i) {
if (metaElements[i].name.toLowerCase() == "description" ||
metaElements[i].httpEquiv.toLowerCase() == "description") {
return metaElements[i].content;
}
}
return "";
},
/**
* Retrieve the description of an item
* @param aItemId
* item identifier
* @return the description of the given item, or an empty string if it is
* not set.
*/
getItemDescription: function PUIU_getItemDescription(aItemId) {
if (PlacesUtils.annotations.itemHasAnnotation(aItemId, this.DESCRIPTION_ANNO))
return PlacesUtils.annotations.getItemAnnotation(aItemId, this.DESCRIPTION_ANNO);
return "";
},
/**
* Check whether or not the given node represents a removable entry (either in
* history or in bookmarks).

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

@ -19,8 +19,6 @@
* @ uri (nsIURI object) - optional, the default uri for the new item.
* The property is not used for the "folder with items" type.
* @ title (String) - optional, the default title for the new item.
* @ description (String) - optional, the default description for the new
* item.
* @ defaultInsertionPoint (InsertionPoint JS object) - optional, the
* default insertion point for the new item.
* @ keyword (String) - optional, the default keyword for the new item.
@ -47,7 +45,6 @@
* Possible values:
* - "title"
* - "location"
* - "description"
* - "keyword"
* - "tags"
* - "loadInSidebar"
@ -89,7 +86,6 @@ var BookmarkPropertiesPanel = {
_uri: null,
_loadInSidebar: false,
_title: "",
_description: "",
_URIs: [],
_keyword: "",
_postData: null,
@ -226,9 +222,6 @@ var BookmarkPropertiesPanel = {
this._title = this._strings.getString("newLivemarkDefault");
}
}
if ("description" in dialogInfo)
this._description = dialogInfo.description;
} else { // edit
this._node = dialogInfo.node;
this._title = this._node.title;
@ -461,10 +454,6 @@ var BookmarkPropertiesPanel = {
async _promiseNewItem() {
let [containerId, index, parentGuid] = await this._getInsertionPointDetails();
let annotations = [];
if (this._description) {
annotations.push({ name: PlacesUIUtils.DESCRIPTION_ANNO,
value: this._description });
}
if (this._loadInSidebar) {
annotations.push({ name: PlacesUIUtils.LOAD_IN_SIDEBAR_ANNO,
value: true });

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

@ -273,10 +273,9 @@ PlacesController.prototype = {
let node = this._view.selectedNode;
PlacesUIUtils.showBookmarkDialog({ action: "add",
type: "bookmark",
hiddenRows: [ "description",
"keyword",
"location",
"loadInSidebar" ],
hiddenRows: [ "keyword",
"location",
"loadInSidebar" ],
uri: Services.io.newURI(node.uri),
title: node.title
}, window.top);

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

@ -128,14 +128,6 @@ var gEditItemOverlay = {
this._initTextField(this._locationField, this._paneInfo.uri.spec);
},
_initDescriptionField() {
if (!this._paneInfo.isItem)
throw new Error("_initDescriptionField called unexpectedly");
this._initTextField(this._descriptionField,
PlacesUIUtils.getItemDescription(this._paneInfo.itemId));
},
async _initKeywordField(newKeyword = "") {
if (!this._paneInfo.isBookmark) {
throw new Error("_initKeywordField called unexpectedly");
@ -193,7 +185,7 @@ var gEditItemOverlay = {
* 2. any of the following optional properties:
* - hiddenRows (Strings array): list of rows to be hidden regardless
* of the item edited. Possible values: "title", "location",
* "description", "keyword", "loadInSidebar", "feedLocation",
* "keyword", "loadInSidebar", "feedLocation",
* "siteLocation", folderPicker"
*/
initPanel(aInfo) {
@ -245,13 +237,6 @@ var gEditItemOverlay = {
this._locationField.readOnly = this.readOnly;
}
// hide the description field for
if (showOrCollapse("descriptionRow", isItem && !this.readOnly,
"description")) {
this._initDescriptionField();
this._descriptionField.readOnly = this.readOnly;
}
if (showOrCollapse("keywordRow", isBookmark, "keyword")) {
this._initKeywordField().catch(Cu.reportError);
this._keywordField.readOnly = this.readOnly;
@ -629,20 +614,6 @@ var gEditItemOverlay = {
title: this._namePicker.value }).transact();
},
onDescriptionFieldChange() {
if (this.readOnly || !this._paneInfo.isItem)
return;
let description = this._element("descriptionField").value;
if (description != PlacesUIUtils.getItemDescription(this._paneInfo.itemId)) {
let annotation =
{ name: PlacesUIUtils.DESCRIPTION_ANNO, value: description };
let guid = this._paneInfo.itemGuid;
PlacesTransactions.Annotate({ guid, annotation })
.transact().catch(Cu.reportError);
}
},
onLocationFieldChange() {
if (this.readOnly || !this._paneInfo.isBookmark)
return;
@ -1090,10 +1061,6 @@ var gEditItemOverlay = {
if (this._paneInfo.visibleRows.has("keywordRow"))
this._initKeywordField(aValue).catch(Cu.reportError);
break;
case PlacesUIUtils.DESCRIPTION_ANNO:
if (this._paneInfo.visibleRows.has("descriptionRow"))
this._initDescriptionField();
break;
case PlacesUIUtils.LOAD_IN_SIDEBAR_ANNO:
if (this._paneInfo.visibleRows.has("loadInSidebarCheckbox"))
this._initLoadInSidebar();
@ -1134,7 +1101,7 @@ var gEditItemOverlay = {
};
for (let elt of ["folderMenuList", "folderTree", "namePicker",
"locationField", "descriptionField", "keywordField",
"locationField", "keywordField",
"tagsField", "loadInSidebarCheckbox"]) {
let eltScoped = elt;
XPCOMUtils.defineLazyGetter(gEditItemOverlay, `_${eltScoped}`,

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

@ -121,18 +121,6 @@
<textbox id="editBMPanel_keywordField"
onchange="gEditItemOverlay.onKeywordFieldChange();"/>
</vbox>
<vbox id="editBMPanel_descriptionRow"
collapsed="true">
<observes element="additionalInfoBroadcaster" attribute="hidden"/>
<label value="&editBookmarkOverlay.description.label;"
accesskey="&editBookmarkOverlay.description.accesskey;"
control="editBMPanel_descriptionField"/>
<textbox id="editBMPanel_descriptionField"
multiline="true"
rows="4"
onchange="gEditItemOverlay.onDescriptionFieldChange();"/>
</vbox>
</vbox>
<checkbox id="editBMPanel_loadInSidebarCheckbox"

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

@ -32,7 +32,6 @@ var PlacesOrganizer = {
// is minimal. IDs should be kept in sync with the IDs of the elements
// observing additionalInfoBroadcaster.
_additionalInfoFields: [
"editBMPanel_descriptionRow",
"editBMPanel_loadInSidebarCheckbox",
"editBMPanel_keywordRow",
],
@ -677,7 +676,6 @@ var PlacesOrganizer = {
"loadInSidebar",
"location",
"keyword",
"description",
"name"]});
this._detectAndSetDetailsPaneMinimalState(selectedNode);
} else {
@ -1177,9 +1175,6 @@ var ViewMenu = {
visitCount: { key: "VISITCOUNT", dir: "descending" },
dateAdded: { key: "DATEADDED", dir: "descending" },
lastModified: { key: "LASTMODIFIED", dir: "descending" },
description: { key: "ANNOTATION",
dir: "ascending",
anno: PlacesUIUtils.DESCRIPTION_ANNO }
};
// Make sure we have a valid column.

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

@ -421,9 +421,6 @@
<treecol label="&col.visitcount.label;" id="placesContentVisitCount" anonid="visitCount" flex="1" hidden="true"
persist="width hidden ordinal sortActive sortDirection"/>
<splitter class="tree-splitter"/>
<treecol label="&col.description.label;" id="placesContentDescription" anonid="description" flex="1" hidden="true"
persist="width hidden ordinal sortActive sortDirection"/>
<splitter class="tree-splitter"/>
<treecol label="&col.dateadded.label;" id="placesContentDateAdded" anonid="dateAdded" flex="1" hidden="true"
persist="width hidden ordinal sortActive sortDirection"/>
<splitter class="tree-splitter"/>

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

@ -582,10 +582,9 @@ PlacesTreeView.prototype = {
COLUMN_TYPE_URI: 2,
COLUMN_TYPE_DATE: 3,
COLUMN_TYPE_VISITCOUNT: 4,
COLUMN_TYPE_DESCRIPTION: 5,
COLUMN_TYPE_DATEADDED: 6,
COLUMN_TYPE_LASTMODIFIED: 7,
COLUMN_TYPE_TAGS: 8,
COLUMN_TYPE_DATEADDED: 5,
COLUMN_TYPE_LASTMODIFIED: 6,
COLUMN_TYPE_TAGS: 7,
_getColumnType: function PTV__getColumnType(aColumn) {
let columnType = aColumn.element.getAttribute("anonid") || aColumn.id;
@ -599,8 +598,6 @@ PlacesTreeView.prototype = {
return this.COLUMN_TYPE_DATE;
case "visitCount":
return this.COLUMN_TYPE_VISITCOUNT;
case "description":
return this.COLUMN_TYPE_DESCRIPTION;
case "dateAdded":
return this.COLUMN_TYPE_DATEADDED;
case "lastModified":
@ -629,13 +626,6 @@ PlacesTreeView.prototype = {
return [this.COLUMN_TYPE_VISITCOUNT, false];
case Ci.nsINavHistoryQueryOptions.SORT_BY_VISITCOUNT_DESCENDING:
return [this.COLUMN_TYPE_VISITCOUNT, true];
case Ci.nsINavHistoryQueryOptions.SORT_BY_ANNOTATION_ASCENDING:
if (this._result.sortingAnnotation == PlacesUIUtils.DESCRIPTION_ANNO)
return [this.COLUMN_TYPE_DESCRIPTION, false];
break;
case Ci.nsINavHistoryQueryOptions.SORT_BY_ANNOTATION_DESCENDING:
if (this._result.sortingAnnotation == PlacesUIUtils.DESCRIPTION_ANNO)
return [this.COLUMN_TYPE_DESCRIPTION, true];
case Ci.nsINavHistoryQueryOptions.SORT_BY_DATEADDED_ASCENDING:
return [this.COLUMN_TYPE_DATEADDED, false];
case Ci.nsINavHistoryQueryOptions.SORT_BY_DATEADDED_DESCENDING:
@ -924,9 +914,7 @@ PlacesTreeView.prototype = {
nodeKeywordChanged(aNode, aNewKeyword) {},
nodeAnnotationChanged: function PTV_nodeAnnotationChanged(aNode, aAnno) {
if (aAnno == PlacesUIUtils.DESCRIPTION_ANNO) {
this._invalidateCellValue(aNode, this.COLUMN_TYPE_DESCRIPTION);
} else if (aAnno == PlacesUtils.LMANNO_FEEDURI) {
if (aAnno == PlacesUtils.LMANNO_FEEDURI) {
PlacesUtils.livemarks.getLivemark({ id: aNode.itemId })
.then(aLivemark => {
this._controller.cacheLivemarkInfo(aNode, aLivemark);
@ -1576,14 +1564,6 @@ PlacesTreeView.prototype = {
return this._convertPRTimeToString(nodeTime);
case this.COLUMN_TYPE_VISITCOUNT:
return node.accessCount;
case this.COLUMN_TYPE_DESCRIPTION:
if (node.itemId != -1) {
try {
return PlacesUtils.annotations.
getItemAnnotation(node.itemId, PlacesUIUtils.DESCRIPTION_ANNO);
} catch (ex) { /* has no description */ }
}
return "";
case this.COLUMN_TYPE_DATEADDED:
if (node.dateAdded)
return this._convertPRTimeToString(node.dateAdded);
@ -1665,7 +1645,6 @@ PlacesTreeView.prototype = {
let allowTriState = PlacesUtils.nodeIsFolder(this._result.root);
let oldSort = this._result.sortingMode;
let oldSortingAnnotation = this._result.sortingAnnotation;
let newSort;
let newSortingAnnotation = "";
const NHQO = Ci.nsINavHistoryQueryOptions;
@ -1709,21 +1688,6 @@ PlacesTreeView.prototype = {
else
newSort = NHQO.SORT_BY_VISITCOUNT_DESCENDING;
break;
case this.COLUMN_TYPE_DESCRIPTION:
if (oldSort == NHQO.SORT_BY_ANNOTATION_ASCENDING &&
oldSortingAnnotation == PlacesUIUtils.DESCRIPTION_ANNO) {
newSort = NHQO.SORT_BY_ANNOTATION_DESCENDING;
newSortingAnnotation = PlacesUIUtils.DESCRIPTION_ANNO;
} else if (allowTriState &&
oldSort == NHQO.SORT_BY_ANNOTATION_DESCENDING &&
oldSortingAnnotation == PlacesUIUtils.DESCRIPTION_ANNO)
newSort = NHQO.SORT_BY_NONE;
else {
newSort = NHQO.SORT_BY_ANNOTATION_ASCENDING;
newSortingAnnotation = PlacesUIUtils.DESCRIPTION_ANNO;
}
break;
case this.COLUMN_TYPE_DATEADDED:
if (oldSort == NHQO.SORT_BY_DATEADDED_ASCENDING)

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

@ -98,12 +98,13 @@ add_task(async function() {
"Correctly selected recently bookmarked node.");
PO._places.selectNode(childNode);
checkInfoBoxSelected();
ok(!infoBoxExpanderWrapper.hidden,
"Expander button is not hidden for recently bookmarked node.");
checkAddInfoFieldsNotCollapsed(PO);
ok(infoBoxExpanderWrapper.hidden,
"Expander button is hidden for recently bookmarked node.");
checkAddInfoFieldsCollapsed(PO);
// open first bookmark
view = ContentTree.view.view;
ContentTree.view.focus();
ok(view.rowCount > 0, "Bookmark item exists.");
view.selection.select(0);
checkInfoBoxSelected();

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

@ -16,8 +16,6 @@
<!ENTITY editBookmarkOverlay.tags.label "Tags:">
<!ENTITY editBookmarkOverlay.tags.accesskey "T">
<!ENTITY editBookmarkOverlay.tagsEmptyDesc.label "Separate tags with commas">
<!ENTITY editBookmarkOverlay.description.label "Description:">
<!ENTITY editBookmarkOverlay.description.accesskey "D">
<!ENTITY editBookmarkOverlay.keyword.label "Keyword:">
<!ENTITY editBookmarkOverlay.keyword.accesskey "K">
<!ENTITY editBookmarkOverlay.tagsExpanderDown.tooltip "Show all tags">

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

@ -78,7 +78,6 @@
<!ENTITY col.url.label "Location">
<!ENTITY col.mostrecentvisit.label "Most Recent Visit">
<!ENTITY col.visitcount.label "Visit Count">
<!ENTITY col.description.label "Description">
<!ENTITY col.dateadded.label "Added">
<!ENTITY col.lastmodified.label "Last Modified">

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

@ -36,8 +36,6 @@ view.sortBy.1.date.label=Sort by Most Recent Visit
view.sortBy.1.date.accesskey=V
view.sortBy.1.visitCount.label=Sort by Visit Count
view.sortBy.1.visitCount.accesskey=C
view.sortBy.1.description.label=Sort by Description
view.sortBy.1.description.accesskey=D
view.sortBy.1.dateAdded.label=Sort by Added
view.sortBy.1.dateAdded.accesskey=e
view.sortBy.1.lastModified.label=Sort by Last Modified

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

@ -54,9 +54,8 @@ var ContentClick = {
uri: Services.io.newURI(json.href),
title: json.title,
loadBookmarkInSidebar: true,
hiddenRows: [ "description",
"location",
"keyword" ]
hiddenRows: [ "location",
"keyword" ]
}, window);
return;
}

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

@ -16,7 +16,6 @@ ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
XPCOMUtils.defineLazyModuleGetters(this, {
E10SUtils: "resource://gre/modules/E10SUtils.jsm",
BrowserUtils: "resource://gre/modules/BrowserUtils.jsm",
PlacesUIUtils: "resource:///modules/PlacesUIUtils.jsm",
findCssSelector: "resource://gre/modules/css-selector.js",
SpellCheckHelper: "resource://gre/modules/InlineSpellChecker.jsm",
LoginManagerContent: "resource://gre/modules/LoginManagerContent.jsm",
@ -36,8 +35,7 @@ const messageListeners = {
let frame = this.getTarget(aMessage).ownerDocument;
this.global.sendAsyncMessage("ContextMenu:BookmarkFrame:Result",
{ title: frame.title,
description: PlacesUIUtils.getDescriptionFromDocument(frame) });
{ title: frame.title });
},
"ContextMenu:Canvas:ToBlobURL": function(aMessage) {
@ -125,7 +123,6 @@ const messageListeners = {
(node.form.enctype == "application/x-www-form-urlencoded" ||
node.form.enctype == ""));
let title = node.ownerDocument.title;
let description = PlacesUIUtils.getDescriptionFromDocument(node.ownerDocument);
let formData = [];
function escapeNameValuePair(aName, aValue, aIsFormUrlEncoded) {
@ -172,7 +169,7 @@ const messageListeners = {
}
this.global.sendAsyncMessage("ContextMenu:SearchFieldBookmarkData:Result",
{ spec, title, description, postData, charset });
{ spec, title, postData, charset });
},
"ContextMenu:SaveVideoFrameAsImage": function(aMessage) {

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

@ -44,7 +44,7 @@ var Feeds = {
case "FeedConverter:addLiveBookmark": {
let topWindow = BrowserWindowTracker.getTopWindow();
topWindow.PlacesCommandHook.addLiveBookmark(data.spec, data.title, data.subtitle)
topWindow.PlacesCommandHook.addLiveBookmark(data.spec, data.title)
.catch(Cu.reportError);
break;
}