1. Jul 30, 2014
    • Allan Sandfeld Jensen's avatar
      Add api to get the favicon URL · a99922af
      Allan Sandfeld Jensen authored
      
      Adds one of the missing pieces of the QWebFrame and QWebView APIs.
      Unlike the QtWebKit version this only fetches the favicon URL, and not
      the icon. This is because we do not want to implement an icon database,
      and that the icon would be loaded asynchronous anyway, bringing no
      guarantee to be a valid icon/image yet.
      
      Change-Id: I227311ae3676044da850e687b82bee752b5079c8
      Reviewed-by: default avatarJocelyn Turcotte <jocelyn.turcotte@digia.com>
      a99922af
  2. Jul 11, 2014
  3. Jul 10, 2014
  4. Jul 09, 2014
    • Frederik Gladhorn's avatar
      Add core accessibility · a9853701
      Frederik Gladhorn authored
      
      This commit adds the basics to bridge the blink
      accessibility classes to QAccessibleInterfaces.
      
      Note that it needs two follow up commits to implement the bridging from
      the QWidget/Qt Quick worlds.
      
      [ChangeLog][Accessibility] QtWebEngine now has accessibility
      support, enabling assistive technology such as screen readers to work
      with it.
      
      Change-Id: Ied1d97e61a024115ac7a9245331211f6d9fac1b4
      Reviewed-by: default avatarZeno Albisser <zeno.albisser@digia.com>
      Reviewed-by: default avatarAndras Becsi <andras.becsi@digia.com>
      a9853701
  5. Jul 07, 2014
  6. May 15, 2014
  7. May 12, 2014
  8. May 08, 2014
  9. May 07, 2014
    • Jocelyn Turcotte's avatar
      Properly cleanup the old page when attaching a new one · 388a71d6
      Jocelyn Turcotte authored
      
      This patch fixes two issues:
      - The RWHV delegate of the old page would not be detached from the view
        when attaching a new page to that view. Call reattachRWHV as we do on
        the new page to make sure that the delegate gets unparented from the
        view.
      - QtWebKit documents that a page having the view as its QObject parent
        should be deleted when setPage is called with a new page. This would
        cause QupZilla to leak the page when opening a new window through a
        link.
      
      This also adds a workaround to avoid a crash when unparenting the
      delegate where QOpenGLWidget would try to call paintGL without a valid
      QSurface.
      
      Change-Id: Icd2659f441d2220c26dc175d66424e6c26125861
      Reviewed-by: default avatarAndras Becsi <andras.becsi@digia.com>
      388a71d6
  10. May 05, 2014
  11. Apr 29, 2014
    • Pierre Rossi's avatar
      WebRTC Widgets API · 6fca3ec6
      Pierre Rossi authored
      
      Simply reuse the existing feature request approach that
      was used for geolocation and notifications in QtWebKit.
      
      Change-Id: I8fec4f4e9e81b491163912fadb4ce17d343864dd
      Reviewed-by: default avatarZeno Albisser <zeno.albisser@digia.com>
      6fca3ec6
    • Pierre Rossi's avatar
      Add WebRTC support · 070846b2
      Pierre Rossi authored
      
      Reuse the MediaCaptureDevicesDispatcher from the chrome layer,
      pretty much as is, and wire it in with WebContentsDelegateQt and
      WebContentsAdapter/WebContentsAdapterClient for API delegation.
      
      We also need to ensure that our user agent string mentions Chrome and
      the Chrome version we're based on, in order to please websites that detect
      feature support that way.
      
      Change-Id: I0ddf8cd34e4add96bc36f59adfe8e0384e728d93
      Reviewed-by: default avatarZeno Albisser <zeno.albisser@digia.com>
      070846b2
    • Pierre Rossi's avatar
      Add a way of using UI dialogs for authorization · 4da1db8f
      Pierre Rossi authored
      
      We could use this to prompt the user for various feature permissions
      that we are not ready to expose in our API.
      
      Change-Id: If6e6a16aca4142b0564121dfc7677b7c4996f742
      Reviewed-by: default avatarZeno Albisser <zeno.albisser@digia.com>
      4da1db8f
  12. Apr 15, 2014
  13. Apr 14, 2014
  14. Apr 10, 2014
    • Pierre Rossi's avatar
      Fix an false positive assertion with context menu · 777c0934
      Pierre Rossi authored
      
      Due to the asynchronous nature of context menu events in chromium,
      we need to filter out the Qt generated events, and rely of what comes
      back from the chromium side. We keep a flag to ensure we're always
      in a consistent state, but the part re-setting it in QWEView went missing.
      This simply re-adds it together with initializing it to false upon view
      construction.
      
      Change-Id: I5d187faf93742898c96a1951b7dc477ce1b3f5bd
      Reviewed-by: default avatarPeter Varga <pvarga@inf.u-szeged.hu>
      777c0934
  15. Apr 08, 2014
  16. Mar 31, 2014
  17. Mar 21, 2014
    • Jocelyn Turcotte's avatar
      Base load signals on Blink loader events · f06cb10c
      Jocelyn Turcotte authored
      
      This mainly remove the use of the LoadingStateChanged callback, which
      is tied to DidStartLoading and DidStopLoading.
      Those signals are handled from the browser process side, also wrapping
      the time where the render process is initialized. We can't rely on
      those signals for loadStarted, but afterward rely on the Blink loader
      for loadFinished. We must use the same source for both.
      
      Instead only rely on Blink callbacks ultimately related to network
      events. This gives us a behavior closer to QtWebKit.
      
      The major compromise that this forces us to to accept is that
      loadStarted is now triggered asynchronously. This will basically break
      anything expecting loadStarted to be emitted synchronously from the
      load method.
      
      This also adjust autotests to get a few more passing.
      
      Initial-patch-by: default avatarPierre Rossi <pierre.rossi@digia.com>
      Change-Id: Ib6c0170df891d1b7f8ed4dc1d483985523e267dc
      Reviewed-by: default avatarPierre Rossi <pierre.rossi@gmail.com>
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@digia.com>
      f06cb10c
  18. Mar 14, 2014
    • Pierre Rossi's avatar
      Tooltip support. · 38b5dc5f
      Pierre Rossi authored
      
      Basic tooltip support for widgets relying on the existing QToolTip
      mechanism.
      Left unimplemented on the Qt Quick side for now since ToolTip support
      is still very much a work in progress there.
      
      Change-Id: Ia4bfd715a224e0cbc147c8860e131d1545cebe1e
      Reviewed-by: default avatarJocelyn Turcotte <jocelyn.turcotte@digia.com>
      38b5dc5f
  19. Feb 28, 2014
    • Jocelyn Turcotte's avatar
      Add HTTP and proxy authentication signals directly to QWebEnginePage · 970ccc7f
      Jocelyn Turcotte authored
      
      This allows handling calls that would be signaled by QNetworkAccessManager
      in QtWebKit.
      This pulls QtNetwork as a dependency of the QtWebEngineWidgets module
      to be able to use QAuthenticator, but isn't required otherwise.
      
      Only the request URL is available in the case of HTTP authentication
      (no access to HTTP request headers that the QNetworkReply would allow)
      and only the proxy host name in the case case of proxy authentication.
      
      This keeps the API synchronous the same way, as QtWebKit did, in
      favor of source compatibility at the cost of requiring a modal
      dialog, even though the implementation doesn't require it.
      
      Change-Id: I9e021def38e6107c9e66d2de8f86bd0328d543df
      Reviewed-by: default avatarMichael Bruning <michael.bruning@digia.com>
      970ccc7f
  20. Feb 21, 2014
  21. Feb 20, 2014
  22. Feb 13, 2014
    • Jocelyn Turcotte's avatar
      Implement QWebEnginePage::findText · 324706a5
      Jocelyn Turcotte authored
      
      A few changes to the API:
      - Return the success result asynchronously.
      - FindWrapsAroundDocument and HighlightAllOccurrences are enabled by
        defaults and cannot be disabled.
      - Found text isn't updating the selection on the page like QtWebKit
        did, but triggers a separate state not available. A find count and
        current index could be exposed, but isn't in this case to keep the
        API delta lower.
      
      This also adds the possibility to pass bool results through the
      CallbackDirectory and add a new tst_QWebEnginePage::findTextResult
      test since the old test relied on the selection to be updated when
      the searched text is found.
      
      Change-Id: I8189b5aea8d832df183c6c1ae03e3f08198a9c45
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@digia.com>
      324706a5
    • Jocelyn Turcotte's avatar
      Implement QWebEnginePage::selectedText · 9cf0007b
      Jocelyn Turcotte authored
      
      Change-Id: Idebde8da0befbea7ccc5942de1e09fcc61ce16d4
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@digia.com>
      9cf0007b
    • Jocelyn Turcotte's avatar
      Refactor the way callbacks are stored · 1f17c9b3
      Jocelyn Turcotte authored
      
      With the upcoming addition of a new type of callback result, this
      patch allows storing multiple callback types in the same QHash instead
      or requiring a different hash table just to please the type system.
      
      This does so by managing the ref-counted callback pointers directly
      instead of relying on a templated QExplicitlySharedDataPointer that
      requires a different type for each different callback pointer type.
      
      The ref-counting, construction and destruction is managed through
      a run-time type enum.
      
      Change-Id: I90ab2e1efc0c9703fc5b6ef57b38204ac8eea828
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@digia.com>
      1f17c9b3
    • Jocelyn Turcotte's avatar
      Move the requestID argument before the result · 71edccab
      Jocelyn Turcotte authored
      
      This tries to get the order of declaration to be consistent.
      It also follows the order used by Chromium in some places
      where the routing_id usually comes first, then the request_id
      and then the result of the asynchronous request.
      
      Change-Id: I88e164dee67e1631161a222f7dd7a4679c3d3acd
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@digia.com>
      71edccab
    • Jocelyn Turcotte's avatar
      Fix a warning in QWebEnginePage::setHtml · 0bb596fb
      Jocelyn Turcotte authored
      
      Change-Id: I87c18edb89658433d6dc3487ab92d2ff7bd6c986
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@digia.com>
      0bb596fb