Existence of window.Touch can break websites mobile device detection
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Jan 2013 17:58:11 +0000 (17:58 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 4 Jan 2013 17:58:11 +0000 (17:58 +0000)
https://bugs.webkit.org/show_bug.cgi?id=106071

Source/WebCore:

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Ojan Vafai.

Revert http://trac.webkit.org/changeset/135562 for now while I work
on a slightly safer version.

* page/DOMWindow.idl:

LayoutTests:

Revert http://trac.webkit.org/changeset/135562 for now while I work
on a slightly safer version.

Patch by Rick Byers <rbyers@chromium.org> on 2013-01-04
Reviewed by Ojan Vafai.

* fast/events/touch/document-create-touch-list-expected.txt:
* fast/events/touch/script-tests/document-create-touch-list.js:
* platform/efl/fast/js/global-constructors-expected.txt:
* platform/qt-5.0/fast/js/global-constructors-expected.txt:
* platform/qt/fast/js/global-constructors-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@138808 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/events/touch/document-create-touch-list-expected.txt
LayoutTests/fast/events/touch/script-tests/document-create-touch-list.js
LayoutTests/platform/efl/fast/js/global-constructors-expected.txt
LayoutTests/platform/qt-5.0/fast/js/global-constructors-expected.txt
LayoutTests/platform/qt/fast/js/global-constructors-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/page/DOMWindow.idl

index 372daf6..9e7e1a2 100644 (file)
@@ -1,3 +1,19 @@
+2013-01-04  Rick Byers  <rbyers@chromium.org>
+
+        Existence of window.Touch can break websites mobile device detection
+        https://bugs.webkit.org/show_bug.cgi?id=106071
+
+        Revert http://trac.webkit.org/changeset/135562 for now while I work
+        on a slightly safer version.
+
+        Reviewed by Ojan Vafai.
+
+        * fast/events/touch/document-create-touch-list-expected.txt:
+        * fast/events/touch/script-tests/document-create-touch-list.js:
+        * platform/efl/fast/js/global-constructors-expected.txt:
+        * platform/qt-5.0/fast/js/global-constructors-expected.txt:
+        * platform/qt/fast/js/global-constructors-expected.txt:
+
 2013-01-04  Csaba Osztrogon√°c  <ossy@webkit.org>
 
         [Qt][WK2] Unreviewed gardening, unskip a now passing test.
index 21386ec..e2940e1 100644 (file)
@@ -9,10 +9,7 @@ PASS touchList.length is 0
 PASS touchList.item(0) is null
 PASS touchList.item(1) is null
 PASS touchList.item() threw exception TypeError: Not enough arguments.
-PASS ts instanceof TouchEvent is true
-PASS ts.touches instanceof TouchList is true
 PASS ts.touches.length is 2
-PASS ts.touches[0] instanceof Touch is true
 PASS ts.touches[0].identifier is 12341
 PASS ts.touches[0].clientX is 60
 PASS ts.touches[1].screenY is 120
index 56de524..94cfd51 100644 (file)
@@ -21,10 +21,7 @@ try {
 
     document.body.addEventListener("touchstart", function handleTouchStart(ev) {
         ts = ev;
-        shouldBeTrue("ts instanceof TouchEvent");
-        shouldBeTrue("ts.touches instanceof TouchList");
         shouldBe("ts.touches.length", "2");
-        shouldBeTrue("ts.touches[0] instanceof Touch");
         shouldBe("ts.touches[0].identifier", "12341");
         shouldBe("ts.touches[0].clientX", "60");
         shouldBe("ts.touches[1].screenY", "120");
index 0c9b8b2..468dcc4 100644 (file)
@@ -322,9 +322,7 @@ PASS TextTrackCue.toString() is '[object TextTrackCueConstructor]'
 PASS TextTrackCueList.toString() is '[object TextTrackCueListConstructor]'
 PASS TextTrackList.toString() is '[object TextTrackListConstructor]'
 PASS TimeRanges.toString() is '[object TimeRangesConstructor]'
-PASS Touch.toString() is '[object TouchConstructor]'
 PASS TouchEvent.toString() is '[object TouchEventConstructor]'
-PASS TouchList.toString() is '[object TouchListConstructor]'
 PASS TrackEvent.toString() is '[object TrackEventConstructor]'
 PASS UIEvent.toString() is '[object UIEventConstructor]'
 PASS URL.toString() is '[object URLConstructor]'
index f1b82b0..babc079 100644 (file)
@@ -312,9 +312,7 @@ PASS Text.toString() is '[object TextConstructor]'
 PASS TextEvent.toString() is '[object TextEventConstructor]'
 PASS TextMetrics.toString() is '[object TextMetricsConstructor]'
 PASS TimeRanges.toString() is '[object TimeRangesConstructor]'
-PASS Touch.toString() is '[object TouchConstructor]'
 PASS TouchEvent.toString() is '[object TouchEventConstructor]'
-PASS TouchList.toString() is '[object TouchListConstructor]'
 PASS UIEvent.toString() is '[object UIEventConstructor]'
 PASS URL.toString() is '[object URLConstructor]'
 PASS WebGLContextEvent.toString() is '[object WebGLContextEventConstructor]'
index 58a760b..152069d 100644 (file)
@@ -295,9 +295,7 @@ PASS Text.toString() is '[object TextConstructor]'
 PASS TextEvent.toString() is '[object TextEventConstructor]'
 PASS TextMetrics.toString() is '[object TextMetricsConstructor]'
 PASS TimeRanges.toString() is '[object TimeRangesConstructor]'
-PASS Touch.toString() is '[object TouchConstructor]'
 PASS TouchEvent.toString() is '[object TouchEventConstructor]'
-PASS TouchList.toString() is '[object TouchListConstructor]'
 PASS UIEvent.toString() is '[object UIEventConstructor]'
 PASS WebGLContextEvent.toString() is '[object WebGLContextEventConstructor]'
 PASS WebKitAnimationEvent.toString() is '[object WebKitAnimationEventConstructor]'
index c41d664..ffcb2f0 100644 (file)
@@ -1,3 +1,15 @@
+2013-01-04  Rick Byers  <rbyers@chromium.org>
+
+        Existence of window.Touch can break websites mobile device detection
+        https://bugs.webkit.org/show_bug.cgi?id=106071
+
+        Reviewed by Ojan Vafai.
+
+        Revert http://trac.webkit.org/changeset/135562 for now while I work
+        on a slightly safer version.
+
+        * page/DOMWindow.idl:
+
 2013-01-04  Martin Robinson  <mrobinson@igalia.com>
 
         [GTK] [WebKit2] Clicking on a word that is selected in an editable area deletes it
index 05b3ee7..874d876 100644 (file)
     attribute XMLHttpRequestProgressEventConstructor XMLHttpRequestProgressEvent;
     [Conditional=DEVICE_ORIENTATION, V8EnabledAtRuntime] attribute DeviceMotionEventConstructor DeviceMotionEvent;
     [Conditional=DEVICE_ORIENTATION, V8EnabledAtRuntime] attribute DeviceOrientationEventConstructor DeviceOrientationEvent;
-    [Conditional=TOUCH_EVENTS] attribute TouchConstructor Touch;
     [Conditional=TOUCH_EVENTS] attribute TouchEventConstructor TouchEvent;
-    [Conditional=TOUCH_EVENTS] attribute TouchListConstructor TouchList;
     attribute StorageEventConstructor StorageEvent;
     [Conditional=INPUT_SPEECH] attribute SpeechInputEventConstructor SpeechInputEvent;
     [Conditional=WEBGL] attribute WebGLContextEventConstructor WebGLContextEvent;