diff options
Diffstat (limited to 'src/core/type_conversion.h')
-rw-r--r-- | src/core/type_conversion.h | 118 |
1 files changed, 49 insertions, 69 deletions
diff --git a/src/core/type_conversion.h b/src/core/type_conversion.h index 9bf0416a9..0da8a6931 100644 --- a/src/core/type_conversion.h +++ b/src/core/type_conversion.h @@ -1,41 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWebEngine module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #ifndef TYPE_CONVERSION_H #define TYPE_CONVERSION_H @@ -49,7 +13,6 @@ #include <QRect> #include <QString> #include <QUrl> -#include <base/strings/nullable_string16.h> #include "base/files/file_path.h" #include "base/time/time.h" #include "net/cookies/canonical_cookie.h" @@ -57,13 +20,12 @@ #include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkColor.h" #include "third_party/skia/include/core/SkPixelRef.h" -#include "third_party/skia/include/core/SkMatrix44.h" #include "ui/base/ime/text_input_type.h" #include "ui/gfx/geometry/rect.h" #include "ui/gfx/geometry/rect_f.h" #include "url/gurl.h" +#include "url/origin.h" -QT_FORWARD_DECLARE_CLASS(QMatrix4x4) QT_FORWARD_DECLARE_CLASS(QSslCertificate) namespace gfx { @@ -77,24 +39,28 @@ class X509Certificate; namespace QtWebEngineCore { -inline QString toQt(const base::string16 &string) +#if defined(Q_OS_WIN) +inline QString toQt(const std::wstring &string) { -#if defined(OS_WIN) return QString::fromStdWString(string); -#else - return QString::fromUtf16(reinterpret_cast<const char16_t *>(string.data()), string.size()); +} #endif + +inline QString toQt(const std::u16string &string) +{ + return QString::fromStdU16String(string); } -inline QString toQt(const base::Optional<base::string16> &string) +inline QString toQt(const absl::optional<std::u16string> &string) { if (!string.has_value()) return QString(); -#if defined(OS_WIN) - return QString::fromStdWString(string->data()); -#else - return QString::fromUtf16(string->data()); -#endif + return QString::fromStdU16String(*string); +} + +inline QString toQString(const base::StringPiece &string) +{ + return QString::fromUtf8(string.data(), string.size()); } inline QString toQString(const std::string &string) @@ -102,6 +68,11 @@ inline QString toQString(const std::string &string) return QString::fromStdString(string); } +inline QByteArray toQByteArray(const base::StringPiece &string) +{ + return QByteArray(string.data(), string.size()); +} + inline QByteArray toQByteArray(const std::string &string) { return QByteArray::fromStdString(string); @@ -113,25 +84,16 @@ inline QString toQt(const std::string &string) return toQString(string); } -inline base::string16 toString16(const QString &qString) -{ -#if defined(OS_WIN) - return base::string16(qString.toStdWString()); -#else - return base::string16((const char16_t *)qString.utf16()); -#endif -} - -inline base::NullableString16 toNullableString16(const QString &qString) +inline std::u16string toString16(const QString &qString) { - return base::NullableString16(toString16(qString), qString.isNull()); + return qString.toStdU16String(); } -inline base::Optional<base::string16> toOptionalString16(const QString &qString) +inline absl::optional<std::u16string> toOptionalString16(const QString &qString) { if (qString.isNull()) - return base::nullopt; - return base::make_optional(toString16(qString)); + return absl::nullopt; + return absl::make_optional(qString.toStdU16String()); } inline QUrl toQt(const GURL &url) @@ -147,11 +109,26 @@ inline GURL toGurl(const QUrl& url) return GURL(url.toEncoded().toStdString()); } +inline QUrl toQt(const url::Origin &origin) +{ + return QUrl::fromEncoded(toQByteArray(origin.Serialize())); +} + +inline url::Origin toOrigin(const QUrl &url) +{ + return url::Origin::Create(toGurl(url)); +} + inline QPoint toQt(const gfx::Point &point) { return QPoint(point.x(), point.y()); } +inline QPointF toQt(const gfx::PointF &point) +{ + return QPointF(point.x(), point.y()); +} + inline QPointF toQt(const gfx::Vector2dF &point) { return QPointF(point.x(), point.y()); @@ -202,6 +179,11 @@ inline QSizeF toQt(const gfx::SizeF &size) return QSizeF(size.width(), size.height()); } +inline QSize toQt(const SkISize &size) +{ + return QSize(size.width(), size.height()); +} + inline QColor toQt(const SkColor &c) { return QColor(SkColorGetR(c), SkColorGetG(c), SkColorGetB(c), SkColorGetA(c)); @@ -225,8 +207,6 @@ SkBitmap toSkBitmap(const QImage &image); QIcon toQIcon(const gfx::Image &image); QIcon toQIcon(const std::vector<SkBitmap> &bitmaps); -void convertToQt(const SkMatrix44 &m, QMatrix4x4 &c); - inline QDateTime toQt(base::Time time) { return QDateTime::fromMSecsSinceEpoch(time.ToJavaTime()); @@ -250,7 +230,7 @@ inline QNetworkCookie toQt(const net::CanonicalCookie & cookie) inline base::FilePath::StringType toFilePathString(const QString &str) { -#if defined(OS_WIN) +#if defined(Q_OS_WIN) return QDir::toNativeSeparators(str).toStdWString(); #else return str.toStdString(); @@ -264,7 +244,7 @@ inline base::FilePath toFilePath(const QString &str) int flagsFromModifiers(Qt::KeyboardModifiers modifiers); -inline QStringList fromVector(const std::vector<base::string16> &vector) +inline QStringList fromVector(const std::vector<std::u16string> &vector) { QStringList result; for (auto s: vector) { |