Esempio n. 1
0
bool WebViewInputMethodFilter::sendKeyEventWithCompositionResults(GdkEventKey* event, ResultsToSend resultsToSend, EventFakedForComposition)
{
    PlatformKeyboardEvent platformEvent(event, CompositionResults(CompositionResults::WillSendCompositionResultsSoon));
    if (!focusedOrMainFrame()->eventHandler().keyEvent(platformEvent))
        return false;

    if (resultsToSend & Composition && !m_confirmedComposition.isNull())
        confirmCompositionText(m_confirmedComposition);
    if (resultsToSend & Preedit && !m_preedit.isNull())
        setPreedit(m_preedit, m_cursorOffset);
    return true;
}
Esempio n. 2
0
void InputMethodFilter::handleKeyboardEvent(GdkEventKey* event, const String& simpleString, EventFakedForComposition faked)
{
#if ENABLE(API_TESTS)
    if (m_testingMode) {
        logHandleKeyboardEventForTesting(event, simpleString, faked);
        return;
    }
#endif

    if (m_filterKeyEventCompletionHandler) {
        m_filterKeyEventCompletionHandler(CompositionResults(simpleString), faked);
        m_filterKeyEventCompletionHandler = nullptr;
    } else
        m_page->handleKeyboardEvent(NativeWebKeyboardEvent(reinterpret_cast<GdkEvent*>(event), CompositionResults(simpleString), faked, Vector<String>()));
}
Esempio n. 3
0
void InputMethodFilter::handleKeyboardEventWithCompositionResults(GdkEventKey* event, ResultsToSend resultsToSend, EventFakedForComposition faked)
{
#if ENABLE(API_TESTS)
    if (m_testingMode) {
        logHandleKeyboardEventWithCompositionResultsForTesting(event, resultsToSend, faked);
        return;
    }
#endif

    if (m_filterKeyEventCompletionHandler) {
        m_filterKeyEventCompletionHandler(CompositionResults(CompositionResults::WillSendCompositionResultsSoon), faked);
        m_filterKeyEventCompletionHandler = nullptr;
    } else
        m_page->handleKeyboardEvent(NativeWebKeyboardEvent(reinterpret_cast<GdkEvent*>(event), CompositionResults(CompositionResults::WillSendCompositionResultsSoon), faked, Vector<String>()));
    if (resultsToSend & Composition && !m_confirmedComposition.isNull())
        m_page->confirmComposition(m_confirmedComposition, -1, 0);

    if (resultsToSend & Preedit && !m_preedit.isNull()) {
        m_page->setComposition(m_preedit, Vector<CompositionUnderline>{ CompositionUnderline(0, m_preedit.length(), Color(1, 1, 1), false) },
            m_cursorOffset, m_cursorOffset, 0 /* replacement start */, 0 /* replacement end */);
    }
}
Esempio n. 4
0
bool WebViewInputMethodFilter::sendSimpleKeyEvent(GdkEventKey* event, WTF::String simpleString, EventFakedForComposition)
{
    PlatformKeyboardEvent platformEvent(event, CompositionResults(simpleString));
    return focusedOrMainFrame()->eventHandler().keyEvent(platformEvent);
}