void InspectorFrontendClientLocal::windowObjectCleared() { if (m_frontendHost) m_frontendHost->disconnectClient(); ScriptState* frontendScriptState = scriptStateFromPage(debuggerWorld(), m_frontendPage); m_frontendHost = InspectorFrontendHost::create(this, m_frontendPage); ScriptGlobalObject::set(frontendScriptState, "InspectorFrontendHost", m_frontendHost.get()); }
void InspectorFrontendHost::showContextMenu(Event* event, const Vector<ContextMenuItem*>& items) { ASSERT(m_frontendPage); ScriptState* frontendScriptState = scriptStateFromPage(debuggerWorld(), m_frontendPage); ScriptObject webInspectorObj; if (!ScriptGlobalObject::get(frontendScriptState, "WebInspector", webInspectorObj)) { ASSERT_NOT_REACHED(); return; } RefPtr<FrontendMenuProvider> menuProvider = FrontendMenuProvider::create(this, webInspectorObj, items); ContextMenuController* menuController = m_frontendPage->contextMenuController(); menuController->showContextMenu(event, menuProvider); m_menuProvider = menuProvider.get(); }
void InspectorFrontendHost::showContextMenu(Event* event, const Vector<ContextMenuItem>& items) { if (!event) return; ASSERT(m_frontendPage); ScriptState* frontendScriptState = scriptStateFromPage(debuggerWorld(), m_frontendPage); ScriptObject frontendApiObject; if (!ScriptGlobalObject::get(frontendScriptState, "InspectorFrontendAPI", frontendApiObject)) { ASSERT_NOT_REACHED(); return; } RefPtr<FrontendMenuProvider> menuProvider = FrontendMenuProvider::create(this, frontendApiObject, items); m_frontendPage->contextMenuController().showContextMenu(event, menuProvider); m_menuProvider = menuProvider.get(); }