pluginEvent.lParam = nsnull; PRBool eventHandled = PR_FALSE; mInstance->HandleEvent(&pluginEvent, &eventHandled);
pluginEvent.lParam = (uint32)&drc; PRBool eventHandled = PR_FALSE; mInstance->HandleEvent(&pluginEvent, &eventHandled);
void nsPluginInstanceOwner::Paint(const nsRect& aDirtyRect, PRUint32 ndc){#ifdef XP_MAC  if (mInstance != NULL) {    nsPluginPort* pluginPort = GetPluginPort();#ifdef DO_DIRTY_INTERSECT   // aDirtyRect isn't always correct, see bug 56128    nsPoint rel(aDirtyRect.x, aDirtyRect.y);    nsPoint abs(0,0);    nsCOMPtr<nsIWidget> containerWidget;      // Convert dirty rect relative coordinates to absolute and also get the containerWidget    ConvertRelativeToWindowAbsolute(mOwner, mContext, rel, abs, *getter_AddRefs(containerWidget));    nsRect absDirtyRect = nsRect(abs.x, abs.y, aDirtyRect.width, aDirtyRect.height);    // Convert to absolute pixel values for the dirty rect    nsRect absDirtyRectInPixels;    ConvertTwipsToPixels(*mContext, absDirtyRect, absDirtyRectInPixels);#endif    FixUpPluginWindow();    EventRecord updateEvent;    ::OSEventAvail(0, &updateEvent);    updateEvent.what = updateEvt;    updateEvent.message = UInt32(pluginPort->port);    nsPluginEvent pluginEvent = { &updateEvent, nsPluginPlatformWindowRef(pluginPort->port) };    PRBool eventHandled = PR_FALSE;    mInstance->HandleEvent(&pluginEvent, &eventHandled);    }#endif#ifdef XP_WIN    nsPluginEvent pluginEvent;  pluginEvent.event = 0x000F; //!!! This is bad, but is it better to include <windows.h> for WM_PAINT only?  pluginEvent.wParam = (uint32)ndc;  pluginEvent.lParam = nsnull;    PRBool eventHandled = PR_FALSE;    mInstance->HandleEvent(&pluginEvent, &eventHandled);#endif}