code: function() {
              var oldVisible = this.isButtonCurrentlyVisible();
              var newVisible = this.shouldButtonBeVisible();
  
              var clearButtonEl = this.clearButtonEl;
              if (oldVisible != newVisible) {
                  if(this.animateClearButton && this.animateWithCss3) {
                      this.clearButtonEl.removeCls(this.clearButtonCls + (oldVisible ? '-on' : '-off'));
                      clearButtonEl.addCls(this.clearButtonCls + (newVisible ? '-on' : '-off'));
                  }
                  else {
                      clearButtonEl.stopAnimation();
                      clearButtonEl.setVisible(newVisible, this.animateClearButton);
                  }
  
                  // Set background-color of clearButton to same as field's background-color (for those browsers/cases
                  // where the padding-right (see below) does not work)
                  clearButtonEl.setStyle('background-color', this.textField.inputEl.getStyle('background-color'));
  
                  // Adjust padding-right of the input tag to make room for the button
                  // IE (up to v9) just ignores this and Gecko handles padding incorrectly with  textarea scrollbars
                  if (!(this.isTextArea && Ext.isGecko) && !Ext.isIE) {
                      // See https://bugzilla.mozilla.org/show_bug.cgi?id=157846
                      var deltaPaddingRight = clearButtonEl.getWidth() - this.clearButtonEl.getMargin('l');
                      var currentPaddingRight = this.textField.inputEl.getPadding('r');
                      var factor = (newVisible ? +1 : -1);
                      this.textField.inputEl.dom.style.paddingRight = (currentPaddingRight + factor * deltaPaddingRight) + 'px';
                  }
              }
          }
docs: Called after any event that may influence the clear button visibility.