From 28fddd86f3c8b0b3a9c8f3bc7998fc75c1cda5ee Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 20 Jan 2016 12:02:15 +0100 Subject: Doc: add documentation for the WebEngineScript item Change-Id: Ice1b0a403686b4a280b2709a79fe2ed18ace3ab6 Reviewed-by: Joerg Bornemann --- src/webengine/api/qquickwebenginescript.cpp | 68 +++++++++++++++++++++- .../doc/src/qquickwebengineview_lgpl.qdoc | 2 + 2 files changed, 68 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/webengine/api/qquickwebenginescript.cpp b/src/webengine/api/qquickwebenginescript.cpp index 71dad701f..7a545e456 100644 --- a/src/webengine/api/qquickwebenginescript.cpp +++ b/src/webengine/api/qquickwebenginescript.cpp @@ -46,6 +46,27 @@ using QtWebEngineCore::UserScript; +/*! + \qmltype WebEngineScript + \instantiates QQuickWebEngineScript + \inqmlmodule QtWebEngine + \since QtWebEngine 1.1 + \brief Enables the programmatic injection of scripts in the JavaScript engine. + + The WebEngineScript type enables the programmatic injection of so called \e {user scripts} in + the JavaScript engine at different points, determined by injectionPoint, during the loading of + web content. + + Scripts can be executed either in the main JavaScript \e world, along with the rest of the + JavaScript coming from the web contents, or in their own isolated world. While the DOM of the + page can be accessed from any world, JavaScript variables of a function defined in one world are + not accessible from a different one. The worldId property provides some predefined IDs for this + purpose. + + Use \l{WebEngineView::userScripts}{WebEngineView.userScripts} to access a list of scripts + attached to the web view. +*/ + QQuickWebEngineScript::QQuickWebEngineScript() : d_ptr(new QQuickWebEngineScriptPrivate) { @@ -79,6 +100,12 @@ QString QQuickWebEngineScript::toString() const return ret; } +/*! + \qmlproperty QString WebEngineScript::name + + The name of the script. Can be useful to retrieve a particular script from + \l{WebEngineView::userScripts}{WebEngineView.userScripts}. +*/ QString QQuickWebEngineScript::name() const { Q_D(const QQuickWebEngineScript); @@ -91,7 +118,7 @@ QString QQuickWebEngineScript::name() const This property holds the remote source location of the user script (if any). Unlike \l sourceCode, this property allows referring to user scripts that - are not already loaded in memory, for instance, when stored on disk. + are not already loaded in memory, for instance, when stored on disk. Setting this property will change the \l sourceCode of the script. @@ -122,20 +149,57 @@ ASSERT_ENUMS_MATCH(QQuickWebEngineScript::Deferred, UserScript::AfterLoad) ASSERT_ENUMS_MATCH(QQuickWebEngineScript::DocumentReady, UserScript::DocumentLoadFinished) ASSERT_ENUMS_MATCH(QQuickWebEngineScript::DocumentCreation, UserScript::DocumentElementCreation) +/*! + \qmlproperty enumeration WebEngineScript::injectionPoint + + The point in the loading process at which the script will be executed. + The default value is \c Deferred. + + \value DocumentCreation + The script will be executed as soon as the document is created. This is not suitable for + any DOM operation. + \value DocumentReady + The script will run as soon as the DOM is ready. This is equivalent to the + \c DOMContentLoaded event firing in JavaScript. + \value Deferred + The script will run when the page load finishes, or 500 ms after the document is ready, + whichever comes first. +*/ QQuickWebEngineScript::InjectionPoint QQuickWebEngineScript::injectionPoint() const { Q_D(const QQuickWebEngineScript); return static_cast(d->coreScript.injectionPoint()); } - +/*! + \qmlproperty enumeration WebEngineScript::worldId + + The world ID defining which isolated world the script is executed in. + + \value MainWorld + The world used by the page's web contents. It can be useful in order to expose custom + functionality to web contents in certain scenarios. + \value ApplicationWorld + The default isolated world used for application level functionality implemented in + JavaScript. + \value UserWorld + The first isolated world to be used by scripts set by users if the application is not + making use of more worlds. As a rule of thumb, if that functionality is exposed to the + application users, each individual script should probably get its own isolated world. +*/ QQuickWebEngineScript::ScriptWorldId QQuickWebEngineScript::worldId() const { Q_D(const QQuickWebEngineScript); return static_cast(d->coreScript.worldId()); } +/*! + \qmlproperty int WebEngineScript::runOnSubframes + Set this property to \c true if the script is executed on every frame in the page, or \c false + if it is only ran for the main frame. + The default value is \c{false}. + */ bool QQuickWebEngineScript::runOnSubframes() const { Q_D(const QQuickWebEngineScript); diff --git a/src/webengine/doc/src/qquickwebengineview_lgpl.qdoc b/src/webengine/doc/src/qquickwebengineview_lgpl.qdoc index 212d9010a..f9810aafd 100644 --- a/src/webengine/doc/src/qquickwebengineview_lgpl.qdoc +++ b/src/webengine/doc/src/qquickwebengineview_lgpl.qdoc @@ -257,6 +257,8 @@ \readonly List of script objects attached to the view. + + \sa WebEngineScript */ /*! -- cgit v1.2.3 From 0341fc1968ac374701b6cc6894a98095eb24f204 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Tue, 26 Jan 2016 14:21:16 +0100 Subject: Update chromium submodule MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pulls in patch to not build an internal copy of ANGLE. Change-Id: I9f4007ae69d29905fea4b1d94345c38ccf10dbce Reviewed-by: Michael Brüning --- src/3rdparty | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/3rdparty b/src/3rdparty index b93352c98..77b911850 160000 --- a/src/3rdparty +++ b/src/3rdparty @@ -1 +1 @@ -Subproject commit b93352c98510fef629d11e8dda91e14aac855f62 +Subproject commit 77b91185050176b88c446fdb1b33b92dd737dd85 -- cgit v1.2.3 From 98f6e0c9d28dbcbecc560abde7606bff7c8e4d99 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Fri, 29 Jan 2016 11:56:51 +0100 Subject: Doc: add a dependency to qtwebview for linking to the module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit qtwebview should be listed as a value of the depends option in the qtwebengine.qdocconf file. It was probably removed by mistake. Change-Id: I86418673b5b8ef01696f8a73bbcf808877e51690 Reviewed-by: Topi Reiniö --- src/webengine/doc/qtwebengine.qdocconf | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/webengine/doc/qtwebengine.qdocconf b/src/webengine/doc/qtwebengine.qdocconf index 02f9a9ffd..a31b1a3dd 100644 --- a/src/webengine/doc/qtwebengine.qdocconf +++ b/src/webengine/doc/qtwebengine.qdocconf @@ -45,6 +45,7 @@ depends += qtcore \ qtquickcontrols \ qtdoc \ qtwebchannel \ + qtwebview \ qtwidgets headerdirs += .. \ -- cgit v1.2.3 From 736b2c5785060b2d9c4b9c40c31408fa5e990f8a Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Tue, 2 Feb 2016 13:08:23 +0100 Subject: Fix build against Qt 5.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make QtWebEngine 5.6 buildable as an upgrade to Qt 5.5 Change-Id: Ic5de7fc414374d8492434dd5b956cbb90fff2e3e Reviewed-by: Michael Brüning --- src/core/api/qwebenginecallback.h | 2 ++ src/core/api/qwebenginecallback_p.h | 2 ++ src/webenginewidgets/api/qwebenginehistory.h | 2 ++ src/webenginewidgets/api/qwebenginescript.h | 2 ++ 4 files changed, 8 insertions(+) (limited to 'src') diff --git a/src/core/api/qwebenginecallback.h b/src/core/api/qwebenginecallback.h index a8758df7d..3bb993757 100644 --- a/src/core/api/qwebenginecallback.h +++ b/src/core/api/qwebenginecallback.h @@ -90,9 +90,11 @@ private: Q_DECLARE_SHARED(QWebEngineCallback) Q_DECLARE_SHARED(QWebEngineCallback) +#if QT_VERSION >= QT_VERSION_CHECK(5,6,0) Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QWebEngineCallback) Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QWebEngineCallback) Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QWebEngineCallback) +#endif QT_END_NAMESPACE diff --git a/src/core/api/qwebenginecallback_p.h b/src/core/api/qwebenginecallback_p.h index 348fed464..f93e863eb 100644 --- a/src/core/api/qwebenginecallback_p.h +++ b/src/core/api/qwebenginecallback_p.h @@ -239,10 +239,12 @@ void CallbackDirectory::CallbackSharedDataPointer::invokeEmpty() parent->invokeEmptyInternal(callback); } +#if QT_VERSION >= QT_VERSION_CHECK(5,6,0) #define CHECK_RELOCATABLE(x) \ Q_STATIC_ASSERT((QTypeInfoQuery >::isRelocatable)); FOR_EACH_TYPE(CHECK_RELOCATABLE) #undef CHECK_RELOCATABLE +#endif } // namespace QtWebEngineCore diff --git a/src/webenginewidgets/api/qwebenginehistory.h b/src/webenginewidgets/api/qwebenginehistory.h index 3dcea9469..81dd3fb34 100644 --- a/src/webenginewidgets/api/qwebenginehistory.h +++ b/src/webenginewidgets/api/qwebenginehistory.h @@ -76,7 +76,9 @@ private: friend class QWebEngineHistoryPrivate; }; +#if QT_VERSION >= QT_VERSION_CHECK(5,6,0) Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QWebEngineHistoryItem) +#endif class QWebEngineHistoryPrivate; class QWEBENGINEWIDGETS_EXPORT QWebEngineHistory { diff --git a/src/webenginewidgets/api/qwebenginescript.h b/src/webenginewidgets/api/qwebenginescript.h index 29126b110..a3cc66179 100644 --- a/src/webenginewidgets/api/qwebenginescript.h +++ b/src/webenginewidgets/api/qwebenginescript.h @@ -99,7 +99,9 @@ private: QSharedDataPointer d; }; +#if QT_VERSION >= QT_VERSION_CHECK(5,6,0) Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QWebEngineScript) +#endif #ifndef QT_NO_DEBUG_STREAM QWEBENGINEWIDGETS_EXPORT QDebug operator<<(QDebug, const QWebEngineScript &); -- cgit v1.2.3 From d9d25951697d2523b6d693cb4ca58396f9e3c097 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Mon, 1 Feb 2016 09:51:10 +0200 Subject: Add SUBDIRS in correct order To workaround qmake issue, the SUBDIRS need to be in correct order. Otherwise recursive qmake call will fail with: Project ERROR: Unknown module(s) in QT_PRIVATE: webenginecoreheaders-private Task-number: QTBUG-45706 Change-Id: I0f70b468fa306406036c0425fc7ae7e7a4f0cfc7 Reviewed-by: Allan Sandfeld Jensen --- src/core/core.pro | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/core/core.pro b/src/core/core.pro index 09eee496f..a205d39a0 100644 --- a/src/core/core.pro +++ b/src/core/core.pro @@ -20,7 +20,8 @@ core_api.depends = gyp_run core_module.file = core_module.pro core_module.depends = core_api -SUBDIRS += core_gyp_generator +SUBDIRS += core_headers \ + core_gyp_generator !win32 { # gyp_configure_host.pro and gyp_configure_target.pro are phony pro files that @@ -36,6 +37,5 @@ SUBDIRS += core_gyp_generator } SUBDIRS += gyp_run \ - core_headers \ core_api \ core_module -- cgit v1.2.3 From a3cba831058778b81ade5a2d486559e3c38d8551 Mon Sep 17 00:00:00 2001 From: Michael Bruning Date: Fri, 29 Jan 2016 11:10:14 +0100 Subject: Fix QDoc warning for QWebEngineUrlRequestInterceptor. Explains the info parameters internal change tracking. Change-Id: I19c8f96d8ecd0b2dc8a56d3d01cc91dd2b664abd Reviewed-by: Leena Miettinen --- src/core/api/qwebengineurlrequestinfo.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/core/api/qwebengineurlrequestinfo.cpp b/src/core/api/qwebengineurlrequestinfo.cpp index e53d9afb6..f229a9748 100644 --- a/src/core/api/qwebengineurlrequestinfo.cpp +++ b/src/core/api/qwebengineurlrequestinfo.cpp @@ -107,6 +107,9 @@ ASSERT_ENUMS_MATCH(QtWebEngineCore::WebContentsAdapterClient::OtherNavigation, Q it possible to intercept URL requests. This function is executed on the IO thread, and therefore running long tasks here will block networking. + \a info contains the information about the URL request and will track internally + whether its members have been altered. + \sa QWebEngineProfile::setRequestInterceptor */ -- cgit v1.2.3 From 2640082bf9c2b3f9c43dc1a347d3429010ced4db Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Fri, 29 Jan 2016 10:19:16 +0100 Subject: Mark highlighted examples MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit So far this has been done centrally in qtbase, but having the list in the modules actually makes maintaining them easier. Change-Id: I8bfab036cd86dea30e5b8ae8cf3993c458a20e9c Reviewed-by: Topi Reiniö --- src/webengine/doc/qtwebengine.qdocconf | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/webengine/doc/qtwebengine.qdocconf b/src/webengine/doc/qtwebengine.qdocconf index a31b1a3dd..2fbdef93e 100644 --- a/src/webengine/doc/qtwebengine.qdocconf +++ b/src/webengine/doc/qtwebengine.qdocconf @@ -35,6 +35,9 @@ qhp.QtWebEngine.subprojects.examples.indexTitle = Qt WebEngine Examples qhp.QtWebEngine.subprojects.examples.selectors = doc:example qhp.QtWebEngine.subprojects.examples.sortPages = true +manifestmeta.highlighted.names += "QtWebEngine/WebEngine Markdown Editor Example" \ + "QtWebEngine/WebEngine Quick Nano Browser" + tagfile = ../../../doc/qtwebengine/qtwebengine.tags depends += qtcore \ -- cgit v1.2.3 From 2fa97ee1ea69024c83968b8b2bbab8d9baffe66b Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Thu, 28 Jan 2016 15:31:32 +0100 Subject: Prefix Markdown Editor example with "WebEngine" Follow the example of the other examples, and always start with WebEngine. This makes also sure that Qt Creator attaches the 'webengine' tag to the example. Task-number: QTBUG-50582 Change-Id: If99ba9a23560abae61e4e2ef5a5b091b3c5473c2 Reviewed-by: Leena Miettinen --- src/webenginewidgets/doc/src/qwebengineview_lgpl.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/webenginewidgets/doc/src/qwebengineview_lgpl.qdoc b/src/webenginewidgets/doc/src/qwebengineview_lgpl.qdoc index 397b9f51b..1ec831ac2 100644 --- a/src/webenginewidgets/doc/src/qwebengineview_lgpl.qdoc +++ b/src/webenginewidgets/doc/src/qwebengineview_lgpl.qdoc @@ -76,7 +76,7 @@ new windows, such as pop-up windows, you can subclass QWebEngineView and reimplement the createWindow() function. - \sa {WebEngine Demo Browser Example}, {WebEngine Content Manipulation Example}, {Markdown Editor Example} + \sa {WebEngine Demo Browser Example}, {WebEngine Content Manipulation Example}, {WebEngine Markdown Editor Example} */ -- cgit v1.2.3 From 46b561970579c08af6e2b2df0713f84396e0da0d Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 3 Feb 2016 16:28:47 +0100 Subject: Doc: QWebEngineSettings::WebAttribute values provide no safety mechanisms Task-number: QTBUG-45556 Change-Id: Ifc39eba7f9e9324f180feeb0d99fef1434f97d64 Reviewed-by: Allan Sandfeld Jensen --- src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc b/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc index 3dc23e037..df85c39fb 100644 --- a/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc +++ b/src/webenginewidgets/doc/src/qwebenginesettings_lgpl.qdoc @@ -99,7 +99,14 @@ \value LocalStorageEnabled Enables support for the HTML 5 local storage feature. Enabled by default. \value LocalContentCanAccessRemoteUrls - Allows locally loaded documents to access remote URLs. Disabled by default. + Allows locally loaded documents to ignore cross-origin rules so that they can access + remote resources that would normally be blocked, because all remote resources are + considered cross-origin for a local file. Remote access that would not be blocked by + cross-origin rules is still possible when this setting is disabled (default). + Note that disabling this setting does not stop XMLHttpRequests or media elements in + local files from accessing remote content. Basically, it only stops some HTML + subresources, such as scripts, and therefore disabling this setting is not a safety + mechanism. \value XSSAuditingEnabled Monitors load requests for cross-site scripting attempts. Suspicious scripts are blocked and reported in the inspector's JavaScript console. Disabled by default, because it -- cgit v1.2.3 From 32929885f44bb9621ac8cfa2b5c592b0977a123f Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Thu, 28 Jan 2016 15:33:25 +0100 Subject: OS X: Fix crash when setting a custom default QSurfaceFormat. Setting a new default QSurfaceFormat after QtWebEngineCore::initialize() is called, might lead to a crash. This happens when the new surface format has a different OpenGL profile, compared to the profile created by web engine in the RenderWidgetHostViewQtDelegateWidget constructor. The default constructed QSurfaceFormat has an OpenGL Compatibility profile. Inside the Cocoa platform plugin when a new shared OpenGL context is created, it fails to initialize the new context because of the difference in profiles, and thus ultimately creates an unshared context, which leads to a crash. Fix consists in using the shared context QSurfaceFormat in the RenderWidgetHostViewQtDelegateWidget constructor, and also printing a fatal warning to notify the developer only to set the new QSurfaceFormat before the application instance is declared. Bottom line, if the QSurfaceFormat OpenGL profile has to be changed, it should be done before QtWebEngineCore::initialize() is called. Doing so after initialize() is called, will lead to a crash. Change-Id: I8a07211b592143d736b001556b944d4759802396 Task-number: QTBUG-50665 Reviewed-by: Allan Sandfeld Jensen Reviewed-by: Michal Klocek --- .../doc/src/qtwebengine-platform-notes.qdoc | 10 ++++++++++ .../render_widget_host_view_qt_delegate_quick.cpp | 15 +++++++++++++++ .../render_widget_host_view_qt_delegate_widget.cpp | 21 +++++++++++++++++++++ 3 files changed, 46 insertions(+) (limited to 'src') diff --git a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc b/src/webengine/doc/src/qtwebengine-platform-notes.qdoc index 3e30e9606..f177c9598 100644 --- a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc +++ b/src/webengine/doc/src/qtwebengine-platform-notes.qdoc @@ -116,4 +116,14 @@ be configured for use with several codecs, which rises licensing issues during distribution with the codec libraries. For some codecs, open source implementations, such as \l {OpenH264}, are available. + + \section1 Default QSurfaceFormat OpenGL Profile Support + + If a new default QSurfaceFormat with a modified OpenGL profile has to be set, it should be set + before the application instance is declared, to make sure that all created OpenGL contexts use + the same OpenGL profile. + + On OS X, if the default QSurfaceFormat is set after the application instance, the application + will exit with qFatal(), and print a message that the default QSurfaceFormat should be set + before the application instance. */ diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp index 508420cf8..b667bbc5c 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -60,6 +61,20 @@ RenderWidgetHostViewQtDelegateQuick::RenderWidgetHostViewQtDelegateQuick(RenderW return; setFocus(true); setActiveFocusOnTab(true); + +#ifdef Q_OS_OSX + // Check that the default QSurfaceFormat OpenGL profile matches the global OpenGL shared + // context profile, otherwise this could lead to a nasty crash. + QOpenGLContext *globalSharedContext = QOpenGLContext::globalShareContext(); + if (globalSharedContext) { + QSurfaceFormat sharedFormat = globalSharedContext->format(); + QSurfaceFormat defaultFormat = QSurfaceFormat::defaultFormat(); + if (defaultFormat.profile() != sharedFormat.profile()) { + qFatal("QWebEngine: Default QSurfaceFormat OpenGL profile does not match global shared context OpenGL profile. Please make sure you set a new QSurfaceFormat before the QtGui application instance is created."); + } + } +#endif + } void RenderWidgetHostViewQtDelegateQuick::initAsChild(WebContentsAdapterClient* container) diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp index 9871ecfb1..7eca835d5 100644 --- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp +++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp @@ -64,9 +64,30 @@ RenderWidgetHostViewQtDelegateWidget::RenderWidgetHostViewQtDelegateWidget(Rende setFocusPolicy(Qt::StrongFocus); #if (QT_VERSION >= QT_VERSION_CHECK(5, 4, 0)) + QSurfaceFormat format; format.setDepthBufferSize(24); format.setStencilBufferSize(8); + + QOpenGLContext *globalSharedContext = QOpenGLContext::globalShareContext(); + if (globalSharedContext) { + QSurfaceFormat sharedFormat = globalSharedContext->format(); + +#ifdef Q_OS_OSX + // Check that the default QSurfaceFormat OpenGL profile matches the global OpenGL shared + // context profile, otherwise this could lead to a nasty crash. + QSurfaceFormat defaultFormat = QSurfaceFormat::defaultFormat(); + if (defaultFormat.profile() != sharedFormat.profile()) { + qFatal("QWebEngine: Default QSurfaceFormat OpenGL profile does not match global shared context OpenGL profile. Please make sure you set a new QSurfaceFormat before the QtGui application instance is created."); + } +#endif + + // Make sure the OpenGL profile of the QOpenGLWidget matches the shared context profile. + format.setMajorVersion(sharedFormat.majorVersion()); + format.setMinorVersion(sharedFormat.minorVersion()); + format.setProfile(sharedFormat.profile()); + } + setFormat(format); #endif -- cgit v1.2.3