void WebView::insertJavaScript(QWebEngineScriptCollection *scripts) { QFile webChannelFile(":/js/qwebchannel.js"); webChannelFile.open(QIODevice::ReadOnly); QWebEngineScript webChannelScript; webChannelScript.setSourceCode(webChannelFile.readAll()); webChannelScript.setInjectionPoint(QWebEngineScript::DocumentCreation); webChannelScript.setWorldId(QWebEngineScript::MainWorld); scripts->insert(webChannelScript); }
QString getEventBridgeJavascript() { // FIXME: Refactor with similar code in RenderableWebEntityItem QString javaScriptToInject; QFile webChannelFile(":qtwebchannel/qwebchannel.js"); QFile createGlobalEventBridgeFile(PathUtils::resourcesPath() + "/html/createGlobalEventBridge.js"); if (webChannelFile.open(QFile::ReadOnly | QFile::Text) && createGlobalEventBridgeFile.open(QFile::ReadOnly | QFile::Text)) { QString webChannelStr = QTextStream(&webChannelFile).readAll(); QString createGlobalEventBridgeStr = QTextStream(&createGlobalEventBridgeFile).readAll(); javaScriptToInject = webChannelStr + createGlobalEventBridgeStr; } else { qCWarning(uiLogging) << "Unable to find qwebchannel.js or createGlobalEventBridge.js"; } return javaScriptToInject; }