Changeset 80688 in webkit


Ignore:
Timestamp:
Mar 9, 2011 8:19:56 PM (13 years ago)
Author:
pkasting@chromium.org
Message:

Unify Windows version checks.
https://bugs.webkit.org/show_bug.cgi?id=55979

Reviewed by Mihai Parparita.

Source/WebCore:

  • GNUmakefile.am: Fix spaces -> tabs.
  • StringsNotToBeLocalized.txt:
  • WebCore.pro: Add SystemInfo.* to Qt build.
  • platform/chromium/ScrollbarThemeChromiumWin.cpp:

(WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
(WebCore::ScrollbarThemeChromiumWin::getThemeState):
(WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):

  • platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:

(WebCore::fillBMPGlyphs):

  • platform/win/CursorWin.cpp:

(WebCore::createSharedCursor):

  • platform/win/ScrollbarThemeWin.cpp:

(WebCore::ScrollbarThemeWin::ScrollbarThemeWin):

  • platform/win/SystemInfo.cpp: Add full-fledged version check and UA string helper function.

(WebCore::windowsVersion):
(WebCore::windowsVersionForUAString):

  • platform/win/SystemInfo.h: Add full-fledged version check and UA string helper function.
  • rendering/RenderThemeChromiumWin.cpp:

(WebCore::getNonClientMetrics):

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::getThemeData):
(WebCore::RenderThemeWin::paintMenuList):
(WebCore::RenderThemeWin::paintMenuListButton):

Source/WebKit/gtk:

  • webkit/webkitwebsettings.cpp:

(webkitOSVersion):

Source/WebKit/qt:

  • Api/qwebpage.cpp:

(QWebPage::userAgentForUrl):

Source/WebKit/win:

  • WebView.cpp:

(WebView::standardUserAgentWithApplicationName):
(webKitVersionString):

Source/WebKit2:

  • UIProcess/win/WebPageProxyWin.cpp:

(WebKit::WebPageProxy::standardUserAgent):

Location:
trunk/Source
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r80686 r80688  
     12011-03-09  Peter Kasting  <pkasting@google.com>
     2
     3        Reviewed by Mihai Parparita.
     4
     5        Unify Windows version checks.
     6        https://bugs.webkit.org/show_bug.cgi?id=55979
     7
     8        * GNUmakefile.am: Fix spaces -> tabs.
     9        * StringsNotToBeLocalized.txt:
     10        * WebCore.pro: Add SystemInfo.* to Qt build.
     11        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
     12        (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
     13        (WebCore::ScrollbarThemeChromiumWin::getThemeState):
     14        (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
     15        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
     16        (WebCore::fillBMPGlyphs):
     17        * platform/win/CursorWin.cpp:
     18        (WebCore::createSharedCursor):
     19        * platform/win/ScrollbarThemeWin.cpp:
     20        (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
     21        * platform/win/SystemInfo.cpp: Add full-fledged version check and UA string helper function.
     22        (WebCore::windowsVersion):
     23        (WebCore::windowsVersionForUAString):
     24        * platform/win/SystemInfo.h: Add full-fledged version check and UA string helper function.
     25        * rendering/RenderThemeChromiumWin.cpp:
     26        (WebCore::getNonClientMetrics):
     27        * rendering/RenderThemeWin.cpp:
     28        (WebCore::RenderThemeWin::getThemeData):
     29        (WebCore::RenderThemeWin::paintMenuList):
     30        (WebCore::RenderThemeWin::paintMenuListButton):
     31
    1322011-03-09  Mihai Parparita  <mihaip@chromium.org>
    233
  • trunk/Source/WebCore/GNUmakefile.am

    r80611 r80688  
    38523852        Source/WebCore/platform/ScrollAnimatorWin.cpp \
    38533853        Source/WebCore/platform/ScrollAnimatorWin.h \
    3854     Source/WebCore/platform/win/SystemInfo.cpp \
    3855     Source/WebCore/platform/win/SystemInfo.h \
     3854        Source/WebCore/platform/win/SystemInfo.cpp \
     3855        Source/WebCore/platform/win/SystemInfo.h \
    38563856        Source/WebCore/plugins/win/PluginDatabaseWin.cpp \
    38573857        Source/WebCore/plugins/win/PluginMessageThrottlerWin.cpp \
  • trunk/Source/WebCore/StringsNotToBeLocalized.txt

    r80218 r80688  
    512512"WebWorkersPrivate"
    513513"Windows "
     514"Windows CE"
     515"Windows CE "
     516"Windows CE .NET"
     517"Windows 3.1"
    514518"Windows 95"
    515519"Windows 98"
    516520"Windows 98; Win 9x 4.90"
     521"WinNT4.0"
    517522"Windows NT "
    518523"WmvPlugin"
  • trunk/Source/WebCore/WebCore.pro

    r80560 r80688  
    25242524
    25252525win32-*|wince* {
     2526    HEADERS += platform/win/SystemInfo.h
    25262527    SOURCES += \
     2528        platform/win/SystemInfo.cpp \
    25272529        platform/win/SystemTimeWin.cpp \
    25282530        platform/graphics/win/TransformationMatrixWin.cpp
  • trunk/Source/WebCore/platform/chromium/ScrollbarThemeChromiumWin.cpp

    r80611 r80688  
    7171bool ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit()
    7272{
    73     return isRunningOnVistaOrLater();
     73    return windowsVersion() >= WindowsVista;
    7474}
    7575
     
    161161        if (part == ThumbPart)
    162162            return SCRBS_PRESSED;
    163         return isRunningOnVistaOrLater() ? SCRBS_HOVER : SCRBS_NORMAL;
     163        return (windowsVersion() < WindowsVista) ? SCRBS_NORMAL : SCRBS_HOVER;
    164164    }
    165165    if (!scrollbar->enabled())
    166166        return SCRBS_DISABLED;
    167167    if (scrollbar->hoveredPart() != part || part == BackTrackPart || part == ForwardTrackPart)
    168         return (scrollbar->hoveredPart() == NoPart || !isRunningOnVistaOrLater()) ? SCRBS_NORMAL : SCRBS_HOVER;
     168        return (scrollbar->hoveredPart() == NoPart || (windowsVersion() < WindowsVista)) ? SCRBS_NORMAL : SCRBS_HOVER;
    169169    if (scrollbar->pressedPart() == NoPart)
    170170        return SCRBS_HOT;
     
    180180        if (scrollbar->orientation() == HorizontalScrollbar) {
    181181            if (scrollbar->pressedPart() == ThumbPart)
    182                 return !isRunningOnVistaOrLater() ? ABS_LEFTNORMAL : ABS_LEFTHOVER;
     182                return (windowsVersion() < WindowsVista) ? ABS_LEFTNORMAL : ABS_LEFTHOVER;
    183183            if (!scrollbar->enabled())
    184184                return ABS_LEFTDISABLED;
    185185            if (scrollbar->hoveredPart() != part)
    186                 return ((scrollbar->hoveredPart() == NoPart) || !isRunningOnVistaOrLater()) ? ABS_LEFTNORMAL : ABS_LEFTHOVER;
     186                return ((scrollbar->hoveredPart() == NoPart) || (windowsVersion() < WindowsVista)) ? ABS_LEFTNORMAL : ABS_LEFTHOVER;
    187187            if (scrollbar->pressedPart() == NoPart)
    188188                return ABS_LEFTHOT;
     
    191191        }
    192192        if (scrollbar->pressedPart() == ThumbPart)
    193             return !isRunningOnVistaOrLater() ? ABS_UPNORMAL : ABS_UPHOVER;
     193            return (windowsVersion() < WindowsVista) ? ABS_UPNORMAL : ABS_UPHOVER;
    194194        if (!scrollbar->enabled())
    195195            return ABS_UPDISABLED;
    196196        if (scrollbar->hoveredPart() != part)
    197             return ((scrollbar->hoveredPart() == NoPart) || !isRunningOnVistaOrLater()) ? ABS_UPNORMAL : ABS_UPHOVER;
     197            return ((scrollbar->hoveredPart() == NoPart) || (windowsVersion() < WindowsVista)) ? ABS_UPNORMAL : ABS_UPHOVER;
    198198        if (scrollbar->pressedPart() == NoPart)
    199199            return ABS_UPHOT;
     
    202202    if (scrollbar->orientation() == HorizontalScrollbar) {
    203203        if (scrollbar->pressedPart() == ThumbPart)
    204             return !isRunningOnVistaOrLater() ? ABS_RIGHTNORMAL : ABS_RIGHTHOVER;
     204            return (windowsVersion() < WindowsVista) ? ABS_RIGHTNORMAL : ABS_RIGHTHOVER;
    205205        if (!scrollbar->enabled())
    206206            return ABS_RIGHTDISABLED;
    207207        if (scrollbar->hoveredPart() != part)
    208             return ((scrollbar->hoveredPart() == NoPart) || !isRunningOnVistaOrLater()) ? ABS_RIGHTNORMAL : ABS_RIGHTHOVER;
     208            return ((scrollbar->hoveredPart() == NoPart) || (windowsVersion() < WindowsVista)) ? ABS_RIGHTNORMAL : ABS_RIGHTHOVER;
    209209        if (scrollbar->pressedPart() == NoPart)
    210210            return ABS_RIGHTHOT;
     
    212212    }
    213213    if (scrollbar->pressedPart() == ThumbPart)
    214         return !isRunningOnVistaOrLater() ? ABS_DOWNNORMAL : ABS_DOWNHOVER;
     214        return (windowsVersion() < WindowsVista) ? ABS_DOWNNORMAL : ABS_DOWNHOVER;
    215215    if (!scrollbar->enabled())
    216216        return ABS_DOWNDISABLED;
    217217    if (scrollbar->hoveredPart() != part)
    218         return ((scrollbar->hoveredPart() == NoPart) || !isRunningOnVistaOrLater()) ? ABS_DOWNNORMAL : ABS_DOWNHOVER;
     218        return ((scrollbar->hoveredPart() == NoPart) || (windowsVersion() < WindowsVista)) ? ABS_DOWNNORMAL : ABS_DOWNHOVER;
    219219    if (scrollbar->pressedPart() == NoPart)
    220220        return ABS_DOWNHOT;
  • trunk/Source/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp

    r80611 r80688  
    135135    int invalidGlyph = 0xFFFF;
    136136    const DWORD cffTableTag = 0x20464643; // 4-byte identifier for OpenType CFF table ('CFF ').
    137     if (!isRunningOnVistaOrLater() && !(tm.tmPitchAndFamily & TMPF_TRUETYPE) && (GetFontData(dc, cffTableTag, 0, 0, 0) == GDI_ERROR))
     137    if ((windowsVersion() < WindowsVista) && !(tm.tmPitchAndFamily & TMPF_TRUETYPE) && (GetFontData(dc, cffTableTag, 0, 0, 0) == GDI_ERROR))
    138138        invalidGlyph = 0x1F;
    139139
  • trunk/Source/WebCore/platform/win/CursorWin.cpp

    r77775 r80688  
    3131#include "Image.h"
    3232#include "IntPoint.h"
     33#include "SystemInfo.h"
    3334
    3435#include <wtf/OwnPtr.h>
     
    4041namespace WebCore {
    4142
    42 static inline bool supportsAlphaCursors()
    43 {
    44     OSVERSIONINFO osinfo = {0};
    45     osinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
    46     GetVersionEx(&osinfo);
    47     return osinfo.dwMajorVersion > 5 || (osinfo.dwMajorVersion == 5 && osinfo.dwMinorVersion > 0);
    48 }
    49 
    5043static PassRefPtr<SharedCursor> createSharedCursor(Image* img, const IntPoint& hotSpot)
    5144{
     
    5346
    5447    IntPoint effectiveHotSpot = determineHotSpot(img, hotSpot);
    55     static bool doAlpha = supportsAlphaCursors();
     48    static bool doAlpha = windowsVersion() >= WindowsXP;
    5649    BitmapInfo cursorImage = BitmapInfo::create(IntSize(img->width(), img->height()));
    5750
  • trunk/Source/WebCore/platform/win/ScrollbarThemeWin.cpp

    r67125 r80688  
    101101        initialized = true;
    102102        checkAndInitScrollbarTheme();
    103         runningVista = isRunningOnVistaOrLater();
     103        runningVista = (windowsVersion() >= WindowsVista);
    104104    }
    105105}
  • trunk/Source/WebCore/platform/win/SystemInfo.cpp

    r66330 r80688  
    2828
    2929#include <windows.h>
     30#include <wtf/text/StringConcatenate.h>
    3031
    3132namespace WebCore {
    3233
    33 bool isRunningOnVistaOrLater()
     34WindowsVersion windowsVersion(int* major, int* minor)
    3435{
     36    static bool initialized = false;
     37    static WindowsVersion version;
     38    static int majorVersion, minorVersion;
     39
     40    if (!initialized) {
     41        initialized = true;
    3542#if OS(WINCE)
    36     return false;
     43        OSVERSIONINFO versionInfo = {0};
    3744#else
    38     static bool isVistaOrLater;
    39     static bool initialized;
     45        OSVERSIONINFOEX versionInfo = {0};
     46#endif
     47        versionInfo.dwOSVersionInfoSize = sizeof(versionInfo);
     48        GetVersionEx(reinterpret_cast<OSVERSIONINFO*>(&versionInfo));
     49        majorVersion = versionInfo.dwMajorVersion;
     50        minorVersion = versionInfo.dwMinorVersion;
    4051
    41     if (initialized)
    42         return isVistaOrLater;
     52#if OS(WINCE)
     53        if (majorVersion >= 1 && majorVersion <= 7)
     54            version = static_cast<WindowsVersion>(WindowsCE1 + (majorVersion - 1));
     55        else
     56            version = (majorVersion < 1) ? WindowsCE1 : WindowsCE7;
     57#else
     58        if (versionInfo.dwPlatformId == VER_PLATFORM_WIN32s)
     59            version = Windows3_1;
     60        else if (versionInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) {
     61            if (!minorVersion)
     62                version = Windows95;
     63            else
     64                version = (minorVersion == 10) ? Windows98 : WindowsME;
     65        } else {
     66            if (majorVersion == 5) {
     67                if (!minorVersion)
     68                    version = Windows2000;
     69                else
     70                    version = (minorVersion == 1) ? WindowsXP : WindowsServer2003;
     71            } else if (majorVersion >= 6) {
     72                if (versionInfo.wProductType == VER_NT_WORKSTATION)
     73                    version = (majorVersion == 6 && !minorVersion) ? WindowsVista : Windows7;
     74                else
     75                    version = WindowsServer2008;
     76            } else
     77                version = (majorVersion == 4) ? WindowsNT4 : WindowsNT3;
     78        }
     79#endif
     80    }
    4381
    44     initialized = true;
     82    if (major)
     83        *major = majorVersion;
     84    if (minor)
     85        *minor = minorVersion;
     86    return version;
     87}
    4588
    46     OSVERSIONINFOEX vi = {0};
    47     vi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
    48     GetVersionEx(reinterpret_cast<OSVERSIONINFO*>(&vi));
     89String windowsVersionForUAString()
     90{
     91    int major, minor;
     92    WindowsVersion version = windowsVersion(&major, &minor);
     93    switch (version) {
     94    case WindowsCE1:
     95    case WindowsCE2:
     96    case WindowsCE3:
     97        return "Windows CE";
     98    case WindowsCE4:
     99        return "Windows CE .NET";
     100    case Windows3_1:
     101        return "Windows 3.1";
     102    case Windows95:
     103        return "Windows 95";
     104    case Windows98:
     105        return "Windows 98";
     106    case WindowsME:
     107        return "Windows 98; Win 9x 4.90";
     108    case WindowsNT4:
     109        return "WinNT4.0";
     110    }
    49111
    50     isVistaOrLater = vi.dwMajorVersion >= 6;
    51 
    52     return isVistaOrLater;
    53 #endif
     112    char* familyName = (version >= WindowsNT3) ? "Windows NT " : "Windows CE ";
     113    return makeString(familyName, String::number(major), '.', String::number(minor));
    54114}
    55115
  • trunk/Source/WebCore/platform/win/SystemInfo.h

    r42288 r80688  
    2727#define SystemInfo_h
    2828
     29#include <wtf/text/WTFString.h>
     30
    2931namespace WebCore {
    3032
    31 bool isRunningOnVistaOrLater();
     33// NOTE: Keep these in order so callers can do things like
     34// "if (windowsVersion() >= WindowsVista) ...". It's OK to change or add values,
     35// though.
     36enum WindowsVersion {
     37    // CE-based versions
     38    WindowsCE1 = 0,
     39    WindowsCE2,
     40    WindowsCE3,
     41    WindowsCE4,
     42    WindowsCE5,
     43    WindowsCE6,
     44    WindowsCE7,
     45    // 3.x-based versions
     46    Windows3_1,
     47    // 9x-based versions
     48    Windows95,
     49    Windows98,
     50    WindowsME,
     51    // NT-based versions
     52    WindowsNT3,
     53    WindowsNT4,
     54    Windows2000,
     55    WindowsXP,
     56    WindowsServer2003,
     57    WindowsVista,
     58    WindowsServer2008,
     59    Windows7,
     60};
     61
     62// If supplied, |major| and |minor| are set to the OSVERSIONINFO::dwMajorVersion
     63// and dwMinorVersion field values, respectively.
     64WindowsVersion windowsVersion(int* major = 0, int* minor = 0);
     65
     66String windowsVersionForUAString();
    3267
    3368} // namespace WebCore
  • trunk/Source/WebCore/rendering/RenderThemeChromiumWin.cpp

    r80611 r80688  
    142142static void getNonClientMetrics(NONCLIENTMETRICS* metrics)
    143143{
    144     static UINT size = isRunningOnVistaOrLater() ?
    145         sizeof(NONCLIENTMETRICS) : NONCLIENTMETRICS_SIZE_PRE_VISTA;
     144    static UINT size = (windowsVersion() >= WindowsVista) ?
     145        (sizeof NONCLIENTMETRICS) : NONCLIENTMETRICS_SIZE_PRE_VISTA;
    146146    metrics->cbSize = size;
    147147    bool success = !!SystemParametersInfo(SPI_GETNONCLIENTMETRICS, size, metrics, 0);
  • trunk/Source/WebCore/rendering/RenderThemeWin.cpp

    r80276 r80688  
    570570            break;
    571571        case MenulistPart:
    572         case MenulistButtonPart:
    573             result.m_part = isRunningOnVistaOrLater() ? CP_DROPDOWNBUTTONRIGHT : CP_DROPDOWNBUTTON;
    574             if (isRunningOnVistaOrLater() && documentIsInApplicationChromeMode(o->document())) {
     572        case MenulistButtonPart: {
     573            const bool isVistaOrLater = (windowsVersion() >= WindowsVista);
     574            result.m_part = isVistaOrLater ? CP_DROPDOWNBUTTONRIGHT : CP_DROPDOWNBUTTON;
     575            if (isVistaOrLater && documentIsInApplicationChromeMode(o->document())) {
    575576                // The "readonly" look we use in application chrome mode
    576577                // only uses a "normal" look for the drop down button.
     
    579580                result.m_state = determineState(o);
    580581            break;
     582        }
    581583        case RadioPart:
    582584            result.m_part = BP_RADIO;
     
    586588        case TextFieldPart:
    587589        case TextAreaPart:
    588             result.m_part = isRunningOnVistaOrLater() ? EP_EDITBORDER_NOSCROLL : TFP_TEXTFIELD;
     590            result.m_part = (windowsVersion() >= WindowsVista) ? EP_EDITBORDER_NOSCROLL : TFP_TEXTFIELD;
    589591            result.m_state = determineState(o);
    590592            break;
     
    729731    HANDLE theme;
    730732    int part;
    731     if (haveTheme && isRunningOnVistaOrLater()) {
     733    if (haveTheme && (windowsVersion() >= WindowsVista)) {
    732734        theme = menuListTheme();
    733735        if (documentIsInApplicationChromeMode(o->document()))
     
    793795    buttonRect.setWidth(dropDownButtonWidth);
    794796
    795     if (isRunningOnVistaOrLater()) {
     797    if ((windowsVersion() >= WindowsVista)) {
    796798        // Outset the top, right, and bottom borders of the button so that they coincide with the <select>'s border.
    797799        buttonRect.setY(buttonRect.y() - vistaMenuListButtonOutset);
  • trunk/Source/WebKit/gtk/ChangeLog

    r80561 r80688  
     12011-03-09  Peter Kasting  <pkasting@google.com>
     2
     3        Reviewed by Mihai Parparita.
     4
     5        Unify Windows version checks.
     6        https://bugs.webkit.org/show_bug.cgi?id=55979
     7
     8        * webkit/webkitwebsettings.cpp:
     9        (webkitOSVersion):
     10
    1112011-03-08  Christian Dywan  <christian@lanedo.com>
    212
  • trunk/Source/WebKit/gtk/webkit/webkitwebsettings.cpp

    r80218 r80688  
    4040#if OS(UNIX)
    4141#include <sys/utsname.h>
     42#elif OS(WINDOWS)
     43#include "SystemInfo.h"
    4244#endif
    4345
     
    209211        uaOSVersion = String("Unknown");
    210212#elif OS(WINDOWS)
    211     DEFINE_STATIC_LOCAL(const String, uaOSVersion, (String("Windows")));
     213    DEFINE_STATIC_LOCAL(const String, uaOSVersion, (windowsVersionForUAString()));
    212214#else
    213215    DEFINE_STATIC_LOCAL(const String, uaOSVersion, (String("Unknown")));
  • trunk/Source/WebKit/qt/Api/qwebpage.cpp

    r80424 r80688  
    105105#include "SecurityOrigin.h"
    106106#include "Settings.h"
     107#if defined Q_OS_WIN32
     108#include "SystemInfo.h"
     109#endif // Q_OS_WIN32
    107110#include "TextIterator.h"
    108111#include "WebPlatformStrategies.h"
     
    37733776        firstPartTemp += QString::fromLatin1("AIX");
    37743777#elif defined Q_OS_WIN32
    3775 
    3776         switch (QSysInfo::WindowsVersion) {
    3777         case QSysInfo::WV_32s:
    3778             firstPartTemp += QString::fromLatin1("Windows 3.1");
    3779             break;
    3780         case QSysInfo::WV_95:
    3781             firstPartTemp += QString::fromLatin1("Windows 95");
    3782             break;
    3783         case QSysInfo::WV_98:
    3784             firstPartTemp += QString::fromLatin1("Windows 98");
    3785             break;
    3786         case QSysInfo::WV_Me:
    3787             firstPartTemp += QString::fromLatin1("Windows 98; Win 9x 4.90");
    3788             break;
    3789         case QSysInfo::WV_NT:
    3790             firstPartTemp += QString::fromLatin1("WinNT4.0");
    3791             break;
    3792         case QSysInfo::WV_2000:
    3793             firstPartTemp += QString::fromLatin1("Windows NT 5.0");
    3794             break;
    3795         case QSysInfo::WV_XP:
    3796             firstPartTemp += QString::fromLatin1("Windows NT 5.1");
    3797             break;
    3798         case QSysInfo::WV_2003:
    3799             firstPartTemp += QString::fromLatin1("Windows NT 5.2");
    3800             break;
    3801         case QSysInfo::WV_VISTA:
    3802             firstPartTemp += QString::fromLatin1("Windows NT 6.0");
    3803             break;
    3804          case QSysInfo::WV_WINDOWS7:
    3805             firstPartTemp += QString::fromLatin1("Windows NT 6.1");
    3806             break;
    3807          case QSysInfo::WV_CE:
    3808             firstPartTemp += QString::fromLatin1("Windows CE");
    3809             break;
    3810          case QSysInfo::WV_CENET:
    3811             firstPartTemp += QString::fromLatin1("Windows CE .NET");
    3812             break;
    3813          case QSysInfo::WV_CE_5:
    3814             firstPartTemp += QString::fromLatin1("Windows CE 5.x");
    3815             break;
    3816          case QSysInfo::WV_CE_6:
    3817             firstPartTemp += QString::fromLatin1("Windows CE 6.x");
    3818             break;
    3819         }
    3820 
     3778        firstPartTemp += windowsVersionForUAString();
    38213779#elif defined Q_OS_DARWIN
    38223780#ifdef __i386__ || __x86_64__
  • trunk/Source/WebKit/qt/ChangeLog

    r80475 r80688  
     12011-03-09  Peter Kasting  <pkasting@google.com>
     2
     3        Reviewed by Mihai Parparita.
     4
     5        Unify Windows version checks.
     6        https://bugs.webkit.org/show_bug.cgi?id=55979
     7
     8        * Api/qwebpage.cpp:
     9        (QWebPage::userAgentForUrl):
     10
    1112011-03-07  Sam Weinig  <sam@webkit.org>
    212
  • trunk/Source/WebKit/win/ChangeLog

    r80475 r80688  
     12011-03-09  Peter Kasting  <pkasting@google.com>
     2
     3        Reviewed by Mihai Parparita.
     4
     5        Unify Windows version checks.
     6        https://bugs.webkit.org/show_bug.cgi?id=55979
     7
     8        * WebView.cpp:
     9        (WebView::standardUserAgentWithApplicationName):
     10        (webKitVersionString):
     11
    1122011-03-07  Sam Weinig  <sam@webkit.org>
    213
  • trunk/Source/WebKit/win/WebView.cpp

    r80395 r80688  
    129129#include <WebCore/Settings.h>
    130130#include <WebCore/SimpleFontData.h>
     131#include <WebCore/SystemInfo.h>
    131132#include <WebCore/TypingCommand.h>
    132133#include <WebCore/WindowMessageBroadcaster.h>
     
    185186static HashSet<WebView*> pendingDeleteBackingStoreSet;
    186187
    187 static String osVersion();
    188 static String webKitVersion();
     188static String webKitVersionString();
    189189
    190190WebView* kit(Page* page)
     
    12451245String WebView::standardUserAgentWithApplicationName(const String& applicationName)
    12461246{
    1247     if (applicationName.isEmpty())
    1248         return makeString("Mozilla/5.0 (", osVersion(), ") AppleWebKit/", webKitVersion(), " (KHTML, like Gecko)");
    1249     return makeString("Mozilla/5.0 (", osVersion(), ") AppleWebKit/", webKitVersion(), " (KHTML, like Gecko) ", applicationName);
     1247    DEFINE_STATIC_LOCAL(String, osVersion, (windowsVersionForUAString()));
     1248    DEFINE_STATIC_LOCAL(String, webKitVersion, (webKitVersionString()));
     1249
     1250    return makeString("Mozilla/5.0 (", osVersion, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko)", applicationName.isEmpty() ? "" : " ", applicationName);
    12501251}
    12511252
     
    23372338}
    23382339
    2339 static String osVersion()
    2340 {
    2341     String osVersion;
    2342     OSVERSIONINFO versionInfo = {0};
    2343     versionInfo.dwOSVersionInfoSize = sizeof(versionInfo);
    2344     GetVersionEx(&versionInfo);
    2345 
    2346     if (versionInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) {
    2347         if (versionInfo.dwMajorVersion == 4) {
    2348             if (versionInfo.dwMinorVersion == 0)
    2349                 osVersion = "Windows 95";
    2350             else if (versionInfo.dwMinorVersion == 10)
    2351                 osVersion = "Windows 98";
    2352             else if (versionInfo.dwMinorVersion == 90)
    2353                 osVersion = "Windows 98; Win 9x 4.90";
    2354         }
    2355     } else if (versionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT)
    2356         osVersion = makeString("Windows NT ", String::number(versionInfo.dwMajorVersion), '.', String::number(versionInfo.dwMinorVersion));
    2357 
    2358     if (!osVersion.length())
    2359         osVersion = makeString("Windows ", String::number(versionInfo.dwMajorVersion), '.', String::number(versionInfo.dwMinorVersion));
    2360     return osVersion;
    2361 }
    2362 
    2363 static String webKitVersion()
     2340static String webKitVersionString()
    23642341{
    23652342    LPWSTR buildNumberStringPtr;
  • trunk/Source/WebKit2/ChangeLog

    r80683 r80688  
     12011-03-09  Peter Kasting  <pkasting@google.com>
     2
     3        Reviewed by Mihai Parparita.
     4
     5        Unify Windows version checks.
     6        https://bugs.webkit.org/show_bug.cgi?id=55979
     7
     8        * UIProcess/win/WebPageProxyWin.cpp:
     9        (WebKit::WebPageProxy::standardUserAgent):
     10
    1112011-03-09  Adele Peterson  <adele@apple.com>
    212
  • trunk/Source/WebKit2/UIProcess/win/WebPageProxyWin.cpp

    r80395 r80688  
    2929#include "resource.h"
    3030#include <tchar.h>
     31#include <WebCore/SystemInfo.h>
    3132#include <WebCore/WebCoreInstanceHandle.h>
    3233#include <wtf/StdLibExtras.h>
     
    3637
    3738namespace WebKit {
    38 
    39 static String windowsVersion()
    40 {
    41    String osVersion;
    42    OSVERSIONINFO versionInfo = { 0 };
    43    versionInfo.dwOSVersionInfoSize = sizeof(versionInfo);
    44    ::GetVersionEx(&versionInfo);
    45 
    46    if (versionInfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) {
    47        if (versionInfo.dwMajorVersion == 4) {
    48            if (versionInfo.dwMinorVersion == 0)
    49                osVersion = "Windows 95";
    50            else if (versionInfo.dwMinorVersion == 10)
    51                osVersion = "Windows 98";
    52            else if (versionInfo.dwMinorVersion == 90)
    53                osVersion = "Windows 98; Win 9x 4.90";
    54        }
    55    } else if (versionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT)
    56        osVersion = makeString("Windows NT ", String::number(versionInfo.dwMajorVersion), '.', String::number(versionInfo.dwMinorVersion));
    57 
    58    if (!osVersion.length())
    59        osVersion = makeString("Windows ", String::number(versionInfo.dwMajorVersion), '.', String::number(versionInfo.dwMinorVersion));
    60    return osVersion;
    61 }
    6239
    6340static String userVisibleWebKitVersionString()
     
    7249String WebPageProxy::standardUserAgent(const String& applicationNameForUserAgent)
    7350{
    74     DEFINE_STATIC_LOCAL(String, osVersion, (windowsVersion()));
     51    DEFINE_STATIC_LOCAL(String, osVersion, (windowsVersionForUAString()));
    7552    DEFINE_STATIC_LOCAL(String, webKitVersion, (userVisibleWebKitVersionString()));
    7653
    77     if (applicationNameForUserAgent.isEmpty())
    78         return makeString("Mozilla/5.0 (", osVersion, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko)");
    79     return makeString("Mozilla/5.0 (", osVersion, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko) ", applicationNameForUserAgent);
     54    return makeString("Mozilla/5.0 (", osVersion, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko)", applicationNameForUserAgent.isEmpty() ? "" : " ", applicationNameForUserAgent);
    8055}
    8156
Note: See TracChangeset for help on using the changeset viewer.