We have a 64-bit porting problem with HWND's through the WebKit IDL layer. For some reason, these handles were declared as OLE_HANDLE values, which map to 32-bits on both 32- and 64-bit platforms. Internally, these are converted to HWND, which are 64-bit values on 64-bit builds. This causes problems when WebCore attempts to locate and use the windows associated with these incorrect HWND values. This problem can be difficult to reproduce as we only experience a problem when the original HWND included active bits in the unique 64-bit portion of the HWND value.
<rdar://problem/18134138>
HWND, HBITMAP, HDC, HICON, HCURSOR, and HMENU are now passed as these types, since they have proper 32-bit and 64-bit behavior depending on compile platform. OLE_HANDLE for certificates and other "void*" types are now ULONG_PTR.
Created attachment 237172 [details] Patch
Created attachment 237173 [details] Patch
Committed r172977: <http://trac.webkit.org/changeset/172977>
<rdar://problem/18134163>
(In reply to comment #1) > <rdar://problem/18134138> Whoops! I meant <rdar://problem/18134163>.