[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.22-985-g3c00f00
eric at webkit.org
eric at webkit.org
Wed Mar 17 17:57:11 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 470ba9f76df232640fa6cec9bb3e33c224644c71
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