/*!
 * ${copyright}
 */
sap.ui.define(['jquery.sap.global', './InputBaseRenderer', 'sap/ui/core/Renderer'],
	function(jQuery, InputBaseRenderer, Renderer) {
		"use strict";

		/**
		 * ComboBoxBase renderer.
		 *
		 * @namespace
		 */
		var ComboBoxBaseRenderer = Renderer.extend(InputBaseRenderer);

		/**
		 * CSS class to be applied to the root element of the ComboBoxBase.
		 *
		 * @readonly
		 * @const {string}
		 */
		ComboBoxBaseRenderer.CSS_CLASS = "sapMComboBoxBase";

		/**
		 * Add extra styles for input container.
		 *
		 * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer.
		 * @param {sap.ui.core.Control} oControl An object representation of the control that should be rendered.
		 */
		ComboBoxBaseRenderer.addOuterStyles = function(oRm, oControl) {
			oRm.addStyle("max-width", oControl.getMaxWidth());
		};

		/**
		 * Add classes to the ComboBox.
		 *
		 * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer.
		 * @param {sap.ui.core.Control} oControl An object representation of the control that should be rendered.
		 */
		ComboBoxBaseRenderer.addOuterClasses = function(oRm, oControl) {
			var CSS_CLASS = ComboBoxBaseRenderer.CSS_CLASS;

			oRm.addClass(CSS_CLASS);
			oRm.addClass(CSS_CLASS + "Input");

			if (!oControl.getEnabled()) {
				oRm.addClass(CSS_CLASS + "Disabled");
			}
		};

		/**
		 * Add inner classes to the ComboBox's input element.
		 *
		 * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer.
		 * @param {sap.ui.core.Control} oControl An object representation of the control that should be rendered.
		 */
		ComboBoxBaseRenderer.addInnerClasses = function(oRm, oControl) {
			oRm.addClass(ComboBoxBaseRenderer.CSS_CLASS + "InputInner");
		};

		/**
		 * Add inner styles to the ComboBox's input element.
		 *
		 * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer.
		 * @param {sap.ui.core.Control} oControl An object representation of the control that should be rendered.
		 */
		ComboBoxBaseRenderer.addInnerStyles = function(oRm, oControl) {
			oRm.writeAttribute("autocomplete", "off");
			oRm.writeAttribute("autocorrect", "off");
			oRm.writeAttribute("autocapitalize", "off");
		};

		/**
		 * Renders the ComboBox's arrow, using the provided {@link sap.ui.core.RenderManager}.
		 *
		 * @param {sap.ui.core.RenderManager} oRm The RenderManager that can be used for writing to the render output buffer.
		 * @param {sap.ui.core.Control} oControl An object representation of the control that should be rendered.
		 */
		ComboBoxBaseRenderer.writeInnerContent = function(oRm, oControl) {
			oRm.write('<div tabindex="-1"');
			oRm.writeAttribute("id", oControl.getId() + "-arrow");
			oRm.writeAttribute("role", "presentation");
			oRm.addClass(ComboBoxBaseRenderer.CSS_CLASS + "Arrow");
			oRm.writeClasses();
			oRm.write("></div>");
		};

		return ComboBoxBaseRenderer;

	}, /* bExport= */ true);
@@ -469,24 +469,528 @@
 oBoxBase%22;%0A%0A
+%09%09/**%0A%09%09 * Add attributes to the input element.%0A%09%09 *%0A%09%09 * @param %7Bsap.ui.core.RenderManager%7D oRm The RenderManager that can be used for writing to the render output buffer.%0A%09%09 * @param %7Bsap.ui.core.Control%7D oControl An object representation of the control that should be rendered.%0A%09%09 */%0A%09%09ComboBoxBaseRenderer.writeInnerAttributes = function(oRm, oControl) %7B%0A%09%09%09oRm.writeAttribute(%22autocomplete%22, %22off%22);%0A%09%09%09oRm.writeAttribute(%22autocorrect%22, %22off%22);%0A%09%09%09oRm.writeAttribute(%22autocapitalize%22, %22off%22);%0A%09%09%7D;%0A%0A
 %09%09/**%0A%09%09 * A
@@ -2384,519 +2384,8 @@
 %7D;%0A%0A
-%09%09/**%0A%09%09 * Add inner styles to the ComboBox's input element.%0A%09%09 *%0A%09%09 * @param %7Bsap.ui.core.RenderManager%7D oRm The RenderManager that can be used for writing to the render output buffer.%0A%09%09 * @param %7Bsap.ui.core.Control%7D oControl An object representation of the control that should be rendered.%0A%09%09 */%0A%09%09ComboBoxBaseRenderer.addInnerStyles = function(oRm, oControl) %7B%0A%09%09%09oRm.writeAttribute(%22autocomplete%22, %22off%22);%0A%09%09%09oRm.writeAttribute(%22autocorrect%22, %22off%22);%0A%09%09%09oRm.writeAttribute(%22autocapitalize%22, %22off%22);%0A%09%09%7D;%0A%0A
 %09%09/*

use a semantic function name