static nsresult get_ns_command_state(NSContainer *This, const char *cmd, nsICommandParams *nsparam) { nsICommandManager *cmdmgr; nsresult nsres; nsres = get_nsinterface((nsISupports*)This->webbrowser, &IID_nsICommandManager, (void**)&cmdmgr); if(NS_FAILED(nsres)) { ERR("Could not get nsICommandManager: %08x\n", nsres); return nsres; } nsres = nsICommandManager_GetCommandState(cmdmgr, cmd, This->doc->basedoc.window->window_proxy, nsparam); if(NS_FAILED(nsres)) ERR("GetCommandState(%s) failed: %08x\n", debugstr_a(cmd), nsres); nsICommandManager_Release(cmdmgr); return nsres; }
void do_ns_command(HTMLDocument *This, const char *cmd, nsICommandParams *nsparam) { nsICommandManager *cmdmgr; nsresult nsres; TRACE("(%p)\n", This); if(!This->doc_obj || !This->doc_obj->nscontainer) return; nsres = get_nsinterface((nsISupports*)This->doc_obj->nscontainer->webbrowser, &IID_nsICommandManager, (void**)&cmdmgr); if(NS_FAILED(nsres)) { ERR("Could not get nsICommandManager: %08x\n", nsres); return; } nsres = nsICommandManager_DoCommand(cmdmgr, cmd, nsparam, This->window->nswindow); if(NS_FAILED(nsres)) ERR("DoCommand(%s) failed: %08x\n", debugstr_a(cmd), nsres); nsICommandManager_Release(cmdmgr); }