nsUrlClassifierLib - [email protected] 37

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: [email protected] 37 "e:\builds\moz2_slave\win32_build\build\toolkit\components\url- classifier\src\nsUrlClassifierLib.js" // We wastefully reload the same JS files across components. This puts all // the common JS files used by safebrowsing and url-classifier into a // single component. const Cc = Components.classes; const Ci = Components.interfaces; const G_GDEBUG = false; [email protected] 36 "e:\builds\moz2_slave\win32_build\build\toolkit\components\url- classifier\content\moz\lang.js" /** * lang.js - Some missing JavaScript language features */ /** * Partially applies a function to a particular "this object" and zero or * more arguments. The result is a new function with some arguments of the first * function pre-filled and the value of |this| "pre-specified". * * Remaining arguments specified at call-time are appended to the pre- * specified ones. * * Usage: * var barMethBound = BindToObject(myFunction, myObj, "arg1", "arg2"); * barMethBound("arg3", "arg4"); * * @param fn {string} Reference to the function to be bound * * @param self {object} Specifies the object which |this| should point to * when the function is run. If the value is null or undefined, it will default * to the global object. * * @returns {function} A partially-applied form of the speficied function. */ function BindToObject(fn, self, opt_args) { var boundargs = fn.boundArgs_ || ; boundargs = boundargs.concat(Array.slice(arguments, 2, arguments.length)); if (fn.boundSelf_) self = fn.boundSelf_; if (fn.boundFn_) fn = fn.boundFn_; var newfn = function() { // Combine the static args and the new args into one big array var args = boundargs.concat(Array.slice(arguments)); return fn.apply(self, args); } newfn.boundArgs_ = boundargs; newfn.boundSelf_ = self; newfn.boundFn_ = fn; return newfn; } /** * Inherit the prototype methods from one constructor into another. * * Usage: * * function ParentClass(a, b) { } * ParentClass.prototype.foo = function(a) { } * * function ChildClass(a, b, c) { * ParentClass.call(this, a, b); * } * * ChildClass.inherits(ParentClass); * * var child = new ChildClass("a", "b", "see"); * child.foo(); // works * * In addition, a superclass' implementation of a method can be invoked * as follows: * * ChildClass.prototype.foo = function(a) { * ChildClass.superClass_.foo.call(this, a); * // other code * }; */ Function.prototype.inherits = function(parentCtor) { var tempCtor = function(){}; tempCtor.prototype = parentCtor.prototype; this.superClass_ = parentCtor.prototype; this.prototype = new tempCtor(); } [email protected] 36 "e:\builds\moz2_slave\win32_build\build\toolkit\components\url- classifier\content\moz\preferences.js" // Class for manipulating preferences. Aside from wrapping the pref // service, useful functionality includes: // // - abstracting prefobserving so that you can observe preferences // without implementing nsIObserver // // - getters that return a default value when the pref doesn't exist // (instead of throwing) // // - get-and-set getters // // Example: // // var p = new PROT_Preferences();...
View Full Document

This note was uploaded on 03/11/2010 for the course ISD 125 taught by Professor 3ant during the Spring '10 term at École Normale Supérieure.

Page1 / 28

nsUrlClassifierLib - [email protected] 37

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online