summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/web_engine_settings.cpp2
-rw-r--r--src/core/web_engine_settings.h3
-rw-r--r--src/webengine/api/qquickwebengineprofile.cpp3
-rw-r--r--src/webengine/api/qquickwebenginesettings.cpp21
-rw-r--r--src/webengine/api/qquickwebenginesettings_p.h4
-rw-r--r--src/webengine/plugin/plugin.cpp1
6 files changed, 33 insertions, 1 deletions
diff --git a/src/core/web_engine_settings.cpp b/src/core/web_engine_settings.cpp
index f907f6e00..b59ec7311 100644
--- a/src/core/web_engine_settings.cpp
+++ b/src/core/web_engine_settings.cpp
@@ -214,6 +214,7 @@ void WebEngineSettings::initDefaults(bool offTheRecord)
m_attributes.insert(ScrollAnimatorEnabled, false);
m_attributes.insert(ErrorPageEnabled, true);
m_attributes.insert(PluginsEnabled, false);
+ m_attributes.insert(FullscreenSupportEnabled, false);
// Default fonts
QFont defaultFont;
@@ -279,6 +280,7 @@ void WebEngineSettings::applySettingsToWebPreferences(content::WebPreferences *p
prefs->enable_scroll_animator = testAttribute(ScrollAnimatorEnabled);
prefs->enable_error_page = testAttribute(ErrorPageEnabled);
prefs->plugins_enabled = testAttribute(PluginsEnabled);
+ prefs->fullscreen_supported = testAttribute(FullscreenSupportEnabled);
// Fonts settings.
prefs->standard_font_family_map[content::kCommonScript] = toString16(fontFamily(StandardFont));
diff --git a/src/core/web_engine_settings.h b/src/core/web_engine_settings.h
index a59a7f5fd..1d8f83184 100644
--- a/src/core/web_engine_settings.h
+++ b/src/core/web_engine_settings.h
@@ -71,7 +71,8 @@ public:
HyperlinkAuditingEnabled,
ScrollAnimatorEnabled,
ErrorPageEnabled,
- PluginsEnabled
+ PluginsEnabled,
+ FullscreenSupportEnabled,
};
// Must match the values from the public API in qwebenginesettings.h.
diff --git a/src/webengine/api/qquickwebengineprofile.cpp b/src/webengine/api/qquickwebengineprofile.cpp
index 69c524356..75ac6bb62 100644
--- a/src/webengine/api/qquickwebengineprofile.cpp
+++ b/src/webengine/api/qquickwebengineprofile.cpp
@@ -56,6 +56,9 @@ QQuickWebEngineProfilePrivate::QQuickWebEngineProfilePrivate(BrowserContextAdapt
{
m_browserContextRef->addClient(this);
m_settings->d_ptr->initDefaults(browserContext->isOffTheRecord());
+ // Fullscreen API was implemented before the supported setting, so we must
+ // make it default true to avoid change in default API behavior.
+ m_settings->d_ptr->setAttribute(QtWebEngineCore::WebEngineSettings::FullscreenSupportEnabled, true);
}
QQuickWebEngineProfilePrivate::~QQuickWebEngineProfilePrivate()
diff --git a/src/webengine/api/qquickwebenginesettings.cpp b/src/webengine/api/qquickwebenginesettings.cpp
index 26ea094a5..6a012ba39 100644
--- a/src/webengine/api/qquickwebenginesettings.cpp
+++ b/src/webengine/api/qquickwebenginesettings.cpp
@@ -221,6 +221,19 @@ bool QQuickWebEngineSettings::pluginsEnabled() const
}
/*!
+ \qmlproperty bool WebEngineSettings::fullscreenSupportEnabled
+ \since QtWebEngine 1.2
+
+ This setting tells the web engine if fullscreen is supported in this application or not.
+
+ It is enabled by default.
+*/
+bool QQuickWebEngineSettings::fullscreenSupportEnabled() const
+{
+ return d_ptr->testAttribute(WebEngineSettings::FullscreenSupportEnabled);
+}
+
+/*!
\qmlproperty QString WebEngineSettings::defaultTextEncoding
The \a encoding, must be a string describing an encoding such as "utf-8",
@@ -332,6 +345,14 @@ void QQuickWebEngineSettings::setPluginsEnabled(bool on)
Q_EMIT pluginsEnabledChanged();
}
+void QQuickWebEngineSettings::setFullscreenSupportEnabled(bool on)
+{
+ bool wasOn = d_ptr->testAttribute(WebEngineSettings::FullscreenSupportEnabled);
+ d_ptr->setAttribute(WebEngineSettings::FullscreenSupportEnabled, on);
+ if (wasOn != on)
+ Q_EMIT fullscreenSupportEnabledChanged();
+}
+
void QQuickWebEngineSettings::setDefaultTextEncoding(QString encoding)
{
const QString oldDefaultTextEncoding = d_ptr->defaultTextEncoding();
diff --git a/src/webengine/api/qquickwebenginesettings_p.h b/src/webengine/api/qquickwebenginesettings_p.h
index f077c0ee2..dce060c9f 100644
--- a/src/webengine/api/qquickwebenginesettings_p.h
+++ b/src/webengine/api/qquickwebenginesettings_p.h
@@ -61,6 +61,7 @@ class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineSettings : public QObject {
Q_PROPERTY(bool hyperlinkAuditingEnabled READ hyperlinkAuditingEnabled WRITE setHyperlinkAuditingEnabled NOTIFY hyperlinkAuditingEnabledChanged)
Q_PROPERTY(bool errorPageEnabled READ errorPageEnabled WRITE setErrorPageEnabled NOTIFY errorPageEnabledChanged)
Q_PROPERTY(bool pluginsEnabled READ pluginsEnabled WRITE setPluginsEnabled NOTIFY pluginsEnabledChanged)
+ Q_PROPERTY(bool fullscreenSupportEnabled READ fullscreenSupportEnabled WRITE setFullscreenSupportEnabled NOTIFY fullscreenSupportEnabledChanged REVISION 1)
Q_PROPERTY(QString defaultTextEncoding READ defaultTextEncoding WRITE setDefaultTextEncoding NOTIFY defaultTextEncodingChanged)
public:
@@ -78,6 +79,7 @@ public:
bool hyperlinkAuditingEnabled() const;
bool errorPageEnabled() const;
bool pluginsEnabled() const;
+ bool fullscreenSupportEnabled() const;
QString defaultTextEncoding() const;
void setAutoLoadImages(bool on);
@@ -92,6 +94,7 @@ public:
void setHyperlinkAuditingEnabled(bool on);
void setErrorPageEnabled(bool on);
void setPluginsEnabled(bool on);
+ void setFullscreenSupportEnabled(bool on);
void setDefaultTextEncoding(QString encoding);
signals:
@@ -107,6 +110,7 @@ signals:
void hyperlinkAuditingEnabledChanged();
void errorPageEnabledChanged();
void pluginsEnabledChanged();
+ Q_REVISION(1) void fullscreenSupportEnabledChanged();
void defaultTextEncodingChanged();
private:
diff --git a/src/webengine/plugin/plugin.cpp b/src/webengine/plugin/plugin.cpp
index 95268e2c1..e4b96c47b 100644
--- a/src/webengine/plugin/plugin.cpp
+++ b/src/webengine/plugin/plugin.cpp
@@ -77,6 +77,7 @@ public:
QObject::tr("Cannot create a separate instance of WebEngineDownloadItem"));
qmlRegisterUncreatableType<QQuickWebEngineNewViewRequest>(uri, 1, 1, "WebEngineNewViewRequest", QObject::tr("Cannot create separate instance of WebEngineNewViewRequest"));
qmlRegisterUncreatableType<QQuickWebEngineSettings>(uri, 1, 1, "WebEngineSettings", QObject::tr("Cannot create a separate instance of WebEngineSettings"));
+ qmlRegisterUncreatableType<QQuickWebEngineSettings, 1>(uri, 1, 2, "WebEngineSettings", QObject::tr("Cannot create a separate instance of WebEngineSettings"));
qmlRegisterSingletonType<QQuickWebEngineSingleton>(uri, 1, 1, "WebEngine", webEngineSingletonProvider);
qmlRegisterUncreatableType<QQuickWebEngineHistory>(uri, 1, 1, "NavigationHistory",
QObject::tr("Cannot create a separate instance of NavigationHistory"));