Ticket #3077: 3077.patch
File 3077.patch, 1.6 KB (added by , 15 years ago) |
---|
-
_source/core/tools.js
387 387 { 388 388 return function() { return func.apply( obj, arguments ); }; 389 389 }, 390 390 391 /** 392 * Class creation based on prototype inheritance, with supports of the 393 * following features: 394 * <ul> 395 * <li> Static fields </li> 396 * <li> Private fields </li> 397 * <li> Public(prototype) fields </li> 398 * <li> Chainable base class constructor </li> 399 * </ul> 400 * 401 * @param {Object} definiton (Optional)The class definiton object. 402 */ 391 403 createClass : function( definition ) 392 404 { 393 var $ = definition.$, 405 definition = definition || {}; 406 var $ = definition.$ || function(){}, 394 407 baseClass = definition.base, 395 408 privates = definition.privates || definition._, 396 409 proto = definition.proto, … … 401 414 var originalConstructor = $; 402 415 $ = function() 403 416 { 404 originalConstructor.apply( this, arguments );405 406 417 // Create (and get) the private namespace. 407 418 var _ = this._ || ( this._ = {} ); 408 419 … … 415 426 _[ privateName ] = 416 427 ( typeof priv == 'function' ) ? CKEDITOR.tools.bind( priv, this ) : priv; 417 428 } 429 430 originalConstructor.apply( this, arguments ); 418 431 }; 419 432 } 420 433 … … 421 434 if ( baseClass ) 422 435 { 423 436 $.prototype = this.prototypedCopy( baseClass.prototype ); 437 $.prototype.constructor = $; 424 438 425 439 $.prototype.base = function() 426 440 {