2011-03-05 Qi Zhang <qi.2.zhang@nokia.com>
authorqi.2.zhang@nokia.com <qi.2.zhang@nokia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 5 Mar 2011 17:32:09 +0000 (17:32 +0000)
committerqi.2.zhang@nokia.com <qi.2.zhang@nokia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 5 Mar 2011 17:32:09 +0000 (17:32 +0000)
        Reviewed by Laszlo Gombos.

        [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
        https://bugs.webkit.org/show_bug.cgi?id=48636

        Add model infomation into user agent string when qtmobility is available, but only for symbian, Maemo and MeeGo.

        * WebCore.pri:
        * features.pri:
2011-03-05  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
        https://bugs.webkit.org/show_bug.cgi?id=48636

        Add model infomation into user agent string when qtmobility is available, but only for symbian, Maemo and MeeGo.

        * Api/qwebpage.cpp:
        (QWebPage::userAgentForUrl):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@80424 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/WebCore.pri
Source/WebCore/features.pri
Source/WebKit/qt/Api/qwebpage.cpp
Source/WebKit/qt/ChangeLog

index 9a054e518174fb79df393b819663858fa70cc663..01368421c73272268ae66e52de60f0a4aadfa7f7 100644 (file)
@@ -1,3 +1,15 @@
+2011-03-05  Qi Zhang  <qi.2.zhang@nokia.com>
+
+        Reviewed by Laszlo Gombos.
+
+        [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
+        https://bugs.webkit.org/show_bug.cgi?id=48636
+
+        Add model infomation into user agent string when qtmobility is available, but only for symbian, Maemo and MeeGo.
+
+        * WebCore.pri:
+        * features.pri:
+
 2011-03-05  Pavel Feldman  <pfeldman@chromium.org>
 
         Not reviewed: adding null check to prevent inspector tests from failing.
index 8f3f43d734d5bcde6cf528ed4760f8bd8bff47b0..39463843112f14d95b61f15f1c79a7ff43fdc820 100644 (file)
@@ -229,6 +229,11 @@ contains(DEFINES, ENABLE_DEVICE_ORIENTATION=1) {
     MOBILITY *= sensors
 }
 
+contains(DEFINES, ENABLE_QT_USERAGENT_DEVICEMODEL=1) {
+     CONFIG *= mobility
+     MOBILITY *= systeminfo
+}
+
 contains(DEFINES, ENABLE_QT_BEARER=1) {
     # Bearer management is part of Qt 4.7, so don't accidentially
     # pull in Qt Mobility when building against >= 4.7
index 499f78b4db22cb8b60bd077ed6b83c537cd45b9d..8c5bf2fd2e4bad067da156739626ff354044bbe8 100644 (file)
@@ -131,6 +131,15 @@ contains(MOBILITY_CONFIG, sensors) {
    MOBILITY *= sensors
 }
 
+# systeminfo support if QtMobility systeminfo module exists, but only for symbian, maemo and meego
+symbian|maemo5|maemo6 {
+    !CONFIG(QTDIR_build):!contains(DEFINES, ENABLE_QT_USERAGENT_DEVICEMODEL=.) {
+        contains(MOBILITY_CONFIG, systeminfo) {
+            DEFINES += QT_USERAGENT_DEVICEMODEL=1
+        }
+    }
+}
+
 # Bearer management is part of Qt 4.7
 # for older version, check for mobility with bearer
 !contains(DEFINES, ENABLE_QT_BEARER=.) {
index 6e0316cbe75e5c38695e5707bb94e81671ad006e..5dd57f5563f895da675ddee714fed7559c84be56 100644 (file)
 #if defined(Q_WS_X11)
 #include <QX11Info>
 #endif
-
+#if ENABLE(QT_USERAGENT_DEVICEMODEL)
+#include <qsysteminfo.h>
+#endif
 
 using namespace WebCore;
 
@@ -3719,6 +3721,10 @@ QString QWebPage::userAgentForUrl(const QUrl&) const
         "Macintosh; "
 #elif defined Q_WS_QWS
         "QtEmbedded; "
+#elif defined Q_WS_MAEMO_5
+        "Maemo"
+#elif defined Q_WS_MAEMO_6
+        "MeeGo"
 #elif defined Q_WS_WIN
         // Nothing
 #elif defined Q_WS_X11
@@ -3838,6 +3844,7 @@ QString QWebPage::userAgentForUrl(const QUrl&) const
 #elif defined Q_OS_IRIX
         firstPartTemp += QString::fromLatin1("SGI Irix");
 #elif defined Q_OS_LINUX
+#if !defined(Q_WS_MAEMO_5) && !defined(Q_WS_MAEMO_6)
 
 #if defined(__x86_64__)
         firstPartTemp += QString::fromLatin1("Linux x86_64");
@@ -3846,6 +3853,7 @@ QString QWebPage::userAgentForUrl(const QUrl&) const
 #else
         firstPartTemp += QString::fromLatin1("Linux");
 #endif
+#endif
 
 #elif defined Q_OS_LYNX
         firstPartTemp += QString::fromLatin1("LynxOS");
@@ -3895,6 +3903,17 @@ QString QWebPage::userAgentForUrl(const QUrl&) const
         firstPartTemp += QString::fromLatin1("Unknown");
 #endif
 
+#if ENABLE(QT_USERAGENT_DEVICEMODEL)
+        // adding Model Number
+        QtMobility::QSystemDeviceInfo systemDeviceInfo;
+
+        QString model = systemDeviceInfo.model();
+        if (!model.isEmpty()) {
+            if (!firstPartTemp.endsWith("; "))
+                firstPartTemp += QString::fromLatin1("; ");
+            firstPartTemp += systemDeviceInfo.model();
+        }
+#endif
         firstPartTemp.squeeze();
         firstPart = firstPartTemp;
 
@@ -3914,7 +3933,7 @@ QString QWebPage::userAgentForUrl(const QUrl&) const
 
         QString thirdPartTemp;
         thirdPartTemp.reserve(150);
-#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5)
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6)
         thirdPartTemp += QLatin1String(" Mobile Safari/");
 #else
         thirdPartTemp += QLatin1String(" Safari/");
index 633e77e978f03eb9c579bc5604b7591bcdc90166..b48843b76a08c0c7d88dba28e43f7d5fd34b192d 100644 (file)
@@ -1,3 +1,15 @@
+2011-03-05  Qi Zhang  <qi.2.zhang@nokia.com>
+
+        Reviewed by Laszlo Gombos.
+
+        [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
+        https://bugs.webkit.org/show_bug.cgi?id=48636
+
+        Add model infomation into user agent string when qtmobility is available, but only for symbian, Maemo and MeeGo.
+
+        * Api/qwebpage.cpp:
+        (QWebPage::userAgentForUrl):
+
 2011-03-03  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
 
         Reviewed by Kenneth Rohde Christiansen.