summaryrefslogtreecommitdiffstats
path: root/src/webengine
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-10-15 13:53:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-12-02 15:01:47 +0000
commit03301c0fbdf034fb987e1c1ed1bec7c206dcd27e (patch)
treedeb25e6e6389f6237fac50ad2cd5e17da8501edf /src/webengine
parent11756734c84038b407bddc8524cdf488efbe846c (diff)
Add WebGL, WebAudio and Accelerated2dCanvas settings
These settings were in QtWebKit and are easily added in QtWebEngine. Without the preferences the same could be achieved using command line flags. The defaults are calculated to match what is set in RenderViewHostImpl. Change-Id: I0c80507574ebc3898fc409e47194246fb00abc75 Reviewed-by: Michael BrĂ¼ning <michael.bruning@theqtcompany.com>
Diffstat (limited to 'src/webengine')
-rw-r--r--src/webengine/api/qquickwebenginesettings.cpp64
-rw-r--r--src/webengine/api/qquickwebenginesettings_p.h12
2 files changed, 76 insertions, 0 deletions
diff --git a/src/webengine/api/qquickwebenginesettings.cpp b/src/webengine/api/qquickwebenginesettings.cpp
index 327c9e745..79819efc3 100644
--- a/src/webengine/api/qquickwebenginesettings.cpp
+++ b/src/webengine/api/qquickwebenginesettings.cpp
@@ -246,6 +246,46 @@ bool QQuickWebEngineSettings::screenCaptureEnabled() const
}
/*!
+ \qmlproperty bool WebEngineSettings::webGLEnabled
+ \since QtWebEngine 1.3
+
+ Enables support for HTML 5 WebGL.
+
+ Enabled by default if available.
+*/
+bool QQuickWebEngineSettings::webGLEnabled() const
+{
+ return d_ptr->testAttribute(WebEngineSettings::WebGLEnabled);
+}
+
+/*!
+ \qmlproperty bool WebEngineSettings::webAudioEnabled
+ \since QtWebEngine 1.3
+
+ Enables support for HTML 5 WebAudio.
+
+ Disabled by default.
+*/
+bool QQuickWebEngineSettings::webAudioEnabled() const
+{
+ return d_ptr->testAttribute(WebEngineSettings::WebAudioEnabled);
+}
+
+/*!
+ \qmlproperty bool WebEngineSettings::accelerated2dCanvasEnabled
+ \since QtWebEngine 1.3
+
+ Specifies whether the HTML 5 2D canvas should be a OpenGL framebuffer.
+ This makes many painting operations faster, but slows down pixel access.
+
+ Enabled by default if available.
+*/
+bool QQuickWebEngineSettings::accelerated2dCanvasEnabled() const
+{
+ return d_ptr->testAttribute(WebEngineSettings::Accelerated2dCanvasEnabled);
+}
+
+/*!
\qmlproperty QString WebEngineSettings::defaultTextEncoding
Sets the default encoding. The value must be a string describing an encoding such as "utf-8" or
@@ -373,6 +413,30 @@ void QQuickWebEngineSettings::setScreenCaptureEnabled(bool on)
Q_EMIT screenCaptureEnabledChanged();
}
+void QQuickWebEngineSettings::setWebGLEnabled(bool on)
+{
+ bool wasOn = d_ptr->testAttribute(WebEngineSettings::WebGLEnabled);
+ d_ptr->setAttribute(WebEngineSettings::WebGLEnabled, on);
+ if (wasOn != on)
+ Q_EMIT webGLEnabledChanged();
+}
+
+void QQuickWebEngineSettings::setWebAudioEnabled(bool on)
+{
+ bool wasOn = d_ptr->testAttribute(WebEngineSettings::WebAudioEnabled);
+ d_ptr->setAttribute(WebEngineSettings::WebAudioEnabled, on);
+ if (wasOn != on)
+ Q_EMIT webAudioEnabledChanged();
+}
+
+void QQuickWebEngineSettings::setAccelerated2dCanvasEnabled(bool on)
+{
+ bool wasOn = d_ptr->testAttribute(WebEngineSettings::Accelerated2dCanvasEnabled);
+ d_ptr->setAttribute(WebEngineSettings::Accelerated2dCanvasEnabled, on);
+ if (wasOn != on)
+ Q_EMIT accelerated2dCanvasEnabledChanged();
+}
+
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 c08a5d897..d307dec1c 100644
--- a/src/webengine/api/qquickwebenginesettings_p.h
+++ b/src/webengine/api/qquickwebenginesettings_p.h
@@ -76,6 +76,9 @@ class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineSettings : public QObject {
Q_PROPERTY(bool fullScreenSupportEnabled READ fullScreenSupportEnabled WRITE setFullScreenSupportEnabled NOTIFY fullScreenSupportEnabledChanged)
// FIXME: add back REVISION when QTBUG-40043 has been fixed.
Q_PROPERTY(bool screenCaptureEnabled READ screenCaptureEnabled WRITE setScreenCaptureEnabled NOTIFY screenCaptureEnabledChanged /* REVISION 2 */)
+ Q_PROPERTY(bool webGLEnabled READ webGLEnabled WRITE setWebGLEnabled NOTIFY webGLEnabledChanged /* REVISION 2 */)
+ Q_PROPERTY(bool webAudioEnabled READ webAudioEnabled WRITE setWebAudioEnabled NOTIFY webAudioEnabledChanged /* REVISION 2 */)
+ Q_PROPERTY(bool accelerated2dCanvasEnabled READ accelerated2dCanvasEnabled WRITE setAccelerated2dCanvasEnabled NOTIFY accelerated2dCanvasEnabledChanged /* REVISION 2 */)
Q_PROPERTY(QString defaultTextEncoding READ defaultTextEncoding WRITE setDefaultTextEncoding NOTIFY defaultTextEncodingChanged)
public:
@@ -95,6 +98,9 @@ public:
bool pluginsEnabled() const;
bool fullScreenSupportEnabled() const;
bool screenCaptureEnabled() const;
+ bool webGLEnabled() const;
+ bool webAudioEnabled() const;
+ bool accelerated2dCanvasEnabled() const;
QString defaultTextEncoding() const;
void setAutoLoadImages(bool on);
@@ -111,6 +117,9 @@ public:
void setPluginsEnabled(bool on);
void setFullScreenSupportEnabled(bool on);
void setScreenCaptureEnabled(bool on);
+ void setWebGLEnabled(bool on);
+ void setWebAudioEnabled(bool on);
+ void setAccelerated2dCanvasEnabled(bool on);
void setDefaultTextEncoding(QString encoding);
signals:
@@ -130,6 +139,9 @@ signals:
void fullScreenSupportEnabledChanged();
// FIXME: add back Q_REVISION when QTBUG-40043 has been fixed.
void screenCaptureEnabledChanged();
+ void webGLEnabledChanged();
+ void webAudioEnabledChanged();
+ void accelerated2dCanvasEnabledChanged();
void defaultTextEncodingChanged();
private: