In RemoteMacViews (issue 859152), NSWindows and NSViews are in the "viewer" (app shim) process.
We currently pass around handles referring to views and windows using the gfx::NativeView and gfx::NativeWindow types.
RemoteMacViews creates doppelgänger NSView or NSWindow objects for this tracking. These NSViews and NSWindows are never to be actually shown, but can be used to look up the original NativeWidgetMac, WebContentsView, or RenderWidgetHostView that they came from.
Problems arise when functions call Cocoa methods on these objects, and expect them to behave as normal NSViews and NSWindows (see, e.g, crrev.com/597664).
This bug tracks re-defining these objects in such a way that we
- always explicitly know when we're casting to an NSView or an NSWindow
- provide an interface to simple functionality (e.g, as provided by crrev.com/597664)
- may remove the doppelgänger objects and the confusion that they may cause
Comment 1 by bugdroid1@chromium.org
, Oct 18