/**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the documentation of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:FDL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU Free Documentation License Usage ** Alternatively, this file may be used under the terms of the GNU Free ** Documentation License version 1.3 as published by the Free Software ** Foundation and appearing in the file included in the packaging of ** this file. Please review the following information to ensure ** the GNU Free Documentation License version 1.3 requirements ** will be met: https://www.gnu.org/licenses/fdl-1.3.html. ** $QT_END_LICENSE$ ** ****************************************************************************/ /*! \page qtwebenginewidgets-qtwebkitportingguide.html \title Porting from Qt WebKit to Qt WebEngine \brief Overview of the differences between the Qt WebKit and Qt WebEngine API. The following sections contain information about porting an application that uses the \l{http://doc.qt.io/archives/qt-5.3/qtwebkit-index.html}{Qt WebKit} \l{http://doc.qt.io/archives/qt-5.3/qml-qtwebkit-webview.html}{QWebView API} to use the \l{Qt WebEngine} QWebEngineView. \section1 Architecture Chromium provides its own network and painting engines, which Qt WebEngine uses. This, among other things, allows Qt WebEngine to provide better and more reliable support for the latest HTML5 specification than Qt WebKit. However, Qt WebEngine is thus also heavier than Qt WebKit and does not provide direct access to the network stack and the HTML document through C++ APIs. \section1 Class Names The Qt WebEngine equivalent of Qt WebKit C++ classes are prefixed by "\e QWebEngine" instead of "\e QWeb". \b {Qt WebKit} \code #include #include #include #include QWebHistory QWebHistoryItem QWebPage QWebView \endcode \b {Qt WebEngine} \code #include #include #include #include QWebEngineHistory QWebEngineHistoryItem QWebEnginePage QWebEngineView \endcode \section1 Qt Module Name \section2 In qmake Project Files \b {Qt WebKit} \code QT += webkitwidgets \endcode \b {Qt WebEngine} \code QT += webenginewidgets \endcode \section2 Including the Module in Source Files \b {Qt WebKit} \code #include #include // With Qt >= 4.8 \endcode \b {Qt WebEngine} \code #include \endcode \section1 QWebFrame Has Been Merged into QWebEnginePage HTML frames can be used to divide web pages into several areas where the content can be represented individually. In Qt WebKit, QWebFrame represents a frame inside a web page. Each QWebPage object contains at least one frame, the main frame, obtained using QWebPage::mainFrame(). Additional frames will be created for the HTML \c element, which defines the appearance and contents of a single frame, or the \c