Title: [136876] trunk/Source/WebKit/chromium
- Revision
- 136876
- Author
- commit-qu...@webkit.org
- Date
- 2012-12-06 13:13:24 -0800 (Thu, 06 Dec 2012)
Log Message
[chromium] Add some null-checks for the touch-lists in TouchEvent
https://bugs.webkit.org/show_bug.cgi?id=104098
Patch by Sadrul Habib Chowdhury <sad...@chromium.org> on 2012-12-06
Reviewed by Adam Barth.
It is possible for the touch-lists to be NULL in a TouchEvent. V8TouchEvent checks for NULL
touches(), targetTouches() and changedTouches(). So do the same for WebMouseEventBuilder.
* src/WebInputEventConversion.cpp:
(WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
* tests/WebInputEventConversionTest.cpp:
Modified Paths
Diff
Modified: trunk/Source/WebKit/chromium/ChangeLog (136875 => 136876)
--- trunk/Source/WebKit/chromium/ChangeLog 2012-12-06 21:09:58 UTC (rev 136875)
+++ trunk/Source/WebKit/chromium/ChangeLog 2012-12-06 21:13:24 UTC (rev 136876)
@@ -1,3 +1,17 @@
+2012-12-06 Sadrul Habib Chowdhury <sad...@chromium.org>
+
+ [chromium] Add some null-checks for the touch-lists in TouchEvent
+ https://bugs.webkit.org/show_bug.cgi?id=104098
+
+ Reviewed by Adam Barth.
+
+ It is possible for the touch-lists to be NULL in a TouchEvent. V8TouchEvent checks for NULL
+ touches(), targetTouches() and changedTouches(). So do the same for WebMouseEventBuilder.
+
+ * src/WebInputEventConversion.cpp:
+ (WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
+ * tests/WebInputEventConversionTest.cpp:
+
2012-12-06 Xianzhu Wang <wangxian...@chromium.org>
[Chromium] Expose acceleratedCompositingForScrollableFramesEnabled in WebKit API
Modified: trunk/Source/WebKit/chromium/src/WebInputEventConversion.cpp (136875 => 136876)
--- trunk/Source/WebKit/chromium/src/WebInputEventConversion.cpp 2012-12-06 21:09:58 UTC (rev 136875)
+++ trunk/Source/WebKit/chromium/src/WebInputEventConversion.cpp 2012-12-06 21:13:24 UTC (rev 136876)
@@ -475,8 +475,10 @@
WebMouseEventBuilder::WebMouseEventBuilder(const Widget* widget, const WebCore::RenderObject* renderObject, const TouchEvent& event)
{
+ if (!event.touches())
+ return;
if (event.touches()->length() != 1) {
- if (event.touches()->length() || event.type() != eventNames().touchendEvent || event.changedTouches()->length() != 1)
+ if (event.touches()->length() || event.type() != eventNames().touchendEvent || !event.changedTouches() || event.changedTouches()->length() != 1)
return;
}
Modified: trunk/Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp (136875 => 136876)
--- trunk/Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp 2012-12-06 21:09:58 UTC (rev 136875)
+++ trunk/Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp 2012-12-06 21:13:24 UTC (rev 136876)
@@ -33,11 +33,13 @@
#include "WebInputEventConversion.h"
#include "KeyboardEvent.h"
+#include "TouchEvent.h"
#include <gtest/gtest.h>
using WebKit::WebInputEvent;
using WebKit::WebKeyboardEvent;
using WebKit::WebKeyboardEventBuilder;
+using WebKit::WebMouseEventBuilder;
namespace {
@@ -72,4 +74,11 @@
EXPECT_FALSE(modifiers & WebInputEvent::IsLeft || modifiers & WebInputEvent::IsRight);
}
+TEST(WebInputEventConversionTest, WebTouchEventBuilder)
+{
+ RefPtr<WebCore::TouchEvent> event = WebCore::TouchEvent::create();
+ WebMouseEventBuilder mouse(0, 0, *event);
+ EXPECT_EQ(WebInputEvent::Undefined, mouse.type);
+}
+
} // anonymous namespace
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes