1. 07 Apr, 2018 - 1 commit
  2. 03 Apr, 2018 - 1 commit
    • 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
  3. 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
  4. 30 Dec, 2017 - 1 commit
  5. 18 Oct, 2017 - 1 commit
  6. 11 Sep, 2017 - 1 commit
  7. 29 Nov, 2016 - 1 commit
  8. 13 Jun, 2016 - 1 commit
  9. 15 Jan, 2016 - 1 commit
  10. 08 Jan, 2016 - 1 commit
  11. 12 Nov, 2015 - 1 commit
  12. 06 Nov, 2015 - 1 commit
    • Kai Koehne's avatar
      Print JS console messages by default · be8c12a8
      Kai Koehne authored
      
      Change the behavior of QWebEnginePage/WebEngineView
      to print JavaScript console.warn and console.error messages
      by default in a 'js' logging category. This matches also
      the behavior for QtQml, where console messages end up in
      a 'qml' logging category by default.
      
      So far access to the JavaScript console required either use
      of the remote debugging functionality, subclassing of
      QWebEnginePage, or implementing a custom handler.
      Anyhow, even then writing a seamless forwarding of
      the data and metadata to the Qt message handler is
      difficult. This patches implements this forwarding by
      default.
      
      The behavior can be changed by either setting up rules
      for the 'js' category, e.g.
      
        setFilterRules("js.*=false");
      
      or by implementing onJavaScriptConsoleMessage(),
      or overriding QWebEnginePage::javaScriptConsoleMessage.
      
      [ChangeLog] Unhandled JS console messages are now
      forwarded to to the Qt message handler inside a 'js'
      category.
      
      Change-Id: I5480383a80dcf7a122496f9b7915264ef9036db3
      Reviewed-by: default avatarJoerg Bornemann <joerg.bornemann@theqtcompany.com>
      be8c12a8
  13. 07 Apr, 2015 - 1 commit
  14. 18 Mar, 2015 - 1 commit