summaryrefslogtreecommitdiffstats
path: root/client/src/main/resources/com/vaadin/Vaadin.gwt.xml
blob: 20951561b79def128781b6df76a04d3e50466b39 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<module>
    <!-- This GWT module inherits all Vaadin client side functionality modules. 
        This is the module you want to inherit in your client side project to be 
        able to use com.vaadin.* classes. -->

    <!-- 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" />

    <inherits name="com.google.gwt.logging.Logging" />
    <set-property name="gwt.logging.enabled" value="TRUE" />

    <source path="client" />
    <source path="shared" />

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

    <replace-with
        class="com.vaadin.client.communication.AtmospherePushConnection">
        <when-type-is class="com.vaadin.client.communication.PushConnection" />
    </replace-with>

    <!-- Set vaadin.profiler to true to include profiling support in the 
        module -->
    <define-property name="vaadin.profiler" values="true,false" />
    <set-property name="vaadin.profiler" value="false" />

    <replace-with class="com.vaadin.client.Profiler.EnabledProfiler">
        <when-type-is class="com.vaadin.client.Profiler" />
        <when-property-is name="vaadin.profiler" value="true" />
    </replace-with>

    <!-- Use the new cross site linker to get a nocache.js without document.write -->
    <add-linker name="xsiframe" />

    <set-property name="user.agent" value="gecko1_8,safari" />

    <!-- Pointer event support -->
    <define-property name="modernie" values="none,yes" />
    <property-provider name="modernie"><![CDATA[
      {
        var ua = $wnd.navigator.userAgent;
        if (ua.indexOf('MSIE') == -1 && ua.indexOf('Trident') != -1) { return 'yes'; }
        return 'none';
      }
    ]]></property-provider>

    <set-property name="modernie" value="none">
        <none>
            <when-property-is name="user.agent" value="gecko1_8" />
        </none>
    </set-property>
    
    <!-- If no proper user agent is found, at least try some, e.g. with crawlers -->
    <set-property-fallback name="user.agent" value="safari" />

    <!-- Fall through to this rule when the browser doesn't support pointer 
        event -->
    <replace-with class="com.vaadin.client.event.PointerEventSupportImpl">
        <when-type-is class="com.vaadin.client.event.PointerEventSupportImpl" />
    </replace-with>

    <replace-with
        class="com.vaadin.client.event.PointerEventSupportImplModernIE">
        <when-type-is class="com.vaadin.client.event.PointerEventSupportImpl" />
        <none>
            <when-property-is value="none" name="modernie" />
        </none>
    </replace-with>

    <replace-with
        class="com.vaadin.client.communication.DefaultConnectionStateHandler">
        <when-type-is
            class="com.vaadin.client.communication.ConnectionStateHandler" />
    </replace-with>

    <!-- Make Sass linking available -->
    <define-linker name="sass"
        class="com.vaadin.sass.linker.SassLinker" />

</module>