WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
plugin-win-wm-char.git.diff (text/plain), 3.47 KB, created by
noel gordon
on 2011-06-27 07:47:27 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
noel gordon
Created:
2011-06-27 07:47:27 PDT
Size:
3.47 KB
patch
obsolete
>diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 600ede0..e03b3ed 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,24 @@ >+2011-06-27 Noel Gordon <noel.gordon@gmail.com> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Send keypress events to windowless plugins on the windows port. >+ https://bugs.webkit.org/show_bug.cgi?id=63144 >+ >+ No new tests. Covered by existing windowless plugin tests plugins/mouse-events.html >+ and plugins/keyboard-events.html. Both are not yet working as desired because focus >+ events are not being fowarded to windowed plugins on the win port (bug 62375). Test >+ plugin logging on the win port was added in bug 61721. New failing expectations for >+ plugins/keyboard-events.html were subsequently added in bug 33973 so there's no need >+ to update test expectations in this patch. >+ >+ * plugins/win/PluginViewWin.cpp: >+ (WebCore::PluginView::handleKeyboardEvent): Add an ASSERT(m_plugin && !m_isWindowed) >+ to indicate that the routine is for windowless plugins. Remove trailing whitespace. >+ Add handling for keyPress events (map to WM_CHAR). >+ (WebCore::PluginView::handleMouseEvent): Add the ASSERT to indicate that the routine >+ is for windowless plugins. Add FIXME note. Remove trailing whitespace. >+ > 2011-06-24 Dan Bernstein <mitz@apple.com> > > Reviewed by Anders Carlsson. >diff --git a/Source/WebCore/plugins/win/PluginViewWin.cpp b/Source/WebCore/plugins/win/PluginViewWin.cpp >index ed61651..627b180 100644 >--- a/Source/WebCore/plugins/win/PluginViewWin.cpp >+++ b/Source/WebCore/plugins/win/PluginViewWin.cpp >@@ -639,17 +639,23 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect) > > void PluginView::handleKeyboardEvent(KeyboardEvent* event) > { >+ ASSERT(m_plugin && !m_isWindowed); >+ > NPEvent npEvent; > >- npEvent.wParam = event->keyCode(); >+ npEvent.wParam = event->keyCode(); > > if (event->type() == eventNames().keydownEvent) { > npEvent.event = WM_KEYDOWN; > npEvent.lParam = 0; >+ } else if (event->type() == eventNames().keypressEvent) { >+ npEvent.event = WM_CHAR; >+ npEvent.lParam = 0; > } else if (event->type() == eventNames().keyupEvent) { > npEvent.event = WM_KEYUP; > npEvent.lParam = 0x8000; >- } >+ } else >+ return; > > JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly); > if (dispatchNPEvent(npEvent)) >@@ -662,6 +668,8 @@ extern bool ignoreNextSetCursor; > > void PluginView::handleMouseEvent(MouseEvent* event) > { >+ ASSERT(m_plugin && !m_isWindowed); >+ > NPEvent npEvent; > > IntPoint p = static_cast<FrameView*>(parent())->contentsToWindow(IntPoint(event->pageX(), event->pageY())); >@@ -720,6 +728,7 @@ void PluginView::handleMouseEvent(MouseEvent* event) > return; > > JSC::JSLock::DropAllLocks dropAllLocks(JSC::SilenceAssertionsOnly); >+ // FIXME: Consider back porting the http://webkit.org/b/58108 fix here. > if (dispatchNPEvent(npEvent)) > event->setDefaultHandled(); > >@@ -728,7 +737,7 @@ void PluginView::handleMouseEvent(MouseEvent* event) > // and since we don't want that we set ignoreNextSetCursor to true here to prevent that. > ignoreNextSetCursor = true; > if (Page* page = m_parentFrame->page()) >- page->chrome()->client()->setLastSetCursorToCurrentCursor(); >+ page->chrome()->client()->setLastSetCursorToCurrentCursor(); > #endif > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 63144
:
98177
| 98724