зеркало из https://github.com/mozilla/gecko-dev.git
makes the microsummary picker handle invalid and blank URLs
bug=336840 r=ben a=ben for branch
This commit is contained in:
Родитель
797e7bacc1
Коммит
9a8e044731
|
@ -67,11 +67,27 @@ var MicrosummaryPicker = {
|
||||||
if (this._mode == ADD_BOOKMARK_MODE)
|
if (this._mode == ADD_BOOKMARK_MODE)
|
||||||
return this._ios.newURI(gArg.url, null, null);
|
return this._ios.newURI(gArg.url, null, null);
|
||||||
else if (this._mode == EDIT_BOOKMARK_MODE) {
|
else if (this._mode == EDIT_BOOKMARK_MODE) {
|
||||||
var uri = BMDS.GetTarget(gResource, gProperties[1], true);
|
var uriResource = BMDS.GetTarget(gResource, gProperties[1], true);
|
||||||
if (uri) {
|
if (!uriResource)
|
||||||
uri = uri.QueryInterface(Ci.nsIRDFLiteral).Value;
|
return null;
|
||||||
return this._ios.newURI(uri, null, null);
|
|
||||||
|
// The URI spec will be the empty string if the user opened the bookmark
|
||||||
|
// properties dialog via the "New Bookmark" command.
|
||||||
|
var uriSpec = uriResource.QueryInterface(Ci.nsIRDFLiteral).Value;
|
||||||
|
if (!uriSpec)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
// The IO Service will throw an exception if it can't convert the spec
|
||||||
|
// into an nsIURI object.
|
||||||
|
var uri;
|
||||||
|
try {
|
||||||
|
uri = this._ios.newURI(uriSpec, null, null);
|
||||||
}
|
}
|
||||||
|
catch(e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
@ -133,13 +149,16 @@ var MicrosummaryPicker = {
|
||||||
},
|
},
|
||||||
|
|
||||||
init: function MSP_init() {
|
init: function MSP_init() {
|
||||||
this._microsummaries = this._mss.getMicrosummaries(this._pageURI, this._bookmarkID);
|
if (this._pageURI) {
|
||||||
this._microsummaries.addObserver(this._observer);
|
this._microsummaries = this._mss.getMicrosummaries(this._pageURI, this._bookmarkID);
|
||||||
this.rebuild();
|
this._microsummaries.addObserver(this._observer);
|
||||||
|
this.rebuild();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
destroy: function MSP_destroy() {
|
destroy: function MSP_destroy() {
|
||||||
this._microsummaries.removeObserver(this._observer);
|
if (this._pageURI)
|
||||||
|
this._microsummaries.removeObserver(this._observer);
|
||||||
},
|
},
|
||||||
|
|
||||||
rebuild: function MSP_rebuild() {
|
rebuild: function MSP_rebuild() {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче