<module>
	<!-- This GWT module defines the Vaadin DefaultWidgetSet. This is the module
		you want to extend when creating an extended widget set, or when creating
		a specialized widget set with a subset of the components. -->

	<!-- Hint for WidgetSetBuilder not to automatically update the file -->
	<!-- WS Compiler: manually edited -->

	<inherits name="com.google.gwt.user.User" />

	<inherits name="com.google.gwt.http.HTTP" />

	<source path="client" />

	<!-- Use own Scheduler implementation to be able to track if commands are
		running -->
	<replace-with class="com.vaadin.terminal.gwt.client.VSchedulerImpl">
		<when-type-is class="com.google.gwt.core.client.impl.SchedulerImpl" />
	</replace-with>
	
	<replace-with class="com.vaadin.terminal.gwt.client.VDebugConsole">
		<when-type-is class="com.vaadin.terminal.gwt.client.Console" />
	</replace-with>

	<generate-with
		class="com.vaadin.terminal.gwt.widgetsetutils.WidgetMapGenerator">
		<when-type-is class="com.vaadin.terminal.gwt.client.WidgetMap" />
	</generate-with>

	<generate-with
		class="com.vaadin.terminal.gwt.widgetsetutils.AcceptCriteriaFactoryGenerator">
		<when-type-is
			class="com.vaadin.terminal.gwt.client.ui.dd.VAcceptCriterionFactory" />
	</generate-with>

	<!-- Fall through to this rule for everything but IE -->
	<replace-with
		class="com.vaadin.terminal.gwt.client.ui.UploadIFrameOnloadStrategy">
		<when-type-is
			class="com.vaadin.terminal.gwt.client.ui.UploadIFrameOnloadStrategy" />
	</replace-with>

	<replace-with
		class="com.vaadin.terminal.gwt.client.ui.UploadIFrameOnloadStrategyIE">
		<when-type-is
			class="com.vaadin.terminal.gwt.client.ui.UploadIFrameOnloadStrategy" />
		<any>
			<when-property-is name="user.agent" value="ie6" />
			<when-property-is name="user.agent" value="ie8" />
		</any>
	</replace-with>

    <replace-with
        class="com.vaadin.terminal.gwt.client.ui.VDragAndDropWrapperIE">
        <when-type-is
            class="com.vaadin.terminal.gwt.client.ui.VDragAndDropWrapper" />
        <any>
            <when-property-is name="user.agent" value="ie8" />
        </any>
    </replace-with>

	<!-- Workaround for #6682. Remove when fixed in GWT. -->
	<replace-with class="com.google.gwt.dom.client.VaadinDOMImplSafari">
		<when-type-is class="com.google.gwt.dom.client.DOMImpl" />
		<when-property-is name="user.agent" value="safari" />
	</replace-with>

	<entry-point class="com.vaadin.terminal.gwt.client.ApplicationConfiguration" />
	
	<!-- Use the new cross site linker to get a nocache.js without document.write -->
	<add-linker name="xsiframe" />	


</module>
