1. Feb 06, 2014
  2. Jan 28, 2014
  3. Jan 15, 2014
    • Pierre Rossi's avatar
      Pave the way for our UI delegation strategy. · e4688691
      Pierre Rossi authored
      
      Starting with the context Menus for QtQuick.
      Add default UI delegates as a subproject. We allow ourselves to use
      Qt Quick Controls there for in order to get a nice "out of the box"
      experience for things like context menus, dialogs, etc while leaving
      the door open for system embedders to override this.
      
      Opting out of the deployment of these QML files is still very primitive
      but can be done by passing WEBENGINE_CONFIG+=no_ui_delegates at qmake
      time.
      
      Customization of context menus could be done via a qml component, which
      is probably best kept in experimental for now while we address its
      shortcomings.
      
      Change-Id: I0705b20d5ddd3bb010f9371b65a181c6b02a03e1
      Reviewed-by: default avatarJocelyn Turcotte <jocelyn.turcotte@digia.com>
      e4688691
    • Simon Hausmann's avatar
      Fix installation of most examples · 0b611c39
      Simon Hausmann authored
      
      * Make sure the example source code is installed
      * Make sure the installation path is consistent with the path within the module, to ensure
        that the sources end up next to the compiled binary.
      * Skip the widgets nano browser from the installation, as it's a developer tool.
      
      Change-Id: I35b421e12f8e6ddd3f2045e318b21543ff929cd8
      Reviewed-by: default avatarJocelyn Turcotte <jocelyn.turcotte@digia.com>
      0b611c39
  4. Dec 23, 2013
    • Zeno Albisser's avatar
      quicknanobrowser: reset progress bar when reaching 100% · bac17d00
      Zeno Albisser authored
      
      Change-Id: I146df83948017b5ad72e40d16a8cc7105691c309
      Reviewed-by: default avatarJocelyn Turcotte <jocelyn.turcotte@digia.com>
      bac17d00
    • Jocelyn Turcotte's avatar
      createWindow QML API for QQuickWebEngineView · 7d39fa4a
      Jocelyn Turcotte authored
      
      This implements adoptNewWindow for QQuickWebEngineView.
      The API is only intended to be used through QML to avoid delegating
      the QQuickWebEngineViewHandle ownership through a signal parameter.
      
      Another limitation of the implementation is currently to fail the
      handle adoption unless it is done synchronously within the
      adoptNewWindow call. To support this we would need to delay the call
      to WebContentsAdapter::initialize which will leave the adapter
      without a client when returning to the event loop and would require
      putting null checks everywhere it is used.
      So I would prefer to keep the API limited and avoid potential crashes.
      If we want to support asynchronous Loader elements or QML files
      fetched from the network in the future, the API should be able to
      scale to the task once we've adjusted the implementation.
      
      This also adds basic tabs support in the quicknanobrowser example.
      The url property is now set imperatively to avoid overwriting the
      adopted WebContentsAdapter's loading URL.
      
      Change-Id: Iba5c5dc3ffa21045f356be131ca15c01b9aee7c8
      Reviewed-by: default avatarPierre Rossi <pierre.rossi@gmail.com>
      Reviewed-by: default avatarZeno Albisser <zeno.albisser@digia.com>
      7d39fa4a
  5. Nov 26, 2013
  6. Nov 18, 2013
    • Jocelyn Turcotte's avatar
      Remove the need for application to set an RPATH. · 175cc28b
      Jocelyn Turcotte authored
      
      The WebEngineWidgets module and the WebEngine QtQuick plugin libraries
      already have the RPATH set properly in their headers and the application
      won't need to link any symbol directly to the Core library.
      
      Remove the RPATH directive for examples and tests and fix the build issue
      by making sure that the link directive isn't passed to dependencies
      through the prl or pkgconfig file.
      
      Change-Id: Id1f5efb8c9823613e804e8e6356d711d561d72ec
      Reviewed-by: default avatarAndras Becsi <andras.becsi@digia.com>
      175cc28b
  7. Nov 11, 2013
    • Jocelyn Turcotte's avatar
      Delegated renderer: Put textures on those quads. · 7403ef59
      Jocelyn Turcotte authored
      
      A few changes are necessary to allow fetching textures provided by
      the render processes through IPC and bound to their respective GL
      context in the GPU process and use them in the QtQuick scene graph.
      
      - Remove the plain color test textures.
      - Allow setting the QtQuick QOpenGLContext's handle as the share
        context for all context set as shared in the Chromium GPU process.
        We do this by letting the GpuChannelManager ask us for a
        ShareGroup instance responsible for returning a sharing GL context
        handle.
      - Fetch texture IDs from the MailboxManager used by the GPU process
        using the Mailbox given to us in the DelegatedFrameData.
        This is the same mechanism used by Chromium to share textures
        between "client" GL contexts.
      - Keep the QtQuick scene graph threads and Chromium in-process GPU
        thread separate. The complicated part of merging those two
        rendering pipelines on the same thread is that it would force Qt
        to also use only one thread for rendering. For the moment we will
        try to synchronize those threads together instead.
      - Lock the Qt SG thread while waiting for resource sync points.
        Do so by posting a callback to the Chromium GPU thread and wait
        until the sync point of every resource has been retired by the
        producing contexts.
      - Acknowledge the delegated from once QtQuick swapped the GL buffers
        instead of right after we added the frame to the scene graph.
        This fixes some issues where the textures for the previous frame
        would already be released as Chromium was producing the new frame.
      
      There are still a few issues regarding synchronization that have to
      be fixed, especially when Qt triggers the rendering of a new frame
      while Chromium is starting to produce the next frame.
      
      Note: To enable it we still need to pass the following command switches:
      --enable-delegated-renderer --enable-threaded-compositing --in-process-gpu
      
      Change-Id: I2d4f7fac603b1808ed1495a8d689cb48e9ed41b9
      Reviewed-by: default avatarZeno Albisser <zeno.albisser@digia.com>
      7403ef59
  8. Oct 11, 2013
  9. Oct 04, 2013
  10. Oct 03, 2013
    • Arvid Nilsson's avatar
      Quick: Add Favicon API · ef6cb53a
      Arvid Nilsson authored
      
      Adds a favicon API modelled after the WebKit2 QQuickWebView API, but
      using an http(s) URL instead of a custom protocol, because there's no
      icondatabase yet.
      
      The icon URL lingers even when a new load is committed, until the load
      finishes. It might be more prudent to clear the icon when committing a
      new load, but I opted to let the app take care of that detail if
      desired. Many browsers show a spinner instead of the favicon while
      loading, for example.
      
      There's no widget API implementation for favicons yet, because that API
      only makes sense if we have a full-fledged icon database (case in
      point: QWebEngineSettings::iconForUrl()).
      
      Change-Id: I1e7b85104c80de2ae46a5fe9a273104d43a5c71f
      Reviewed-by: default avatarAndras Becsi <andras.becsi@digia.com>
      ef6cb53a
  11. Aug 19, 2013