Ticket #10280: prerelease_with_racings_without_cpp_fix.2.diff

File prerelease_with_racings_without_cpp_fix.2.diff, 7.9 KB (added by erinn, 7 years ago)
  • extensions.js

    old new  
    754754      }
    755755    },
    756756
     757    cmd_goToEnablePlugins: {
     758      isEnabled: function cmd_goToEnablePlugins_isEnabled() true,
     759      doCommand: function cmd_goToEnablePlugins_doCommand() {
     760        Services.prefs.setBoolPref("plugin.disable", false);
     761      }
     762    },
     763
     764    cmd_goToDisablePlugins: {
     765      isEnabled: function cmd_goToDisablePlugins_isEnabled() true,
     766      doCommand: function cmd_goToDisablePlugins_doCommand() {
     767        Services.prefs.setBoolPref("plugin.disable", true);
     768      }
     769    },
     770
    757771    cmd_goToRecentUpdates: {
    758772      isEnabled: function cmd_goToRecentUpdates_isEnabled() true,
    759773      doCommand: function cmd_goToRecentUpdates_doCommand() {
     
    23992413  node: null,
    24002414  _listBox: null,
    24012415  _emptyNotice: null,
     2416  _pluginDisabledNotice: null,
     2417  _pluginEnabledNotice: null,
     2418  _pluginShowHeader: null,
    24022419  _type: null,
    24032420
    24042421  initialize: function gListView_initialize() {
    24052422    this.node = document.getElementById("list-view");
    24062423    this._listBox = document.getElementById("addon-list");
    24072424    this._emptyNotice = document.getElementById("addon-list-empty");
     2425    this._pluginDisabledNotice = document.getElementById("plugin-disabled");
     2426    this._pluginEnabledNotice = document.getElementById("plugin-enabled");
     2427    this._pluginShowHeader = document.getElementById("plugin-show-header");
    24082428
    24092429    var self = this;
    24102430    this._listBox.addEventListener("keydown", function listbox_onKeydown(aEvent) {
     
    24172437    }, false);
    24182438  },
    24192439
     2440  shutdown: function gListView_shutdown() {
     2441    AddonManager.removeAddonListener(this);
     2442    AddonManager.removeManagerListener(this);
     2443  },
     2444
    24202445  show: function gListView_show(aType, aRequest) {
    24212446    if (!(aType in AddonManager.addonTypes))
    24222447      throw Components.Exception("Attempting to show unknown type " + aType, Cr.NS_ERROR_INVALID_ARG);
     
    24242449    this._type = aType;
    24252450    this.node.setAttribute("type", aType);
    24262451    this.showEmptyNotice(false);
     2452    this.showPluginEnabledNotice(false);
     2453    this.showPluginDisabledNotice(false);
    24272454
    24282455    while (this._listBox.itemCount > 0)
    24292456      this._listBox.removeItemAt(0);
     
    24472474        for (let element of elements)
    24482475          self._listBox.appendChild(element);
    24492476      }
     2477      if (self._type == "plugin")
     2478        self.showPluginButton();
    24502479
    24512480      gEventManager.registerInstallListener(self);
    24522481      gViewController.updateCommands();
    24532482      gViewController.notifyViewChanged();
     2483      AddonManager.addAddonListener(self);
     2484      AddonManager.addManagerListener(self);
    24542485    });
    24552486  },
    24562487
    24572488  hide: function gListView_hide() {
     2489    AddonManager.removeAddonListener(this);
     2490    AddonManager.removeManagerListener(this);
    24582491    gEventManager.unregisterInstallListener(this);
    24592492    doPendingUninstalls(this._listBox);
    24602493  },
     
    24982531      this.removeItem(aInstall, true);
    24992532  },
    25002533
     2534  onUninstalled: function gListView_onUninstalled()  {
     2535    this.showEmptyNotice(this._listBox.itemCount == 0);
     2536  },
     2537
     2538  showPluginDisabledNotice: function gListView_showPluginDisabledNotice(aShow) {
     2539    this._pluginDisabledNotice.hidden = !aShow;
     2540  },
     2541
     2542  showPluginEnabledNotice: function gListView_showPluginEnabledNotice(aShow) {
     2543    this._pluginEnabledNotice.hidden = !aShow;
     2544  },
     2545
     2546  showPluginShowHeader: function gListView_showPluginShowHeader(aShow) {
     2547    this._pluginShowHeader.hidden = !aShow;
     2548  },
     2549
     2550  showPluginButton: function gListView_showPluginButton() {
     2551    if (this._type == "plugin") {
     2552      var plugin_disable = false;
     2553
     2554      try {
     2555        plugin_disable = Services.prefs.getBoolPref("plugin.disable")
     2556      } catch (e) {}
     2557
     2558      if (plugin_disable == true) {
     2559        this.showPluginShowHeader(false);
     2560        this.showEmptyNotice(false);
     2561        this.showPluginEnabledNotice(false);
     2562        this.showPluginDisabledNotice(true);
     2563      } else {
     2564        this.showPluginShowHeader(true);
     2565        this.showEmptyNotice(this._listBox.itemCount == 0);
     2566        this.showPluginDisabledNotice(false);
     2567        this.showPluginEnabledNotice(true);
     2568      }
     2569    }
     2570  },
     2571
     2572  onPluginPolicyChanged: function gListView_onPluginPolicyChanged() {
     2573    this.showPluginButton();
     2574  },
     2575
    25012576  addItem: function gListView_addItem(aObj, aIsInstall) {
    25022577    if (aObj.type != this._type)
    25032578      return;
  • PluginProvider.jsm

    old new  
    99
    1010this.EXPORTED_SYMBOLS = [];
    1111
    12 Components.utils.import("resource://gre/modules/AddonManager.jsm");
     12let AMscope =
     13    Components.utils.import("resource://gre/modules/AddonManager.jsm");
     14let AddonManagerInternal = AMscope.AddonManagerInternal;
     15
    1316Components.utils.import("resource://gre/modules/Services.jsm");
    1417
     18
    1519const URI_EXTENSION_STRINGS  = "chrome://mozapps/locale/extensions/extensions.properties";
    1620const STRING_TYPE_NAME       = "type.%ID%.name";
    1721const LIST_UPDATED_TOPIC     = "plugins-list-updated";
     
    5357  plugins: null,
    5458
    5559  startup: function PL_startup() {
     60    Services.prefs.addObserver("plugin.disable", this, false);
    5661    Services.obs.addObserver(this, LIST_UPDATED_TOPIC, false);
    5762    Services.obs.addObserver(this, AddonManager.OPTIONS_NOTIFICATION_DISPLAYED, false);
    5863  },
     
    9095      if (this.plugins)
    9196        this.updatePluginList();
    9297      break;
     98    case "nsPref:changed":
     99      if (!this.plugins)
     100        this.plugins =[];
     101      this.updatePluginList();
     102      AddonManagerInternal.callManagerListeners("onPluginPolicyChanged");
     103      break;
    93104    }
    94105  },
    95106
  • extensions.xul

    old new  
    7676    <command id="cmd_findAllUpdates"/>
    7777    <command id="cmd_restartApp"/>
    7878    <command id="cmd_goToDiscoverPane"/>
     79    <command id="cmd_goToEnablePlugins"/>
     80    <command id="cmd_goToDisablePlugins"/>
    7981    <command id="cmd_goToRecentUpdates"/>
    8082    <command id="cmd_goToAvailableUpdates"/>
    8183    <command id="cmd_installFromFile"/>
     
    344346              <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
    345347            </hbox>
    346348          </hbox>
    347           <hbox class="view-header global-info-container">
     349          <hbox id="plugin-show-header" class="view-header global-info-container">
    348350            <hbox class="global-info" flex="1" align="center">
    349351              <button class="button-link global-info-plugincheck"
    350352                      label="&info.plugincheck.label;"
     
    352354                      command="cmd_pluginCheck"/>
    353355              <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
    354356            </hbox>
     357            <vbox id="plugin-enabled" class="global-info" flex="1"
     358                  hidden="true" align="end">
     359              <button class="button-disableplugin"
     360                      label="Disable plugins"
     361                      tooltiptext="Click to stop searching and using plugins"
     362                      command="cmd_goToDisablePlugins"/>
     363              <spacer flex="5000"/> <!-- Necessary to allow the message to wrap -->
     364            </vbox>
    355365          </hbox>
    356366          <vbox id="addon-list-empty" class="alert-container"
    357367                flex="1" hidden="true">
     
    365375            </vbox>
    366376            <spacer class="alert-spacer-after"/>
    367377          </vbox>
     378          <vbox id="plugin-disabled" class="alert-container"
     379                flex="1" hidden="true">
     380            <spacer class="alert-spacer-before"/>
     381            <vbox class="alert">
     382              <label value="Click to search for installed plugins"/>
     383              <button class="button-enableplugin"
     384                      label="Enable plugins"
     385                      command="cmd_goToEnablePlugins"/>
     386            </vbox>
     387            <spacer class="alert-spacer-after"/>
     388          </vbox>
    368389          <richlistbox id="addon-list" class="list" flex="1"/>
    369390        </vbox>