Changeset 93014 in webkit


Ignore:
Timestamp:
Aug 12, 2011 11:25:30 PM (13 years ago)
Author:
mitz@apple.com
Message:

Source/WebCore: <rdar://problem/7337717> Add an option to automatically show tooltips (with the full text) over truncated text
https://bugs.webkit.org/show_bug.cgi?id=66178

Reviewed by Simon Fraser.

  • WebCore.exp.in: Export setShowsToolTipOverTruncatedText().
  • page/Chrome.cpp:

(WebCore::Chrome::setToolTip): If no title is found, and the page is set to show tooltips over
truncated text, try to set the tooltip to the full text of the truncated text, if any.

  • page/Settings.cpp:

(WebCore::Settings::Settings): Initialize new member variable.
(WebCore::Settings::setShowsToolTipOverTruncatedText): Added this setter.

  • page/Settings.h:

(WebCore::Settings::showsToolTipOverTruncatedText): Added this getter.

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::innerTextIfTruncated): Added. If the inner node or its nearest enclosing
block has text-overflow: ellipsis and has truncated lines, return the node’s (full) inner text.

  • rendering/HitTestResult.h:
  • rendering/RootInlineBox.h:

(WebCore::RootInlineBox::hasEllipsisBox): Made this public.

Source/WebKit/mac: Add an option to automatically show tooltips (with the full text) over truncated text
https://bugs.webkit.org/show_bug.cgi?id=66178

Reviewed by Simon Fraser.

  • WebView/WebPreferenceKeysPrivate.h: Defined a preference key.
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]): Added a default value of NO for the
ShowsToolTipOverTruncatedText preference.
(-[WebPreferences showsToolTipOverTruncatedText]): Added this getter.
(-[WebPreferences setShowsToolTipOverTruncatedText:]): Added this setter.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]): Added call to Settings::setShowsToolTipOverTruncatedText().

Source/WebKit/win: Add an option to automatically show tooltips (with the full text) over truncated text
https://bugs.webkit.org/show_bug.cgi?id=66178

Reviewed by Simon Fraser.

  • Interfaces/IWebPreferencesPrivate.idl: Added accessors.
  • WebPreferenceKeysPrivate.h: Defined a preference key.
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings): Added a default value of
false for the ShowsToolTipOverTruncatedText preference.
(WebPreferences::showsToolTipOverTruncatedText): Added this getter.
(WebPreferences::setShowsToolTipOverTruncatedText): Added this setter.

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged): Added call to Settings::setShowsToolTipOverTruncatedText().

Source/WebKit2: <rdar://problem/7337717> Add an option to automatically show tooltips (with the full text) over truncated text
https://bugs.webkit.org/show_bug.cgi?id=66178

Reviewed by Simon Fraser.

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetShowsToolTipOverTruncatedText): Added this setter.
(WKPreferencesGetShowsToolTipOverTruncatedText): Added this getter.

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences): Handle the showsToolTipOverTruncatedText preference.

Location:
trunk/Source
Files:
25 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r93013 r93014  
     12011-08-12  Dan Bernstein  <mitz@apple.com>
     2
     3        <rdar://problem/7337717> Add an option to automatically show tooltips (with the full text) over truncated text
     4        https://bugs.webkit.org/show_bug.cgi?id=66178
     5
     6        Reviewed by Simon Fraser.
     7
     8        * WebCore.exp.in: Export setShowsToolTipOverTruncatedText().
     9        * page/Chrome.cpp:
     10        (WebCore::Chrome::setToolTip): If no title is found, and the page is set to show tooltips over
     11        truncated text, try to set the tooltip to the full text of the truncated text, if any.
     12        * page/Settings.cpp:
     13        (WebCore::Settings::Settings): Initialize new member variable.
     14        (WebCore::Settings::setShowsToolTipOverTruncatedText): Added this setter.
     15        * page/Settings.h:
     16        (WebCore::Settings::showsToolTipOverTruncatedText): Added this getter.
     17        * rendering/HitTestResult.cpp:
     18        (WebCore::HitTestResult::innerTextIfTruncated): Added. If the inner node or its nearest enclosing
     19        block has text-overflow: ellipsis and has truncated lines, return the node’s (full) inner text.
     20        * rendering/HitTestResult.h:
     21        * rendering/RootInlineBox.h:
     22        (WebCore::RootInlineBox::hasEllipsisBox): Made this public.
     23
    1242011-08-12  Stephen White  <senorblanco@chromium.org>
    225
  • trunk/Source/WebCore/WebCore.exp.in

    r92697 r93014  
    926926__ZN7WebCore8Settings32setAcceleratedCompositingEnabledEb
    927927__ZN7WebCore8Settings32setNeedsAdobeFrameReloadingQuirkEb
     928__ZN7WebCore8Settings32setShowsToolTipOverTruncatedTextEb
    928929__ZN7WebCore8Settings33setDownloadableBinaryFontsEnabledEb
    929930__ZN7WebCore8Settings34setLocalFileContentSniffingEnabledEb
  • trunk/Source/WebCore/page/Chrome.cpp

    r92592 r93014  
    11/*
    2  * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved.
     2 * Copyright (C) 2006, 2007, 2009, 2011 Apple Inc. All rights reserved.
    33 * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies)
    44 *
     
    422422        toolTip = result.title(toolTipDirection);
    423423
     424    if (toolTip.isEmpty() && m_page->settings()->showsToolTipOverTruncatedText())
     425        toolTip = result.innerTextIfTruncated(toolTipDirection);
     426
    424427    // Lastly, for <input type="file"> that allow multiple files, we'll consider a tooltip for the selected filenames
    425428    if (toolTip.isEmpty()) {
  • trunk/Source/WebCore/page/Settings.cpp

    r92773 r93014  
    155155    , m_usesPageCache(false)
    156156    , m_showsURLsInToolTips(false)
     157    , m_showsToolTipOverTruncatedText(false)
    157158    , m_forceFTPDirectoryListings(false)
    158159    , m_developerExtrasEnabled(false)
     
    560561}
    561562
     563void Settings::setShowsToolTipOverTruncatedText(bool showsToolTipForTruncatedText)
     564{
     565    m_showsToolTipOverTruncatedText = showsToolTipForTruncatedText;
     566}
     567
    562568void Settings::setFTPDirectoryTemplatePath(const String& path)
    563569{
  • trunk/Source/WebCore/page/Settings.h

    r92773 r93014  
    241241        void setShowsURLsInToolTips(bool);
    242242        bool showsURLsInToolTips() const { return m_showsURLsInToolTips; }
     243
     244        void setShowsToolTipOverTruncatedText(bool);
     245        bool showsToolTipOverTruncatedText() const { return m_showsToolTipOverTruncatedText; }
    243246
    244247        void setFTPDirectoryTemplatePath(const String&);
     
    524527        bool m_usesPageCache: 1;
    525528        bool m_showsURLsInToolTips : 1;
     529        bool m_showsToolTipOverTruncatedText : 1;
    526530        bool m_forceFTPDirectoryListings : 1;
    527531        bool m_developerExtrasEnabled : 1;
  • trunk/Source/WebCore/rendering/HitTestResult.cpp

    r90955 r93014  
    11/*
    2  * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
     2 * Copyright (C) 2006, 2008, 2011 Apple Inc. All rights reserved.
    33 *
    44 * This library is free software; you can redistribute it and/or
     
    3333#include "HTMLNames.h"
    3434#include "HTMLParserIdioms.h"
     35#include "RenderBlock.h"
    3536#include "RenderImage.h"
    3637#include "RenderInline.h"
     
    237238}
    238239
     240String HitTestResult::innerTextIfTruncated(TextDirection& dir) const
     241{
     242    for (Node* truncatedNode = m_innerNode.get(); truncatedNode; truncatedNode = truncatedNode->parentNode()) {
     243        if (!truncatedNode->isElementNode())
     244            continue;
     245
     246        if (RenderObject* renderer = truncatedNode->renderer()) {
     247            if (renderer->isRenderBlock()) {
     248                RenderBlock* block = toRenderBlock(renderer);
     249                if (block->style()->textOverflow()) {
     250                    for (RootInlineBox* line = block->firstRootBox(); line; line = line->nextRootBox()) {
     251                        if (line->hasEllipsisBox()) {
     252                            dir = block->style()->direction();
     253                            return toElement(truncatedNode)->innerText();
     254                        }
     255                    }
     256                }
     257                break;
     258            }
     259        }
     260    }
     261
     262    dir = LTR;
     263    return String();
     264}
     265
    239266String displayString(const String& string, const Node* node)
    240267{
  • trunk/Source/WebCore/rendering/HitTestResult.h

    r90955 r93014  
    7676    String replacedString() const;
    7777    String title(TextDirection&) const;
     78    String innerTextIfTruncated(TextDirection&) const;
    7879    String altDisplayString() const;
    7980    String titleDisplayString() const;
  • trunk/Source/WebCore/rendering/RootInlineBox.h

    r91417 r93014  
    8888    virtual float placeEllipsisBox(bool ltr, float blockLeftEdge, float blockRightEdge, float ellipsisWidth, bool& foundBox);
    8989
     90    bool hasEllipsisBox() const { return m_hasEllipsisBoxOrHyphen; }
    9091    EllipsisBox* ellipsisBox() const;
    9192
     
    173174#endif
    174175private:
    175     bool hasEllipsisBox() const { return m_hasEllipsisBoxOrHyphen; }
    176176    void setHasEllipsisBox(bool hasEllipsisBox) { m_hasEllipsisBoxOrHyphen = hasEllipsisBox; }
    177177
  • trunk/Source/WebKit/mac/ChangeLog

    r93012 r93014  
     12011-08-12  Dan Bernstein  <mitz@apple.com>
     2
     3        Add an option to automatically show tooltips (with the full text) over truncated text
     4        https://bugs.webkit.org/show_bug.cgi?id=66178
     5
     6        Reviewed by Simon Fraser.
     7
     8        * WebView/WebPreferenceKeysPrivate.h: Defined a preference key.
     9        * WebView/WebPreferences.mm:
     10        (+[WebPreferences initialize]): Added a default value of NO for the
     11        ShowsToolTipOverTruncatedText preference.
     12        (-[WebPreferences showsToolTipOverTruncatedText]): Added this getter.
     13        (-[WebPreferences setShowsToolTipOverTruncatedText:]): Added this setter.
     14        * WebView/WebPreferencesPrivate.h:
     15        * WebView/WebView.mm:
     16        (-[WebView _preferencesChanged:]): Added call to Settings::setShowsToolTipOverTruncatedText().
     17
    1182011-08-12  Sam Weinig  <sam@webkit.org>
    219
  • trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h

    r92492 r93014  
    116116#define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey @"WebKitRespectStandardStyleKeyEquivalents"
    117117#define WebKitShowsURLsInToolTipsPreferenceKey @"WebKitShowsURLsInToolTips"
     118#define WebKitShowsToolTipOverTruncatedTextPreferenceKey @"WebKitShowsToolTipForTruncatedText"
    118119#define WebKitPDFDisplayModePreferenceKey @"WebKitPDFDisplayMode"
    119120#define WebKitPDFScaleFactorPreferenceKey @"WebKitPDFScaleFactor"
  • trunk/Source/WebKit/mac/WebView/WebPreferences.mm

    r92492 r93014  
    11/*
    2  * Copyright (C) 2005, 2006, 2007 Apple Inc. All rights reserved.
     2 * Copyright (C) 2005, 2006, 2007, 2011 Apple Inc. All rights reserved.
    33 *           (C) 2006 Graham Dennis (graham.dennis@gmail.com)
    44 *
     
    338338        [NSNumber numberWithBool:NO],   WebKitRespectStandardStyleKeyEquivalentsPreferenceKey,
    339339        [NSNumber numberWithBool:NO],   WebKitShowsURLsInToolTipsPreferenceKey,
     340        [NSNumber numberWithBool:NO],   WebKitShowsToolTipOverTruncatedTextPreferenceKey,
    340341        @"1",                           WebKitPDFDisplayModePreferenceKey,
    341342        @"0",                           WebKitPDFScaleFactorPreferenceKey,
     
    926927}
    927928
     929- (BOOL)showsToolTipOverTruncatedText
     930{
     931    return [self _boolValueForKey:WebKitShowsToolTipOverTruncatedTextPreferenceKey];
     932}
     933
     934- (void)setShowsToolTipOverTruncatedText:(BOOL)flag
     935{
     936    [self _setBoolValue:flag forKey:WebKitShowsToolTipOverTruncatedTextPreferenceKey];
     937}
     938
    928939- (BOOL)textAreasAreResizable
    929940{
  • trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h

    r92492 r93014  
    11/*
    2  * Copyright (C) 2005, 2007 Apple Computer, Inc.  All rights reserved.
     2 * Copyright (C) 2005, 2007, 2011 Apple Computer, Inc.  All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    7979- (void)setShowsURLsInToolTips:(BOOL)flag;
    8080
     81- (BOOL)showsToolTipOverTruncatedText;
     82- (void)setShowsToolTipOverTruncatedText:(BOOL)flag;
     83
    8184- (BOOL)textAreasAreResizable;
    8285- (void)setTextAreasAreResizable:(BOOL)flag;
  • trunk/Source/WebKit/mac/WebView/WebView.mm

    r92552 r93014  
    15301530    settings->setUsesPageCache([self usesPageCache]);
    15311531    settings->setShowsURLsInToolTips([preferences showsURLsInToolTips]);
     1532    settings->setShowsToolTipOverTruncatedText([preferences showsToolTipOverTruncatedText]);
    15321533    settings->setDeveloperExtrasEnabled([preferences developerExtrasEnabled]);
    15331534    settings->setAuthorAndUserStylesEnabled([preferences authorAndUserStylesEnabled]);
  • trunk/Source/WebKit/win/ChangeLog

    r92621 r93014  
     12011-08-12  Dan Bernstein  <mitz@apple.com>
     2
     3        Add an option to automatically show tooltips (with the full text) over truncated text
     4        https://bugs.webkit.org/show_bug.cgi?id=66178
     5
     6        Reviewed by Simon Fraser.
     7
     8        * Interfaces/IWebPreferencesPrivate.idl: Added accessors.
     9        * WebPreferenceKeysPrivate.h: Defined a preference key.
     10        * WebPreferences.cpp:
     11        (WebPreferences::initializeDefaultSettings): Added a default value of
     12        false for the ShowsToolTipOverTruncatedText preference.
     13        (WebPreferences::showsToolTipOverTruncatedText): Added this getter.
     14        (WebPreferences::setShowsToolTipOverTruncatedText): Added this setter.
     15        * WebPreferences.h:
     16        * WebView.cpp:
     17        (WebView::notifyPreferencesChanged): Added call to Settings::setShowsToolTipOverTruncatedText().
     18
    1192011-08-05  Brent Fulgham  <bfulgham@webkit.org>
    220
  • trunk/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl

    r92492 r93014  
    137137    HRESULT setMediaPlaybackAllowsInline([in] BOOL);
    138138    HRESULT mediaPlaybackAllowsInline([out, retval] BOOL*);
     139
     140    HRESULT setShowsToolTipOverTruncatedText([in] BOOL);
     141    HRESULT showsToolTipOverTruncatedText([out, retval] BOOL*);
     142
    139143}
  • trunk/Source/WebKit/win/Interfaces/WebKit.idl

    r92492 r93014  
    2323 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    2424 */
    25  
     25
    2626cpp_quote("/*")
    2727cpp_quote(" * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.")
  • trunk/Source/WebKit/win/WebPreferenceKeysPrivate.h

    r92492 r93014  
    11/*
    2  * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc.  All rights reserved.
     2 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2011 Apple Inc.  All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    7676#define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey "WebKitRespectStandardStyleKeyEquivalents"
    7777#define WebKitShowsURLsInToolTipsPreferenceKey "WebKitShowsURLsInToolTips"
     78#define WebKitShowsToolTipOverTruncatedTextPreferenceKey "WebKitShowsToolTipForTruncatedText"
    7879#define WebKitPDFDisplayModePreferenceKey "WebKitPDFDisplayMode"
    7980#define WebKitPDFScaleFactorPreferenceKey "WebKitPDFScaleFactor"
  • trunk/Source/WebKit/win/WebPreferences.cpp

    r92492 r93014  
    11/*
    2  * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc.  All rights reserved.
     2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.  All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    226226    CFDictionaryAddValue(defaults, CFSTR(WebKitRespectStandardStyleKeyEquivalentsPreferenceKey), kCFBooleanFalse);
    227227    CFDictionaryAddValue(defaults, CFSTR(WebKitShowsURLsInToolTipsPreferenceKey), kCFBooleanFalse);
     228    CFDictionaryAddValue(defaults, CFSTR(WebKitShowsToolTipOverTruncatedTextPreferenceKey), kCFBooleanFalse);
    228229    CFDictionaryAddValue(defaults, CFSTR(WebKitPDFDisplayModePreferenceKey), CFSTR("1"));
    229230    CFDictionaryAddValue(defaults, CFSTR(WebKitPDFScaleFactorPreferenceKey), CFSTR("0"));
     
    16211622}
    16221623
     1624HRESULT WebPreferences::showsToolTipOverTruncatedText(BOOL* showsToolTip)
     1625{
     1626    if (!showsToolTip)
     1627        return E_POINTER;
     1628
     1629    *showsToolTip = boolValueForKey(CFSTR(WebKitShowsToolTipOverTruncatedTextPreferenceKey));
     1630    return S_OK;
     1631}
     1632
     1633HRESULT WebPreferences::setShowsToolTipOverTruncatedText(BOOL showsToolTip)
     1634{
     1635    setBoolValue(CFSTR(WebKitShowsToolTipOverTruncatedTextPreferenceKey), showsToolTip);
     1636    return S_OK;
     1637}
     1638
    16231639void WebPreferences::willAddToWebView()
    16241640{
  • trunk/Source/WebKit/win/WebPreferences.h

    r92492 r93014  
    451451    virtual HRESULT STDMETHODCALLTYPE setMediaPlaybackAllowsInline(BOOL);
    452452
     453    virtual HRESULT STDMETHODCALLTYPE showsToolTipOverTruncatedText(BOOL*);
     454    virtual HRESULT STDMETHODCALLTYPE setShowsToolTipOverTruncatedText(BOOL);
     455
    453456    // WebPreferences
    454457
  • trunk/Source/WebKit/win/WebView.cpp

    r92621 r93014  
    11/*
    2  * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple, Inc.  All rights reserved.
     2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple, Inc.  All rights reserved.
    33 * Copyright (C) 2009, 2010, 2011 Appcelerator, Inc. All rights reserved.
    44 * Copyright (C) 2011 Brent Fulgham. All rights reserved.
     
    47194719
    47204720    settings->setShowsURLsInToolTips(false);
     4721
     4722    hr = preferences->showsToolTipOverTruncatedText(&enabled);
     4723    if (FAILED(hr))
     4724        return hr;
     4725
     4726    settings->setShowsToolTipOverTruncatedText(enabled);
     4727
    47214728    settings->setForceFTPDirectoryListings(true);
    47224729    settings->setDeveloperExtrasEnabled(developerExtrasEnabled());
  • trunk/Source/WebKit2/ChangeLog

    r93005 r93014  
     12011-08-12  Dan Bernstein  <mitz@apple.com>
     2
     3        <rdar://problem/7337717> Add an option to automatically show tooltips (with the full text) over truncated text
     4        https://bugs.webkit.org/show_bug.cgi?id=66178
     5
     6        Reviewed by Simon Fraser.
     7
     8        * Shared/WebPreferencesStore.h:
     9        * UIProcess/API/C/WKPreferences.cpp:
     10        (WKPreferencesSetShowsToolTipOverTruncatedText): Added this setter.
     11        (WKPreferencesGetShowsToolTipOverTruncatedText): Added this getter.
     12        * UIProcess/API/C/WKPreferencesPrivate.h:
     13        * WebProcess/WebPage/WebPage.cpp:
     14        (WebKit::WebPage::updatePreferences): Handle the showsToolTipOverTruncatedText preference.
     15
    1162011-08-12  Mark Rowe  <mrowe@apple.com>
    217
  • trunk/Source/WebKit2/Shared/WebPreferencesStore.h

    r92773 r93014  
    8686    macro(MediaPlaybackAllowsInline, mediaPlaybackAllowsInline, Bool, bool, true) \
    8787    macro(InspectorStartsAttached, inspectorStartsAttached, Bool, bool, true) \
     88    macro(ShowsToolTipOverTruncatedText, showsToolTipOverTruncatedText, Bool, bool, false) \
    8889    \
    8990
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp

    r91777 r93014  
    602602    return toImpl(preferencesRef)->mediaPlaybackAllowsInline();
    603603}
     604
     605void WKPreferencesSetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef, bool flag)
     606{
     607    toImpl(preferencesRef)->setShowsToolTipOverTruncatedText(flag);
     608}
     609
     610bool WKPreferencesGetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef)
     611{
     612    return toImpl(preferencesRef)->showsToolTipOverTruncatedText();
     613}
  • trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h

    r91232 r93014  
    141141WK_EXPORT bool WKPreferencesGetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef);
    142142
     143// Defaults to false.
     144WK_EXPORT void WKPreferencesSetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef, bool flag);
     145WK_EXPORT bool WKPreferencesGetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef);
     146
    143147#ifdef __cplusplus
    144148}
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r92773 r93014  
    15861586    settings->setDeviceHeight(store.getUInt32ValueForKey(WebPreferencesKey::deviceHeightKey()));
    15871587    settings->setEditableLinkBehavior(static_cast<WebCore::EditableLinkBehavior>(store.getUInt32ValueForKey(WebPreferencesKey::editableLinkBehaviorKey())));
     1588    settings->setShowsToolTipOverTruncatedText(store.getBoolValueForKey(WebPreferencesKey::showsToolTipOverTruncatedTextKey()));
    15881589
    15891590    settings->setAcceleratedCompositingEnabled(store.getBoolValueForKey(WebPreferencesKey::acceleratedCompositingEnabledKey()) && LayerTreeHost::supportsAcceleratedCompositing());
Note: See TracChangeset for help on using the changeset viewer.