Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-68727

focusProxy() isn't set correctly on redirects

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P2: Important P2: Important
    • 5.12.0 Beta 4
    • 5.11.0
    • WebEngine
    • None
    • Archlinux
    • 36d230c44c7e2f6fccf224b4a0ab5efe77117e0a (qt/qtwebengine/5.12)

      I'd expect the focusProxy() of a QWebEngineView to always be the RVHW, but sometimes this isn't the case. When adding a hack to simplebrowser to print the focusProxy() on a right-click:

      diff --git a/examples/webenginewidgets/simplebrowser/webview.cpp b/examples/webenginewidgets/simplebrowser/webview.cpp
      index fcbb543f..c2fda9e5 100644
      --- a/examples/webenginewidgets/simplebrowser/webview.cpp
      +++ b/examples/webenginewidgets/simplebrowser/webview.cpp
      @@ -176,6 +176,7 @@ QWebEngineView *WebView::createWindow(QWebEnginePage::WebWindowType type)
       
       void WebView::contextMenuEvent(QContextMenuEvent *event)
       {
      +    qDebug() << focusProxy();
           QMenu *menu = page()->createStandardContextMenu();
           const QList<QAction *> actions = menu->actions();
           auto inspectElement = std::find(actions.cbegin(), actions.cend(), page()->action(QWebEnginePage::InspectElement));
      

      then you get what's expected on the Qt webpage: QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget(0x55ee78e3f440).

      However, after going to http://www.qt.io/ (which redirects to https://), the focusProxy() is gone and QWidget(0x0) is printed.

      This also causes the website to not resize correctly anymore when the window is resized:

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            juri.valdmann Jüri Valdmann (Inactive)
            the compiler Florian Bruhin
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes