[EFL] Support an applicationVersion argument to UserAgentEfl::standardUserAgent()
authorgyuyoung.kim@webkit.org <gyuyoung.kim@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Nov 2015 03:41:13 +0000 (03:41 +0000)
committergyuyoung.kim@webkit.org <gyuyoung.kim@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 11 Nov 2015 03:41:13 +0000 (03:41 +0000)
https://bugs.webkit.org/show_bug.cgi?id=151060

Reviewed by Darin Adler.

*applicationVersion* was missed to support by r192148. This patch adds it as well as
missed Darin comments are fixed.

* platform/efl/UserAgentEfl.cpp:
(WebCore::platformVersionForUAString):
(WebCore::versionForUAString):
(WebCore::standardUserAgent):

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

Source/WebCore/ChangeLog
Source/WebCore/platform/efl/UserAgentEfl.cpp

index f3b5d9c..bd08024 100644 (file)
@@ -1,3 +1,18 @@
+2015-11-10  Gyuyoung Kim  <gyuyoung.kim@webkit.org>
+
+        [EFL] Support an applicationVersion argument to UserAgentEfl::standardUserAgent() 
+        https://bugs.webkit.org/show_bug.cgi?id=151060
+
+        Reviewed by Darin Adler.
+
+        *applicationVersion* was missed to support by r192148. This patch adds it as well as
+        missed Darin comments are fixed.
+
+        * platform/efl/UserAgentEfl.cpp:
+        (WebCore::platformVersionForUAString):
+        (WebCore::versionForUAString):
+        (WebCore::standardUserAgent):
+
 2015-11-10  Simon Fraser  <simon.fraser@apple.com>
 
         Use different pixel formats for displays that support them
index 11fd38f..8251b98 100644 (file)
@@ -51,23 +51,30 @@ static String platformVersionForUAString()
     if (uname(&name) != -1)
         version = makeString(name.sysname, ' ', name.machine);
     else
-        version = "Unknown";
+        version = ASCIILiteral("Unknown");
     return version;
 }
 
-static const String versionForUAString()
+static const String& versionForUAString()
 {
     static NeverDestroyed<String> version(String::format("%i.%i", WEBKIT_MAJOR_VERSION, WEBKIT_MINOR_VERSION));
     return version;
 }
 
-String standardUserAgent(const String& applicationName, const String&)
+String standardUserAgent(const String& applicationName, const String& applicationVersion)
 {
-    String version = versionForUAString();
+    const String& version = versionForUAString();
     static NeverDestroyed<String> standardUserAgentString = makeString("Mozilla/5.0 (", platformForUAString(), "; ", platformVersionForUAString(),
         ") AppleWebKit/", version, " (KHTML, like Gecko) Version/8.0 Safari/601.2.7");
 
-    return applicationName.isEmpty() ? standardUserAgentString : standardUserAgentString + ' ' + applicationName;
+    if (applicationName.isEmpty())
+        return standardUserAgentString;
+
+    String finalApplicationVersion = applicationVersion;
+    if (finalApplicationVersion.isEmpty())
+        finalApplicationVersion = versionForUAString();
+
+    return standardUserAgentString + ' ' + applicationName + '/' + finalApplicationVersion;
 }
 
 } // namespace WebCore