History

Update WebWindow to redefine EventBridge after refresh

Ryan Huffman committed 11 years ago

Commit ba752041 parent d3a6a412 files · +15 −4Browse files

Showing the changes to interface/src/scripting/WebWindowClass.cpp (1 of 2 files). Show all

Unified · Split

interface/src/scripting/WebWindowClass.cpp+12−4
@@ -41,19 +41,27 @@ WebWindowClass::WebWindowClass(const QString& title, const QString& url, int wid · 40 unmodified lines
4141
4242 _dockWidget = new QDockWidget(title, toolWindow);
4343 _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);
4850
4951 toolWindow->addDockWidget(Qt::RightDockWidgetArea, _dockWidget);
5052
53+ connect(_webView->page()->mainFrame(), &QWebFrame::javaScriptWindowObjectCleared,
54+ this, &WebWindowClass::addEventBridgeToWindowObject);
5155 connect(this, &WebWindowClass::destroyed, _dockWidget, &QWidget::deleteLater);
5256 }
5357
5458 WebWindowClass::~WebWindowClass() {
5559 }
5660
61+void WebWindowClass::addEventBridgeToWindowObject() {
62+ _webView->page()->mainFrame()->addToJavaScriptWindowObject("EventBridge", _eventBridge);
63+}
64+
5765 void WebWindowClass::setVisible(bool visible) {
5866 if (visible) {
5967 QMetaObject::invokeMethod(