Diff
Modified: trunk/Source/WebCore/ChangeLog (93013 => 93014)
--- trunk/Source/WebCore/ChangeLog 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebCore/ChangeLog 2011-08-13 06:25:30 UTC (rev 93014)
@@ -1,3 +1,26 @@
+2011-08-12 Dan Bernstein <m...@apple.com>
+
+ <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.
+
2011-08-12 Stephen White <senorbla...@chromium.org>
Ownership of canvas's GraphicsContext3D should be moved to PlatformContextSkia
Modified: trunk/Source/WebCore/WebCore.exp.in (93013 => 93014)
--- trunk/Source/WebCore/WebCore.exp.in 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebCore/WebCore.exp.in 2011-08-13 06:25:30 UTC (rev 93014)
@@ -925,6 +925,7 @@
__ZN7WebCore8Settings31setShrinksStandaloneImagesToFitEb
__ZN7WebCore8Settings32setAcceleratedCompositingEnabledEb
__ZN7WebCore8Settings32setNeedsAdobeFrameReloadingQuirkEb
+__ZN7WebCore8Settings32setShowsToolTipOverTruncatedTextEb
__ZN7WebCore8Settings33setDownloadableBinaryFontsEnabledEb
__ZN7WebCore8Settings34setLocalFileContentSniffingEnabledEb
__ZN7WebCore8Settings35setAllowUniversalAccessFromFileURLsEb
Modified: trunk/Source/WebCore/page/Chrome.cpp (93013 => 93014)
--- trunk/Source/WebCore/page/Chrome.cpp 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebCore/page/Chrome.cpp 2011-08-13 06:25:30 UTC (rev 93014)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2007, 2009, 2011 Apple Inc. All rights reserved.
* Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies)
*
* This library is free software; you can redistribute it and/or
@@ -421,6 +421,9 @@
if (toolTip.isEmpty())
toolTip = result.title(toolTipDirection);
+ if (toolTip.isEmpty() && m_page->settings()->showsToolTipOverTruncatedText())
+ toolTip = result.innerTextIfTruncated(toolTipDirection);
+
// Lastly, for <input type="file"> that allow multiple files, we'll consider a tooltip for the selected filenames
if (toolTip.isEmpty()) {
if (Node* node = result.innerNonSharedNode()) {
Modified: trunk/Source/WebCore/page/Settings.cpp (93013 => 93014)
--- trunk/Source/WebCore/page/Settings.cpp 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebCore/page/Settings.cpp 2011-08-13 06:25:30 UTC (rev 93014)
@@ -154,6 +154,7 @@
, m_shrinksStandaloneImagesToFit(true)
, m_usesPageCache(false)
, m_showsURLsInToolTips(false)
+ , m_showsToolTipOverTruncatedText(false)
, m_forceFTPDirectoryListings(false)
, m_developerExtrasEnabled(false)
, m_authorAndUserStylesEnabled(true)
@@ -559,6 +560,11 @@
m_showsURLsInToolTips = showsURLsInToolTips;
}
+void Settings::setShowsToolTipOverTruncatedText(bool showsToolTipForTruncatedText)
+{
+ m_showsToolTipOverTruncatedText = showsToolTipForTruncatedText;
+}
+
void Settings::setFTPDirectoryTemplatePath(const String& path)
{
m_ftpDirectoryTemplatePath = path;
Modified: trunk/Source/WebCore/page/Settings.h (93013 => 93014)
--- trunk/Source/WebCore/page/Settings.h 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebCore/page/Settings.h 2011-08-13 06:25:30 UTC (rev 93014)
@@ -241,6 +241,9 @@
void setShowsURLsInToolTips(bool);
bool showsURLsInToolTips() const { return m_showsURLsInToolTips; }
+ void setShowsToolTipOverTruncatedText(bool);
+ bool showsToolTipOverTruncatedText() const { return m_showsToolTipOverTruncatedText; }
+
void setFTPDirectoryTemplatePath(const String&);
const String& ftpDirectoryTemplatePath() const { return m_ftpDirectoryTemplatePath; }
@@ -523,6 +526,7 @@
bool m_shrinksStandaloneImagesToFit : 1;
bool m_usesPageCache: 1;
bool m_showsURLsInToolTips : 1;
+ bool m_showsToolTipOverTruncatedText : 1;
bool m_forceFTPDirectoryListings : 1;
bool m_developerExtrasEnabled : 1;
bool m_authorAndUserStylesEnabled : 1;
Modified: trunk/Source/WebCore/rendering/HitTestResult.cpp (93013 => 93014)
--- trunk/Source/WebCore/rendering/HitTestResult.cpp 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebCore/rendering/HitTestResult.cpp 2011-08-13 06:25:30 UTC (rev 93014)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2008, 2011 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -32,6 +32,7 @@
#include "HTMLMediaElement.h"
#include "HTMLNames.h"
#include "HTMLParserIdioms.h"
+#include "RenderBlock.h"
#include "RenderImage.h"
#include "RenderInline.h"
#include "Scrollbar.h"
@@ -236,6 +237,32 @@
return String();
}
+String HitTestResult::innerTextIfTruncated(TextDirection& dir) const
+{
+ for (Node* truncatedNode = m_innerNode.get(); truncatedNode; truncatedNode = truncatedNode->parentNode()) {
+ if (!truncatedNode->isElementNode())
+ continue;
+
+ if (RenderObject* renderer = truncatedNode->renderer()) {
+ if (renderer->isRenderBlock()) {
+ RenderBlock* block = toRenderBlock(renderer);
+ if (block->style()->textOverflow()) {
+ for (RootInlineBox* line = block->firstRootBox(); line; line = line->nextRootBox()) {
+ if (line->hasEllipsisBox()) {
+ dir = block->style()->direction();
+ return toElement(truncatedNode)->innerText();
+ }
+ }
+ }
+ break;
+ }
+ }
+ }
+
+ dir = LTR;
+ return String();
+}
+
String displayString(const String& string, const Node* node)
{
if (!node)
Modified: trunk/Source/WebCore/rendering/HitTestResult.h (93013 => 93014)
--- trunk/Source/WebCore/rendering/HitTestResult.h 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebCore/rendering/HitTestResult.h 2011-08-13 06:25:30 UTC (rev 93014)
@@ -75,6 +75,7 @@
String spellingToolTip(TextDirection&) const;
String replacedString() const;
String title(TextDirection&) const;
+ String innerTextIfTruncated(TextDirection&) const;
String altDisplayString() const;
String titleDisplayString() const;
Image* image() const;
Modified: trunk/Source/WebCore/rendering/RootInlineBox.h (93013 => 93014)
--- trunk/Source/WebCore/rendering/RootInlineBox.h 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebCore/rendering/RootInlineBox.h 2011-08-13 06:25:30 UTC (rev 93014)
@@ -87,6 +87,7 @@
void placeEllipsis(const AtomicString& ellipsisStr, bool ltr, float blockLeftEdge, float blockRightEdge, float ellipsisWidth, InlineBox* markupBox = 0);
virtual float placeEllipsisBox(bool ltr, float blockLeftEdge, float blockRightEdge, float ellipsisWidth, bool& foundBox);
+ bool hasEllipsisBox() const { return m_hasEllipsisBoxOrHyphen; }
EllipsisBox* ellipsisBox() const;
void paintEllipsisBox(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom) const;
@@ -172,7 +173,6 @@
virtual const char* boxName() const;
#endif
private:
- bool hasEllipsisBox() const { return m_hasEllipsisBoxOrHyphen; }
void setHasEllipsisBox(bool hasEllipsisBox) { m_hasEllipsisBoxOrHyphen = hasEllipsisBox; }
int beforeAnnotationsAdjustment() const;
Modified: trunk/Source/WebKit/mac/ChangeLog (93013 => 93014)
--- trunk/Source/WebKit/mac/ChangeLog 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit/mac/ChangeLog 2011-08-13 06:25:30 UTC (rev 93014)
@@ -1,3 +1,20 @@
+2011-08-12 Dan Bernstein <m...@apple.com>
+
+ 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().
+
2011-08-12 Sam Weinig <s...@webkit.org>
Use __builtin_trap() for CRASH when building with clang
Modified: trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h (93013 => 93014)
--- trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h 2011-08-13 06:25:30 UTC (rev 93014)
@@ -115,6 +115,7 @@
// cover methods themselves are private.
#define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey @"WebKitRespectStandardStyleKeyEquivalents"
#define WebKitShowsURLsInToolTipsPreferenceKey @"WebKitShowsURLsInToolTips"
+#define WebKitShowsToolTipOverTruncatedTextPreferenceKey @"WebKitShowsToolTipForTruncatedText"
#define WebKitPDFDisplayModePreferenceKey @"WebKitPDFDisplayMode"
#define WebKitPDFScaleFactorPreferenceKey @"WebKitPDFScaleFactor"
#define WebKitUseSiteSpecificSpoofingPreferenceKey @"WebKitUseSiteSpecificSpoofing"
Modified: trunk/Source/WebKit/mac/WebView/WebPreferences.mm (93013 => 93014)
--- trunk/Source/WebKit/mac/WebView/WebPreferences.mm 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit/mac/WebView/WebPreferences.mm 2011-08-13 06:25:30 UTC (rev 93014)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005, 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2005, 2006, 2007, 2011 Apple Inc. All rights reserved.
* (C) 2006 Graham Dennis (graham.den...@gmail.com)
*
* Redistribution and use in source and binary forms, with or without
@@ -337,6 +337,7 @@
[NSNumber numberWithBool:NO], WebKitPrivateBrowsingEnabledPreferenceKey,
[NSNumber numberWithBool:NO], WebKitRespectStandardStyleKeyEquivalentsPreferenceKey,
[NSNumber numberWithBool:NO], WebKitShowsURLsInToolTipsPreferenceKey,
+ [NSNumber numberWithBool:NO], WebKitShowsToolTipOverTruncatedTextPreferenceKey,
@"1", WebKitPDFDisplayModePreferenceKey,
@"0", WebKitPDFScaleFactorPreferenceKey,
@"0", WebKitUseSiteSpecificSpoofingPreferenceKey,
@@ -925,6 +926,16 @@
[self _setBoolValue:flag forKey:WebKitShowsURLsInToolTipsPreferenceKey];
}
+- (BOOL)showsToolTipOverTruncatedText
+{
+ return [self _boolValueForKey:WebKitShowsToolTipOverTruncatedTextPreferenceKey];
+}
+
+- (void)setShowsToolTipOverTruncatedText:(BOOL)flag
+{
+ [self _setBoolValue:flag forKey:WebKitShowsToolTipOverTruncatedTextPreferenceKey];
+}
+
- (BOOL)textAreasAreResizable
{
return [self _boolValueForKey: WebKitTextAreasAreResizablePreferenceKey];
Modified: trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h (93013 => 93014)
--- trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h 2011-08-13 06:25:30 UTC (rev 93014)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005, 2007 Apple Computer, Inc. All rights reserved.
+ * Copyright (C) 2005, 2007, 2011 Apple Computer, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -78,6 +78,9 @@
- (BOOL)showsURLsInToolTips;
- (void)setShowsURLsInToolTips:(BOOL)flag;
+- (BOOL)showsToolTipOverTruncatedText;
+- (void)setShowsToolTipOverTruncatedText:(BOOL)flag;
+
- (BOOL)textAreasAreResizable;
- (void)setTextAreasAreResizable:(BOOL)flag;
Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (93013 => 93014)
--- trunk/Source/WebKit/mac/WebView/WebView.mm 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm 2011-08-13 06:25:30 UTC (rev 93014)
@@ -1529,6 +1529,7 @@
settings->setDOMPasteAllowed([preferences isDOMPasteAllowed]);
settings->setUsesPageCache([self usesPageCache]);
settings->setShowsURLsInToolTips([preferences showsURLsInToolTips]);
+ settings->setShowsToolTipOverTruncatedText([preferences showsToolTipOverTruncatedText]);
settings->setDeveloperExtrasEnabled([preferences developerExtrasEnabled]);
settings->setAuthorAndUserStylesEnabled([preferences authorAndUserStylesEnabled]);
settings->setApplicationChromeMode([preferences applicationChromeModeEnabled]);
Modified: trunk/Source/WebKit/win/ChangeLog (93013 => 93014)
--- trunk/Source/WebKit/win/ChangeLog 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit/win/ChangeLog 2011-08-13 06:25:30 UTC (rev 93014)
@@ -1,3 +1,21 @@
+2011-08-12 Dan Bernstein <m...@apple.com>
+
+ 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().
+
2011-08-05 Brent Fulgham <bfulg...@webkit.org>
WebView::performLayeredWindowUpdate() crashes with
Modified: trunk/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl (93013 => 93014)
--- trunk/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl 2011-08-13 06:25:30 UTC (rev 93014)
@@ -136,4 +136,8 @@
HRESULT setMediaPlaybackAllowsInline([in] BOOL);
HRESULT mediaPlaybackAllowsInline([out, retval] BOOL*);
+
+ HRESULT setShowsToolTipOverTruncatedText([in] BOOL);
+ HRESULT showsToolTipOverTruncatedText([out, retval] BOOL*);
+
}
Modified: trunk/Source/WebKit/win/Interfaces/WebKit.idl (93013 => 93014)
--- trunk/Source/WebKit/win/Interfaces/WebKit.idl 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit/win/Interfaces/WebKit.idl 2011-08-13 06:25:30 UTC (rev 93014)
@@ -22,7 +22,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
+
cpp_quote("/*")
cpp_quote(" * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.")
cpp_quote(" *")
Modified: trunk/Source/WebKit/win/WebPreferenceKeysPrivate.h (93013 => 93014)
--- trunk/Source/WebKit/win/WebPreferenceKeysPrivate.h 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit/win/WebPreferenceKeysPrivate.h 2011-08-13 06:25:30 UTC (rev 93014)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2011 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -75,6 +75,7 @@
// cover methods themselves are private.
#define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey "WebKitRespectStandardStyleKeyEquivalents"
#define WebKitShowsURLsInToolTipsPreferenceKey "WebKitShowsURLsInToolTips"
+#define WebKitShowsToolTipOverTruncatedTextPreferenceKey "WebKitShowsToolTipForTruncatedText"
#define WebKitPDFDisplayModePreferenceKey "WebKitPDFDisplayMode"
#define WebKitPDFScaleFactorPreferenceKey "WebKitPDFScaleFactor"
#define WebKitEditableLinkBehaviorPreferenceKey "WebKitEditableLinkBehavior"
Modified: trunk/Source/WebKit/win/WebPreferences.cpp (93013 => 93014)
--- trunk/Source/WebKit/win/WebPreferences.cpp 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit/win/WebPreferences.cpp 2011-08-13 06:25:30 UTC (rev 93014)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -225,6 +225,7 @@
CFDictionaryAddValue(defaults, CFSTR(WebKitPrivateBrowsingEnabledPreferenceKey), kCFBooleanFalse);
CFDictionaryAddValue(defaults, CFSTR(WebKitRespectStandardStyleKeyEquivalentsPreferenceKey), kCFBooleanFalse);
CFDictionaryAddValue(defaults, CFSTR(WebKitShowsURLsInToolTipsPreferenceKey), kCFBooleanFalse);
+ CFDictionaryAddValue(defaults, CFSTR(WebKitShowsToolTipOverTruncatedTextPreferenceKey), kCFBooleanFalse);
CFDictionaryAddValue(defaults, CFSTR(WebKitPDFDisplayModePreferenceKey), CFSTR("1"));
CFDictionaryAddValue(defaults, CFSTR(WebKitPDFScaleFactorPreferenceKey), CFSTR("0"));
@@ -1620,6 +1621,21 @@
#endif
}
+HRESULT WebPreferences::showsToolTipOverTruncatedText(BOOL* showsToolTip)
+{
+ if (!showsToolTip)
+ return E_POINTER;
+
+ *showsToolTip = boolValueForKey(CFSTR(WebKitShowsToolTipOverTruncatedTextPreferenceKey));
+ return S_OK;
+}
+
+HRESULT WebPreferences::setShowsToolTipOverTruncatedText(BOOL showsToolTip)
+{
+ setBoolValue(CFSTR(WebKitShowsToolTipOverTruncatedTextPreferenceKey), showsToolTip);
+ return S_OK;
+}
+
void WebPreferences::willAddToWebView()
{
++m_numWebViews;
Modified: trunk/Source/WebKit/win/WebPreferences.h (93013 => 93014)
--- trunk/Source/WebKit/win/WebPreferences.h 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit/win/WebPreferences.h 2011-08-13 06:25:30 UTC (rev 93014)
@@ -450,6 +450,9 @@
virtual HRESULT STDMETHODCALLTYPE mediaPlaybackAllowsInline(BOOL*);
virtual HRESULT STDMETHODCALLTYPE setMediaPlaybackAllowsInline(BOOL);
+ virtual HRESULT STDMETHODCALLTYPE showsToolTipOverTruncatedText(BOOL*);
+ virtual HRESULT STDMETHODCALLTYPE setShowsToolTipOverTruncatedText(BOOL);
+
// WebPreferences
// This method accesses a different preference key than developerExtrasEnabled.
Modified: trunk/Source/WebKit/win/WebView.cpp (93013 => 93014)
--- trunk/Source/WebKit/win/WebView.cpp 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit/win/WebView.cpp 2011-08-13 06:25:30 UTC (rev 93014)
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple, Inc. All rights reserved.
+ * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple, Inc. All rights reserved.
* Copyright (C) 2009, 2010, 2011 Appcelerator, Inc. All rights reserved.
* Copyright (C) 2011 Brent Fulgham. All rights reserved.
*
@@ -4718,6 +4718,13 @@
setZoomMultiplier(m_zoomMultiplier, enabled);
settings->setShowsURLsInToolTips(false);
+
+ hr = preferences->showsToolTipOverTruncatedText(&enabled);
+ if (FAILED(hr))
+ return hr;
+
+ settings->setShowsToolTipOverTruncatedText(enabled);
+
settings->setForceFTPDirectoryListings(true);
settings->setDeveloperExtrasEnabled(developerExtrasEnabled());
settings->setNeedsSiteSpecificQuirks(s_allowSiteSpecificHacks);
Modified: trunk/Source/WebKit2/ChangeLog (93013 => 93014)
--- trunk/Source/WebKit2/ChangeLog 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit2/ChangeLog 2011-08-13 06:25:30 UTC (rev 93014)
@@ -1,3 +1,18 @@
+2011-08-12 Dan Bernstein <m...@apple.com>
+
+ <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.
+
2011-08-12 Mark Rowe <mr...@apple.com>
Be more forward-looking in the choice of compiler.
Modified: trunk/Source/WebKit2/Shared/WebPreferencesStore.h (93013 => 93014)
--- trunk/Source/WebKit2/Shared/WebPreferencesStore.h 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit2/Shared/WebPreferencesStore.h 2011-08-13 06:25:30 UTC (rev 93014)
@@ -85,6 +85,7 @@
macro(MediaPlaybackRequiresUserGesture, mediaPlaybackRequiresUserGesture, Bool, bool, false) \
macro(MediaPlaybackAllowsInline, mediaPlaybackAllowsInline, Bool, bool, true) \
macro(InspectorStartsAttached, inspectorStartsAttached, Bool, bool, true) \
+ macro(ShowsToolTipOverTruncatedText, showsToolTipOverTruncatedText, Bool, bool, false) \
\
#define FOR_EACH_WEBKIT_DOUBLE_PREFERENCE(macro) \
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp (93013 => 93014)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp 2011-08-13 06:25:30 UTC (rev 93014)
@@ -601,3 +601,13 @@
{
return toImpl(preferencesRef)->mediaPlaybackAllowsInline();
}
+
+void WKPreferencesSetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef, bool flag)
+{
+ toImpl(preferencesRef)->setShowsToolTipOverTruncatedText(flag);
+}
+
+bool WKPreferencesGetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef)
+{
+ return toImpl(preferencesRef)->showsToolTipOverTruncatedText();
+}
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h (93013 => 93014)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h 2011-08-13 06:25:30 UTC (rev 93014)
@@ -140,6 +140,10 @@
WK_EXPORT void WKPreferencesSetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef, bool flag);
WK_EXPORT bool WKPreferencesGetMediaPlaybackAllowsInline(WKPreferencesRef preferencesRef);
+// Defaults to false.
+WK_EXPORT void WKPreferencesSetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef, bool flag);
+WK_EXPORT bool WKPreferencesGetShowsToolTipOverTruncatedText(WKPreferencesRef preferencesRef);
+
#ifdef __cplusplus
}
#endif
Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (93013 => 93014)
--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2011-08-13 03:26:43 UTC (rev 93013)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp 2011-08-13 06:25:30 UTC (rev 93014)
@@ -1585,6 +1585,7 @@
settings->setDeviceWidth(store.getUInt32ValueForKey(WebPreferencesKey::deviceWidthKey()));
settings->setDeviceHeight(store.getUInt32ValueForKey(WebPreferencesKey::deviceHeightKey()));
settings->setEditableLinkBehavior(static_cast<WebCore::EditableLinkBehavior>(store.getUInt32ValueForKey(WebPreferencesKey::editableLinkBehaviorKey())));
+ settings->setShowsToolTipOverTruncatedText(store.getBoolValueForKey(WebPreferencesKey::showsToolTipOverTruncatedTextKey()));
settings->setAcceleratedCompositingEnabled(store.getBoolValueForKey(WebPreferencesKey::acceleratedCompositingEnabledKey()) && LayerTreeHost::supportsAcceleratedCompositing());
settings->setAcceleratedDrawingEnabled(store.getBoolValueForKey(WebPreferencesKey::acceleratedDrawingEnabledKey()) && LayerTreeHost::supportsAcceleratedCompositing());