    /**
     * @private
     */
    Ext.define('Ext.layout.component.field.FieldContainer', {

        /* Begin Definitions */

        extend: 'Ext.layout.component.field.Field',

        alias: 'layout.fieldcontainer',

        /* End Definitions */

        type: 'fieldcontainer',

        waitForOuterHeightInDom: true,
        waitForOuterWidthInDom: true,

        beginLayout: function(ownerContext) {
            var owner = this.owner;
            this.callParent(arguments);

            // Tell Component.measureAutoDimensions to measure the DOM when containerChildrenSizeDone is true
            ownerContext.hasRawContent = true;
            owner.bodyEl.setStyle('height', '');
            owner.containerEl.setStyle('height', '');
            ownerContext.containerElContext = ownerContext.getEl('containerEl');
        },

        measureContentHeight: function (ownerContext) {
            // since we are measuring the outer el, we have to wait for whatever is in our
            // container to be flushed to the DOM... especially for things like box layouts
            // that size the innerCt since that is all that will contribute to our size!
            return ownerContext.hasDomProp('containerLayoutDone') ? this.callParent(arguments) : NaN;
        },

        measureContentWidth: function (ownerContext) {
            // see measureContentHeight
            return ownerContext.hasDomProp('containerLayoutDone') ? this.callParent(arguments) : NaN;
        },

        publishInnerWidth: function (ownerContext, width) {
            var bodyContext = ownerContext.bodyCellContext,
                innerWidth = bodyContext.el.getWidth();

            bodyContext.setWidth(innerWidth, false);
            ownerContext.containerElContext.setWidth(innerWidth, false);
        },

        publishInnerHeight: function (ownerContext, height) {
            var bodyContext = ownerContext.bodyCellContext,
                containerElContext = ownerContext.containerElContext;

            height -= this.measureLabelErrorHeight(ownerContext);
            bodyContext.setHeight(height);
            containerElContext.setHeight(height);
        }
    });