Mozilla stuff

Uhm...

2004-06-10

http://bugzilla.mozilla.org/show_bug.cgi?id=117895

if (!gBookmarksService)
gBookmarksService = Components.classes["@mozilla.org/browser/bookmarks-service;1"]
.getService(Components.interfaces.nsIBookmarksService);
- if (addFlag) gBookmarksService.updateBookmarkIcon(url, iconURL);
- else gBookmarksService.removeBookmarkIcon(url, iconURL);
+ if (!addFlag)
+ gBookmarksService.removeBookmarkIcon(url, iconURL);
+ else try {
+ gBookmarksService.updateBookmarkIcon(url, iconURL);
+ const IOS = Components.classes["@mozilla.org/network/io-service;1"]
+ .getService(Components.interfaces.nsIIOService);
+ var channel = IOS.newChannel(iconURL, null, null);
+ var stream = Components.classes['@mozilla.org/binaryinputstream;1']
+ .createInstance(Components.interfaces.nsIBinaryInputStream);
+ stream.setInputStream(channel.open());
+ var bytes = "";
+ for (var count; count = stream.available(); )
+ bytes += stream.readBytes(count);
+ iconURL = "data:" + channel.contentType + ";base64," + btoa(bytes);
+ gBookmarksService.updateBookmarkIcon(url, iconURL);
+ } catch (e) {
+ dump(e + '\n');
+ }
}
}

0 Comments:

Post a Comment

<< Home