src/vs/workbench/browser/parts/editor/tabsTitleControl.ts/TabsTitleControl/doLayout
class TabsTitleControl:	private doLayout(dimensions: ITitleControlDimensions): void {

		// Only layout if we have valid tab index and dimensions
		const activeTabAndIndex = this.group.activeEditor ? this.getTabAndIndex(this.group.activeEditor) : undefined;
		if (activeTabAndIndex && dimensions.container !== Dimension.None && dimensions.available !== Dimension.None) {

			// Breadcrumbs
			this.doLayoutBreadcrumbs(dimensions);

			// Tabs
			const [activeTab, activeIndex] = activeTabAndIndex;
			this.doLayoutTabs(activeTab, activeIndex, dimensions);
		}

		// Remember the dimensions used in the control so that we can
		// return it fast from the `layout` call without having to
		// compute it over and over again
		const oldDimension = this.dimensions.used;
		const newDimension = this.dimensions.used = new Dimension(dimensions.container.width, this.computeHeight().total);

		// In case the height of the title control changed from before
		// (currently only possible if wrapping changed on/off), we need
		// to signal this to the outside via a `relayout` call so that
		// e.g. the editor control can be adjusted accordingly.
		if (oldDimension && oldDimension.height !== newDimension.height) {
			this.group.relayout();
		}
	}