From 68ff88a1d767a64dd8d9b90615567789feebcefe Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 19 Jul 2018 12:34:21 +0200 Subject: Make QUrl <-> GUrl conversion more explicit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Specify exactly how we parse using QUrl, and try parsing invalid URLs from GUrl as well. Change-Id: If6e95d2600315180f36f9ad767f97936b438cd84 Reviewed-by: Jüri Valdmann --- src/core/type_conversion.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/core/type_conversion.h') diff --git a/src/core/type_conversion.h b/src/core/type_conversion.h index 5181bc23d..b9e210c22 100644 --- a/src/core/type_conversion.h +++ b/src/core/type_conversion.h @@ -83,7 +83,7 @@ inline QString toQt(const base::string16 &string) #endif } -inline QString toQt(const std::string &string) +inline QString toQString(const std::string &string) { return QString::fromStdString(string); } @@ -93,6 +93,12 @@ inline QByteArray toQByteArray(const std::string &string) return QByteArray::fromStdString(string); } +// ### should probably be toQByteArray +inline QString toQt(const std::string &string) +{ + return toQString(string); +} + inline base::string16 toString16(const QString &qString) { #if defined(OS_WIN) @@ -109,12 +115,15 @@ inline base::NullableString16 toNullableString16(const QString &qString) inline QUrl toQt(const GURL &url) { - return QUrl(QString::fromStdString(url.spec())); + if (url.is_valid()) + return QUrl::fromEncoded(toQByteArray(url.spec())); + + return QUrl(toQString(url.possibly_invalid_spec())); } inline GURL toGurl(const QUrl& url) { - return GURL(url.toString().toStdString()); + return GURL(url.toEncoded().toStdString()); } inline QPoint toQt(const gfx::Point &point) -- cgit v1.2.3