Changeset 121555 in webkit


Ignore:
Timestamp:
Jun 29, 2012 5:51:57 AM (12 years ago)
Author:
commit-queue@webkit.org
Message:

Don't hardcode target dpi of 160 (it should be 96 on desktop)
https://bugs.webkit.org/show_bug.cgi?id=88114

Patch by Konrad Piascik <kpiascik@rim.com> on 2012-06-29
Reviewed by Adam Barth.

Source/WebCore:

No behavioural change, current tests in fast/viewport cover all
functionality.

  • WebCore.exp.in: Updated symbol for computeViewportAttributes.
  • dom/ViewportArguments.cpp: Use new parameter for devicePixelRatio

and don't calculate it anymore.

(WebCore::computeViewportAttributes):

  • dom/ViewportArguments.h: Change the deviceDPI parameter to

devicePixelRatio and put the onus
on the embedder to supply the
correct value. Add temporary constant.

(WebCore):

Source/WebKit/blackberry:

Added new WebSetting to specify what the devicePixelRatio should be.
Updated the call to computeViewportAttributes.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):

  • Api/WebSettings.cpp:

(WebKit):
(BlackBerry::WebKit::WebSettings::standardSettings):
(BlackBerry::WebKit::WebSettings::devicePixelRatio):
(BlackBerry::WebKit::WebSettings::setDevicePixelRatio):

  • Api/WebSettings.h:
  • WebKitSupport/DumpRenderTreeSupport.cpp:

(DumpRenderTreeSupport::dumpConfigurationForViewport):

Source/WebKit/chromium:

Updated the call to computeViewportAttributes.

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::dispatchViewportPropertiesDidChange):

Source/WebKit/efl:

Updated the call to computeViewportAttributes.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::dumpConfigurationForViewport):

  • ewk/ewk_view.cpp:

(_ewk_view_viewport_attributes_compute):

Source/WebKit/gtk:

Updated the call to computeViewportAttributes.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::dumpConfigurationForViewport):

  • webkit/webkitviewportattributes.cpp:

(webkitViewportAttributesRecompute):

Source/WebKit/qt:

Updated the call to computeViewportAttributes.

  • Api/qwebpage.cpp:

(QWebPage::viewportAttributesForSize):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::viewportAsText):

Source/WebKit2:

Updated the call to computeViewportAttributes.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::sendViewportAttributesChanged):
(WebKit::WebPage::viewportConfigurationAsText):

Location:
trunk/Source
Files:
24 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r121554 r121555  
     12012-06-29  Konrad Piascik  <kpiascik@rim.com>
     2
     3        Don't hardcode target dpi of 160 (it should be 96 on desktop)
     4        https://bugs.webkit.org/show_bug.cgi?id=88114
     5
     6        Reviewed by Adam Barth.
     7
     8        No behavioural change, current tests in fast/viewport cover all
     9        functionality.
     10
     11        * WebCore.exp.in: Updated symbol for computeViewportAttributes.
     12        * dom/ViewportArguments.cpp: Use new parameter for devicePixelRatio
     13                                     and don't calculate it anymore.
     14        (WebCore::computeViewportAttributes):
     15        * dom/ViewportArguments.h: Change the deviceDPI parameter to
     16                                   devicePixelRatio and put the onus
     17                                   on the embedder to supply the
     18                                   correct value.  Add temporary constant.
     19        (WebCore):
     20
    1212012-06-29  Vineet Chaudhary  <rgf748@motorola.com>
    222
  • trunk/Source/WebCore/WebCore.exp.in

    r121522 r121555  
    607607__ZN7WebCore25HistoryPropertyListWriterC2Ev
    608608__ZN7WebCore25addLanguageChangeObserverEPvPFvS0_E
    609 __ZN7WebCore25computeViewportAttributesENS_17ViewportArgumentsEiiiiNS_7IntSizeE
     609__ZN7WebCore25computeViewportAttributesENS_17ViewportArgumentsEiiifNS_7IntSizeE
    610610__ZN7WebCore26UserTypingGestureIndicator27processingUserTypingGestureEv
    611611__ZN7WebCore26UserTypingGestureIndicator28focusedElementAtGestureStartEv
  • trunk/Source/WebCore/dom/ViewportArguments.cpp

    r119534 r121555  
    4242namespace WebCore {
    4343
    44 // FIXME: We shouldn't hardcode the targetDPI to 160.
    45 // See https://bugs.webkit.org/show_bug.cgi?id=88114
    46 static float targetDPI = 160;
    47 
    48 ViewportAttributes computeViewportAttributes(ViewportArguments args, int desktopWidth, int deviceWidth, int deviceHeight, int deviceDPI, IntSize visibleViewport)
     44ViewportAttributes computeViewportAttributes(ViewportArguments args, int desktopWidth, int deviceWidth, int deviceHeight, float devicePixelRatio, IntSize visibleViewport)
    4945{
    5046    ViewportAttributes result;
     
    5551    ASSERT(availableWidth > 0 && availableHeight > 0);
    5652
    57     result.devicePixelRatio = deviceDPI / targetDPI;
     53    result.devicePixelRatio = devicePixelRatio;
    5854
    5955    // Resolve non-'auto' width and height to pixel values.
  • trunk/Source/WebCore/dom/ViewportArguments.h

    r120874 r121555  
    7373        ValueDeviceWidth = -3,
    7474        ValueDeviceHeight = -4,
    75         ValueDeviceDPI = -5,
    76         ValueLowDPI = -6,
    77         ValueMediumDPI = -7,
    78         ValueHighDPI = -8
    7975    };
    8076
     
    113109        return !(*this == other);
    114110    }
     111    // FIXME: We're going to keep this constant around until all embedders
     112    // refactor their code to no longer need it.
     113    static const int deprecatedTargetDPI = 160;
    115114};
    116115
    117 ViewportAttributes computeViewportAttributes(ViewportArguments args, int desktopWidth, int deviceWidth, int deviceHeight, int deviceDPI, IntSize visibleViewport);
     116ViewportAttributes computeViewportAttributes(ViewportArguments args, int desktopWidth, int deviceWidth, int deviceHeight, float devicePixelRatio, IntSize visibleViewport);
     117
    118118void restrictMinimumScaleFactorToViewportSize(ViewportAttributes& result, IntSize visibleViewport);
    119119void restrictScaleFactorToInitialScaleIfNotUserScalable(ViewportAttributes& result);
  • trunk/Source/WebKit/blackberry/Api/WebPage.cpp

    r121400 r121555  
    34453445    int deviceWidth = Platform::Graphics::Screen::primaryScreen()->width();
    34463446    int deviceHeight = Platform::Graphics::Screen::primaryScreen()->height();
    3447     FloatSize currentPPI = Platform::Graphics::Screen::primaryScreen()->pixelsPerInch(-1);
    3448     int deviceDPI = int(roundf((currentPPI.width() + currentPPI.height()) / 2));
    3449     ViewportAttributes result = computeViewportAttributes(m_viewportArguments, desktopWidth, deviceWidth, deviceHeight, deviceDPI, m_defaultLayoutSize);
     3447    ViewportAttributes result = computeViewportAttributes(m_viewportArguments, desktopWidth, deviceWidth, deviceHeight, m_webSettings->devicePixelRatio(), m_defaultLayoutSize);
    34503448    m_page->setDeviceScaleFactor(result.devicePixelRatio);
    34513449    return IntSize(result.layoutSize.width(), result.layoutSize.height());
  • trunk/Source/WebKit/blackberry/Api/WebSettings.cpp

    r121255 r121555  
    2525#include "WebString.h"
    2626#include <Base64.h>
     27#include <BlackBerryPlatformDeviceInfo.h>
    2728#include <BlackBerryPlatformFontInfo.h>
     29#include <BlackBerryPlatformScreen.h>
    2830#include <Color.h>
     31#include <FloatSize.h>
    2932#include <PageCache.h>
     33#include <ViewportArguments.h>
    3034#include <wtf/HashSet.h>
    3135#include <wtf/Vector.h>
     
    5963DEFINE_STATIC_LOCAL(String, BlackBerryCredentialAutofillEnabled, ("BlackBerryCredentialAutofillEnabled"));
    6064DEFINE_STATIC_LOCAL(String, BlackBerryFormAutofillEnabled, ("BlackBerryFormAutofillEnabled"));
     65DEFINE_STATIC_LOCAL(String, BlackBerryDevicePixelRatio, ("BlackBerryDevicePixelRatio"));
    6166DEFINE_STATIC_LOCAL(String, SpatialNavigationEnabled, ("SpatialNavigationEnabled"));
    6267DEFINE_STATIC_LOCAL(String, WebKitDatabasePath, ("WebKitDatabasePath"));
     
    174179    settings->m_private->setBoolean(BlackBerryFormAutofillEnabled, false);
    175180
     181    if (BlackBerry::Platform::DeviceInfo::instance()->isMobile()) {
     182        WebCore::FloatSize currentPPI = Platform::Graphics::Screen::primaryScreen()->pixelsPerInch(-1);
     183        int deviceDPI = int(roundf((currentPPI.width() + currentPPI.height()) / 2));
     184        settings->m_private->setDouble(BlackBerryDevicePixelRatio, deviceDPI / WebCore::ViewportArguments::deprecatedTargetDPI);
     185    } else
     186        settings->m_private->setDouble(BlackBerryDevicePixelRatio, 1);
     187
    176188    settings->m_private->setInteger(WebKitDefaultFontSize, 16);
    177189    settings->m_private->setInteger(WebKitDefaultFixedFontSize, 13);
     
    826838}
    827839
     840double WebSettings::devicePixelRatio() const
     841{
     842    return m_private->getDouble(BlackBerryDevicePixelRatio);
     843}
     844
     845void WebSettings::setDevicePixelRatio(double ratio)
     846{
     847    m_private->setDouble(BlackBerryDevicePixelRatio, ratio);
     848}
     849
    828850} // namespace WebKit
    829851} // namespace BlackBerry
  • trunk/Source/WebKit/blackberry/Api/WebSettings.h

    r121255 r121555  
    238238    void setFormAutofillEnabled(bool);
    239239
     240    double devicePixelRatio() const;
     241    void setDevicePixelRatio(double);
     242
    240243private:
    241244    WebSettingsPrivate* m_private;
  • trunk/Source/WebKit/blackberry/Api/WebViewportArguments.cpp

    r120874 r121555  
    8686}
    8787
    88 float WebViewportArguments::targetDensityDpi() const
     88float WebViewportArguments::devicePixelRatio() const
    8989{
    9090    return 0;
    9191}
    9292
    93 void WebViewportArguments::setTargetDensityDpi(float)
     93void WebViewportArguments::setDevicePixelRatio(float)
    9494{
    9595}
  • trunk/Source/WebKit/blackberry/Api/WebViewportArguments.h

    r119527 r121555  
    5151        ValueDeviceWidth = -3,
    5252        ValueDeviceHeight = -4,
    53         ValueDeviceDPI = -5,
    54         ValueLowDPI = -6,
    55         ValueMediumDPI = -7,
    56         ValueHighDPI = -8
    5753    };
    5854
     
    7268    void setHeight(float);
    7369
    74     // FIXME: Can we remove these functions? WebKit no longer supports targetDensityDpi.
    75     float targetDensityDpi() const;
    76     void setTargetDensityDpi(float);
     70    float devicePixelRatio() const;
     71    void setDevicePixelRatio(float);
    7772
    7873    float userScalable() const;
  • trunk/Source/WebKit/blackberry/ChangeLog

    r121516 r121555  
     12012-06-29  Konrad Piascik  <kpiascik@rim.com>
     2
     3        Don't hardcode target dpi of 160 (it should be 96 on desktop)
     4        https://bugs.webkit.org/show_bug.cgi?id=88114
     5
     6        Reviewed by Adam Barth.
     7
     8        Added new WebSetting to specify what the devicePixelRatio should be.
     9        Updated the call to computeViewportAttributes.
     10
     11        * Api/WebPage.cpp:
     12        (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
     13        * Api/WebSettings.cpp:
     14        (WebKit):
     15        (BlackBerry::WebKit::WebSettings::standardSettings):
     16        (BlackBerry::WebKit::WebSettings::devicePixelRatio):
     17        (BlackBerry::WebKit::WebSettings::setDevicePixelRatio):
     18        * Api/WebSettings.h:
     19        * WebKitSupport/DumpRenderTreeSupport.cpp:
     20        (DumpRenderTreeSupport::dumpConfigurationForViewport):
     21
    1222012-06-28  Jason Liu  <jason.liu@torchmobile.com.cn>
    223
  • trunk/Source/WebKit/blackberry/WebKitSupport/DumpRenderTreeSupport.cpp

    r121381 r121555  
    8888{
    8989    ViewportArguments arguments = mainFrame->page()->viewportArguments();
    90     ViewportAttributes attrs = computeViewportAttributes(arguments, /* default layout width for non-mobile pages */ 980, deviceWidth, deviceHeight, deviceDPI, IntSize(availableWidth, availableHeight));
     90    ViewportAttributes attrs = computeViewportAttributes(arguments, /* default layout width for non-mobile pages */ 980, deviceWidth, deviceHeight, deviceDPI / ViewportArguments::deprecatedTargetDPI, IntSize(availableWidth, availableHeight));
    9191    restrictMinimumScaleFactorToViewportSize(attrs, IntSize(availableWidth, availableHeight));
    9292    restrictScaleFactorToInitialScaleIfNotUserScalable(attrs);
  • trunk/Source/WebKit/chromium/ChangeLog

    r121532 r121555  
     12012-06-29  Konrad Piascik  <kpiascik@rim.com>
     2
     3        Don't hardcode target dpi of 160 (it should be 96 on desktop)
     4        https://bugs.webkit.org/show_bug.cgi?id=88114
     5
     6        Reviewed by Adam Barth.
     7
     8        Updated the call to computeViewportAttributes.
     9
     10        * src/ChromeClientImpl.cpp:
     11        (WebKit::ChromeClientImpl::dispatchViewportPropertiesDidChange):
     12
    1132012-06-29  Amy Ousterhout  <aousterh@chromium.org>
    214
  • trunk/Source/WebKit/chromium/src/ChromeClientImpl.cpp

    r121213 r121555  
    656656    ViewportAttributes computed = computeViewportAttributes(
    657657        args, settings->layoutFallbackWidth(), deviceRect.width, deviceRect.height,
    658         dpi, IntSize(deviceRect.width, deviceRect.height));
     658        dpi / ViewportArguments::deprecatedTargetDPI, IntSize(deviceRect.width, deviceRect.height));
    659659
    660660    if (m_webView->ignoreViewportTagMaximumScale()) {
  • trunk/Source/WebKit/efl/ChangeLog

    r121409 r121555  
     12012-06-29  Konrad Piascik  <kpiascik@rim.com>
     2
     3        Don't hardcode target dpi of 160 (it should be 96 on desktop)
     4        https://bugs.webkit.org/show_bug.cgi?id=88114
     5
     6        Reviewed by Adam Barth.
     7
     8        Updated the call to computeViewportAttributes.
     9
     10        * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
     11        (DumpRenderTreeSupportEfl::dumpConfigurationForViewport):
     12        * ewk/ewk_view.cpp:
     13        (_ewk_view_viewport_attributes_compute):
     14
    1152012-06-27  Sheriff Bot  <webkit.review.bot@gmail.com>
    216
  • trunk/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp

    r120294 r121555  
    588588            /* default layout width for non-mobile pages */ 980,
    589589            deviceSize.width(), deviceSize.height(),
    590             deviceDPI,
     590            deviceDPI / WebCore::ViewportArguments::deprecatedTargetDPI,
    591591            availableSize);
    592592    restrictMinimumScaleFactorToViewportSize(attributes, availableSize);
  • trunk/Source/WebKit/efl/ewk/ewk_view.cpp

    r121381 r121555  
    12381238    WebCore::IntRect deviceRect = enclosingIntRect(priv->page->chrome()->client()->windowRect());
    12391239
    1240     WebCore::ViewportAttributes attributes = WebCore::computeViewportAttributes(priv->viewportArguments, desktopWidth, deviceRect.width(), deviceRect.height(), deviceDPI, availableRect.size());
     1240    WebCore::ViewportAttributes attributes = WebCore::computeViewportAttributes(priv->viewportArguments, desktopWidth, deviceRect.width(), deviceRect.height(), deviceDPI / WebCore::ViewportArguments::deprecatedTargetDPI, availableRect.size());
    12411241    WebCore::restrictMinimumScaleFactorToViewportSize(attributes, availableRect.size());
    12421242    WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable(attributes);
  • trunk/Source/WebKit/gtk/ChangeLog

    r121381 r121555  
     12012-06-29  Konrad Piascik  <kpiascik@rim.com>
     2
     3        Don't hardcode target dpi of 160 (it should be 96 on desktop)
     4        https://bugs.webkit.org/show_bug.cgi?id=88114
     5
     6        Reviewed by Adam Barth.
     7
     8        Updated the call to computeViewportAttributes.
     9
     10        * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
     11        (DumpRenderTreeSupportGtk::dumpConfigurationForViewport):
     12        * webkit/webkitviewportattributes.cpp:
     13        (webkitViewportAttributesRecompute):
     14
    1152012-06-25  Mark Hahnenberg  <mhahnenberg@apple.com>
    216
  • trunk/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp

    r121381 r121555  
    624624
    625625    ViewportArguments arguments = webView->priv->corePage->mainFrame()->document()->viewportArguments();
    626     ViewportAttributes attrs = computeViewportAttributes(arguments, /* default layout width for non-mobile pages */ 980, deviceWidth, deviceHeight, deviceDPI, IntSize(availableWidth, availableHeight));
     626    ViewportAttributes attrs = computeViewportAttributes(arguments, /* default layout width for non-mobile pages */ 980, deviceWidth, deviceHeight, deviceDPI / ViewportArguments::deprecatedTargetDPI, IntSize(availableWidth, availableHeight));
    627627    restrictMinimumScaleFactorToViewportSize(attrs, IntSize(availableWidth, availableHeight));
    628628    restrictScaleFactorToInitialScaleIfNotUserScalable(attrs);
  • trunk/Source/WebKit/gtk/webkit/webkitviewportattributes.cpp

    r99195 r121555  
    535535    ViewportArguments arguments = webView->priv->corePage->mainFrame()->document()->viewportArguments();
    536536
    537     ViewportAttributes attributes = computeViewportAttributes(arguments, priv->desktopWidth, priv->deviceWidth, priv->deviceHeight, priv->deviceDPI, IntSize(priv->availableWidth, priv->availableHeight));
     537    ViewportAttributes attributes = computeViewportAttributes(arguments, priv->desktopWidth, priv->deviceWidth, priv->deviceHeight, priv->deviceDPI / ViewportArguments::deprecatedTargetDPI, IntSize(priv->availableWidth, priv->availableHeight));
    538538    restrictMinimumScaleFactorToViewportSize(attributes, IntSize(priv->availableWidth, priv->availableHeight));
    539539    restrictScaleFactorToInitialScaleIfNotUserScalable(attributes);
  • trunk/Source/WebKit/qt/Api/qwebpage.cpp

    r120704 r121555  
    25602560    }
    25612561
    2562     WebCore::ViewportAttributes conf = WebCore::computeViewportAttributes(d->viewportArguments(), desktopWidth, deviceWidth, deviceHeight, qt_defaultDpi(), availableSize);
     2562    WebCore::ViewportAttributes conf = WebCore::computeViewportAttributes(d->viewportArguments(), desktopWidth, deviceWidth, deviceHeight, qt_defaultDpi() / WebCore::ViewportArguments::deprecatedTargetDPI, availableSize);
    25632563    WebCore::restrictMinimumScaleFactorToViewportSize(conf, availableSize);
    25642564    WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable(conf);
  • trunk/Source/WebKit/qt/ChangeLog

    r121429 r121555  
     12012-06-29  Konrad Piascik  <kpiascik@rim.com>
     2
     3        Don't hardcode target dpi of 160 (it should be 96 on desktop)
     4        https://bugs.webkit.org/show_bug.cgi?id=88114
     5
     6        Reviewed by Adam Barth.
     7
     8        Updated the call to computeViewportAttributes.
     9
     10        * Api/qwebpage.cpp:
     11        (QWebPage::viewportAttributesForSize):
     12        * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
     13        (DumpRenderTreeSupportQt::viewportAsText):
     14
    1152012-06-28  Alexander Pavlov  <apavlov@chromium.org>
    216
  • trunk/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp

    r121429 r121555  
    743743
    744744    WebCore::ViewportAttributes conf = WebCore::computeViewportAttributes(args,
    745         /* desktop-width */ 980,
    746         /* device-width  */ deviceSize.width(),
    747         /* device-height */ deviceSize.height(),
    748         /* device-dpi    */ deviceDPI,
     745        /* desktop-width    */ 980,
     746        /* device-width     */ deviceSize.width(),
     747        /* device-height    */ deviceSize.height(),
     748        /* devicePixelRatio */ deviceDPI / WebCore::ViewportArguments::deprecatedTargetDPI,
    749749        availableSize);
    750750    WebCore::restrictMinimumScaleFactorToViewportSize(conf, availableSize);
  • trunk/Source/WebKit2/ChangeLog

    r121536 r121555  
     12012-06-29  Konrad Piascik  <kpiascik@rim.com>
     2
     3        Don't hardcode target dpi of 160 (it should be 96 on desktop)
     4        https://bugs.webkit.org/show_bug.cgi?id=88114
     5
     6        Reviewed by Adam Barth.
     7
     8        Updated the call to computeViewportAttributes.
     9
     10        * WebProcess/WebPage/WebPage.cpp:
     11        (WebKit::WebPage::sendViewportAttributesChanged):
     12        (WebKit::WebPage::viewportConfigurationAsText):
     13
    1142012-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
    215
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r121381 r121555  
    919919    int deviceHeight = (settings->deviceHeight() > 0) ? settings->deviceHeight() : m_viewportSize.height();
    920920
    921     ViewportAttributes attr = computeViewportAttributes(m_page->viewportArguments(), minimumLayoutFallbackWidth, deviceWidth, deviceHeight, static_cast<int>(160 * m_page->deviceScaleFactor()), m_viewportSize);
     921    ViewportAttributes attr = computeViewportAttributes(m_page->viewportArguments(), minimumLayoutFallbackWidth, deviceWidth, deviceHeight, m_page->deviceScaleFactor(), m_viewportSize);
    922922
    923923    setResizesToContentsUsingLayoutSize(IntSize(static_cast<int>(attr.layoutSize.width()), static_cast<int>(attr.layoutSize.height())));
     
    31233123{
    31243124    ViewportArguments arguments = mainFrame()->document()->viewportArguments();
    3125     ViewportAttributes attrs = WebCore::computeViewportAttributes(arguments, /* default layout width for non-mobile pages */ 980, deviceWidth, deviceHeight, deviceDPI, IntSize(availableWidth, availableHeight));
     3125    ViewportAttributes attrs = WebCore::computeViewportAttributes(arguments, /* default layout width for non-mobile pages */ 980, deviceWidth, deviceHeight, m_page->deviceScaleFactor(), IntSize(availableWidth, availableHeight));
    31263126    WebCore::restrictMinimumScaleFactorToViewportSize(attrs, IntSize(availableWidth, availableHeight));
    31273127    WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable(attrs);
Note: See TracChangeset for help on using the changeset viewer.