Announcement

Collapse
No announcement yet.

Qt WebKit Looks To Be Making A Comeback

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Qt WebKit Looks To Be Making A Comeback

    Phoronix: Qt WebKit Looks To Be Making A Comeback

    Within the upstream Qt tool-kit, the WebKit module was dropped in favor of Qt WebEngine that's powered by Google's Chromium "Blink" engine. While Qt WebEngine is still working out well for new development projects, it looks like Qt WebKit is being worked on for a revival...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    It's progressing nicely, the only really user noticeable missing feature comparing to legacy version from SDK is NPAPI support (at least for those who need plugins):
    Code in this repository is obsolete. Use this fork: https://github.com/movableink/webkit - qtwebkit/qtwebkit


    If someone would like to try it under 64 bit Windows then you can find experimental build here:


    Once they will hit some bigger milestone I'll try to prepare some precompiled packages for Linux too. ;-)



    Comment


    • #3
      Why would you use this over WebEngine? Like more power to them if they want to do it but this seems like completely duplicating the work for no gain at all.

      Comment


      • #4
        @SpyroRyder, QtWebEngine has limited integration and it won't expose as much features as QtWebKit since Blink / Chromium is fast moving target (Google likes to break stuff).
        Also as of Qt 5.7 it still doesn't support some basic features like... printing (at least it will support saving to PDF).
        Here is (outdated) list of missing stuff (some items are now done, but not that much):
        Otter Browser aims to recreate the best aspects of the classic Opera (12.x) UI using Qt5 - OtterBrowser/otter-browser

        Plus QtWebKit has some other users too, which cannot replace it with something different for various reasons.

        Comment


        • #5
          Originally posted by SpyroRyder View Post
          Why would you use this over WebEngine? Like more power to them if they want to do it but this seems like completely duplicating the work for no gain at all.
          The old WebKit1 API allows a few things neither the WebKit2 API nor Chromium can. By having WebKit work in the same process as Qt it can integrate much deeper, with QObjects injected into JavaScript, having QtNetwork work as the network stack, and using QPainter as WebKit's paint back end. All which are impossible in WebEngine, and all also being a burden to maintain, and doomed anyway as there was focus to move to WebKit2 even in QtWebKit.

          Comment


          • #6
            Originally posted by carewolf View Post

            The old WebKit1 API allows a few things neither the WebKit2 API nor Chromium can. By having WebKit work in the same process as Qt it can integrate much deeper, with QObjects injected into JavaScript, having QtNetwork work as the network stack, and using QPainter as WebKit's paint back end. All which are impossible in WebEngine, and all also being a burden to maintain, and doomed anyway as there was focus to move to WebKit2 even in QtWebKit.
            Actually, it's quite possible to have Qt Bridge and direct DOM access in WebKit2, by using InjectedBundle API. WebKitGTK provides WebExtensions API allowing to load C plugin into WebProcess and communicate with it over WebKit2 IPC, and we could do it as well.

            Comment


            • #7
              Oh come on, just decide on one. Don't have both. Compiling an entire web framework takes ages; I don't want to wait *twice as many ages* because of both! And that's normally in addition to having to compile a dedicated browser!

              My netbook has Qt4Webkit installed, because Skype requires it for some dumb reason (rendering widgets or something), and it sure is not fun to have to recompile it on every point release over and over again. Ideally it would not be a part of Qt altogether, but rather be a shared library with browsers. Also be modular instead of monolithic, so that on security updates only a part of it would have to be recompiled, not the whole thing.

              Comment


              • #8
                I switched to using Qt 4.7-beta then 4.7-rc and realised I couldn't compile the gui for apitrace as QtWebkit doesn't exist for 4.7.

                Comment


                • #9
                  Our plan is to use stable branches of WebKitGTK as a base of our stable branches
                  Wow, finally sane people in charge.

                  Comment


                  • #10
                    @GreatEmerald, you don't need to rebuild all Qt modules at once.
                    And yeah, some shared library with core part of WebKit would be best (distributions would love that, just one bigger chunk instead of three), but I'm not sure if it is feasible already.
                    Also it is true that both QtWebEngine and QtWebKit shouldn't follow Qt releases strictly (gluing them in the first place wasn't a good idea, at least not from all points of view), security fixes should get own separate releases ASAP, plus waiting like ten months for new feature release is pain (especially when QtWebEngine is still missing some basic stuff, earliest possibility to complete is Qt 5.8, which doesn't have release schedule yet on the wiki, but I doubt that it will make it before end of this year, perhaps February?).

                    Comment

                    Working...
                    X