diff options
author | Alexandru Croitor <alexandru.croitor@theqtcompany.com> | 2016-03-01 16:03:45 +0100 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@theqtcompany.com> | 2016-03-22 10:00:30 +0000 |
commit | d361d1375d066feca0ed3706aaff421b83627372 (patch) | |
tree | 4e16e2d7d2be22687ff6a04de7043234b2677b15 | |
parent | 4d6b2dc88bda15ade9d04e54d80b7e4693d59832 (diff) |
Add option to allow compiling WebEngine as Mac App Store compliant.
When the option is enabled, a GYP variable is set that will result in
removing private API calls in Chromium.
Task-number: QTBUG-51072
Change-Id: If8835ce74bf5db94c17b68ebeb396cae9cc10553
Reviewed-by: Michael BrĂ¼ning <michael.bruning@theqtcompany.com>
-rw-r--r-- | src/core/gyp_run.pro | 1 | ||||
-rw-r--r-- | src/webengine/doc/src/qtwebengine-platform-notes.qdoc | 19 | ||||
-rw-r--r-- | tools/qmake/mkspecs/features/configure.prf | 7 |
3 files changed, 27 insertions, 0 deletions
diff --git a/src/core/gyp_run.pro b/src/core/gyp_run.pro index 02d1e41d6..51fe9ad1d 100644 --- a/src/core/gyp_run.pro +++ b/src/core/gyp_run.pro @@ -101,6 +101,7 @@ contains(QT_ARCH, "arm64"): GYP_CONFIG += target_arch=arm64 contains(QT_ARCH, "mips64"): GYP_CONFIG += target_arch=mips64el contains(WEBENGINE_CONFIG, use_proprietary_codecs): GYP_CONFIG += proprietary_codecs=1 ffmpeg_branding=Chrome +contains(WEBENGINE_CONFIG, use_appstore_compliant_code): GYP_CONFIG += appstore_compliant_code=1 # Compiling with -Os makes a huge difference in binary size, and the unwind tables is another big part, # but the latter are necessary for useful debug binaries. diff --git a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc b/src/webengine/doc/src/qtwebengine-platform-notes.qdoc index 673215dd7..559615b3b 100644 --- a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc +++ b/src/webengine/doc/src/qtwebengine-platform-notes.qdoc @@ -120,6 +120,25 @@ with the codec libraries. For some codecs, open source implementations, such as \l {OpenH264}, are available. + \section1 Mac App Store Compatibility + + By default, Qt WebEngine uses private OS X API, which might cause an application to be + rejected when submitted to the Mac App Store. To configure Qt WebEngine not to use these API + calls, Qt WebEngine has to be recompiled: + + \code + qmake WEBENGINE_CONFIG += use_appstore_compliant_code + \endcode + + However, this will cause some behavioral changes, such as: + + \list + \li The OS X Kill Ring functionality will no longer work (emacs-like copy pasting). + \li Certain Chromium sandboxing cleanup is not done. + \li Text areas will be painted with a different style. + \li Text fields might be painted with a different style on Mountain Lion (OS X 10.8). + \endlist + \section1 Default QSurfaceFormat OpenGL Profile Support If a new default QSurfaceFormat with a modified OpenGL profile has to be set, it should be set diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf index b92c8af61..7703e3414 100644 --- a/tools/qmake/mkspecs/features/configure.prf +++ b/tools/qmake/mkspecs/features/configure.prf @@ -113,5 +113,12 @@ defineTest(finalizeConfigure) { } else { log("Proprietary codecs (H264, MP3).... Not enabled (Default, enable with WEBENGINE_CONFIG += use_proprietary_codecs)$${EOL}") } + osx { + use?(appstore_compliant_code) { + log("AppStore Compliant ............... Enabled$${EOL}") + } else { + log("AppStore Compliant ............... Not enabled (Default, enable with WEBENGINE_CONFIG += use_appstore_compliant_code)$${EOL}") + } + } } |