<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
   -
   - The contents of this file are subject to the Mozilla Public License Version
   - 1.1 (the "License"); you may not use this file except in compliance with
   - the License. You may obtain a copy of the License at
   - http://www.mozilla.org/MPL/
   -
   - Software distributed under the License is distributed on an "AS IS" basis,
   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   - for the specific language governing rights and limitations under the
   - License.
   -
   - The Original Code is the Mozilla "puzzle piece" xbl binding.
   -
   - The Initial Developer of the Original Code is
   - Christian Biesinger <cbiesinger@web.de>.
   - Portions created by the Initial Developer are Copyright (C) 2005
   - the Initial Developer. All Rights Reserved.
   -
   - Contributor(s):
   -
   - Alternatively, the contents of this file may be used under the terms of
   - either the GNU General Public License Version 2 or later (the "GPL"), or
   - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   - in which case the provisions of the GPL or the LGPL are applicable instead
   - of those above. If you wish to allow use of your version of this file only
   - under the terms of either the GPL or the LGPL, and not to allow others to
   - use your version of this file under the terms of the MPL, indicate your
   - decision by deleting the provisions above and replace them with the notice
   - and other provisions required by the LGPL or the GPL. If you do not delete
   - the provisions above, a recipient may use your version of this file under
   - the terms of any one of the MPL, the GPL or the LGPL.
   -
   - ***** END LICENSE BLOCK ***** -->
<!DOCTYPE bindings SYSTEM "chrome://mozapps/locale/plugins/plugins.dtd">
<bindings id="pluginBindings"
              xmlns="http://www.mozilla.org/xbl"
              xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
              xmlns:html="http://www.w3.org/1999/xhtml">
  <binding id="missingPlugin" inheritstyle="false">
    <resources>
      <stylesheet src="chrome://mozapps/skin/plugins/missingPlugin.css"/>
    </resources>

    <content>
      <!-- This uses html:a instead of something like a div so that it can be
           tabbed to and just generically behaves more like something clickable
           (i.e. for a11y reasons. see Bug 245349).
        -->
      <html:a href="#">
        <xul:vbox>
          <xul:image id="missingPluginPlaceholder"/>
          <xul:description>&missingPlugin.label;</xul:description>
        </xul:vbox>
      </html:a>

      <!-- Make our fallback content disappear (XBL requires this) -->
      <html:div style="display:none;"><children/></html:div>
    </content>

    <handlers>
      <handler event="click" button="0">
        <![CDATA[
          event.preventDefault();

          // Fire a PluginNotFound event to trigger the infobar
          var ev = document.createEvent("Events");
          ev.initEvent("PluginNotFound", true, true);
          this.dispatchEvent(ev);
        ]]>
      </handler>
    </handlers>
  </binding>
  
  <binding id="disabledPlugin" inheritstyle="false">
    <resources>
      <stylesheet src="chrome://mozapps/skin/plugins/missingPlugin.css"/>
    </resources>

    <content>
      <!-- This uses html:a instead of something like a div so that it can be
           tabbed to and just generically behaves more like something clickable
           (i.e. for a11y reasons. see Bug 245349).
        -->
      <html:a href="#">
        <xul:vbox>
          <xul:image id="disabledPluginPlaceholder"/>
          <xul:description>&disabledPlugin.label;</xul:description>
        </xul:vbox>
      </html:a>

      <!-- Make our fallback content disappear (XBL requires this) -->
      <html:div style="display:none;"><children/></html:div>
    </content>

    <handlers>
      <handler event="click" button="0">
        <![CDATA[
          event.preventDefault();

          // Fire a PluginDisabled event to trigger the infobar
          var ev = document.createEvent("Events");
          ev.initEvent("PluginDisabled", true, true);
          this.dispatchEvent(ev);
        ]]>
      </handler>
    </handlers>
  </binding>
  
  <binding id="blockedPlugin" inheritstyle="false">
    <resources>
      <stylesheet src="chrome://mozapps/skin/plugins/missingPlugin.css"/>
    </resources>

    <content>
      <html:div>
        <xul:vbox>
          <xul:image id="blockedPluginPlaceholder"/>
          <xul:description>&blockedPlugin.label;</xul:description>
        </xul:vbox>
      </html:div>

      <!-- Make our fallback content disappear (XBL requires this) -->
      <html:div style="display:none;"><children/></html:div>
    </content>
  </binding>
  
</bindings>
