code: function shouldRedraw(f) {
      return f.dirty !== DrawState.DIRTY_LAYOUT || f.dirty === DrawState.DIRTY_LAYOUT && f.element.parentNode.clientWidth !== f.availableWidth;
    }
docs: should always redraw if is not dirty layout, if is dirty layout, only redraw if size has changed