Changeset 93014 in webkit
- Timestamp:
- Aug 12, 2011, 11:25:30 PM (14 years ago)
- Location:
- trunk/Source
- Files:
-
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r93013 r93014 1 2011-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 1 24 2011-08-12 Stephen White <senorblanco@chromium.org> 2 25 -
trunk/Source/WebCore/WebCore.exp.in
r92697 r93014 926 926 __ZN7WebCore8Settings32setAcceleratedCompositingEnabledEb 927 927 __ZN7WebCore8Settings32setNeedsAdobeFrameReloadingQuirkEb 928 __ZN7WebCore8Settings32setShowsToolTipOverTruncatedTextEb 928 929 __ZN7WebCore8Settings33setDownloadableBinaryFontsEnabledEb 929 930 __ZN7WebCore8Settings34setLocalFileContentSniffingEnabledEb -
trunk/Source/WebCore/page/Chrome.cpp
r92592 r93014 1 1 /* 2 * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved.2 * Copyright (C) 2006, 2007, 2009, 2011 Apple Inc. All rights reserved. 3 3 * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies) 4 4 * … … 422 422 toolTip = result.title(toolTipDirection); 423 423 424 if (toolTip.isEmpty() && m_page->settings()->showsToolTipOverTruncatedText()) 425 toolTip = result.innerTextIfTruncated(toolTipDirection); 426 424 427 // Lastly, for <input type="file"> that allow multiple files, we'll consider a tooltip for the selected filenames 425 428 if (toolTip.isEmpty()) { -
trunk/Source/WebCore/page/Settings.cpp
r92773 r93014 155 155 , m_usesPageCache(false) 156 156 , m_showsURLsInToolTips(false) 157 , m_showsToolTipOverTruncatedText(false) 157 158 , m_forceFTPDirectoryListings(false) 158 159 , m_developerExtrasEnabled(false) … … 560 561 } 561 562 563 void Settings::setShowsToolTipOverTruncatedText(bool showsToolTipForTruncatedText) 564 { 565 m_showsToolTipOverTruncatedText = showsToolTipForTruncatedText; 566 } 567 562 568 void Settings::setFTPDirectoryTemplatePath(const String& path) 563 569 { -
trunk/Source/WebCore/page/Settings.h
r92773 r93014 241 241 void setShowsURLsInToolTips(bool); 242 242 bool showsURLsInToolTips() const { return m_showsURLsInToolTips; } 243 244 void setShowsToolTipOverTruncatedText(bool); 245 bool showsToolTipOverTruncatedText() const { return m_showsToolTipOverTruncatedText; } 243 246 244 247 void setFTPDirectoryTemplatePath(const String&); … … 524 527 bool m_usesPageCache: 1; 525 528 bool m_showsURLsInToolTips : 1; 529 bool m_showsToolTipOverTruncatedText : 1; 526 530 bool m_forceFTPDirectoryListings : 1; 527 531 bool m_developerExtrasEnabled : 1; -
trunk/Source/WebCore/rendering/HitTestResult.cpp
r90955 r93014 1 1 /* 2 * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.2 * Copyright (C) 2006, 2008, 2011 Apple Inc. All rights reserved. 3 3 * 4 4 * This library is free software; you can redistribute it and/or … … 33 33 #include "HTMLNames.h" 34 34 #include "HTMLParserIdioms.h" 35 #include "RenderBlock.h" 35 36 #include "RenderImage.h" 36 37 #include "RenderInline.h" … … 237 238 } 238 239 240 String 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 239 266 String displayString(const String& string, const Node* node) 240 267 { -
trunk/Source/WebCore/rendering/HitTestResult.h
r90955 r93014 76 76 String replacedString() const; 77 77 String title(TextDirection&) const; 78 String innerTextIfTruncated(TextDirection&) const; 78 79 String altDisplayString() const; 79 80 String titleDisplayString() const; -
trunk/Source/WebCore/rendering/RootInlineBox.h
r91417 r93014 88 88 virtual float placeEllipsisBox(bool ltr, float blockLeftEdge, float blockRightEdge, float ellipsisWidth, bool& foundBox); 89 89 90 bool hasEllipsisBox() const { return m_hasEllipsisBoxOrHyphen; } 90 91 EllipsisBox* ellipsisBox() const; 91 92 … … 173 174 #endif 174 175 private: 175 bool hasEllipsisBox() const { return m_hasEllipsisBoxOrHyphen; }176 176 void setHasEllipsisBox(bool hasEllipsisBox) { m_hasEllipsisBoxOrHyphen = hasEllipsisBox; } 177 177 -
trunk/Source/WebKit/mac/ChangeLog
r93012 r93014 1 2011-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 1 18 2011-08-12 Sam Weinig <sam@webkit.org> 2 19 -
trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
r92492 r93014 116 116 #define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey @"WebKitRespectStandardStyleKeyEquivalents" 117 117 #define WebKitShowsURLsInToolTipsPreferenceKey @"WebKitShowsURLsInToolTips" 118 #define WebKitShowsToolTipOverTruncatedTextPreferenceKey @"WebKitShowsToolTipForTruncatedText" 118 119 #define WebKitPDFDisplayModePreferenceKey @"WebKitPDFDisplayMode" 119 120 #define WebKitPDFScaleFactorPreferenceKey @"WebKitPDFScaleFactor" -
trunk/Source/WebKit/mac/WebView/WebPreferences.mm
r92492 r93014 1 1 /* 2 * Copyright (C) 2005, 2006, 2007 Apple Inc. All rights reserved.2 * Copyright (C) 2005, 2006, 2007, 2011 Apple Inc. All rights reserved. 3 3 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) 4 4 * … … 338 338 [NSNumber numberWithBool:NO], WebKitRespectStandardStyleKeyEquivalentsPreferenceKey, 339 339 [NSNumber numberWithBool:NO], WebKitShowsURLsInToolTipsPreferenceKey, 340 [NSNumber numberWithBool:NO], WebKitShowsToolTipOverTruncatedTextPreferenceKey, 340 341 @"1", WebKitPDFDisplayModePreferenceKey, 341 342 @"0", WebKitPDFScaleFactorPreferenceKey, … … 926 927 } 927 928 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 928 939 - (BOOL)textAreasAreResizable 929 940 { -
trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h
r92492 r93014 1 1 /* 2 * Copyright (C) 2005, 2007 Apple Computer, Inc. All rights reserved.2 * Copyright (C) 2005, 2007, 2011 Apple Computer, Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 79 79 - (void)setShowsURLsInToolTips:(BOOL)flag; 80 80 81 - (BOOL)showsToolTipOverTruncatedText; 82 - (void)setShowsToolTipOverTruncatedText:(BOOL)flag; 83 81 84 - (BOOL)textAreasAreResizable; 82 85 - (void)setTextAreasAreResizable:(BOOL)flag; -
trunk/Source/WebKit/mac/WebView/WebView.mm
r92552 r93014 1530 1530 settings->setUsesPageCache([self usesPageCache]); 1531 1531 settings->setShowsURLsInToolTips([preferences showsURLsInToolTips]); 1532 settings->setShowsToolTipOverTruncatedText([preferences showsToolTipOverTruncatedText]); 1532 1533 settings->setDeveloperExtrasEnabled([preferences developerExtrasEnabled]); 1533 1534 settings->setAuthorAndUserStylesEnabled([preferences authorAndUserStylesEnabled]); -
trunk/Source/WebKit/win/ChangeLog
r92621 r93014 1 2011-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 1 19 2011-08-05 Brent Fulgham <bfulgham@webkit.org> 2 20 -
trunk/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl
r92492 r93014 137 137 HRESULT setMediaPlaybackAllowsInline([in] BOOL); 138 138 HRESULT mediaPlaybackAllowsInline([out, retval] BOOL*); 139 140 HRESULT setShowsToolTipOverTruncatedText([in] BOOL); 141 HRESULT showsToolTipOverTruncatedText([out, retval] BOOL*); 142 139 143 } -
trunk/Source/WebKit/win/Interfaces/WebKit.idl
r92492 r93014 23 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 24 */ 25 25 26 26 cpp_quote("/*") 27 27 cpp_quote(" * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.") -
trunk/Source/WebKit/win/WebPreferenceKeysPrivate.h
r92492 r93014 1 1 /* 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. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 76 76 #define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey "WebKitRespectStandardStyleKeyEquivalents" 77 77 #define WebKitShowsURLsInToolTipsPreferenceKey "WebKitShowsURLsInToolTips" 78 #define WebKitShowsToolTipOverTruncatedTextPreferenceKey "WebKitShowsToolTipForTruncatedText" 78 79 #define WebKitPDFDisplayModePreferenceKey "WebKitPDFDisplayMode" 79 80 #define WebKitPDFScaleFactorPreferenceKey "WebKitPDFScaleFactor" -
trunk/Source/WebKit/win/WebPreferences.cpp
r92492 r93014 1 1 /* 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. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 226 226 CFDictionaryAddValue(defaults, CFSTR(WebKitRespectStandardStyleKeyEquivalentsPreferenceKey), kCFBooleanFalse); 227 227 CFDictionaryAddValue(defaults, CFSTR(WebKitShowsURLsInToolTipsPreferenceKey), kCFBooleanFalse); 228 CFDictionaryAddValue(defaults, CFSTR(WebKitShowsToolTipOverTruncatedTextPreferenceKey), kCFBooleanFalse); 228 229 CFDictionaryAddValue(defaults, CFSTR(WebKitPDFDisplayModePreferenceKey), CFSTR("1")); 229 230 CFDictionaryAddValue(defaults, CFSTR(WebKitPDFScaleFactorPreferenceKey), CFSTR("0")); … … 1621 1622 } 1622 1623 1624 HRESULT WebPreferences::showsToolTipOverTruncatedText(BOOL* showsToolTip) 1625 { 1626 if (!showsToolTip) 1627 return E_POINTER; 1628 1629 *showsToolTip = boolValueForKey(CFSTR(WebKitShowsToolTipOverTruncatedTextPreferenceKey)); 1630 return S_OK; 1631 } 1632 1633 HRESULT WebPreferences::setShowsToolTipOverTruncatedText(BOOL showsToolTip) 1634 { 1635 setBoolValue(CFSTR(WebKitShowsToolTipOverTruncatedTextPreferenceKey), showsToolTip); 1636 return S_OK; 1637 } 1638 1623 1639 void WebPreferences::willAddToWebView() 1624 1640 { -
trunk/Source/WebKit/win/WebPreferences.h
r92492 r93014 451 451 virtual HRESULT STDMETHODCALLTYPE setMediaPlaybackAllowsInline(BOOL); 452 452 453 virtual HRESULT STDMETHODCALLTYPE showsToolTipOverTruncatedText(BOOL*); 454 virtual HRESULT STDMETHODCALLTYPE setShowsToolTipOverTruncatedText(BOOL); 455 453 456 // WebPreferences 454 457 -
trunk/Source/WebKit/win/WebView.cpp
r92621 r93014 1 1 /* 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. 3 3 * Copyright (C) 2009, 2010, 2011 Appcelerator, Inc. All rights reserved. 4 4 * Copyright (C) 2011 Brent Fulgham. All rights reserved. … … 4719 4719 4720 4720 settings->setShowsURLsInToolTips(false); 4721 4722 hr = preferences->showsToolTipOverTruncatedText(&enabled); 4723 if (FAILED(hr)) 4724 return hr; 4725 4726 settings->setShowsToolTipOverTruncatedText(enabled); 4727 4721 4728 settings->setForceFTPDirectoryListings(true); 4722 4729 settings->setDeveloperExtrasEnabled(developerExtrasEnabled()); -
trunk/Source/WebKit2/ChangeLog
r93005 r93014 1 2011-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 1 16 2011-08-12 Mark Rowe <mrowe@apple.com> 2 17 -
trunk/Source/WebKit2/Shared/WebPreferencesStore.h
r92773 r93014 86 86 macro(MediaPlaybackAllowsInline, mediaPlaybackAllowsInline, Bool, bool, true) \ 87 87 macro(InspectorStartsAttached, inspectorStartsAttached, Bool, bool, true) \ 88 macro(ShowsToolTipOverTruncatedText, showsToolTipOverTruncatedText, Bool, bool, false) \ 88 89 \ 89 90 -
trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
r91777 r93014 602 602 return toImpl(preferencesRef)->mediaPlaybackAllowsInline(); 603 603 } 604 605 void WKPreferencesSetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef, bool flag) 606 { 607 toImpl(preferencesRef)->setShowsToolTipOverTruncatedText(flag); 608 } 609 610 bool WKPreferencesGetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef) 611 { 612 return toImpl(preferencesRef)->showsToolTipOverTruncatedText(); 613 } -
trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h
r91232 r93014 141 141 WK_EXPORT bool WKPreferencesGetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef); 142 142 143 // Defaults to false. 144 WK_EXPORT void WKPreferencesSetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef, bool flag); 145 WK_EXPORT bool WKPreferencesGetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef); 146 143 147 #ifdef __cplusplus 144 148 } -
trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
r92773 r93014 1586 1586 settings->setDeviceHeight(store.getUInt32ValueForKey(WebPreferencesKey::deviceHeightKey())); 1587 1587 settings->setEditableLinkBehavior(static_cast<WebCore::EditableLinkBehavior>(store.getUInt32ValueForKey(WebPreferencesKey::editableLinkBehaviorKey()))); 1588 settings->setShowsToolTipOverTruncatedText(store.getBoolValueForKey(WebPreferencesKey::showsToolTipOverTruncatedTextKey())); 1588 1589 1589 1590 settings->setAcceleratedCompositingEnabled(store.getBoolValueForKey(WebPreferencesKey::acceleratedCompositingEnabledKey()) && LayerTreeHost::supportsAcceleratedCompositing());
Note:
See TracChangeset
for help on using the changeset viewer.