diff --git a/gdcef/src/browser.cpp b/gdcef/src/browser.cpp index 68d1379..58b76c6 100644 --- a/gdcef/src/browser.cpp +++ b/gdcef/src/browser.cpp @@ -161,13 +161,17 @@ void BrowserView::onPaint(CefRefPtr /*browser*/, //------------------------------------------------------------------------------ void BrowserView::onLoadEnd(CefRefPtr /*browser*/, - CefRefPtr /*frame*/, - int /*httpStatusCode*/) + CefRefPtr frame, + int httpStatusCode) { - GDCEF_DEBUG_VAL("has ended loading"); + // Emit signal only when top-level frame has succeeded. + if ((httpStatusCode == 200) && (frame->IsMain())) + { + GDCEF_DEBUG_VAL("has ended loading " << frame->GetURL()); - // Emit signal for Godot script - emit_signal("page_loaded", this); + // Emit signal for Godot script + emit_signal("page_loaded", this); + } } //------------------------------------------------------------------------------