1. Nov 12, 2013
  2. 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
  3. Oct 29, 2013
    • Chris Hutten-Czapski's avatar
      QtWebEngine Dev Tools (Web Inspector) · f21cb5bc
      Chris Hutten-Czapski authored
      
      To implement the Web Inspector we need a delegate to handle the http
      server and devtools connections, a landing page, a ContentClient to
      tell the devtools server where to find its frontend resources, those
      frontend resources, and an API for embedders to turn on inspectability
      in WebEngineViews.
      
      The frontend resources are build by the chromium build and are copied
      over as part of lib's build.
      
      The landing page was taken directly from content_shell. This
      should be replaced by either a new one for all QtWebEngine embedders or
      by a mechanism for embedders to supply their own (or both).
      
      Change-Id: Id4076d5ede34a91abf8dba443aed4dca4be1b3e5
      Reviewed-by: default avatarPierre Rossi <pierre.rossi@gmail.com>
      f21cb5bc
  4. Jul 16, 2013
    • Zeno Albisser's avatar
      Add support for file and data url scheme. · e14f32db
      Zeno Albisser authored
      
      Local file and data url support can simply be added
      by registering the appropriate ProtocolHandlers.
      
      Displaying the contents of a directory is slightly
      more complex. This requires access to some html
      resource files that can be used to list the contents
      in rows. For Chromium such resource files are usually
      contained in a .pak file which is shipped with the binary.
      
      Since deploying additional files is very complicated for Qt,
      we want to use the Qt Resource System to bundle .pak files.
      
      Therefore this patch adds handling of rcc content generated
      from a .qrc file to our gyp_generator.prf.
      Further it replaces the regular ResourceBundle implementation
      with a Qt specific one.
      And it also implements a DataPackQt class that allows
      using DataPack instances with data from a QByteArray and
      therefore from the Qt Resource System.
      
      Change-Id: Ic41e34fbd9aec8596cbc85666a762ecdaa604edc
      Reviewed-by: default avatarAndras Becsi <andras.becsi@digia.com>
      e14f32db
  5. Jul 11, 2013
  6. Jul 09, 2013
  7. Jul 04, 2013
    • Andras Becsi's avatar
      Fix linking of QtWebEngineProcess · 0875045c
      Andras Becsi authored
      
      Since the global factory function content::CreateWebContentsView
      is also needed by the web process and we exclude all implementations
      we have to place the definition of it in the shared static lib.
      However, to prevent the need for moving platform layer classes
      back to the shared static lib we have to revert back to use
      ContentBrowserClient::OverrideCreateWebContentsView in the API layer
      to create our platform WebContentsViewQt and make the global factory
      function definition empty.
      
      Change-Id: I9d46524b22458b26a043c80df02b4a5fa7d91a55
      Reviewed-by: default avatarPierre Rossi <pierre.rossi@gmail.com>
      0875045c
    • Andras Becsi's avatar
      Stop using OverrideCreateWebContentsView for creating the contents view · 6b2e8031
      Andras Becsi authored
      
      Use the content::CreateWebContentsView factory function to create the
      contents view since we already have to implement it.
      
      Change-Id: Ib60cb29604ac84877e154a47ae27f44672284726
      Reviewed-by: default avatarZeno Albisser <zeno.albisser@digia.com>
      6b2e8031
  8. Jun 12, 2013
  9. Jun 11, 2013
  10. Jun 10, 2013
    • Pierre Rossi's avatar
      And shell is out ! · 65558744
      Pierre Rossi authored
      Introduce a few more bits of our own very basic implementations
      (URLRequestContextGetter and NetworkDelegate subclasses).
      
      Still need to figure out the appropriate dependancies in blinq.gypi
      65558744
    • Jocelyn Turcotte's avatar
      Fix undefined symbols in debug builds. · c373b6ca
      Jocelyn Turcotte authored
      process uses the same code as lib and decides at runtime which
      code to run. Fix the debug build by making sure that all infrastructure
      code is available in both process and lib by building common code
      not shared directly through chromium sources in a separate static lib.
      c373b6ca
    • Zeno Albisser's avatar
      Replace Shell with WebContentsDelegateQt. · 83a2bc6d
      Zeno Albisser authored
      83a2bc6d
  11. Jun 06, 2013
  12. Jun 04, 2013