зеркало из https://github.com/mozilla/gecko-dev.git
Bug 699843 - Interfaces Changes, replaceFaviconData(FromDataURL)?. r=mak, sr=gavin
This commit is contained in:
Родитель
e9e053835f
Коммит
9a9aabc8bd
|
@ -47,7 +47,7 @@ interface nsIFaviconDataCallback;
|
||||||
* @status EXPERIMENTAL
|
* @status EXPERIMENTAL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[scriptable, uuid(0cb4e536-e120-41e6-998f-66123d81ec53)]
|
[scriptable, uuid(f3530e8d-0016-4f56-91fe-28958a7ec296)]
|
||||||
interface mozIAsyncFavicons : nsISupports
|
interface mozIAsyncFavicons : nsISupports
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
@ -92,6 +92,73 @@ interface mozIAsyncFavicons : nsISupports
|
||||||
in boolean aForceReload,
|
in boolean aForceReload,
|
||||||
[optional] in nsIFaviconDataCallback aCallback);
|
[optional] in nsIFaviconDataCallback aCallback);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the data for a given favicon URI either by replacing existing data in
|
||||||
|
* the database or taking the place of otherwise fetched icon data when
|
||||||
|
* calling setAndFetchFaviconForPage later.
|
||||||
|
*
|
||||||
|
* Favicon data for favicon URIs that are not associated with a page URI via
|
||||||
|
* setAndFetchFaviconForPage will be stored in memory, but may be expired at
|
||||||
|
* any time, so you should make an effort to associate favicon URIs with page
|
||||||
|
* URIs as soon as possible.
|
||||||
|
*
|
||||||
|
* It's better to not use this function for chrome: icon URIs since you can
|
||||||
|
* reference the chrome image yourself. getFaviconLinkForIcon/Page will ignore
|
||||||
|
* any associated data if the favicon URI is "chrome:" and just return the
|
||||||
|
* same chrome URI.
|
||||||
|
*
|
||||||
|
* This function does NOT send out notifications that the data has changed.
|
||||||
|
* Pages using this favicons that are visible in history or bookmarks views
|
||||||
|
* will keep the old icon until they have been refreshed by other means.
|
||||||
|
*
|
||||||
|
* This function tries to optimize the favicon size, if it is bigger
|
||||||
|
* than a defined limit we will try to convert it to a 16x16 png image.
|
||||||
|
* If the conversion fails and favicon is still bigger than our max accepted
|
||||||
|
* size it won't be saved.
|
||||||
|
*
|
||||||
|
* @param aFaviconURI
|
||||||
|
* URI of the favicon whose data is being set.
|
||||||
|
* @param aData
|
||||||
|
* Binary contents of the favicon to save
|
||||||
|
* @param aDataLength
|
||||||
|
* Length of binary data
|
||||||
|
* @param aMimeType
|
||||||
|
* MIME type of the data to store. This is important so that we know
|
||||||
|
* what to report when the favicon is used. You should always set this
|
||||||
|
* param unless you are clearing an icon.
|
||||||
|
* @param aExpiration
|
||||||
|
* Time in microseconds since the epoch when this favicon expires.
|
||||||
|
* Until this time, we won't try to load it again.
|
||||||
|
* @throws NS_ERROR_FAILURE
|
||||||
|
* Thrown if the favicon is overbloated and won't be saved to the db.
|
||||||
|
*/
|
||||||
|
void replaceFaviconData(in nsIURI aFaviconURI,
|
||||||
|
[const,array,size_is(aDataLen)] in octet aData,
|
||||||
|
in unsigned long aDataLen,
|
||||||
|
in AUTF8String aMimeType,
|
||||||
|
[optional] in PRTime aExpiration);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Same as replaceFaviconData but the data is provided by a string
|
||||||
|
* containing a data URL.
|
||||||
|
*
|
||||||
|
* @see replaceFaviconData
|
||||||
|
*
|
||||||
|
* @param aFaviconURI
|
||||||
|
* URI of the favicon whose data is being set.
|
||||||
|
* @param aDataURL
|
||||||
|
* string containing a data URL that represents the contents of
|
||||||
|
* the favicon to save
|
||||||
|
* @param aExpiration
|
||||||
|
* Time in microseconds since the epoch when this favicon expires.
|
||||||
|
* Until this time, we won't try to load it again.
|
||||||
|
* @throws NS_ERROR_FAILURE
|
||||||
|
* Thrown if the favicon is overbloated and won't be saved to the db.
|
||||||
|
*/
|
||||||
|
void replaceFaviconDataFromDataURL(in nsIURI aFaviconURI,
|
||||||
|
in AString aDataURL,
|
||||||
|
[optional] in PRTime aExpiration);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve the URL of the favicon for the given page.
|
* Retrieve the URL of the favicon for the given page.
|
||||||
*
|
*
|
||||||
|
|
|
@ -151,6 +151,8 @@ interface nsIFaviconService : nsISupports
|
||||||
* Until this time, we won't try to load it again.
|
* Until this time, we won't try to load it again.
|
||||||
* @throws NS_ERROR_FAILURE
|
* @throws NS_ERROR_FAILURE
|
||||||
* Thrown if the favicon is overbloated and won't be saved to the db.
|
* Thrown if the favicon is overbloated and won't be saved to the db.
|
||||||
|
*
|
||||||
|
* @deprecated Use mozIAsyncFavicons::replaceFaviconData
|
||||||
*/
|
*/
|
||||||
void setFaviconData(in nsIURI aFaviconURI,
|
void setFaviconData(in nsIURI aFaviconURI,
|
||||||
[const,array,size_is(aDataLen)] in octet aData,
|
[const,array,size_is(aDataLen)] in octet aData,
|
||||||
|
@ -174,6 +176,8 @@ interface nsIFaviconService : nsISupports
|
||||||
* Until this time, we won't try to load it again.
|
* Until this time, we won't try to load it again.
|
||||||
* @throws NS_ERROR_FAILURE
|
* @throws NS_ERROR_FAILURE
|
||||||
* Thrown if the favicon is overbloated and won't be saved to the db.
|
* Thrown if the favicon is overbloated and won't be saved to the db.
|
||||||
|
*
|
||||||
|
* @deprecated Use mozIAsyncFavicons::replaceFaviconDataFromDataURL
|
||||||
*/
|
*/
|
||||||
void setFaviconDataFromDataURL(in nsIURI aFaviconURI,
|
void setFaviconDataFromDataURL(in nsIURI aFaviconURI,
|
||||||
in AString aDataURL,
|
in AString aDataURL,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче