// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \example webenginequick/minimal
    \title WebEngine Qt Quick Minimal Example
    \ingroup webengine-examples
    \brief Displays a web page using the Qt Quick integration of \QWE.

    \image minimal-example.png

    \e {WebEngine Qt Quick Minimal Example} demonstrates how to use the
    \l{WebEngineView} item to render a web page. It shows the minimum amount of
    code needed to load and display an HTML page, and can be used as a basis for
    further experimentation.

    \include examples-run.qdocinc

    \section1 C++ Code

    In \c main.cpp we use only the QGuiApplication and QQmlApplicationEngine
    classes. We also include \c qtwebengineglobal.h to be able to use
    \l{QtWebEngineQuick::initialize}.

    \quotefromfile webenginequick/minimal/main.cpp
    \skipto #include
    \printto main

    In the \c main function we first set the
    \l{QCoreApplication::organizationName} property. This affects the locations
    where \QWE stores persistent and cached data (see also
    \l{WebEngineProfile::cachePath} and
    \l{WebEngineProfile::persistentStoragePath}).

    Next, we call \l{QtWebEngineQuick::initialize}, which makes sure that OpenGL
    contexts can be shared between the main process and the dedicated renderer
    process (\c QtWebEngineProcess). This method needs to be called before
    any OpenGL context is created.

    Then we create a QQmlApplicationEngine, and tell it to load \c main.qml
    from the \l{The Qt Resource System}{Qt Resource System}.

    Finally, QGuiApplication::exec() launches the main event loop.

    \printuntil }

    \section1 QML Code

    In \c main.qml we create the top level window, set a sensible default size
    and make it visible. The window will be filled by a WebEngineView item
    loading the \l{Qt Homepage}.

    \quotefromfile webenginequick/minimal/main.qml
    \skipto import
    \printuntil }
    \printline }

    \section1 Requirements

    The example requires a working internet connection to render the
    \l{Qt Homepage}.
    An optional system proxy should be picked up automatically.
*/
