Changeset 150779 in webkit


Ignore:
Timestamp:
May 27, 2013 2:59:52 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

[BlackBerry] Clear supression flag when caret changes aren't propogated through
https://bugs.webkit.org/show_bug.cgi?id=116840

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-05-27
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

PR339965
We set and clear the flag upon every use. This leaves us vulnerable if

  1. midway through processing the selection change event is dismissed and
  2. we don't receive a TouchRelease event

One example of this is while dragging the FCC handle we start typing. To
safeguard against this, if the process change guard is set during a
selection change event, we send out to clear the flag status before returning.

  • Api/WebPageClient.h:
  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::selectionChanged):

Location:
trunk/Source/WebKit/blackberry
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/blackberry/Api/WebPageClient.h

    r150628 r150779  
    277277    virtual void startSelectionScroll() = 0;
    278278    virtual void stopExpandingSelection() = 0;
     279    virtual void suppressCaretChangeNotification(bool shouldClearState) = 0;
    279280};
    280281} // namespace WebKit
  • trunk/Source/WebKit/blackberry/ChangeLog

    r150770 r150779  
     12013-05-27  Nima Ghanavatian  <nghanavatian@blackberry.com>
     2
     3        [BlackBerry] Clear supression flag when caret changes aren't propogated through
     4        https://bugs.webkit.org/show_bug.cgi?id=116840
     5
     6        Reviewed by Rob Buis.
     7
     8        Internally reviewed by Mike Fenton.
     9
     10        PR339965
     11        We set and clear the flag upon every use. This leaves us vulnerable if
     12        1. midway through processing the selection change event is dismissed and
     13        2. we don't receive a TouchRelease event
     14        One example of this is while dragging the FCC handle we start typing. To
     15        safeguard against this, if the process change guard is set during a
     16        selection change event, we send out to clear the flag status before returning.
     17
     18        * Api/WebPageClient.h:
     19        * WebKitSupport/InputHandler.cpp:
     20        (BlackBerry::WebKit::InputHandler::selectionChanged):
     21
    1222013-05-27  Andy Chen  <andchen@blackberry.com>
    223
  • trunk/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp

    r150641 r150779  
    17041704        return;
    17051705
    1706     if (processingChange())
    1707         return;
     1706    if (processingChange()) {
     1707        m_webPage->m_client->suppressCaretChangeNotification(true /*shouldClearState*/);
     1708        return;
     1709    }
    17081710
    17091711    // Scroll the field if necessary. This must be done even if we are processing
Note: See TracChangeset for help on using the changeset viewer.