Changeset 206915 in webkit


Ignore:
Timestamp:
Oct 7, 2016 9:39:21 AM (7 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, rolling out r206909.
https://bugs.webkit.org/show_bug.cgi?id=163116

Caused most of GTK layout tests to crash (Requested by KaL on
#webkit).

Reverted changeset:

"[GTK] UIProcess crashes when using Japanese IM"
https://bugs.webkit.org/show_bug.cgi?id=163011
http://trac.webkit.org/changeset/206909

Location:
trunk/Source/WebKit2
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r206913 r206915  
     12016-10-07  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r206909.
     4        https://bugs.webkit.org/show_bug.cgi?id=163116
     5
     6        Caused most of  GTK layout tests to crash (Requested by KaL on
     7        #webkit).
     8
     9        Reverted changeset:
     10
     11        "[GTK] UIProcess crashes when using Japanese IM"
     12        https://bugs.webkit.org/show_bug.cgi?id=163011
     13        http://trac.webkit.org/changeset/206909
     14
    1152016-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
    216
  • trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp

    r206909 r206915  
    675675}
    676676
    677 static gboolean webkitWebViewBaseKeyPressEvent(GtkWidget* widget, GdkEventKey* keyEvent)
     677static gboolean webkitWebViewBaseKeyPressEvent(GtkWidget* widget, GdkEventKey* event)
    678678{
    679679    WebKitWebViewBase* webViewBase = WEBKIT_WEB_VIEW_BASE(widget);
     
    681681
    682682    if (priv->authenticationDialog)
    683         return GTK_WIDGET_CLASS(webkit_web_view_base_parent_class)->key_press_event(widget, keyEvent);
     683        return GTK_WIDGET_CLASS(webkit_web_view_base_parent_class)->key_press_event(widget, event);
    684684
    685685#if ENABLE(FULLSCREEN_API)
    686686    if (priv->fullScreenModeActive) {
    687         switch (keyEvent->keyval) {
     687        switch (event->keyval) {
    688688        case GDK_KEY_Escape:
    689689        case GDK_KEY_f:
     
    703703    if (priv->shouldForwardNextKeyEvent) {
    704704        priv->shouldForwardNextKeyEvent = FALSE;
    705         return GTK_WIDGET_CLASS(webkit_web_view_base_parent_class)->key_press_event(widget, keyEvent);
    706     }
    707 
    708     // We need to copy the event as otherwise it could be destroyed before we reach the lambda body.
    709     GUniquePtr<GdkEvent> event(gdk_event_copy(reinterpret_cast<GdkEvent*>(keyEvent)));
    710     priv->inputMethodFilter.filterKeyEvent(&event->key, [priv, event = WTFMove(event)](const WebCore::CompositionResults& compositionResults, InputMethodFilter::EventFakedForComposition faked) {
    711         priv->pageProxy->handleKeyboardEvent(NativeWebKeyboardEvent(event.get(), compositionResults, faked,
    712             !compositionResults.compositionUpdated() ? priv->keyBindingTranslator.commandsForKeyEvent(&event->key) : Vector<String>()));
     705        return GTK_WIDGET_CLASS(webkit_web_view_base_parent_class)->key_press_event(widget, event);
     706    }
     707
     708    priv->inputMethodFilter.filterKeyEvent(event, [priv, event](const WebCore::CompositionResults& compositionResults, InputMethodFilter::EventFakedForComposition faked) {
     709        priv->pageProxy->handleKeyboardEvent(NativeWebKeyboardEvent(reinterpret_cast<GdkEvent*>(event), compositionResults, faked,
     710            !compositionResults.compositionUpdated() ? priv->keyBindingTranslator.commandsForKeyEvent(event) : Vector<String>()));
    713711    });
    714712
     
    716714}
    717715
    718 static gboolean webkitWebViewBaseKeyReleaseEvent(GtkWidget* widget, GdkEventKey* keyEvent)
     716static gboolean webkitWebViewBaseKeyReleaseEvent(GtkWidget* widget, GdkEventKey* event)
    719717{
    720718    WebKitWebViewBase* webViewBase = WEBKIT_WEB_VIEW_BASE(widget);
     
    723721    if (priv->shouldForwardNextKeyEvent) {
    724722        priv->shouldForwardNextKeyEvent = FALSE;
    725         return GTK_WIDGET_CLASS(webkit_web_view_base_parent_class)->key_release_event(widget, keyEvent);
    726     }
    727 
    728     // We need to copy the event as otherwise it could be destroyed before we reach the lambda body.
    729     GUniquePtr<GdkEvent> event(gdk_event_copy(reinterpret_cast<GdkEvent*>(keyEvent)));
    730     priv->inputMethodFilter.filterKeyEvent(&event->key, [priv, event = WTFMove(event)](const WebCore::CompositionResults& compositionResults, InputMethodFilter::EventFakedForComposition faked) {
    731         priv->pageProxy->handleKeyboardEvent(NativeWebKeyboardEvent(event.get(), compositionResults, faked, { }));
     723        return GTK_WIDGET_CLASS(webkit_web_view_base_parent_class)->key_release_event(widget, event);
     724    }
     725
     726    priv->inputMethodFilter.filterKeyEvent(event, [priv, event](const WebCore::CompositionResults& compositionResults, InputMethodFilter::EventFakedForComposition faked) {
     727        priv->pageProxy->handleKeyboardEvent(NativeWebKeyboardEvent(reinterpret_cast<GdkEvent*>(event), compositionResults, faked, { }));
    732728    });
    733729
  • trunk/Source/WebKit2/UIProcess/gtk/InputMethodFilter.h

    r206909 r206915  
    2222
    2323#include <WebCore/IntPoint.h>
    24 #include <wtf/Function.h>
     24#include <functional>
    2525#include <wtf/Noncopyable.h>
    2626#include <wtf/glib/GRefPtr.h>
     
    5757    void setCursorRect(const WebCore::IntRect&);
    5858
    59     using FilterKeyEventCompletionHandler = Function<void(const WebCore::CompositionResults&, InputMethodFilter::EventFakedForComposition)>;
     59    using FilterKeyEventCompletionHandler = std::function<void (const WebCore::CompositionResults&, InputMethodFilter::EventFakedForComposition)>;
    6060    void filterKeyEvent(GdkEventKey*, FilterKeyEventCompletionHandler&& = nullptr);
    6161    void notifyFocusedIn();
Note: See TracChangeset for help on using the changeset viewer.