mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
135 lines
4.5 KiB
XML
135 lines
4.5 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE bindings [
|
|
<!ENTITY % notificationDTD SYSTEM
|
|
"chrome://browser/locale/notification.dtd">
|
|
%notificationDTD;
|
|
]>
|
|
|
|
<bindings
|
|
xmlns="http://www.mozilla.org/xbl"
|
|
xmlns:xbl="http://www.mozilla.org/xbl"
|
|
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
|
|
|
<binding id="notification" extends="chrome://global/content/bindings/notification.xml#notification">
|
|
<resources>
|
|
<stylesheet src="chrome://browser/skin/notification.css"/>
|
|
</resources>
|
|
|
|
<content>
|
|
<xul:hbox class="notification-inner outset" flex="1" xbl:inherits="type">
|
|
<xul:vbox flex="1">
|
|
<xul:hbox anonid="details" align="center" flex="1">
|
|
<xul:description anonid="messageText" class="messageText" flex="1" xbl:inherits="xbl:text=label"/>
|
|
<xul:spacer flex="1"/>
|
|
<xul:toolbarbutton class="messageCloseButton tabbable" xbl:inherits="hidden=hideclose"
|
|
ondblclick="event.stopPropagation();"
|
|
oncommand="document.getBindingParent(this).close();"/>
|
|
</xul:hbox>
|
|
<xul:hbox pack="center" class="buttons"
|
|
oncommand="document.getBindingParent(this)._doButtonCommand(event);">
|
|
<children/>
|
|
</xul:hbox>
|
|
</xul:vbox>
|
|
</xul:hbox>
|
|
</content>
|
|
|
|
<implementation implements="nsIDOMEventListener">
|
|
<constructor>
|
|
<![CDATA[
|
|
this._chromeTab = Browser.selectedTab.chromeTab;
|
|
document.addEventListener("TabSelect", this, true);
|
|
document.addEventListener("TabClose", this, true);
|
|
]]>
|
|
</constructor>
|
|
|
|
// We need to override the close method here, otherwise the destructor
|
|
// is not called on removeChild (see bug 230086)
|
|
<method name="close">
|
|
<body>
|
|
<![CDATA[
|
|
var control = this.control;
|
|
if (control) {
|
|
document.removeEventListener("TabClose", this, true);
|
|
document.removeEventListener("TabSelect", this, true);
|
|
control.removeNotification(this);
|
|
} else {
|
|
this.hidden = true;
|
|
}
|
|
|
|
// Fire an event when closing a notification
|
|
let event = document.createEvent("Events");
|
|
event.initEvent("AlertClose", true, true);
|
|
this.dispatchEvent(event);
|
|
]]>
|
|
</body>
|
|
</method>
|
|
|
|
<method name="handleEvent">
|
|
<parameter name="aEvent"/>
|
|
<body>
|
|
<![CDATA[
|
|
switch(aEvent.type) {
|
|
case "TabSelect":
|
|
if (this._chromeTab == aEvent.target)
|
|
this.hidden = false;
|
|
else
|
|
this.hidden = true;
|
|
break;
|
|
|
|
case "TabClose":
|
|
if (this._chromeTab == aEvent.target)
|
|
this.close();
|
|
break;
|
|
}
|
|
]]>
|
|
</body>
|
|
</method>
|
|
</implementation>
|
|
</binding>
|
|
|
|
<binding id="geo-notification" extends="chrome://browser/content/notification.xml#notification">
|
|
|
|
<resources>
|
|
<stylesheet src="chrome://browser/skin/notification.css"/>
|
|
</resources>
|
|
|
|
<content>
|
|
<xul:vbox class="notification-inner outset" flex="1" xbl:inherits="type">
|
|
<xul:hbox anonid="details">
|
|
<xul:description anonid="messageText" class="messageText" flex="1" xbl:inherits="xbl:text=label"/>
|
|
<xul:spacer flex="1"/>
|
|
<xul:label anonid="learnMore"
|
|
class="text-link"
|
|
value="&geolocation.learnMore;"
|
|
onclick="BrowserUI.newTab(this.href); return false;"/>
|
|
</xul:hbox>
|
|
|
|
<xul:hbox pack="center"
|
|
oncommand="document.getBindingParent(this)._doButtonCommand(event);">
|
|
<children/>
|
|
</xul:hbox>
|
|
</xul:vbox>
|
|
</content>
|
|
|
|
<implementation>
|
|
<constructor>
|
|
<![CDATA[
|
|
var formatter = Cc["@mozilla.org/toolkit/URLFormatterService;1"].getService(Ci.nsIURLFormatter);
|
|
var href = formatter.formatURLPref("browser.geolocation.warning.infoURL");
|
|
document.getAnonymousElementByAttribute(this, "anonid", "learnMore").href = href;
|
|
]]>
|
|
</constructor>
|
|
|
|
<field name="_checkbox">
|
|
document.getAnonymousElementByAttribute(this, "anonid", "rememberChoice")
|
|
</field>
|
|
|
|
<property name="rememberChoice"
|
|
onget="return this._checkbox.checked;"
|
|
readonly="true"/>
|
|
|
|
</implementation>
|
|
</binding>
|
|
|
|
</bindings>
|