The Mozilla developer's documentation says:
Windows
The plug-in receives a WM_PAINT message. The lParam parameter of WM_PAINT holds a pointer to a RECT structure specifying the bounding box of the update area. Some plug-ins will choose to ignore this paint rect and always update the entire plug-in window instead, though. Also, because the plug-in and the browser share the same HDC, the plug-in must save the current settings on the HDC, set up its own environment, draw itself, and restore the HDC to the previous settings. The HDC settings must be restored whenever control returns to the the browser, either before returning from NPP_HandleEvent or before calling a drawing-related browser-side method.
This must be a client RECT?
RECT r;
GetClientRect(PluginWnd->getHWND(), &r);
NPP_HandleEvent(WM_PAINT, 0, (uint32)&r);
Or a window's RECT?
RECT r;
GetWindowRect(PluginWnd->getHWND(), &r);
NPP_HandleEvent(WM_PAINT, 0, (uint32)&r);