<!--
  Copyright 2010 Google Inc.

  Licensed under the Apache License, Version 2.0 (the "License"); you may not
  use this file except in compliance with the License. You may obtain a copy of
  the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  License for the specific language governing permissions and limitations under
  the License.
-->
<module type="fileset">
  <inherits name="com.google.gwt.user.User"/>
  <inherits name="com.google.gwt.canvas.dom.DOM"/>

  <!-- Define the support property -->
  <define-property name="canvasElementSupport" values="maybe,no" />

  <!-- Give default support value of maybe -->
  <set-property name="canvasElementSupport" value="maybe" />

  <!-- Give default support value of no to unsupported browsers -->
  <set-property name="canvasElementSupport" value="no">
    <any>
      <when-property-is name="user.agent" value="ie6" />
      <when-property-is name="user.agent" value="ie8" />
    </any>
  </set-property>

  <replace-with class="com.google.gwt.canvas.client.Canvas.CanvasElementSupportDetectedMaybe">
    <when-type-is class="com.google.gwt.canvas.client.Canvas.CanvasElementSupportDetector" />
    <when-property-is name="canvasElementSupport" value="maybe" />
  </replace-with>

  <replace-with class="com.google.gwt.canvas.client.Canvas.CanvasElementSupportDetectedNo">
    <when-type-is class="com.google.gwt.canvas.client.Canvas.CanvasElementSupportDetector" />
    <when-property-is name="canvasElementSupport" value="no" />
  </replace-with>

  <source path="client"/>
  <public path="public" />
</module>
