On Jan 7, 2010, at 5:44 PM, Kenneth Christiansen wrote: > A co-worker of mine is implementing the ability to reimplement how popup > menus (comboboxes) etc will appear from our Qt WebKit API. > > As these UI delegates are per page, we thought about adding a method to our > ChromeClientQt like AbstractPopupMenu* createPopupMenu(PopupMenuClient* > client), but currently PopupMenuClient has no access to the page so that we > can get hold of that. > > I guess that it is not safe to assume that PopupMenuClient::hostWindow() is > always a Chrome, so would it be acceptable substituting the > PopupMenuClient::hostWindow() with a PopupMenuClient::page() [1] method and > then change the uses to page->chrome() ?
That would be a layering violation. PopupMenu is part of WebCore's platform layer, and thus should have no knowledge of higher-level WebCore concepts like "Page". Maybe you could talk to the ChromeClient at a slightly higher level, like from within RenderMenuList/RenderTextControlSingleLine? -Adam _______________________________________________ webkit-dev mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

