code: function (type, args, obj) {
              var fillEl = args[0],
                  cfg = this.cfg,
                  autoFillHeight = "autofillheight",
                  height = "height",
                  currEl = cfg.getProperty(autoFillHeight),
                  autoFill = this._autoFillOnHeightChange;
  
              cfg.unsubscribeFromConfigEvent(height, autoFill);
              Module.textResizeEvent.unsubscribe(autoFill);
              this.changeContentEvent.unsubscribe(autoFill);
  
              if (currEl && fillEl !== currEl && this[currEl]) {
                  Dom.setStyle(this[currEl], height, "");
              }
  
              if (fillEl) {
                  fillEl = Lang.trim(fillEl.toLowerCase());
  
                  cfg.subscribeToConfigEvent(height, autoFill, this[fillEl], this);
                  Module.textResizeEvent.subscribe(autoFill, this[fillEl], this);
                  this.changeContentEvent.subscribe(autoFill, this[fillEl], this);
  
                  cfg.setProperty(autoFillHeight, fillEl, true);
              }
          }
docs: The default event handler fired when the "autofillheight" property is changed.
  @method configAutoFillHeight
  
  @param {String} type The CustomEvent type (usually the property name)
  @param {Object[]} args The CustomEvent arguments. For configuration
  handlers, args[0] will equal the newly applied value for the property.
  @param {Object} obj The scope object. For configuration handlers,
  this will usually equal the owner.