1. 15 Apr, 2018 - 1 commit
    • Michal Klocek's avatar
      Move check for g_egl_surfaceless_context_supported · a40850f0
      Michal Klocek authored
      
      The check g_egl_surfaceless_context_supported can not take place in
      InitializeExtensionSettingsOneOff since correct surface/less
      initialization is required for gpu info collection which
      is initialized with InitializeGLNoExtensionsOneOff. Otherwise
      egl with pbuffers is only supported, which will fail on wayland.
      Move the check to InitializeOneOff.
      
      Task-number: QTBUG-65682
      Change-Id: I0f5107134366f141e1941e824e3238473383962a
      Reviewed-by: default avatarAllan Sandfeld Jensen <allan.jensen@qt.io>
      v5.11.0-beta4
      a40850f0
  2. 13 Apr, 2018 - 6 commits
  3. 12 Apr, 2018 - 6 commits
  4. 10 Apr, 2018 - 2 commits
  5. 09 Apr, 2018 - 2 commits
  6. 07 Apr, 2018 - 3 commits
  7. 06 Apr, 2018 - 1 commit
    • Jüri Valdmann's avatar
      Avoid creating temporary blank WebContents · 3bc5b9d4
      Jüri Valdmann authored
      
      - Avoid creating a blank WebContents for new QWebEnginePages only to replace it
        with a different blank WebContents moments later. This problem is already
        solved in QQuickWebEngineView by lazy initialization, therefore the patch
        moves this lazy initialization into WebContentsAdapter itself so that it can
        be applied to both QQuickWebEngineView and QWebEnginePage.
      
      - Try to delay WebContents creation until the first navigation so that we have
        enough information available to pick the right initial SiteInstance when
        calling WebContents::Create. This is done by triggering WebContents creation
        from the first call to a WebContentsAdapter::load* method.
      
      - Use the SiteInstance from WebContentsDelegate::OpenURLFromTab. This method
        gets a SiteInstance pointer which we should give to WebContents::Create.
      
      Task-number: QTBUG-65561
      Task-number: QTBUG-67163
      Change-Id: Id7b351998adefb810cf27c61a1447b61d7f4c606
      Reviewed-by: default avatarAllan Sandfeld Jensen <allan.jensen@qt.io>
      3bc5b9d4
  8. 05 Apr, 2018 - 5 commits
  9. 04 Apr, 2018 - 3 commits
  10. 03 Apr, 2018 - 3 commits
    • Allan Sandfeld Jensen's avatar
      Tie worker rights to cookie policy like Chromium does · dd2acb8a
      Allan Sandfeld Jensen authored
      
      Instead of always allowing all workers, disallow when similar cookies
      would have been disallowed.
      
      This is following the same logic as Chromium is using.
      
      Change-Id: I6b9d6c63b894287f64171b138fe03ec080af5115
      Reviewed-by: default avatarLeena Miettinen <riitta-leena.miettinen@qt.io>
      Reviewed-by: default avatarPeter Varga <pvarga@inf.u-szeged.hu>
      v5.11.0-beta3
      dd2acb8a
    • Jüri Valdmann's avatar
      Stabilize tst_qwebenginedownloads · cce649b6
      Jüri Valdmann authored
      
      The waitForRequest/waitForSignal function used by these tests is broken: it
      assumes that calling QEventLoop::exit() will immediately exit from the event
      loop. In actuality this is not immediate and the event loop may continue to
      execute more signals handlers even after exit() has been called. This means that
      in e.g. waitForRequest the 'result' variable may be assigned to twice.
      
      Additionally there is a race condition in downloadTwoLinks, where we sometimes
      skip the first download. This is not a bug but simply one pending navigation
      being aborted in favor of another.
      
      Changes
      
        - Delete waitForRequest. Define one HTTP request handler per test, using state
          variables to communicate with the main body of the test. Ignore unknown
          requests (including favicon requests). Same for downloadRequested signals.
      
        - Expand downloadTwoLinks and fix expectations.
      
        - Add logging to HTTPServer.
      
        - Unblacklist.
      
      Task-number: QTBUG-66888
      Change-Id: I718cac6c4b32a8cc68400fa8ee5b853686c77fcb
      Reviewed-by: default avatarPeter Varga <pvarga@inf.u-szeged.hu>
      cce649b6
    • Jüri Valdmann's avatar
      Add tst_qwebenginescript loadEvents · ef0bebc8
      Jüri Valdmann authored
      
      Replace injectionPoint test with a timeout-less version that uses
      
      - both a single-frame and a multi-frame page
      - both main and isolated worlds
      - cross-process navigation
      - window.open
      - profile-wide scripts
      
      Task-number: QTBUG-66338
      Change-Id: Ica4acb8ada4acc38aa5e1ca00e7512a2e69b785f
      Reviewed-by: default avatarMichael Brüning <michael.bruning@qt.io>
      ef0bebc8
  11. 28 Mar, 2018 - 1 commit
  12. 27 Mar, 2018 - 1 commit
  13. 26 Mar, 2018 - 1 commit
  14. 23 Mar, 2018 - 4 commits
  15. 22 Mar, 2018 - 1 commit
    • Jüri Valdmann's avatar
      Make WebChannelIPCTransport into a RenderFrameObserver · 58658bc5
      Jüri Valdmann authored
      As of version 63, Chromium creates proxy frames also for the main frame in the
      frame tree during cross-process navigations. This leads to a segmentation fault
      in WebChannelIPCTransport because we assume that all main frames are local.
      
      See https://crrev.com/27caae83cb530daaf49f9a38793e427cdf493a65
      
       for details.
      
      This patch refactors the renderer-side WebChannelIPCTransport from a
      RenderViewObserver into a RenderFrameObserver, which prevents the segmentation
      fault since the RenderFrameObserver is not created for proxy frames. Most likely
      this would have to be done eventually anyway since the RenderView and
      RenderViewObserver classes are deprecated and will likely be removed as part of
      the Site Isolation project.
      
      Installation is changed to follow Chromium's RenderFrameImpl in the sense of
      performing the installation from RenderFrameObserver::DidClearWindowObject
      instead of ContentRendererClient::RunScriptsAtDocumentStart. This has the
      benefit of avoiding the ScriptForbiddenScope DCHECK.
      
      Additionally there are the following minor changes:
      
        - The deprecated parameterless version of v8::Value::ToObject() method is
          replaced with v8::Value::IsObject() check and v8::Local::Cast.
      
        - The deprecated v8::Handle typedef is replaced with v8::Local.
      
        - The deprecated single-parameter WebContentsObserver::OnMessageReceived is
          replaced with the new two-parameter version.
      
        - blink::MainThreadIsolate() is used instead of v8::Isolate::GetCurrent() for
          Install/Uninstall since we know we are executing on the main thread.
      
        - WebChannelIPCTransportHost is changed to ignore messages from unexpected
          renderers in case something goes wrong with the renderers.
      
        - Logging is added to WebChannelIPCTransportHost for debugging purposes.
      
      Some new unit tests are added, all of which fail with the old version.
      
      Task-number: QTBUG-66333
      Change-Id: I936d142fb042d9f936a3f9d08d4328ecba595f1f
      Reviewed-by: default avatarMichal Klocek <michal.klocek@qt.io>
      58658bc5