Showing the changes to interface/src/scripting/WebWindowClass.cpp (1 of 2 files). Show all
Unified · Split
| @@ -41,19 +41,27 @@ WebWindowClass::WebWindowClass(const QString& title, const QString& url, int wid · 40 unmodified lines | ||
| 41 | 41 | |
| 42 | 42 | _dockWidget = new QDockWidget(title, toolWindow); |
| 43 | 43 | _dockWidget->setFeatures(QDockWidget::DockWidgetMovable); |
| 44 | − QWebView* webView = new QWebView(_dockWidget); | |
| 45 | − webView->page()->mainFrame()->addToJavaScriptWindowObject("EventBridge", _eventBridge); | |
| 46 | − webView->setUrl(url); | |
| 47 | − _dockWidget->setWidget(webView); | |
| 44 | + | |
| 45 | + _webView = new QWebView(_dockWidget); | |
| 46 | + _webView->setUrl(url); | |
| 47 | + addEventBridgeToWindowObject(); | |
| 48 | + | |
| 49 | + _dockWidget->setWidget(_webView); | |
| 48 | 50 | |
| 49 | 51 | toolWindow->addDockWidget(Qt::RightDockWidgetArea, _dockWidget); |
| 50 | 52 | |
| 53 | + connect(_webView->page()->mainFrame(), &QWebFrame::javaScriptWindowObjectCleared, | |
| 54 | + this, &WebWindowClass::addEventBridgeToWindowObject); | |
| 51 | 55 | connect(this, &WebWindowClass::destroyed, _dockWidget, &QWidget::deleteLater); |
| 52 | 56 | } |
| 53 | 57 | |
| 54 | 58 | WebWindowClass::~WebWindowClass() { |
| 55 | 59 | } |
| 56 | 60 | |
| 61 | +void WebWindowClass::addEventBridgeToWindowObject() { | |
| 62 | + _webView->page()->mainFrame()->addToJavaScriptWindowObject("EventBridge", _eventBridge); | |
| 63 | +} | |
| 64 | + | |
| 57 | 65 | void WebWindowClass::setVisible(bool visible) { |
| 58 | 66 | if (visible) { |
| 59 | 67 | QMetaObject::invokeMethod( |