[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Thu Apr 8 01:56:50 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit ba9a58e5fc4fa2568be364bcb70aa68c9de1b8b0
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Feb 23 12:53:06 2010 +0000

    2010-02-23  Stephan Aßmus  <superstippi at gmx.de>
    
            Reviewed by Eric Seidel.
    
            [Haiku] Various improvements to EventHandlerHaiku.
            https://bugs.webkit.org/show_bug.cgi?id=34685
    
            Covered by existing tests.
    
            Fix the build by not including PlatformScrollBar.h.
    
            * page/haiku/EventHandlerHaiku.cpp:
            (WebCore::isKeyboardOptionTab):
                Use the correct keycode for tab keys.
            (WebCore::EventHandler::focusDocumentView):
                Use proper locking. In any case, Haiku doesn't append platform
                widgets to WebCore widgets. But if it did, this implementation
                would be correct.
            (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
                Implemented.
            (WebCore::EventHandler::eventActivatedView):
                Removed notImplemented() and added note.
            (WebCore::EventHandler::passMousePressEventToSubframe):
                Implemented.
            (WebCore::EventHandler::passMouseMoveEventToSubframe):
                Implemented.
            (WebCore::EventHandler::passMouseReleaseEventToSubframe):
                Implemented.
            (WebCore::EventHandler::accessKeyModifiers):
                Added note.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55145 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index b06db1e..cbf9a32 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,34 @@
+2010-02-23  Stephan Aßmus  <superstippi at gmx.de>
+
+        Reviewed by Eric Seidel.
+
+        [Haiku] Various improvements to EventHandlerHaiku.
+        https://bugs.webkit.org/show_bug.cgi?id=34685
+
+        Covered by existing tests.
+
+        Fix the build by not including PlatformScrollBar.h.
+
+        * page/haiku/EventHandlerHaiku.cpp:
+        (WebCore::isKeyboardOptionTab):
+            Use the correct keycode for tab keys.
+        (WebCore::EventHandler::focusDocumentView):
+            Use proper locking. In any case, Haiku doesn't append platform
+            widgets to WebCore widgets. But if it did, this implementation
+            would be correct.
+        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
+            Implemented.
+        (WebCore::EventHandler::eventActivatedView):
+            Removed notImplemented() and added note.
+        (WebCore::EventHandler::passMousePressEventToSubframe):
+            Implemented.
+        (WebCore::EventHandler::passMouseMoveEventToSubframe):
+            Implemented.
+        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
+            Implemented.
+        (WebCore::EventHandler::accessKeyModifiers):
+            Added note.
+
 2010-02-23  Tony Chang  <tony at chromium.org>
 
         Not reviewed.
diff --git a/WebCore/page/haiku/EventHandlerHaiku.cpp b/WebCore/page/haiku/EventHandlerHaiku.cpp
index 203344e..450414d 100644
--- a/WebCore/page/haiku/EventHandlerHaiku.cpp
+++ b/WebCore/page/haiku/EventHandlerHaiku.cpp
@@ -2,6 +2,7 @@
  * Copyright (C) 2006 Zack Rusin <zack at kde.org>
  * Copyright (C) 2007 Ryan Leavengood <leavengood at gmail.com>
  * Copyright (C) 2009 Maxime Simon <simon.maxime at gmail.com>
+ * Copyright (C) 2010 Stephan Aßmus <superstippi at gmx.de>
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -39,7 +40,6 @@
 #include "NotImplemented.h"
 #include "Page.h"
 #include "PlatformKeyboardEvent.h"
-#include "PlatformScrollBar.h"
 #include "PlatformWheelEvent.h"
 #include "RenderWidget.h"
 
@@ -56,7 +56,7 @@ static bool isKeyboardOptionTab(KeyboardEvent* event)
         && (event->type() == eventNames().keydownEvent
             || event->type() == eventNames().keypressEvent)
         && event->altKey()
-        && event->keyIdentifier() == "U+000009";
+        && event->keyIdentifier() == "U+0009";
 }
 
 bool EventHandler::invertSenseOfTabsToLinks(KeyboardEvent* event) const
@@ -74,8 +74,10 @@ bool EventHandler::tabsToAllControls(KeyboardEvent* event) const
 void EventHandler::focusDocumentView()
 {
     BView* view = m_frame->view()->platformWidget();
-    if (view)
-        view->MakeFocus();
+    if (view && view->LockLooperWithTimeout(5000) == B_OK) {
+        view->MakeFocus(true);
+        view->UnlockLooper();
+    }
 
     Page* page = m_frame->page();
     if (page)
@@ -102,18 +104,14 @@ bool EventHandler::passMouseDownEventToWidget(Widget* widget)
     return false;
 }
 
-bool EventHandler::eventActivatedView(const PlatformMouseEvent&) const
+bool EventHandler::eventActivatedView(const PlatformMouseEvent& event) const
 {
-    notImplemented();
+    // On Haiku, clicks which activate the window in non focus-follows-mouse mode
+    // are not passed to the window, so any event we generate is not the activation
+    // event.
     return false;
 }
 
-bool EventHandler::passSubframeEventToSubframe(MouseEventWithHitTestResults& event, Frame* subframe, HitTestResult*)
-{
-    notImplemented();
-    return true;
-}
-
 bool EventHandler::passWheelEventToWidget(PlatformWheelEvent& event, Widget* widget)
 {
     if (!widget->isFrameView())
@@ -129,21 +127,27 @@ PassRefPtr<Clipboard> EventHandler::createDraggingClipboard() const
 
 bool EventHandler::passMousePressEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
 {
-    return passSubframeEventToSubframe(mev, subframe);
+    subframe->eventHandler()->handleMousePressEvent(mev.event());
+    return true;
 }
 
 bool EventHandler::passMouseMoveEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe, HitTestResult* hoveredNode)
 {
-    return passSubframeEventToSubframe(mev, subframe, hoveredNode);
+    subframe->eventHandler()->handleMouseMoveEvent(mev.event(), hoveredNode);
+    return true;
 }
 
 bool EventHandler::passMouseReleaseEventToSubframe(MouseEventWithHitTestResults& mev, Frame* subframe)
 {
-    return passSubframeEventToSubframe(mev, subframe);
+    subframe->eventHandler()->handleMouseReleaseEvent(mev.event());
+    return true;
 }
 
 unsigned EventHandler::accessKeyModifiers()
 {
+    // NOTE: On Haiku, the user can choose Alt or Ctrl as access key, but
+    // the PlatformKeyboardEvent already takes care of this, internally,
+    // we always use Alt.
     return PlatformKeyboardEvent::AltKey;
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list