Revision: 9333
Author: [email protected]
Date: Wed Dec 1 10:08:22 2010
Log: Disable tests using toDataURL() or getImageData() on Safari 3.
Review at http://gwt-code-reviews.appspot.com/1176801
Review by: [email protected]
http://code.google.com/p/google-web-toolkit/source/detail?r=9333
Modified:
/trunk/user/src/com/google/gwt/dom/client/DOMImplMozilla.java
/trunk/user/src/com/google/gwt/dom/client/DOMImplSafari.java
/trunk/user/test/com/google/gwt/canvas/client/CanvasTest.java
/trunk/user/test/com/google/gwt/canvas/dom/client/Context2dTest.java
=======================================
--- /trunk/user/src/com/google/gwt/dom/client/DOMImplMozilla.java Tue Nov
30 06:11:17 2010
+++ /trunk/user/src/com/google/gwt/dom/client/DOMImplMozilla.java Wed Dec
1 10:08:22 2010
@@ -19,8 +19,6 @@
* Mozilla implementation of StandardBrowser.
*/
class DOMImplMozilla extends DOMImplStandard {
- private static boolean isGecko190OrBefore;
- private static boolean isGecko190OrBeforeDetected;
/**
* Return true if using Gecko 1.9.0 (Firefox 3) or earlier.
@@ -28,20 +26,7 @@
* @return true if using Gecko 1.9.0 (Firefox 3) or earlier.
*/
@SuppressWarnings("unused")
- static boolean isGecko190OrBefore() {
- if (!isGecko190OrBeforeDetected) {
- isGecko190OrBefore = isGecko190OrBeforeImpl();
- isGecko190OrBeforeDetected = true;
- }
- return isGecko190OrBefore;
- }
-
- /**
- * Return true if using Gecko 1.9.0 (Firefox 3) or earlier.
- *
- * @return true if using Gecko 1.9.0 (Firefox 3) or earlier.
- */
- private static native boolean isGecko190OrBeforeImpl() /*-{
+ private static native boolean isGecko190OrBefore() /*-{
var result =
/rv:([0-9]+)\.([0-9]+)\.([0-9]+)?/.exec(navigator.userAgent.toLowerCase());
if (result && result.length >= 3) {
var version = (parseInt(result[1]) * 1000000) + (parseInt(result[2])
* 1000) +
=======================================
--- /trunk/user/src/com/google/gwt/dom/client/DOMImplSafari.java Thu Sep 23
12:26:00 2010
+++ /trunk/user/src/com/google/gwt/dom/client/DOMImplSafari.java Wed Dec 1
10:08:22 2010
@@ -22,6 +22,23 @@
*/
class DOMImplSafari extends DOMImplStandard {
+ /**
+ * Return true if using Webkit 525.x (Safari 3) or earlier.
+ *
+ * @return true if using Webkit 525.x (Safari 3) or earlier.
+ */
+ @SuppressWarnings("unused")
+ private static native boolean isWebkit525OrBefore() /*-{
+ var result =
/safari\/([\d.]+)/.exec(navigator.userAgent.toLowerCase());
+ if (result) {
+ var version = (parseFloat(result[1]));
+ if (version < 526) {
+ return true;
+ }
+ }
+ return false;
+ }-*/;
+
private static class ClientRect extends JavaScriptObject {
@SuppressWarnings("unused")
=======================================
--- /trunk/user/test/com/google/gwt/canvas/client/CanvasTest.java Tue Nov
30 06:11:17 2010
+++ /trunk/user/test/com/google/gwt/canvas/client/CanvasTest.java Wed Dec
1 10:08:22 2010
@@ -34,6 +34,10 @@
protected Canvas canvas1;
protected Canvas canvas2;
+ native boolean isWebkit525OrBefore() /*-{
+ return
@com.google.gwt.dom.client.DOMImplSafari::isWebkit525OrBefore()();
+ }-*/;
+
@Override
public String getModuleName() {
return "com.google.gwt.canvas.Canvas";
@@ -68,6 +72,12 @@
if (!canvas1.isSupported()) {
return; // disable tests if not supported
}
+
+ // Safari 3.0 does not support toDataURL(), so the following tests are
disabled for
+ // Safari 3.0 and before.
+ if (isWebkit525OrBefore()) {
+ return;
+ }
canvas1.setHeight("0px");
canvas1.setWidth("0px");
@@ -141,6 +151,12 @@
if (!canvas1.isSupported()) {
return; // disable tests if not supported
}
+
+ // Safari 3.0 does not support toDataURL(), so the following tests are
disabled for
+ // Safari 3.0 and before.
+ if (isWebkit525OrBefore()) {
+ return;
+ }
canvas1.setHeight("10px");
canvas1.setWidth("10px");
=======================================
--- /trunk/user/test/com/google/gwt/canvas/dom/client/Context2dTest.java
Tue Nov 30 06:11:17 2010
+++ /trunk/user/test/com/google/gwt/canvas/dom/client/Context2dTest.java
Wed Dec 1 10:08:22 2010
@@ -40,9 +40,13 @@
protected Canvas canvas2;
native boolean isGecko190OrBefore() /*-{
- return
@com.google.gwt.dom.client.DOMImplMozilla::isGecko190OrBeforeImpl()();
+ return
@com.google.gwt.dom.client.DOMImplMozilla::isGecko190OrBefore()();
}-*/;
+ native boolean isWebkit525OrBefore() /*-{
+ return
@com.google.gwt.dom.client.DOMImplSafari::isWebkit525OrBefore()();
+ }-*/;
+
@Override
public String getModuleName() {
return "com.google.gwt.canvas.Canvas";
@@ -70,6 +74,12 @@
if (!canvas1.isSupported()) {
return; // disable tests if not supported
}
+
+ // Safari 3.0 does not support getImageData(), so the following tests
are disabled for
+ // Safari 3.0 and before.
+ if (isWebkit525OrBefore()) {
+ return;
+ }
canvas1.setHeight("40px");
canvas1.setWidth("60px");
@@ -195,6 +205,12 @@
if (!canvas1.isSupported()) {
return; // disable tests if not supported
}
+
+ // Safari 3.0 does not support getImageData(), so the following tests
are disabled for
+ // Safari 3.0 and before.
+ if (isWebkit525OrBefore()) {
+ return;
+ }
canvas1.setHeight("40px");
canvas1.setWidth("60px");
@@ -241,6 +257,12 @@
if (isGecko190OrBefore()) {
return;
}
+
+ // Safari 3.0 does not support getImageData(), so the following tests
are disabled for
+ // Safari 3.0 and before.
+ if (isWebkit525OrBefore()) {
+ return;
+ }
canvas1.setHeight("40px");
canvas1.setWidth("60px");
@@ -357,6 +379,12 @@
if (!canvas1.isSupported()) {
return; // disable tests if not supported
}
+
+ // Safari 3.0 does not support getImageData(), so the following tests
are disabled for
+ // Safari 3.0 and before.
+ if (isWebkit525OrBefore()) {
+ return;
+ }
canvas1.setHeight("40px");
canvas1.setWidth("60px");
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors