WebPageProxy* WebInspectorProxy::platformCreateInspectorPage() { ASSERT(m_page); ASSERT(!m_inspectorView); m_inspectorView = GTK_WIDGET(webkitWebViewBaseCreate(page()->process()->context(), inspectorPageGroup())); return webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(m_inspectorView)); }
WebPageProxy* WebInspectorProxy::platformCreateInspectorPage() { ASSERT(m_page); ASSERT(!m_inspectorView); m_inspectorView = GTK_WIDGET(webkitWebViewBaseCreate(&inspectorContext(), nullptr, inspectorPageGroup(), nullptr, nullptr)); g_object_add_weak_pointer(G_OBJECT(m_inspectorView), reinterpret_cast<void**>(&m_inspectorView)); return webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(m_inspectorView)); }
WebPageProxy* WebInspectorProxy::platformCreateInspectorPage() { ASSERT(inspectedPage()); ASSERT(!m_inspectorView); RefPtr<WebPreferences> preferences = WebPreferences::create(String(), "WebKit2.", "WebKit2."); #ifndef NDEBUG // Allow developers to inspect the Web Inspector in debug builds without changing settings. preferences->setDeveloperExtrasEnabled(true); preferences->setLogsPageMessagesToSystemConsoleEnabled(true); #endif preferences->setAllowFileAccessFromFileURLs(true); preferences->setJavaScriptRuntimeFlags({ }); RefPtr<WebPageGroup> pageGroup = WebPageGroup::create(inspectorPageGroupIdentifier(), false, false); m_inspectorView = GTK_WIDGET(webkitWebViewBaseCreate(&inspectorProcessPool(), preferences.get(), pageGroup.get(), nullptr, nullptr)); g_object_add_weak_pointer(G_OBJECT(m_inspectorView), reinterpret_cast<void**>(&m_inspectorView)); return webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(m_inspectorView)); }
WebPageProxy* WebInspectorProxy::platformCreateInspectorPage() { ASSERT(inspectedPage()); ASSERT(!m_inspectorView); RefPtr<WebPreferences> preferences = WebPreferences::create(String(), "WebKit2.", "WebKit2."); #ifndef NDEBUG // Allow developers to inspect the Web Inspector in debug builds without changing settings. preferences->setDeveloperExtrasEnabled(true); preferences->setLogsPageMessagesToSystemConsoleEnabled(true); #endif preferences->setJavaScriptRuntimeFlags({ }); RefPtr<WebPageGroup> pageGroup = WebPageGroup::create(inspectorPageGroupIdentifier(), false, false); auto pageConfiguration = API::PageConfiguration::create(); pageConfiguration->setProcessPool(&inspectorProcessPool(inspectionLevel())); pageConfiguration->setPreferences(preferences.get()); pageConfiguration->setPageGroup(pageGroup.get()); m_inspectorView = GTK_WIDGET(webkitWebViewBaseCreate(*pageConfiguration.ptr())); g_object_add_weak_pointer(G_OBJECT(m_inspectorView), reinterpret_cast<void**>(&m_inspectorView)); WKPageUIClientV2 uiClient = { { 2, this }, nullptr, // createNewPage_deprecatedForUseWithV0 nullptr, // showPage nullptr, // closePage nullptr, // takeFocus nullptr, // focus nullptr, // unfocus nullptr, // runJavaScriptAlert nullptr, // runJavaScriptConfirm nullptr, // runJavaScriptPrompt nullptr, // setStatusText nullptr, // mouseDidMoveOverElement_deprecatedForUseWithV0 nullptr, // missingPluginButtonClicked_deprecatedForUseWithV0 nullptr, // didNotHandleKeyEvent nullptr, // didNotHandleWheelEvent nullptr, // areToolbarsVisible nullptr, // setToolbarsVisible nullptr, // isMenuBarVisible nullptr, // setMenuBarVisible nullptr, // isStatusBarVisible nullptr, // setStatusBarVisible nullptr, // isResizable nullptr, // setResizable nullptr, // getWindowFrame, nullptr, // setWindowFrame, nullptr, // runBeforeUnloadConfirmPanel nullptr, // didDraw nullptr, // pageDidScroll exceededDatabaseQuota, nullptr, // runOpenPanel, nullptr, // decidePolicyForGeolocationPermissionRequest nullptr, // headerHeight nullptr, // footerHeight nullptr, // drawHeader nullptr, // drawFooter nullptr, // printFrame nullptr, // runModal nullptr, // unused nullptr, // saveDataToFileInDownloadsFolder nullptr, // shouldInterruptJavaScript nullptr, // createPage nullptr, // mouseDidMoveOverElement nullptr, // decidePolicyForNotificationPermissionRequest nullptr, // unavailablePluginButtonClicked_deprecatedForUseWithV1 nullptr, // showColorPicker nullptr, // hideColorPicker nullptr, // unavailablePluginButtonClicked }; WebPageProxy* inspectorPage = webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(m_inspectorView)); ASSERT(inspectorPage); WKPageSetPageUIClient(toAPI(inspectorPage), &uiClient.base); return inspectorPage; }