From b24a6419869c14e32e87cb97e529cc25c246b5e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCri=20Valdmann?= Date: Wed, 5 Apr 2017 17:14:16 +0200 Subject: Create example for full screen feature in WebEngine Adds an example ('videoplayer') showing how to enable the Fullscreen API[1] in QWebEngineView. This is one of the missing examples blocking the removal of demobrowser. [1]: https://fullscreen.spec.whatwg.org Task-number: QTBUG-59820 Change-Id: Ib02a1556515d87e595ca54c2bce18c9144030fbc Reviewed-by: Kai Koehne Reviewed-by: Leena Miettinen Reviewed-by: Michal Klocek --- .../webenginewidgets/videoplayer/data/index.html | 23 +++ .../videoplayer/data/videoplayer.qrc | 5 + .../videoplayer/doc/images/videoplayer-example.png | Bin 0 -> 34140 bytes .../videoplayer/doc/src/videoplayer.qdoc | 186 +++++++++++++++++++++ .../videoplayer/fullscreennotification.cpp | 87 ++++++++++ .../videoplayer/fullscreennotification.h | 61 +++++++ .../videoplayer/fullscreenwindow.cpp | 88 ++++++++++ .../videoplayer/fullscreenwindow.h | 68 ++++++++ examples/webenginewidgets/videoplayer/main.cpp | 53 ++++++ .../webenginewidgets/videoplayer/mainwindow.cpp | 72 ++++++++ examples/webenginewidgets/videoplayer/mainwindow.h | 64 +++++++ .../webenginewidgets/videoplayer/videoplayer.pro | 19 +++ examples/webenginewidgets/webenginewidgets.pro | 3 +- src/webengine/doc/qtwebengine.qdocconf | 2 +- 14 files changed, 729 insertions(+), 2 deletions(-) create mode 100644 examples/webenginewidgets/videoplayer/data/index.html create mode 100644 examples/webenginewidgets/videoplayer/data/videoplayer.qrc create mode 100644 examples/webenginewidgets/videoplayer/doc/images/videoplayer-example.png create mode 100644 examples/webenginewidgets/videoplayer/doc/src/videoplayer.qdoc create mode 100644 examples/webenginewidgets/videoplayer/fullscreennotification.cpp create mode 100644 examples/webenginewidgets/videoplayer/fullscreennotification.h create mode 100644 examples/webenginewidgets/videoplayer/fullscreenwindow.cpp create mode 100644 examples/webenginewidgets/videoplayer/fullscreenwindow.h create mode 100644 examples/webenginewidgets/videoplayer/main.cpp create mode 100644 examples/webenginewidgets/videoplayer/mainwindow.cpp create mode 100644 examples/webenginewidgets/videoplayer/mainwindow.h create mode 100644 examples/webenginewidgets/videoplayer/videoplayer.pro diff --git a/examples/webenginewidgets/videoplayer/data/index.html b/examples/webenginewidgets/videoplayer/data/index.html new file mode 100644 index 000000000..4a1bdc33e --- /dev/null +++ b/examples/webenginewidgets/videoplayer/data/index.html @@ -0,0 +1,23 @@ + + + + + + + + + + diff --git a/examples/webenginewidgets/videoplayer/data/videoplayer.qrc b/examples/webenginewidgets/videoplayer/data/videoplayer.qrc new file mode 100644 index 000000000..c3322b454 --- /dev/null +++ b/examples/webenginewidgets/videoplayer/data/videoplayer.qrc @@ -0,0 +1,5 @@ + + + index.html + + diff --git a/examples/webenginewidgets/videoplayer/doc/images/videoplayer-example.png b/examples/webenginewidgets/videoplayer/doc/images/videoplayer-example.png new file mode 100644 index 000000000..9cf51d84a Binary files /dev/null and b/examples/webenginewidgets/videoplayer/doc/images/videoplayer-example.png differ diff --git a/examples/webenginewidgets/videoplayer/doc/src/videoplayer.qdoc b/examples/webenginewidgets/videoplayer/doc/src/videoplayer.qdoc new file mode 100644 index 000000000..599e13e6c --- /dev/null +++ b/examples/webenginewidgets/videoplayer/doc/src/videoplayer.qdoc @@ -0,0 +1,186 @@ +/**************************************************************************** +** +** Copyright (C) 2017 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 http://www.qt.io/terms-conditions. For further +** information use the contact form at http://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: http://www.gnu.org/copyleft/fdl.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \example webenginewidgets/videoplayer + \title WebEngine Widgets Video Player Example + \ingroup webengine-widgetexamples + \brief Displays full screen video using \l QWebEngineView + + \image videoplayer-example.png + + \e {Video Player} demonstrates how to support full screen playback of HTML5 + video using \l QWebEngineView. + + \l {https://fullscreen.spec.whatwg.org/}{The Fullscreen API} is a + cross-browser Javascript API that enables a web page to request that one of + its HTML elements be made to occupy the user's entire screen. It is + commonly used for full screen video playback via the \c