~ubuntu-branches/debian/stretch/adblock-plus/stretch

« back to all changes in this revision

Viewing changes to .pc/0002-No-focus-on-new-tab.patch/lib/appSupport.js

  • Committer: Package Import Robot
  • Author(s): David Prévot, Wladimir Palant, David Prévot
  • Date: 2015-08-11 13:53:30 UTC
  • mfrom: (0.48.1) (0.47.1) (0.46.1) (0.33.3) (59.1.8 sid)
  • Revision ID: package-import@ubuntu.com-20150811135330-x1l7w2y7ohir1ek3
Tags: 2.6.10+dfsg-1
[ Wladimir Palant ]
* Releasing Adblock Plus 2.6.10

[ David Prévot ]
* Don’t ship new fonts

Show diffs side-by-side

added added

removed removed

Lines of Context:
212
212
  progressListeners.delete(window);
213
213
};
214
214
 
215
 
/**
216
 
 * Maps windows to a list of click listeners.
217
 
 */
218
 
let clickListeners = new WeakMap();
219
 
 
220
 
/**
221
 
 * Makes sure that a function is called whenever the user clicks inside the
222
 
 * browser's content area.
223
 
 */
224
 
exports.addBrowserClickListener = function addBrowserClickListener(/**Window*/ window, /**Function*/ callback)
225
 
{
226
 
  let browser = (exports.getBrowser ? exports.getBrowser(window) : null);
227
 
  if (browser)
228
 
  {
229
 
    browser.addEventListener("click", callback, true);
230
 
 
231
 
    if (clickListeners.has(window))
232
 
      clickListeners.get(window).push(callback);
233
 
    else
234
 
      clickListeners.set(window, [callback]);
235
 
  }
236
 
};
237
 
 
238
 
/**
239
 
 * Removes all click listeners registered for a window, to be called on
240
 
 * cleanup.
241
 
 */
242
 
exports.removeBrowserClickListeners = function removeBrowserClickListeners(/**Window*/ window)
243
 
{
244
 
  if (!clickListeners.has(window))
245
 
    return;
246
 
 
247
 
  let browser = (exports.getBrowser ? exports.getBrowser(window) : null);
248
 
  if (browser)
249
 
  {
250
 
    let listeners = clickListeners.get(window);
251
 
    for (let i = 0; i < listeners.length; i++)
252
 
      browser.removeEventListener("click", listeners[i], true);
253
 
  }
254
 
  clickListeners.delete(window);
255
 
};
256
 
 
257
215
let {application} = require("info");
258
216
switch (application)
259
217
{
359
317
        return (browser ? browser.currentURI : null);
360
318
      }
361
319
    };
362
 
    
 
320
 
363
321
    // for Seamonkey we have to ignore same document flag because of
364
322
    // bug #1035171 (https://bugzilla.mozilla.org/show_bug.cgi?id=1035171)
365
323
    let origAddBrowserLocationListener = exports.addBrowserLocationListener;
617
575
      progressListeners.delete(window);
618
576
    };
619
577
 
620
 
    exports.addBrowserClickListener = function addBrowserClickListener(/**Window*/ window, /**Function*/ callback)
621
 
    {
622
 
      if (clickListeners.has(window))
623
 
      {
624
 
        clickListeners.get(window).callbacks.push(callback);
625
 
        return;
626
 
      }
627
 
 
628
 
      let callbacks = [callback];
629
 
      let listener = new BrowserChangeListener(window, function(oldBrowser, newBrowser)
630
 
      {
631
 
        if (oldBrowser)
632
 
          for (let i = 0; i < callbacks.length; i++)
633
 
            oldBrowser.removeEventListener("click", callbacks[i], true);
634
 
        if (newBrowser)
635
 
          for (let i = 0; i < callbacks.length; i++)
636
 
            newBrowser.addEventListener("click", callbacks[i], true);
637
 
      });
638
 
      listener.callbacks = callbacks;
639
 
 
640
 
      clickListeners.set(window, listener);
641
 
    };
642
 
 
643
 
    exports.removeBrowserClickListeners = function removeBrowserClickListeners(/**Window*/ window)
644
 
    {
645
 
      if (!clickListeners.has(window))
646
 
        return;
647
 
 
648
 
      let listener = clickListeners.get(window);
649
 
      listener.detach();
650
 
 
651
 
      clickListeners.delete(window);
652
 
    };
653
 
 
654
578
    // Make sure to close/reopen list of blockable items when the user changes tabs
655
579
    let {WindowObserver} = require("windowObserver");
656
580
    new WindowObserver({
690
614
  }
691
615
 
692
616
  case "fennec2":
 
617
  case "adblockbrowser":
693
618
  {
694
619
    exports.isKnownWindow = (window) => window.document.documentElement.id == "main-window";
695
620
 
805
730
      progressListeners.delete(window);
806
731
    };
807
732
 
808
 
    exports.addBrowserClickListener = function ffn_addBrowserClickListener(/**Window*/ window, /**Function*/ callback)
809
 
    {
810
 
      if (clickListeners.has(window))
811
 
      {
812
 
        clickListeners.get(window).callbacks.push(callback);
813
 
        return;
814
 
      }
815
 
 
816
 
      let callbacks = [callback];
817
 
      let listener = new BrowserChangeListener(window, function(oldBrowser, newBrowser)
818
 
      {
819
 
        if (oldBrowser)
820
 
          for (let i = 0; i < callbacks.length; i++)
821
 
            oldBrowser.removeEventListener("click", callbacks[i], true);
822
 
        if (newBrowser)
823
 
          for (let i = 0; i < callbacks.length; i++)
824
 
            newBrowser.addEventListener("click", callbacks[i], true);
825
 
      });
826
 
      listener.callbacks = callbacks;
827
 
 
828
 
      clickListeners.set(window, listener);
829
 
    };
830
 
 
831
 
    exports.removeBrowserClickListeners = function ffn_removeBrowserClickListeners(/**Window*/ window)
832
 
    {
833
 
      if (!clickListeners.has(window))
834
 
        return;
835
 
 
836
 
      let listener = clickListeners.get(window);
837
 
      listener.detach();
838
 
 
839
 
      clickListeners.delete(window);
840
 
    };
841
 
 
842
733
    let {Filter} = require("filterClasses");
843
734
    let {Prefs} = require("prefs");
844
735
    let {Policy} = require("contentPolicy");
876
767
    onShutdown.add(function()
877
768
    {
878
769
      let window = null;
879
 
      for (window in UI.applicationWindows)
 
770
      for (window of UI.applicationWindows)
880
771
        break;
881
772
 
882
773
      if (window && menuItem)