mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1096804 - Add a new asynchronous callback interface for Windows taskbar thumbnail and preview image requests. r=roc
This commit is contained in:
parent
93496537f9
commit
b0d530c8ed
@ -11,6 +11,18 @@ interface nsIDocShell;
|
|||||||
interface nsITaskbarPreview;
|
interface nsITaskbarPreview;
|
||||||
interface nsITaskbarPreviewButton;
|
interface nsITaskbarPreviewButton;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* nsITaskbarPreviewCallback
|
||||||
|
*
|
||||||
|
* Provides an interface for async image result callbacks. See
|
||||||
|
* nsITaskbarPreviewController request apis below.
|
||||||
|
*/
|
||||||
|
[scriptable, function, uuid(f3744696-320d-4804-9c27-6a84c29acaa6)]
|
||||||
|
interface nsITaskbarPreviewCallback : nsISupports
|
||||||
|
{
|
||||||
|
void done(in nsISupports aCanvas, in boolean aDrawBorder);
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* nsITaskbarPreviewController
|
* nsITaskbarPreviewController
|
||||||
*
|
*
|
||||||
@ -20,7 +32,7 @@ interface nsITaskbarPreviewButton;
|
|||||||
* the interface the controller is attached to, only certain methods/attributes
|
* the interface the controller is attached to, only certain methods/attributes
|
||||||
* are required to be implemented.
|
* are required to be implemented.
|
||||||
*/
|
*/
|
||||||
[scriptable, uuid(4FC0AFBB-3E22-4FBA-AC21-953350AF0411)]
|
[scriptable, uuid(8b427646-e446-4941-ae0b-c1122a173a68)]
|
||||||
interface nsITaskbarPreviewController : nsISupports
|
interface nsITaskbarPreviewController : nsISupports
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -42,31 +54,40 @@ interface nsITaskbarPreviewController : nsISupports
|
|||||||
*/
|
*/
|
||||||
readonly attribute float thumbnailAspectRatio;
|
readonly attribute float thumbnailAspectRatio;
|
||||||
|
|
||||||
/**
|
[deprecated]
|
||||||
* Invoked by nsITaskbarPreview when it needs to render the preview. The
|
|
||||||
* context is attached to a surface with the controller's width and height
|
|
||||||
* which are obtained immediately before the call.
|
|
||||||
*
|
|
||||||
* Note that the context is not attached to a canvas element.
|
|
||||||
*
|
|
||||||
* @param ctx Canvas drawing context
|
|
||||||
*/
|
|
||||||
boolean drawPreview(in nsISupports ctx);
|
boolean drawPreview(in nsISupports ctx);
|
||||||
|
|
||||||
|
[deprecated]
|
||||||
|
boolean drawThumbnail(in nsISupports ctx, in unsigned long width, in unsigned long height);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Invoked by the taskbar preview when it needs to draw the thumbnail in the
|
* Invoked by nsITaskbarPreview when it needs to render the preview.
|
||||||
* taskbar's application preview window.
|
*
|
||||||
|
* @param aCallback Async callback the controller should invoke once
|
||||||
|
* the thumbnail is rendered. aCallback receives as its only parameter
|
||||||
|
* a canvas containing the preview image.
|
||||||
|
*/
|
||||||
|
void requestPreview(in nsITaskbarPreviewCallback aCallback);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An asynchronous version of drawPreview and drawThumbnail apis
|
||||||
|
* implemented in nsITaskbarPreviewController.
|
||||||
*
|
*
|
||||||
* Note: it is guaranteed that width/height == thumbnailAspectRatio
|
* Note: it is guaranteed that width/height == thumbnailAspectRatio
|
||||||
* (modulo rounding errors)
|
* (modulo rounding errors)
|
||||||
*
|
*
|
||||||
* Also note that the context is not attached to a canvas element.
|
* Also note that the context is not attached to a canvas element.
|
||||||
*
|
*
|
||||||
* @param ctx Canvas drawing context
|
* @param aCallback Async callback the controller should invoke once
|
||||||
* @param width The width of the surface backing the drawing context
|
* the thumbnail is rendered. aCallback receives as its only parameter
|
||||||
* @param height The height of the surface backing the drawing context
|
* a canvas containing the thumbnail image. Canvas dimensions should
|
||||||
|
* match the requested width or height otherwise setting the thumbnail
|
||||||
|
* will fail.
|
||||||
|
* @param width The width of the requested thumbnail
|
||||||
|
* @param height The height of the requested thumbnail
|
||||||
*/
|
*/
|
||||||
boolean drawThumbnail(in nsISupports ctx, in unsigned long width, in unsigned long height);
|
void requestThumbnail(in nsITaskbarPreviewCallback aCallback,
|
||||||
|
in unsigned long width, in unsigned long height);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Invoked when the user presses the close button on the tab preview.
|
* Invoked when the user presses the close button on the tab preview.
|
||||||
@ -89,4 +110,3 @@ interface nsITaskbarPreviewController : nsISupports
|
|||||||
*/
|
*/
|
||||||
void onClick(in nsITaskbarPreviewButton button);
|
void onClick(in nsITaskbarPreviewButton button);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
{ 0x2d96b3d1, 0xc051, 0x11d1, \
|
{ 0x2d96b3d1, 0xc051, 0x11d1, \
|
||||||
{0xa8, 0x27, 0x00, 0x40, 0x95, 0x9a, 0x28, 0xc9} }
|
{0xa8, 0x27, 0x00, 0x40, 0x95, 0x9a, 0x28, 0xc9} }
|
||||||
|
|
||||||
|
|
||||||
/* BA7DE611-6088-11d3-A83E-00105A183419 */
|
/* BA7DE611-6088-11d3-A83E-00105A183419 */
|
||||||
#define NS_POPUP_CID \
|
#define NS_POPUP_CID \
|
||||||
{ 0xba7de611, 0x6088, 0x11d3, \
|
{ 0xba7de611, 0x6088, 0x11d3, \
|
||||||
@ -44,6 +43,11 @@
|
|||||||
{ 0x2d96b3e0, 0xc051, 0x11d1, \
|
{ 0x2d96b3e0, 0xc051, 0x11d1, \
|
||||||
{0xa8, 0x27, 0x00, 0x40, 0x95, 0x9a, 0x28, 0xc9} }
|
{0xa8, 0x27, 0x00, 0x40, 0x95, 0x9a, 0x28, 0xc9} }
|
||||||
|
|
||||||
|
/* 9A0CB62B-D638-4FAF-9588-AE96F5E29093 */
|
||||||
|
#define NS_TASKBARPREVIEWCALLBACK_CID \
|
||||||
|
{ 0x9a0cb62b, 0xd638, 0x4faf, \
|
||||||
|
{0x95, 0x88, 0xae, 0x96, 0xf5, 0xe2, 0x90, 0x93} }
|
||||||
|
|
||||||
/* XXX the following CID's are not in order. This needs
|
/* XXX the following CID's are not in order. This needs
|
||||||
to be fixed. */
|
to be fixed. */
|
||||||
|
|
||||||
|
@ -119,6 +119,7 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsTransferable)
|
|||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsHTMLFormatConverter)
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsHTMLFormatConverter)
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDragService)
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDragService)
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsBidiKeyboard)
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsBidiKeyboard)
|
||||||
|
NS_GENERIC_FACTORY_CONSTRUCTOR(TaskbarPreviewCallback)
|
||||||
#ifdef NS_PRINTING
|
#ifdef NS_PRINTING
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintOptionsWin, Init)
|
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintOptionsWin, Init)
|
||||||
NS_GENERIC_FACTORY_CONSTRUCTOR(nsPrinterEnumeratorWin)
|
NS_GENERIC_FACTORY_CONSTRUCTOR(nsPrinterEnumeratorWin)
|
||||||
@ -156,6 +157,7 @@ NS_DEFINE_NAMED_CID(NS_WIN_JUMPLISTSHORTCUT_CID);
|
|||||||
NS_DEFINE_NAMED_CID(NS_WINDOWS_UIUTILS_CID);
|
NS_DEFINE_NAMED_CID(NS_WINDOWS_UIUTILS_CID);
|
||||||
NS_DEFINE_NAMED_CID(NS_DRAGSERVICE_CID);
|
NS_DEFINE_NAMED_CID(NS_DRAGSERVICE_CID);
|
||||||
NS_DEFINE_NAMED_CID(NS_BIDIKEYBOARD_CID);
|
NS_DEFINE_NAMED_CID(NS_BIDIKEYBOARD_CID);
|
||||||
|
NS_DEFINE_NAMED_CID(NS_TASKBARPREVIEWCALLBACK_CID);
|
||||||
#ifdef NS_PRINTING
|
#ifdef NS_PRINTING
|
||||||
NS_DEFINE_NAMED_CID(NS_PRINTSETTINGSSERVICE_CID);
|
NS_DEFINE_NAMED_CID(NS_PRINTSETTINGSSERVICE_CID);
|
||||||
NS_DEFINE_NAMED_CID(NS_PRINTER_ENUMERATOR_CID);
|
NS_DEFINE_NAMED_CID(NS_PRINTER_ENUMERATOR_CID);
|
||||||
@ -189,6 +191,7 @@ static const mozilla::Module::CIDEntry kWidgetCIDs[] = {
|
|||||||
{ &kNS_WINDOWS_UIUTILS_CID, false, nullptr, WindowsUIUtilsConstructor },
|
{ &kNS_WINDOWS_UIUTILS_CID, false, nullptr, WindowsUIUtilsConstructor },
|
||||||
{ &kNS_DRAGSERVICE_CID, false, nullptr, nsDragServiceConstructor, Module::MAIN_PROCESS_ONLY },
|
{ &kNS_DRAGSERVICE_CID, false, nullptr, nsDragServiceConstructor, Module::MAIN_PROCESS_ONLY },
|
||||||
{ &kNS_BIDIKEYBOARD_CID, false, nullptr, nsBidiKeyboardConstructor },
|
{ &kNS_BIDIKEYBOARD_CID, false, nullptr, nsBidiKeyboardConstructor },
|
||||||
|
{ &kNS_TASKBARPREVIEWCALLBACK_CID, false, nullptr, TaskbarPreviewCallbackConstructor },
|
||||||
#ifdef NS_PRINTING
|
#ifdef NS_PRINTING
|
||||||
{ &kNS_PRINTSETTINGSSERVICE_CID, false, nullptr, nsPrintOptionsWinConstructor },
|
{ &kNS_PRINTSETTINGSSERVICE_CID, false, nullptr, nsPrintOptionsWinConstructor },
|
||||||
{ &kNS_PRINTER_ENUMERATOR_CID, false, nullptr, nsPrinterEnumeratorWinConstructor },
|
{ &kNS_PRINTER_ENUMERATOR_CID, false, nullptr, nsPrinterEnumeratorWinConstructor },
|
||||||
@ -222,6 +225,7 @@ static const mozilla::Module::ContractIDEntry kWidgetContracts[] = {
|
|||||||
{ "@mozilla.org/windows-ui-utils;1", &kNS_WINDOWS_UIUTILS_CID },
|
{ "@mozilla.org/windows-ui-utils;1", &kNS_WINDOWS_UIUTILS_CID },
|
||||||
{ "@mozilla.org/widget/dragservice;1", &kNS_DRAGSERVICE_CID, Module::MAIN_PROCESS_ONLY },
|
{ "@mozilla.org/widget/dragservice;1", &kNS_DRAGSERVICE_CID, Module::MAIN_PROCESS_ONLY },
|
||||||
{ "@mozilla.org/widget/bidikeyboard;1", &kNS_BIDIKEYBOARD_CID },
|
{ "@mozilla.org/widget/bidikeyboard;1", &kNS_BIDIKEYBOARD_CID },
|
||||||
|
{ "@mozilla.org/widget/taskbar-preview-callback;1", &kNS_TASKBARPREVIEWCALLBACK_CID },
|
||||||
#ifdef NS_PRINTING
|
#ifdef NS_PRINTING
|
||||||
{ "@mozilla.org/gfx/printsettings-service;1", &kNS_PRINTSETTINGSSERVICE_CID },
|
{ "@mozilla.org/gfx/printsettings-service;1", &kNS_PRINTSETTINGSSERVICE_CID },
|
||||||
{ "@mozilla.org/gfx/printerenumerator;1", &kNS_PRINTER_ENUMERATOR_CID },
|
{ "@mozilla.org/gfx/printerenumerator;1", &kNS_PRINTER_ENUMERATOR_CID },
|
||||||
|
Loading…
Reference in New Issue
Block a user