43 #include "nsIDOMDocument.h"
44 #include "nsIDOMWindow.h"
45 #include "nsIDOMXULElement.h"
46 #include "nsStringGlue.h"
47 #include "nsIDOMEventTarget.h"
57 nsSystemTrayService::~nsSystemTrayService()
64 NS_IMETHODIMP nsSystemTrayService::ShowIcon(
const nsAString & aIconId,
69 nsCOMPtr<nsSystemTrayIconGTK> icon;
72 rv = icon->SetImageFromURI(aImageURI);
75 return NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA;
82 nsCOMPtr<nsIDOMDocument> document;
83 rv = aDOMWindow->GetDocument(getter_AddRefs(document));
84 NS_ENSURE_SUCCESS(rv, rv);
86 nsCOMPtr<nsIDOMElement> iconElement;
87 rv = document->GetElementById(aIconId, getter_AddRefs(iconElement));
88 NS_ENSURE_SUCCESS(rv, rv);
91 do_QueryInterface(iconElement, &rv);
92 NS_ENSURE_SUCCESS(rv, rv);
96 if (!icon || !icon->mIcon) {
97 return NS_ERROR_OUT_OF_MEMORY;
100 rv = icon->SetEventTarget(eventTarget);
101 NS_ENSURE_SUCCESS(rv, rv);
104 rv = icon->SetImageFromURI(aImageURI);
107 return NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA;
113 NS_IMETHODIMP nsSystemTrayService::HideIcon(
const nsAString & aIconId)
117 return NS_ERROR_INVALID_ARG;
125 NS_IMETHODIMP nsSystemTrayService::SetTitle(
const nsAString & aIconId,
const nsAString & aTitle)
127 nsCOMPtr<nsSystemTrayIconGTK> icon;
130 return NS_ERROR_INVALID_ARG;
134 gtk_status_icon_set_tooltip(icon->mIcon, NS_ConvertUTF16toUTF8(aTitle).
get());
NS_IMPL_ISUPPORTS1(nsSystemTrayService, nsISystemTrayService) nsSystemTrayService
nsInterfaceHashtable< nsStringHashKey, nsSystemTrayIconGTK > mIconDataMap