Changeset 136876 in webkit


Ignore:
Timestamp:
Dec 6, 2012, 1:13:24 PM (12 years ago)
Author:
commit-queue@webkit.org
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 <sadrul@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:
Location:
trunk/Source/WebKit/chromium
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/chromium/ChangeLog

    r136861 r136876  
     12012-12-06  Sadrul Habib Chowdhury  <sadrul@chromium.org>
     2
     3        [chromium] Add some null-checks for the touch-lists in TouchEvent
     4        https://bugs.webkit.org/show_bug.cgi?id=104098
     5
     6        Reviewed by Adam Barth.
     7
     8        It is possible for the touch-lists to be NULL in a TouchEvent. V8TouchEvent checks for NULL
     9        touches(), targetTouches() and changedTouches(). So do the same for WebMouseEventBuilder.
     10
     11        * src/WebInputEventConversion.cpp:
     12        (WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
     13        * tests/WebInputEventConversionTest.cpp:
     14
    1152012-12-06  Xianzhu Wang  <wangxianzhu@chromium.org>
    216
  • trunk/Source/WebKit/chromium/src/WebInputEventConversion.cpp

    r136349 r136876  
    476476WebMouseEventBuilder::WebMouseEventBuilder(const Widget* widget, const WebCore::RenderObject* renderObject, const TouchEvent& event)
    477477{
     478    if (!event.touches())
     479        return;
    478480    if (event.touches()->length() != 1) {
    479         if (event.touches()->length() || event.type() != eventNames().touchendEvent || event.changedTouches()->length() != 1)
     481        if (event.touches()->length() || event.type() != eventNames().touchendEvent || !event.changedTouches() || event.changedTouches()->length() != 1)
    480482            return;
    481483    }
  • trunk/Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp

    r127711 r136876  
    3434
    3535#include "KeyboardEvent.h"
     36#include "TouchEvent.h"
    3637#include <gtest/gtest.h>
    3738
     
    3940using WebKit::WebKeyboardEvent;
    4041using WebKit::WebKeyboardEventBuilder;
     42using WebKit::WebMouseEventBuilder;
    4143
    4244namespace {
     
    7375}
    7476
     77TEST(WebInputEventConversionTest, WebTouchEventBuilder)
     78{
     79    RefPtr<WebCore::TouchEvent> event = WebCore::TouchEvent::create();
     80    WebMouseEventBuilder mouse(0, 0, *event);
     81    EXPECT_EQ(WebInputEvent::Undefined, mouse.type);
     82}
     83
    7584} // anonymous namespace
Note: See TracChangeset for help on using the changeset viewer.