| Index: lib/hooks.js | 
| diff --git a/lib/hooks.js b/lib/hooks.js | 
| deleted file mode 100644 | 
| index a6e802159cc91408506399fe06871ad513c6e44d..0000000000000000000000000000000000000000 | 
| --- a/lib/hooks.js | 
| +++ /dev/null | 
| @@ -1,73 +0,0 @@ | 
| -/* This Source Code Form is subject to the terms of the Mozilla Public | 
| - * License, v. 2.0. If a copy of the MPL was not distributed with this | 
| - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 
| - | 
| -function hook(obj, name, func, cleanup) | 
| -{ | 
| -  let orig = obj[name]; | 
| -  let origDesc = Object.getOwnPropertyDescriptor(obj, name); | 
| -  let dumbOverrideAttempt = false; | 
| - | 
| -  let newFunc = function() | 
| -  { | 
| -    let params = arguments; | 
| -    try | 
| -    { | 
| -      let result = func.apply(this, params); | 
| -      if (typeof result == "object") | 
| -        params = result; | 
| -    } | 
| -    catch(e) | 
| -    { | 
| -      Cu.reportError(e); | 
| -    } | 
| - | 
| -    try | 
| -    { | 
| -      return orig.apply(this, params); | 
| -    } | 
| -    finally | 
| -    { | 
| -      if (typeof cleanup == "function") | 
| -        cleanup(); | 
| -    } | 
| -  }; | 
| -  newFunc.toString = function() | 
| -  { | 
| -    dumbOverrideAttempt = true; | 
| -    return orig.toString(); | 
| -  }; | 
| -  newFunc.toSource = function() | 
| -  { | 
| -    dumbOverrideAttempt = true; | 
| -    return orig.toSource(); | 
| -  }; | 
| - | 
| -  Object.defineProperty(obj, name, { | 
| -    get: function() | 
| -    { | 
| -      dumbOverrideAttempt = false; | 
| -      return newFunc; | 
| -    }, | 
| -    set: function(value) | 
| -    { | 
| -      if (dumbOverrideAttempt) | 
| -      { | 
| -        orig = value; | 
| -      } | 
| -      else | 
| -      { | 
| -        delete obj[name]; | 
| -        obj[name] = value; | 
| -      } | 
| -    }, | 
| -    enumerable: true, | 
| -    configurable: true | 
| -  }); | 
| - | 
| -  return function() | 
| -  { | 
| -    Object.defineProperty(obj, name, origDesc); | 
| -  }; | 
| -} | 
| -exports.hook = hook; | 
|  |