| Differences between
and this patch
- WebCore/page/EventHandler.cpp +2 lines
Lines 1812-1820 void EventHandler::defaultKeyboardEventH WebCore/page/EventHandler.cpp_sec1
1812
        if (event->keyIdentifier() == "U+0009")
1812
        if (event->keyIdentifier() == "U+0009")
1813
            defaultTabEventHandler(event);
1813
            defaultTabEventHandler(event);
1814
1814
1815
#if !PLATFORM(GTK)
1815
       // provides KB navigation and selection for enhanced accessibility users
1816
       // provides KB navigation and selection for enhanced accessibility users
1816
       if (AXObjectCache::accessibilityEnhancedUserInterfaceEnabled())
1817
       if (AXObjectCache::accessibilityEnhancedUserInterfaceEnabled())
1817
           handleKeyboardSelectionMovement(event);       
1818
           handleKeyboardSelectionMovement(event);       
1819
#endif
1818
   }
1820
   }
1819
   if (event->type() == keypressEvent) {
1821
   if (event->type() == keypressEvent) {
1820
        m_frame->editor()->handleKeyboardEvent(event);
1822
        m_frame->editor()->handleKeyboardEvent(event);
- WebCore/page/Frame.cpp -1 / +2 lines
Lines 31-36 WebCore/page/Frame.cpp_sec1
31
#include "FramePrivate.h"
31
#include "FramePrivate.h"
32
32
33
#include "ApplyStyleCommand.h"
33
#include "ApplyStyleCommand.h"
34
#include "AXObjectCache.h"
34
#include "BeforeUnloadEvent.h"
35
#include "BeforeUnloadEvent.h"
35
#include "CSSComputedStyleDeclaration.h"
36
#include "CSSComputedStyleDeclaration.h"
36
#include "CSSProperty.h"
37
#include "CSSProperty.h"
Lines 561-567 void Frame::selectionLayoutChanged() WebCore/page/Frame.cpp_sec2
561
    bool caretRectChanged = selection()->recomputeCaretRect();
562
    bool caretRectChanged = selection()->recomputeCaretRect();
562
563
563
    bool shouldBlink = d->m_caretVisible
564
    bool shouldBlink = d->m_caretVisible
564
        && selection()->isCaret() && selection()->isContentEditable();
565
        && selection()->isCaret() && (selection()->isContentEditable() || AXObjectCache::accessibilityEnhancedUserInterfaceEnabled());
565
566
566
    // If the caret moved, stop the blink timer so we can restart with a
567
    // If the caret moved, stop the blink timer so we can restart with a
567
    // black caret in the new location.
568
    // black caret in the new location.
- WebCore/rendering/RenderBlock.cpp -1 / +2 lines
Lines 23-28 WebCore/rendering/RenderBlock.cpp_sec1
23
#include "config.h"
23
#include "config.h"
24
#include "RenderBlock.h"
24
#include "RenderBlock.h"
25
25
26
#include "AXObjectCache.h"
26
#include "Document.h"
27
#include "Document.h"
27
#include "Element.h"
28
#include "Element.h"
28
#include "Frame.h"
29
#include "Frame.h"
Lines 1651-1657 void RenderBlock::paintCaret(PaintInfo& WebCore/rendering/RenderBlock.cpp_sec2
1651
        return;
1652
        return;
1652
    // if caretNode is a block and caret is inside it then caret should be painted by that block
1653
    // if caretNode is a block and caret is inside it then caret should be painted by that block
1653
    bool cursorInsideBlockCaretNode = renderer->isBlockFlow() && selection->isInsideNode();
1654
    bool cursorInsideBlockCaretNode = renderer->isBlockFlow() && selection->isInsideNode();
1654
    if ((cursorInsideBlockCaretNode ? renderer : renderer->containingBlock()) == this && selection->isContentEditable()) {
1655
    if ((cursorInsideBlockCaretNode ? renderer : renderer->containingBlock()) == this && (selection->isContentEditable() || AXObjectCache::accessibilityEnhancedUserInterfaceEnabled())) {
1655
        if (type == CursorCaret)
1656
        if (type == CursorCaret)
1656
            document()->frame()->paintCaret(paintInfo.context, paintInfo.rect);
1657
            document()->frame()->paintCaret(paintInfo.context, paintInfo.rect);
1657
        else
1658
        else
- WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp -5 / +8 lines
Lines 313-333 void EditorClient::toggleGrammarChecking WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp_sec1
313
void EditorClient::handleKeyboardEvent(KeyboardEvent* event)
313
void EditorClient::handleKeyboardEvent(KeyboardEvent* event)
314
{
314
{
315
    Frame* frame = core(m_webView)->focusController()->focusedOrMainFrame();
315
    Frame* frame = core(m_webView)->focusController()->focusedOrMainFrame();
316
    if (!frame || !frame->document()->focusedNode())
316
    //if (!frame || !frame->document()->focusedNode())
317
    //    return;
318
    if (!frame)
317
        return;
319
        return;
318
320
319
    const PlatformKeyboardEvent* kevent = event->keyEvent();
321
    const PlatformKeyboardEvent* kevent = event->keyEvent();
320
    if (!kevent || kevent->type() == PlatformKeyboardEvent::KeyUp)
322
    if (!kevent || kevent->type() == PlatformKeyboardEvent::KeyUp)
321
        return;
323
        return;
322
324
323
    Node* start = frame->selection()->start().node();
325
    //Node* start = frame->selection()->start().node();
324
    if (!start)
326
    //if (!start)
325
        return;
327
    //    return;
326
328
327
    // FIXME: Use GtkBindingSet instead of this hard-coded switch
329
    // FIXME: Use GtkBindingSet instead of this hard-coded switch
328
    // http://bugs.webkit.org/show_bug.cgi?id=15911
330
    // http://bugs.webkit.org/show_bug.cgi?id=15911
329
331
330
    if (start->isContentEditable()) {
332
    //if (true || start->isContentEditable()) {
333
    if (true) {
331
        switch (kevent->windowsVirtualKeyCode()) {
334
        switch (kevent->windowsVirtualKeyCode()) {
332
            case VK_BACK:
335
            case VK_BACK:
333
                frame->editor()->deleteWithDirection(SelectionController::BACKWARD,
336
                frame->editor()->deleteWithDirection(SelectionController::BACKWARD,

Return to Bug 16135