From 5e572e88efa7ba7c2b9138ec19e606d3e345ac90 Mon Sep 17 00:00:00 2001 From: Szabolcs David <davidsz@inf.u-szeged.hu> Date: Mon, 29 Sep 2014 02:10:05 -0700 Subject: [PATCH] Fix WebEngineSettings::setDefaultTextEncoding() Add the missing default_encoding to the web preferences. Use a 0ms timer instead of the 100ms in order to apply the settings as soon as possible and avoid waiting mechanisms in the test. Change-Id: I12f1a6dd68b29c2b287b160eea1ad5a5fb169c14 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com> --- src/core/web_engine_settings.cpp | 3 ++- tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp | 8 +++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/core/web_engine_settings.cpp b/src/core/web_engine_settings.cpp index 363cd9c6a..03f746f41 100644 --- a/src/core/web_engine_settings.cpp +++ b/src/core/web_engine_settings.cpp @@ -44,7 +44,7 @@ #include <QTimer> #include <QTouchDevice> -static const int batchTimerTimeout = 100; +static const int batchTimerTimeout = 0; class BatchTimer : public QTimer { Q_OBJECT @@ -290,4 +290,5 @@ void WebEngineSettings::applySettingsToWebPreferences(WebPreferences *prefs) prefs->default_fixed_font_size = fontSize(DefaultFixedFontSize); prefs->minimum_font_size = fontSize(MinimumFontSize); prefs->minimum_logical_font_size = fontSize(MinimumLogicalFontSize); + prefs->default_encoding = defaultTextEncoding().toStdString(); } diff --git a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp index d098d8e73..b6d3f14c5 100644 --- a/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp +++ b/tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp @@ -2706,29 +2706,27 @@ void tst_QWebEnginePage::testEnablePersistentStorage() void tst_QWebEnginePage::defaultTextEncoding() { -#if !defined(QWEBENGINESETTINGS_SETDEFAULTTEXTENCODING) - QSKIP("QWEBENGINESETTINGS_SETDEFAULTTEXTENCODING"); -#else - QString defaultCharset = evaluateJavaScriptSync(m_page, "document.defaultCharset").toString(); QVERIFY(!defaultCharset.isEmpty()); QCOMPARE(QWebEngineSettings::globalSettings()->defaultTextEncoding(), defaultCharset); m_page->settings()->setDefaultTextEncoding(QString("utf-8")); + QCoreApplication::processEvents(); QString charset = evaluateJavaScriptSync(m_page, "document.defaultCharset").toString(); QCOMPARE(charset, QString("utf-8")); QCOMPARE(m_page->settings()->defaultTextEncoding(), charset); m_page->settings()->setDefaultTextEncoding(QString()); + QCoreApplication::processEvents(); charset = evaluateJavaScriptSync(m_page, "document.defaultCharset").toString(); QVERIFY(!charset.isEmpty()); QCOMPARE(charset, defaultCharset); QWebEngineSettings::globalSettings()->setDefaultTextEncoding(QString("utf-8")); + QCoreApplication::processEvents(); charset = evaluateJavaScriptSync(m_page, "document.defaultCharset").toString(); QCOMPARE(charset, QString("utf-8")); QCOMPARE(QWebEngineSettings::globalSettings()->defaultTextEncoding(), charset); -#endif } #if defined(QWEBENGINEPAGE_ERRORPAGEEXTENSION) -- GitLab