[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/kio/kio
From:       Germain Garand <germain () ebooksfrance ! org>
Date:       2010-01-18 4:21:45
Message-ID: 1263788505.703621.401.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1076386 by ggarand:

- remove optional whitespace from value of Accept-Language header for
  better compatibility with Gecko (#220677)
- do correct prioritization of languages inside Accept-Language as defined
  by section 14.4 of RFC 2616

BUG: 220677

 M  +16 -2     kprotocolmanager.cpp  


--- trunk/KDE/kdelibs/kio/kio/kprotocolmanager.cpp #1076385:1076386
@@ -556,8 +556,22 @@
       languageListFinal += langs;
   }
 
-  // The header is composed of comma separated languages.
-  QString header = languageListFinal.join(", ");
+  // The header is composed of comma separated languages, with an optional
+  // associated priority estimate (q=1..0) defaulting to 1.
+  // As our language tags are already sorted by priority, we'll just decrease
+  // the value evenly
+  int prio = 10;
+  QString header;
+  foreach (const QString &lang,languageListFinal) {
+      header += lang;
+      if (prio < 10)
+          header += QString(";q=0.%1").arg(prio);
+      // do not add cosmetic whitespace in here : it is less compatible (#220677)
+      header += ",";
+      if (prio > 1)
+          --prio;
+  }
+  header.chop(1);
 
   // Some of the languages may have country specifier delimited by
   // underscore, or modifier delimited by at-sign.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic