зеркало из https://github.com/mozilla/pjs.git
Bug 306209 Should fire NS_FOCUSCONTENT event on nsPluginInstanceOwner by clicking plugin's content patch by VYV03354@nifty.ne.jp r+sr=roc
This commit is contained in:
Родитель
31b32c2362
Коммит
cb657121eb
|
@ -52,6 +52,7 @@
|
||||||
|
|
||||||
#include "plevent.h"
|
#include "plevent.h"
|
||||||
#include "nsIEventQueueService.h"
|
#include "nsIEventQueueService.h"
|
||||||
|
#include "nsGUIEvent.h"
|
||||||
|
|
||||||
#include "nsIPluginInstancePeer.h"
|
#include "nsIPluginInstancePeer.h"
|
||||||
#include "nsIPluginInstanceInternal.h"
|
#include "nsIPluginInstanceInternal.h"
|
||||||
|
@ -286,6 +287,25 @@ static LRESULT CALLBACK PluginWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM
|
||||||
enablePopups = PR_TRUE;
|
enablePopups = PR_TRUE;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#ifndef WINCE
|
||||||
|
case WM_MOUSEACTIVATE: {
|
||||||
|
// This seems to be the only way we're
|
||||||
|
// notified when a child window that doesn't have this handler proc
|
||||||
|
// (read as: windows created by plugins like Adobe Acrobat)
|
||||||
|
// has been activated via clicking.
|
||||||
|
// should be handled here because some plugins won't forward
|
||||||
|
// messages to original WinProc.
|
||||||
|
nsCOMPtr<nsIWidget> widget;
|
||||||
|
win->GetPluginWidget(getter_AddRefs(widget));
|
||||||
|
if (widget) {
|
||||||
|
nsFocusEvent event(PR_TRUE, NS_PLUGIN_ACTIVATE, widget);
|
||||||
|
nsEventStatus status;
|
||||||
|
widget->DispatchEvent(&event, status);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Macromedia Flash plugin may flood the message queue with some special messages
|
// Macromedia Flash plugin may flood the message queue with some special messages
|
||||||
|
|
|
@ -4521,16 +4521,6 @@ PRBool nsWindow::ProcessMessage(UINT msg, WPARAM wParam, LPARAM lParam, LRESULT
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifndef WINCE
|
#ifndef WINCE
|
||||||
case WM_MOUSEACTIVATE:
|
|
||||||
{
|
|
||||||
// This seems to be the only way we're
|
|
||||||
// notified when a child window that doesn't have this handler proc
|
|
||||||
// (read as: windows created by plugins like Adobe Acrobat)
|
|
||||||
// has been activated via clicking.
|
|
||||||
DispatchFocus(NS_PLUGIN_ACTIVATE, isMozWindowTakingFocus);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case WM_WINDOWPOSCHANGING:
|
case WM_WINDOWPOSCHANGING:
|
||||||
{
|
{
|
||||||
LPWINDOWPOS info = (LPWINDOWPOS) lParam;
|
LPWINDOWPOS info = (LPWINDOWPOS) lParam;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче