Changeset 141623 in webkit


Ignore:
Timestamp:
Feb 1, 2013 12:11:15 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

[BlackBerry] InputHandler status is not restored when page history goes back
https://bugs.webkit.org/show_bug.cgi?id=108448

Patch by Sean Wang <Xuewen.Wang@torchmobile.com.cn> on 2013-02-01
Reviewed by Yong Li.

PR288406 Internally reviewed by Mike Fenton

When webpage goes back, it restores the old frame's selection and focused node,
but we don't save the InputHandler's status, it becomes non-input mode when page
goes back. When it restores the focus, since the new focus node is same as the old
document focused node, webcore will not notify client to update the input handler.

This patch updates the input handler's status by notifying it focus node changed.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::restoreViewState):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::restoreViewState):
(WebKit):

  • WebKitSupport/InputHandler.h:

(InputHandler):

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

Legend:

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

    r141481 r141623  
     12013-02-01  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
     2
     3        [BlackBerry] InputHandler status is not restored when page history goes back
     4        https://bugs.webkit.org/show_bug.cgi?id=108448
     5
     6        Reviewed by Yong Li.
     7
     8        PR288406 Internally reviewed by Mike Fenton
     9
     10        When webpage goes back, it restores the old frame's selection and focused node,
     11        but we don't save the InputHandler's status, it becomes non-input mode when page
     12        goes back. When it restores the focus, since the new focus node is same as the old
     13        document focused node, webcore will not notify client to update the input handler.
     14
     15        This patch updates the input handler's status by notifying it focus node changed.
     16
     17
     18        * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
     19        (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
     20        * WebKitSupport/InputHandler.cpp:
     21        (BlackBerry::WebKit::InputHandler::restoreViewState):
     22        (WebKit):
     23        * WebKitSupport/InputHandler.h:
     24        (InputHandler):
     25
    1262013-01-31  Jacky Jiang  <zhajiang@rim.com>
    227
  • trunk/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp

    r138846 r141623  
    11391139    bool orientationChanged = viewState.orientation % 180 != m_webPagePrivate->mainFrame()->orientation() % 180;
    11401140
     1141    m_webPagePrivate->m_inputHandler->restoreViewState();
     1142
    11411143    if (!scrollChanged && !scaleChanged && !reflowChanged && !orientationChanged)
    11421144        return;
  • trunk/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp

    r141043 r141623  
    24002400}
    24012401
    2402 }
    2403 }
     2402void InputHandler::restoreViewState()
     2403{
     2404    setInputModeEnabled();
     2405    focusedNodeChanged();
     2406}
     2407
     2408}
     2409}
  • trunk/Source/WebKit/blackberry/WebKitSupport/InputHandler.h

    r140980 r141623  
    155155    void setSystemSpellCheckStatus(bool enabled) { m_spellCheckStatusConfirmed = true; m_globalSpellCheckStatus = enabled; }
    156156
     157    void restoreViewState();
     158
    157159private:
    158160    enum PendingKeyboardStateChange { NoChange, Visible, NotVisible };
Note: See TracChangeset for help on using the changeset viewer.