[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
mitz at apple.com
mitz at apple.com
Wed Dec 22 11:42:59 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 73eb8c9543947c88febea1766b24388488c0a45b
Author: mitz at apple.com <mitz at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Aug 4 21:22:24 2010 +0000
WebCore: Allow the language for hyphenation to be specified
https://bugs.webkit.org/show_bug.cgi?id=43467
Test: fast/text/hyphenate-locale.html
Added a -webkit-hyphenate-locale property whose value can be either auto or a locale identifier
string. The initial value is auto and the property is inherited. When the value is a locale
identifier, hyphenation should follow the rules for the specified locale.
* WebCore.xcodeproj/project.pbxproj: Added AtomicStringKeyedMRUCache.h.
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle -webkit-hyphenate-locale.
Updated for the renaming of RenderStyle::hyphenateCharacter() to hyphenationString().
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue): Parse -webkit-hyphenate-locale.
* css/CSSPropertyNames.in: Added -webkit-hyphenate-locale.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): Apply the -webkit-hyphenate-locale property to the
RenderStyle. Updated for the renaming of RenderStyle::hyphenateCharacter() to hyphenationString().
* platform/text/AtomicStringKeyedMRUCache.h: Added.
(WebCore::AtomicStringKeyedMRUCache::get):
* platform/text/Hyphenation.cpp:
(WebCore::canHyphenate): Added an implementation that returns false.
(WebCore::lastHyphenLocation): Now asserts that it is not called, because it is an error to call
this function if canHyphenate() returned false.
* platform/text/Hyphenation.h:
Added canHyphenate(). Returns true if hyphenation is possible for the given locale identifier.
* platform/text/android/HyphenationAndroid.cpp:
(WebCore::canHyphenate): Added an implementation that returns true and a FIXME.
(WebCore::lastHyphenLocation): Added unused localeIdentifier parameter.
* platform/text/cf/HyphenationCF.cpp:
(WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForNullKey): Returns
the CFLocaleRef for the current search locale.
(WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForKey): Returns a
CFLocaleRef for the locale identifier.
(WebCore::canHyphenate): Added. Returns true.
(WebCore::lastHyphenLocation): Added localeIdentifier parameter, used to pass a CFLocaleRef to
the hyphenation function.
* platform/text/mac/HyphenationMac.mm:
(WebCore::AtomicStringKeyedMRUCache<bool>::createValueForNullKey): Returns whether the current
search locale is english.
(WebCore::AtomicStringKeyedMRUCache<bool>::createValueForKey): Returns whether the locale identifier
string identifies locale with the English language.
(WebCore::canHyphenate): Added. Returns true if the locale language is English.
(WebCore::lastHyphenLocation): Added localeIdentifier parameter and an assertion that its language
is English.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::tryHyphenating): Added a locale identifier parameter, which is passed down to
lastHyphenLocation(). Added 1 to the value passed for the beforeIndex parameter to lastHyphenLocation(),
because the latter only returns values smaller than that index. The Mac implementation could
return a value equal to beforeIndex, but that is fixed in the WebKitSystemInterface part of this patch.
(WebCore::RenderBlock::findNextLineBreak): Only set canHyphenate to true if hyphenation is possible
for the specified hyphenation locale. Pass the hyphenation locale to tryHyphenating().
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff): Compare hyphenation locales.
(WebCore::RenderStyle::hyphenString): Updated for the renaming of hyphenateCharacter() to
hyphenationString().
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::hyphenationString): Renamed hyphenateCharacter() to this.
(WebCore::InheritedFlags::hyphenationLocale): Added this accessor.
(WebCore::InheritedFlags::setHyphenationString): Renamed setHyphenateCharacter() to this.
(WebCore::InheritedFlags::setHyphenationLocale): Added this accessor.
(WebCore::InheritedFlags::initialHyphenationString): Renamed initialHyphenateCharacter() to this.
(WebCore::InheritedFlags::initialHyphenateLocale): Added. Returns the null atom, which represents a
value of auto.
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData): Copy the hyphenation locale. Updated for
rename.
(WebCore::StyleRareInheritedData::operator==): Compare the hyphenation locales. Updated for rename.
* rendering/style/StyleRareInheritedData.h:
WebKitLibraries: WebKitSystemInterface part of: Allow the language for hyphenation to be specified
https://bugs.webkit.org/show_bug.cgi?id=43467
Reviewed by Darin Adler.
* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLeopard.a:
* libWebKitSystemInterfaceSnowLeopard.a:
* libWebKitSystemInterfaceTiger.a:
LayoutTests: Allow the language for hyphenation to be specified
https://bugs.webkit.org/show_bug.cgi?id=43467
Reviewed by Simon Fraser.
* fast/text/hyphenate-locale.html: Added.
* platform/mac/fast/text/hyphenate-locale-expected.checksum: Added.
* platform/mac/fast/text/hyphenate-locale-expected.png: Added.
* platform/mac/fast/text/hyphenate-locale-expected.txt: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64677 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 9899a3a..aa4cdce 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,15 @@
+2010-08-04 Dan Bernstein <mitz at apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Allow the language for hyphenation to be specified
+ https://bugs.webkit.org/show_bug.cgi?id=43467
+
+ * fast/text/hyphenate-locale.html: Added.
+ * platform/mac/fast/text/hyphenate-locale-expected.checksum: Added.
+ * platform/mac/fast/text/hyphenate-locale-expected.png: Added.
+ * platform/mac/fast/text/hyphenate-locale-expected.txt: Added.
+
2010-08-04 Dimitri Glazkov <dglazkov at chromium.org>
Updating Windows DRT expectations after DRT's successful run.
diff --git a/LayoutTests/fast/text/hyphenate-locale.html b/LayoutTests/fast/text/hyphenate-locale.html
new file mode 100644
index 0000000..b7a44bc
--- /dev/null
+++ b/LayoutTests/fast/text/hyphenate-locale.html
@@ -0,0 +1,15 @@
+<div style="-webkit-hyphens: auto; font-size: 36px; width: 130px;">
+ <div>throughout</div>
+ <div style="-webkit-hyphenate-locale: 'en';">throughout</div>
+ <div style="-webkit-hyphenate-locale: 'en_US';">throughout</div>
+ <div style="-webkit-hyphenate-locale: 'en_GB';">throughout</div>
+ <div style="-webkit-hyphenate-locale: 'not-a-locale';">throughout</div>
+</div>
+
+<div style="-webkit-hyphens: auto; font-size: 36px; width: 135px;">
+ <div>reciprocity</div>
+ <div style="-webkit-hyphenate-locale: 'en';">reciprocity</div>
+ <div style="-webkit-hyphenate-locale: 'en_US';">reciprocity</div>
+ <div style="-webkit-hyphenate-locale: 'en_GB';">reciprocity</div>
+ <div style="-webkit-hyphenate-locale: 'not-a-locale';">reciprocity</div>
+</div>
diff --git a/LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.checksum b/LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.checksum
new file mode 100644
index 0000000..fe996c1
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.checksum
@@ -0,0 +1 @@
+d109cac1345539a0091c08f3deccdd47
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.png b/LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.png
new file mode 100644
index 0000000..796aea7
Binary files /dev/null and b/LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.png differ
diff --git a/LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.txt b/LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.txt
new file mode 100644
index 0000000..92cde36
--- /dev/null
+++ b/LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.txt
@@ -0,0 +1,45 @@
+layer at (0,0) size 785x754
+ RenderView at (0,0) size 785x600
+layer at (0,0) size 785x754
+ RenderBlock {HTML} at (0,0) size 785x754
+ RenderBody {BODY} at (8,8) size 769x738
+ RenderBlock {DIV} at (0,0) size 130x369
+ RenderBlock {DIV} at (0,0) size 130x82
+ RenderText {#text} at (0,0) size 124x82
+ text run at (0,0) width 124: "through"
+ text run at (0,41) width 46: "out"
+ RenderBlock {DIV} at (0,82) size 130x82
+ RenderText {#text} at (0,0) size 124x82
+ text run at (0,0) width 124: "through"
+ text run at (0,41) width 46: "out"
+ RenderBlock {DIV} at (0,164) size 130x82
+ RenderText {#text} at (0,0) size 124x82
+ text run at (0,0) width 124: "through"
+ text run at (0,41) width 46: "out"
+ RenderBlock {DIV} at (0,246) size 130x82
+ RenderText {#text} at (0,0) size 124x82
+ text run at (0,0) width 124: "through"
+ text run at (0,41) width 46: "out"
+ RenderBlock {DIV} at (0,328) size 130x41
+ RenderText {#text} at (0,0) size 158x41
+ text run at (0,0) width 158: "throughout"
+ RenderBlock {DIV} at (0,369) size 135x369
+ RenderBlock {DIV} at (0,0) size 135x82
+ RenderText {#text} at (0,0) size 130x82
+ text run at (0,0) width 130: "reciproc"
+ text run at (0,41) width 38: "ity"
+ RenderBlock {DIV} at (0,82) size 135x82
+ RenderText {#text} at (0,0) size 130x82
+ text run at (0,0) width 130: "reciproc"
+ text run at (0,41) width 38: "ity"
+ RenderBlock {DIV} at (0,164) size 135x82
+ RenderText {#text} at (0,0) size 130x82
+ text run at (0,0) width 130: "reciproc"
+ text run at (0,41) width 38: "ity"
+ RenderBlock {DIV} at (0,246) size 135x82
+ RenderText {#text} at (0,0) size 130x82
+ text run at (0,0) width 130: "reciproc"
+ text run at (0,41) width 38: "ity"
+ RenderBlock {DIV} at (0,328) size 135x41
+ RenderText {#text} at (0,0) size 156x41
+ text run at (0,0) width 156: "reciprocity"
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index e922d24..5225d62 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,76 @@
+2010-08-04 Dan Bernstein <mitz at apple.com>
+
+ Allow the language for hyphenation to be specified
+ https://bugs.webkit.org/show_bug.cgi?id=43467
+
+ Test: fast/text/hyphenate-locale.html
+
+ Added a -webkit-hyphenate-locale property whose value can be either auto or a locale identifier
+ string. The initial value is auto and the property is inherited. When the value is a locale
+ identifier, hyphenation should follow the rules for the specified locale.
+
+ * WebCore.xcodeproj/project.pbxproj: Added AtomicStringKeyedMRUCache.h.
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle -webkit-hyphenate-locale.
+ Updated for the renaming of RenderStyle::hyphenateCharacter() to hyphenationString().
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue): Parse -webkit-hyphenate-locale.
+ * css/CSSPropertyNames.in: Added -webkit-hyphenate-locale.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::applyProperty): Apply the -webkit-hyphenate-locale property to the
+ RenderStyle. Updated for the renaming of RenderStyle::hyphenateCharacter() to hyphenationString().
+ * platform/text/AtomicStringKeyedMRUCache.h: Added.
+ (WebCore::AtomicStringKeyedMRUCache::get):
+ * platform/text/Hyphenation.cpp:
+ (WebCore::canHyphenate): Added an implementation that returns false.
+ (WebCore::lastHyphenLocation): Now asserts that it is not called, because it is an error to call
+ this function if canHyphenate() returned false.
+ * platform/text/Hyphenation.h:
+ Added canHyphenate(). Returns true if hyphenation is possible for the given locale identifier.
+ * platform/text/android/HyphenationAndroid.cpp:
+ (WebCore::canHyphenate): Added an implementation that returns true and a FIXME.
+ (WebCore::lastHyphenLocation): Added unused localeIdentifier parameter.
+ * platform/text/cf/HyphenationCF.cpp:
+ (WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForNullKey): Returns
+ the CFLocaleRef for the current search locale.
+ (WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForKey): Returns a
+ CFLocaleRef for the locale identifier.
+ (WebCore::canHyphenate): Added. Returns true.
+ (WebCore::lastHyphenLocation): Added localeIdentifier parameter, used to pass a CFLocaleRef to
+ the hyphenation function.
+ * platform/text/mac/HyphenationMac.mm:
+ (WebCore::AtomicStringKeyedMRUCache<bool>::createValueForNullKey): Returns whether the current
+ search locale is english.
+ (WebCore::AtomicStringKeyedMRUCache<bool>::createValueForKey): Returns whether the locale identifier
+ string identifies locale with the English language.
+ (WebCore::canHyphenate): Added. Returns true if the locale language is English.
+ (WebCore::lastHyphenLocation): Added localeIdentifier parameter and an assertion that its language
+ is English.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::tryHyphenating): Added a locale identifier parameter, which is passed down to
+ lastHyphenLocation(). Added 1 to the value passed for the beforeIndex parameter to lastHyphenLocation(),
+ because the latter only returns values smaller than that index. The Mac implementation could
+ return a value equal to beforeIndex, but that is fixed in the WebKitSystemInterface part of this patch.
+ (WebCore::RenderBlock::findNextLineBreak): Only set canHyphenate to true if hyphenation is possible
+ for the specified hyphenation locale. Pass the hyphenation locale to tryHyphenating().
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::diff): Compare hyphenation locales.
+ (WebCore::RenderStyle::hyphenString): Updated for the renaming of hyphenateCharacter() to
+ hyphenationString().
+ * rendering/style/RenderStyle.h:
+ (WebCore::InheritedFlags::hyphenationString): Renamed hyphenateCharacter() to this.
+ (WebCore::InheritedFlags::hyphenationLocale): Added this accessor.
+ (WebCore::InheritedFlags::setHyphenationString): Renamed setHyphenateCharacter() to this.
+ (WebCore::InheritedFlags::setHyphenationLocale): Added this accessor.
+ (WebCore::InheritedFlags::initialHyphenationString): Renamed initialHyphenateCharacter() to this.
+ (WebCore::InheritedFlags::initialHyphenateLocale): Added. Returns the null atom, which represents a
+ value of auto.
+ * rendering/style/StyleRareInheritedData.cpp:
+ (WebCore::StyleRareInheritedData::StyleRareInheritedData): Copy the hyphenation locale. Updated for
+ rename.
+ (WebCore::StyleRareInheritedData::operator==): Compare the hyphenation locales. Updated for rename.
+ * rendering/style/StyleRareInheritedData.h:
+
2010-08-04 Tony Gentilcore <tonyg at chromium.org>
Reviewed by Eric Seidel.
diff --git a/WebCore/WebCore.xcodeproj/project.pbxproj b/WebCore/WebCore.xcodeproj/project.pbxproj
index 723140c..3628f76 100644
--- a/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -794,6 +794,7 @@
37C238211098C84200EF9F72 /* ComplexTextControllerATSUI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 37C2381F1098C84200EF9F72 /* ComplexTextControllerATSUI.cpp */; };
37C238221098C84200EF9F72 /* ComplexTextControllerCoreText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 37C238201098C84200EF9F72 /* ComplexTextControllerCoreText.cpp */; };
37C28A6810F659CC008C7813 /* TypesettingFeatures.h in Headers */ = {isa = PBXBuildFile; fileRef = 37C28A6710F659CC008C7813 /* TypesettingFeatures.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 37C61F0112095C87007A3C67 /* AtomicStringKeyedMRUCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 37C61F0012095C87007A3C67 /* AtomicStringKeyedMRUCache.h */; };
37F818FD0D657606005E1F05 /* WebCoreURLResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 37F818FB0D657606005E1F05 /* WebCoreURLResponse.h */; settings = {ATTRIBUTES = (Private, ); }; };
37F818FE0D657606005E1F05 /* WebCoreURLResponse.mm in Sources */ = {isa = PBXBuildFile; fileRef = 37F818FC0D657606005E1F05 /* WebCoreURLResponse.mm */; };
37FD4298118368460093C029 /* TreeDepthLimit.h in Headers */ = {isa = PBXBuildFile; fileRef = 37FD4297118368460093C029 /* TreeDepthLimit.h */; };
@@ -6515,6 +6516,7 @@
37C2381F1098C84200EF9F72 /* ComplexTextControllerATSUI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComplexTextControllerATSUI.cpp; sourceTree = "<group>"; };
37C238201098C84200EF9F72 /* ComplexTextControllerCoreText.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComplexTextControllerCoreText.cpp; sourceTree = "<group>"; };
37C28A6710F659CC008C7813 /* TypesettingFeatures.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TypesettingFeatures.h; sourceTree = "<group>"; };
+ 37C61F0012095C87007A3C67 /* AtomicStringKeyedMRUCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AtomicStringKeyedMRUCache.h; sourceTree = "<group>"; };
37F818FB0D657606005E1F05 /* WebCoreURLResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreURLResponse.h; sourceTree = "<group>"; };
37F818FC0D657606005E1F05 /* WebCoreURLResponse.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebCoreURLResponse.mm; sourceTree = "<group>"; };
37FC96DA1104ED71003E1FAD /* TrailingFloatsRootInlineBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrailingFloatsRootInlineBox.h; sourceTree = "<group>"; };
@@ -15635,6 +15637,7 @@
B2C3D9EE0D006C1D00EF6F26 /* AtomicString.h */,
0FC705200EB1815600B90AD8 /* AtomicStringHash.h */,
B2C3D9EF0D006C1D00EF6F26 /* AtomicStringImpl.h */,
+ 37C61F0012095C87007A3C67 /* AtomicStringKeyedMRUCache.h */,
B2C3D9F00D006C1D00EF6F26 /* Base64.cpp */,
B2C3D9F10D006C1D00EF6F26 /* Base64.h */,
B2C3D9F20D006C1D00EF6F26 /* BidiContext.cpp */,
@@ -19986,6 +19989,7 @@
E1BE512E0CF6C512002EA959 /* XSLTUnicodeSort.h in Headers */,
97DD4D870FDF4D6E00ECF9A4 /* XSSAuditor.h in Headers */,
CE172E011136E8CE0062A533 /* ZoomMode.h in Headers */,
+ 37C61F0112095C87007A3C67 /* AtomicStringKeyedMRUCache.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/WebCore/css/CSSComputedStyleDeclaration.cpp b/WebCore/css/CSSComputedStyleDeclaration.cpp
index d6e6e46..90e490a 100644
--- a/WebCore/css/CSSComputedStyleDeclaration.cpp
+++ b/WebCore/css/CSSComputedStyleDeclaration.cpp
@@ -910,9 +910,13 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
case CSSPropertyWebkitHyphens:
return CSSPrimitiveValue::create(style->hyphens());
case CSSPropertyWebkitHyphenateCharacter:
- if (style->hyphenateCharacter().isNull())
+ if (style->hyphenationString().isNull())
return CSSPrimitiveValue::createIdentifier(CSSValueAuto);
- return CSSPrimitiveValue::create(style->hyphenateCharacter(), CSSPrimitiveValue::CSS_STRING);
+ return CSSPrimitiveValue::create(style->hyphenationString(), CSSPrimitiveValue::CSS_STRING);
+ case CSSPropertyWebkitHyphenateLocale:
+ if (style->hyphenationLocale().isNull())
+ return CSSPrimitiveValue::createIdentifier(CSSValueAuto);
+ return CSSPrimitiveValue::create(style->hyphenationLocale(), CSSPrimitiveValue::CSS_STRING);
case CSSPropertyWebkitBorderFit:
if (style->borderFit() == BorderFitBorder)
return CSSPrimitiveValue::createIdentifier(CSSValueBorder);
diff --git a/WebCore/css/CSSParser.cpp b/WebCore/css/CSSParser.cpp
index bd5db44..aa6cdd9 100644
--- a/WebCore/css/CSSParser.cpp
+++ b/WebCore/css/CSSParser.cpp
@@ -1576,6 +1576,11 @@ bool CSSParser::parseValue(int propId, bool important)
validPrimitive = true;
break;
+ case CSSPropertyWebkitHyphenateLocale:
+ if (id == CSSValueAuto || value->unit == CSSPrimitiveValue::CSS_STRING)
+ validPrimitive = true;
+ break;
+
case CSSPropertyWebkitBorderFit:
if (id == CSSValueBorder || id == CSSValueLines)
validPrimitive = true;
diff --git a/WebCore/css/CSSPropertyNames.in b/WebCore/css/CSSPropertyNames.in
index ac85887..d236b45 100644
--- a/WebCore/css/CSSPropertyNames.in
+++ b/WebCore/css/CSSPropertyNames.in
@@ -217,6 +217,7 @@ z-index
-webkit-font-smoothing
-webkit-highlight
-webkit-hyphenate-character
+-webkit-hyphenate-locale
-webkit-hyphens
-webkit-line-break
-webkit-line-clamp
diff --git a/WebCore/css/CSSStyleSelector.cpp b/WebCore/css/CSSStyleSelector.cpp
index 9d7e505..e62f5ea 100644
--- a/WebCore/css/CSSStyleSelector.cpp
+++ b/WebCore/css/CSSStyleSelector.cpp
@@ -5215,11 +5215,19 @@ void CSSStyleSelector::applyProperty(int id, CSSValue *value)
return;
}
case CSSPropertyWebkitHyphenateCharacter: {
- HANDLE_INHERIT_AND_INITIAL(hyphenateCharacter, HyphenateCharacter);
+ HANDLE_INHERIT_AND_INITIAL(hyphenationString, HyphenationString);
if (primitiveValue->getIdent() == CSSValueAuto)
- m_style->setHyphenateCharacter(nullAtom);
+ m_style->setHyphenationString(nullAtom);
else
- m_style->setHyphenateCharacter(primitiveValue->getStringValue());
+ m_style->setHyphenationString(primitiveValue->getStringValue());
+ return;
+ }
+ case CSSPropertyWebkitHyphenateLocale: {
+ HANDLE_INHERIT_AND_INITIAL(hyphenationLocale, HyphenationLocale);
+ if (primitiveValue->getIdent() == CSSValueAuto)
+ m_style->setHyphenationLocale(nullAtom);
+ else
+ m_style->setHyphenationLocale(primitiveValue->getStringValue());
return;
}
case CSSPropertyWebkitBorderFit: {
diff --git a/WebCore/platform/text/AtomicStringKeyedMRUCache.h b/WebCore/platform/text/AtomicStringKeyedMRUCache.h
new file mode 100644
index 0000000..a47585a
--- /dev/null
+++ b/WebCore/platform/text/AtomicStringKeyedMRUCache.h
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef AtomicStringKeyedMRUCache_h
+#define AtomicStringKeyedMRUCache_h
+
+namespace WebCore {
+
+template<typename T, size_t capacity = 4>
+class AtomicStringKeyedMRUCache {
+public:
+ T get(const AtomicString& key)
+ {
+ if (key.isNull()) {
+ DEFINE_STATIC_LOCAL(T, valueForNull, (createValueForNullKey()));
+ return valueForNull;
+ }
+
+ for (size_t i = 0; i < m_cache.size(); ++i) {
+ if (m_cache[i].first == key) {
+ size_t foundIndex = i;
+ if (foundIndex + 1 < m_cache.size()) {
+ Entry entry = m_cache[foundIndex];
+ m_cache.remove(foundIndex);
+ foundIndex = m_cache.size();
+ m_cache.append(entry);
+ }
+ return m_cache[foundIndex].second;
+ }
+ }
+ if (m_cache.size() == capacity)
+ m_cache.remove(0);
+
+ m_cache.append(std::make_pair(key, createValueForKey(key)));
+ return m_cache.last().second;
+ }
+
+private:
+ T createValueForNullKey();
+ T createValueForKey(const AtomicString&);
+
+ typedef pair<AtomicString, T> Entry;
+ typedef Vector<Entry, capacity> Cache;
+ Cache m_cache;
+};
+
+}
+
+#endif // AtomicStringKeyedMRUCache_h
diff --git a/WebCore/platform/text/Hyphenation.cpp b/WebCore/platform/text/Hyphenation.cpp
index 8ef5a25..89f6438 100644
--- a/WebCore/platform/text/Hyphenation.cpp
+++ b/WebCore/platform/text/Hyphenation.cpp
@@ -30,9 +30,14 @@
namespace WebCore {
-size_t lastHyphenLocation(const UChar* /* characters */, size_t /* length */, size_t /* beforeIndex */)
+bool canHyphenate(const AtomicString& /* localeIdentifier */)
{
- notImplemented();
+ return false;
+}
+
+size_t lastHyphenLocation(const UChar* /* characters */, size_t /* length */, size_t /* beforeIndex */, const AtomicString& /* localeIdentifier */)
+{
+ ASSERT_NOT_REACHED();
return 0;
}
diff --git a/WebCore/platform/text/Hyphenation.h b/WebCore/platform/text/Hyphenation.h
index dbcbe69..4ef852b 100644
--- a/WebCore/platform/text/Hyphenation.h
+++ b/WebCore/platform/text/Hyphenation.h
@@ -30,7 +30,10 @@
namespace WebCore {
-size_t lastHyphenLocation(const UChar*, size_t length, size_t beforeIndex);
+class AtomicString;
+
+bool canHyphenate(const AtomicString& localeIdentifier);
+size_t lastHyphenLocation(const UChar*, size_t length, size_t beforeIndex, const AtomicString& localeIdentifier);
} // namespace WebCore
diff --git a/WebCore/platform/text/android/HyphenationAndroid.cpp b/WebCore/platform/text/android/HyphenationAndroid.cpp
index 00ebd46..e8ba5ef 100644
--- a/WebCore/platform/text/android/HyphenationAndroid.cpp
+++ b/WebCore/platform/text/android/HyphenationAndroid.cpp
@@ -57,7 +57,13 @@ static HyphenDict* loadHyphenationDictionary()
return dict;
}
-size_t lastHyphenLocation(const UChar* characters, size_t length, size_t beforeIndex)
+bool canHyphenate(const AtomicString& /* localeIdentifier */)
+{
+ // FIXME: Check that the locale identifier matches the available dictionary.
+ return true;
+}
+
+size_t lastHyphenLocation(const UChar* characters, size_t length, size_t beforeIndex, const AtomicString& /* localeIdentifier */)
{
static const size_t minWordLen = 5;
static const size_t maxWordLen = 100;
diff --git a/WebCore/platform/text/cf/HyphenationCF.cpp b/WebCore/platform/text/cf/HyphenationCF.cpp
index 50ba4c8..b983979 100644
--- a/WebCore/platform/text/cf/HyphenationCF.cpp
+++ b/WebCore/platform/text/cf/HyphenationCF.cpp
@@ -28,24 +28,43 @@
#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
+#include "AtomicString.h"
+#include "AtomicStringKeyedMRUCache.h"
#include "TextBreakIteratorInternalICU.h"
+#include <wtf/ListHashSet.h>
#include <wtf/RetainPtr.h>
namespace WebCore {
-static CFLocaleRef createCurrentSearchLocale()
+template<>
+RetainPtr<CFLocaleRef> AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForNullKey()
{
- RetainPtr<CFStringRef> localeIdentifier(AdoptCF, CFStringCreateWithBytesNoCopy(kCFAllocatorDefault, (const UInt8*)currentSearchLocaleID(), strlen(currentSearchLocaleID()), kCFStringEncodingASCII, false, kCFAllocatorNull));
- return CFLocaleCreate(kCFAllocatorDefault, localeIdentifier.get());
+ RetainPtr<CFStringRef> cfLocaleIdentifier(AdoptCF, CFStringCreateWithBytesNoCopy(kCFAllocatorDefault, reinterpret_cast<const UInt8*>(currentSearchLocaleID()), strlen(currentSearchLocaleID()), kCFStringEncodingASCII, false, kCFAllocatorNull));
+ RetainPtr<CFLocaleRef> locale(AdoptCF, CFLocaleCreate(kCFAllocatorDefault, cfLocaleIdentifier.get()));
+ return locale;
}
-size_t lastHyphenLocation(const UChar* characters, size_t length, size_t beforeIndex)
+template<>
+RetainPtr<CFLocaleRef> AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >::createValueForKey(const AtomicString& localeIdentifier)
+{
+ RetainPtr<CFStringRef> cfLocaleIdentifier(AdoptCF, localeIdentifier.createCFString());
+ RetainPtr<CFLocaleRef> locale(AdoptCF, CFLocaleCreate(kCFAllocatorDefault, cfLocaleIdentifier.get()));
+ return locale;
+}
+
+bool canHyphenate(const AtomicString& /* localeIdentifer */)
+{
+ return true;
+}
+
+size_t lastHyphenLocation(const UChar* characters, size_t length, size_t beforeIndex, const AtomicString& localeIdentifier)
{
RetainPtr<CFStringRef> string(AdoptCF, CFStringCreateWithCharactersNoCopy(kCFAllocatorDefault, characters, length, kCFAllocatorNull));
- static CFLocaleRef locale = createCurrentSearchLocale();
+ DEFINE_STATIC_LOCAL(AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef> >, cfLocaleCache, ());
+ RetainPtr<CFLocaleRef> locale = cfLocaleCache.get(localeIdentifier);
- CFIndex result = CFStringGetHyphenationLocationBeforeIndex(string.get(), beforeIndex, CFRangeMake(0, length), 0, locale, 0);
+ CFIndex result = CFStringGetHyphenationLocationBeforeIndex(string.get(), beforeIndex, CFRangeMake(0, length), 0, locale.get(), 0);
return result == kCFNotFound ? 0 : result;
}
diff --git a/WebCore/platform/text/mac/HyphenationMac.mm b/WebCore/platform/text/mac/HyphenationMac.mm
index e64477f..075fbe6 100644
--- a/WebCore/platform/text/mac/HyphenationMac.mm
+++ b/WebCore/platform/text/mac/HyphenationMac.mm
@@ -28,17 +28,39 @@
#if defined(BUILDING_ON_TIGER) || defined(BUILDING_ON_LEOPARD) || defined(BUILDING_ON_SNOW_LEOPARD)
+#import "AtomicString.h"
+#import "AtomicStringKeyedMRUCache.h"
#import "TextBreakIteratorInternalICU.h"
#import "WebCoreSystemInterface.h"
#import <wtf/RetainPtr.h>
namespace WebCore {
-size_t lastHyphenLocation(const UChar* characters, size_t length, size_t beforeIndex)
+template<>
+bool AtomicStringKeyedMRUCache<bool>::createValueForNullKey()
{
- static bool localeIsEnglish = !strcmp("en", currentSearchLocaleID());
- if (!localeIsEnglish)
- return 0;
+ return !strcmp(currentSearchLocaleID(), "en");
+}
+
+template<>
+bool AtomicStringKeyedMRUCache<bool>::createValueForKey(const AtomicString& localeIdentifier)
+{
+ RetainPtr<CFStringRef> cfLocaleIdentifier(AdoptCF, localeIdentifier.createCFString());
+ RetainPtr<CFDictionaryRef> components(AdoptCF, CFLocaleCreateComponentsFromLocaleIdentifier(kCFAllocatorDefault, cfLocaleIdentifier.get()));
+ CFStringRef language = reinterpret_cast<CFStringRef>(CFDictionaryGetValue(components.get(), kCFLocaleLanguageCode));
+ static CFStringRef englishLanguage = CFSTR("en");
+ return language && CFEqual(language, englishLanguage);
+}
+
+bool canHyphenate(const AtomicString& localeIdentifier)
+{
+ DEFINE_STATIC_LOCAL(AtomicStringKeyedMRUCache<bool>, isEnglishCache, ());
+ return isEnglishCache.get(localeIdentifier);
+}
+
+size_t lastHyphenLocation(const UChar* characters, size_t length, size_t beforeIndex, const AtomicString& localeIdentifier)
+{
+ ASSERT(canHyphenate(localeIdentifier));
RetainPtr<CFStringRef> string(AdoptCF, CFStringCreateWithCharactersNoCopy(kCFAllocatorDefault, characters, length, kCFAllocatorNull));
return wkGetHyphenationLocationBeforeIndex(string.get(), beforeIndex);
diff --git a/WebCore/rendering/RenderBlockLineLayout.cpp b/WebCore/rendering/RenderBlockLineLayout.cpp
index 2ce3c54..db09c50 100644
--- a/WebCore/rendering/RenderBlockLineLayout.cpp
+++ b/WebCore/rendering/RenderBlockLineLayout.cpp
@@ -1322,7 +1322,7 @@ static inline unsigned textWidth(RenderText* text, unsigned from, unsigned len,
return font.width(TextRun(text->characters() + from, len, !collapseWhiteSpace, xPos));
}
-static void tryHyphenating(RenderText* text, const Font& font, int lastSpace, int pos, int xPos, int availableWidth, bool isFixedPitch, bool collapseWhiteSpace, int lastSpaceWordSpacing, InlineIterator& lineBreak, int nextBreakable, bool& hyphenated)
+static void tryHyphenating(RenderText* text, const Font& font, const AtomicString& localeIdentifier, int lastSpace, int pos, int xPos, int availableWidth, bool isFixedPitch, bool collapseWhiteSpace, int lastSpaceWordSpacing, InlineIterator& lineBreak, int nextBreakable, bool& hyphenated)
{
const AtomicString& hyphenString = text->style()->hyphenString();
int hyphenWidth = font.width(TextRun(hyphenString.characters(), hyphenString.length()));
@@ -1331,7 +1331,7 @@ static void tryHyphenating(RenderText* text, const Font& font, int lastSpace, in
if (!prefixLength)
return;
- prefixLength = 1 + lastHyphenLocation(text->characters() + lastSpace + 1, pos - lastSpace - 1, prefixLength - 1);
+ prefixLength = 1 + lastHyphenLocation(text->characters() + lastSpace + 1, pos - lastSpace - 1, prefixLength, localeIdentifier);
if (prefixLength <= 1)
return;
@@ -1565,7 +1565,7 @@ InlineIterator RenderBlock::findNextLineBreak(InlineBidiResolver& resolver, bool
RenderStyle* style = t->style(firstLine);
const Font& f = style->font();
bool isFixedPitch = f.isFixedPitch();
- bool canHyphenate = style->hyphens() == HyphensAuto;
+ bool canHyphenate = style->hyphens() == HyphensAuto && WebCore::canHyphenate(style->hyphenationLocale());
int lastSpace = pos;
int wordSpacing = o->style()->wordSpacing();
@@ -1711,7 +1711,7 @@ InlineIterator RenderBlock::findNextLineBreak(InlineBidiResolver& resolver, bool
}
if (lineWasTooWide || w + tmpW > width) {
if (canHyphenate && w + tmpW > width) {
- tryHyphenating(t, f, lastSpace, pos, w + tmpW - additionalTmpW, width, isFixedPitch, collapseWhiteSpace, lastSpaceWordSpacing, lBreak, nextBreakable, hyphenated);
+ tryHyphenating(t, f, style->hyphenationLocale(), lastSpace, pos, w + tmpW - additionalTmpW, width, isFixedPitch, collapseWhiteSpace, lastSpaceWordSpacing, lBreak, nextBreakable, hyphenated);
if (hyphenated)
goto end;
}
@@ -1825,7 +1825,7 @@ InlineIterator RenderBlock::findNextLineBreak(InlineBidiResolver& resolver, bool
tmpW += inlineWidth(o, !appliedStartWidth, true);
if (canHyphenate && w + tmpW > width) {
- tryHyphenating(t, f, lastSpace, pos, w + tmpW - additionalTmpW, width, isFixedPitch, collapseWhiteSpace, lastSpaceWordSpacing, lBreak, nextBreakable, hyphenated);
+ tryHyphenating(t, f, style->hyphenationLocale(), lastSpace, pos, w + tmpW - additionalTmpW, width, isFixedPitch, collapseWhiteSpace, lastSpaceWordSpacing, lBreak, nextBreakable, hyphenated);
if (hyphenated)
goto end;
}
diff --git a/WebCore/rendering/style/RenderStyle.cpp b/WebCore/rendering/style/RenderStyle.cpp
index ce6c98e..4cde08b 100644
--- a/WebCore/rendering/style/RenderStyle.cpp
+++ b/WebCore/rendering/style/RenderStyle.cpp
@@ -385,7 +385,8 @@ StyleDifference RenderStyle::diff(const RenderStyle* other, unsigned& changedCon
rareInheritedData->khtmlLineBreak != other->rareInheritedData->khtmlLineBreak ||
rareInheritedData->textSecurity != other->rareInheritedData->textSecurity ||
rareInheritedData->hyphens != other->rareInheritedData->hyphens ||
- rareInheritedData->hyphenateCharacter != other->rareInheritedData->hyphenateCharacter)
+ rareInheritedData->hyphenationString != other->rareInheritedData->hyphenationString ||
+ rareInheritedData->hyphenationLocale != other->rareInheritedData->hyphenationLocale)
return StyleDifferenceLayout;
if (!rareInheritedData->shadowDataEquivalent(*other->rareInheritedData.get()))
@@ -832,9 +833,9 @@ const AtomicString& RenderStyle::hyphenString() const
{
ASSERT(hyphens() == HyphensAuto);
- const AtomicString& hyphenateCharacter = rareInheritedData.get()->hyphenateCharacter;
- if (!hyphenateCharacter.isNull())
- return hyphenateCharacter;
+ const AtomicString& hyphenationString = rareInheritedData.get()->hyphenationString;
+ if (!hyphenationString.isNull())
+ return hyphenationString;
// FIXME: This should depend on locale.
DEFINE_STATIC_LOCAL(AtomicString, hyphenMinusString, (&hyphen, 1));
diff --git a/WebCore/rendering/style/RenderStyle.h b/WebCore/rendering/style/RenderStyle.h
index 03dbcf1..9de6eef 100644
--- a/WebCore/rendering/style/RenderStyle.h
+++ b/WebCore/rendering/style/RenderStyle.h
@@ -648,7 +648,8 @@ public:
EMatchNearestMailBlockquoteColor matchNearestMailBlockquoteColor() const { return static_cast<EMatchNearestMailBlockquoteColor>(rareNonInheritedData->matchNearestMailBlockquoteColor); }
const AtomicString& highlight() const { return rareInheritedData->highlight; }
Hyphens hyphens() const { return static_cast<Hyphens>(rareInheritedData->hyphens); }
- const AtomicString& hyphenateCharacter() const { return rareInheritedData->hyphenateCharacter; }
+ const AtomicString& hyphenationString() const { return rareInheritedData->hyphenationString; }
+ const AtomicString& hyphenationLocale() const { return rareInheritedData->hyphenationLocale; }
EBorderFit borderFit() const { return static_cast<EBorderFit>(rareNonInheritedData->m_borderFit); }
EResize resize() const { return static_cast<EResize>(rareInheritedData->resize); }
float columnWidth() const { return rareNonInheritedData->m_multiCol->m_width; }
@@ -988,7 +989,8 @@ public:
void setMatchNearestMailBlockquoteColor(EMatchNearestMailBlockquoteColor c) { SET_VAR(rareNonInheritedData, matchNearestMailBlockquoteColor, c); }
void setHighlight(const AtomicString& h) { SET_VAR(rareInheritedData, highlight, h); }
void setHyphens(Hyphens h) { SET_VAR(rareInheritedData, hyphens, h); }
- void setHyphenateCharacter(const AtomicString& h) { SET_VAR(rareInheritedData, hyphenateCharacter, h); }
+ void setHyphenationString(const AtomicString& h) { SET_VAR(rareInheritedData, hyphenationString, h); }
+ void setHyphenationLocale(const AtomicString& h) { SET_VAR(rareInheritedData, hyphenationLocale, h); }
void setBorderFit(EBorderFit b) { SET_VAR(rareNonInheritedData, m_borderFit, b); }
void setResize(EResize r) { SET_VAR(rareInheritedData, resize, r); }
void setColumnWidth(float f) { SET_VAR(rareNonInheritedData.access()->m_multiCol, m_autoWidth, false); SET_VAR(rareNonInheritedData.access()->m_multiCol, m_width, f); }
@@ -1197,7 +1199,8 @@ public:
static EMatchNearestMailBlockquoteColor initialMatchNearestMailBlockquoteColor() { return BCNORMAL; }
static const AtomicString& initialHighlight() { return nullAtom; }
static Hyphens initialHyphens() { return HyphensManual; }
- static const AtomicString& initialHyphenateCharacter() { return nullAtom; }
+ static const AtomicString& initialHyphenationString() { return nullAtom; }
+ static const AtomicString& initialHyphenationLocale() { return nullAtom; }
static EBorderFit initialBorderFit() { return BorderFitBorder; }
static EResize initialResize() { return RESIZE_NONE; }
static ControlPart initialAppearance() { return NoControlPart; }
diff --git a/WebCore/rendering/style/StyleRareInheritedData.cpp b/WebCore/rendering/style/StyleRareInheritedData.cpp
index d8f8efb..71e5252 100644
--- a/WebCore/rendering/style/StyleRareInheritedData.cpp
+++ b/WebCore/rendering/style/StyleRareInheritedData.cpp
@@ -71,7 +71,8 @@ StyleRareInheritedData::StyleRareInheritedData(const StyleRareInheritedData& o)
, userSelect(o.userSelect)
, colorSpace(o.colorSpace)
, hyphens(o.hyphens)
- , hyphenateCharacter(o.hyphenateCharacter)
+ , hyphenationString(o.hyphenationString)
+ , hyphenationLocale(o.hyphenationLocale)
{
}
@@ -112,7 +113,8 @@ bool StyleRareInheritedData::operator==(const StyleRareInheritedData& o) const
&& userSelect == o.userSelect
&& colorSpace == o.colorSpace
&& hyphens == o.hyphens
- && hyphenateCharacter == o.hyphenateCharacter;
+ && hyphenationString == o.hyphenationString
+ && hyphenationLocale == o.hyphenationLocale;
}
bool StyleRareInheritedData::shadowDataEquivalent(const StyleRareInheritedData& o) const
diff --git a/WebCore/rendering/style/StyleRareInheritedData.h b/WebCore/rendering/style/StyleRareInheritedData.h
index 70ef374..83f7816 100644
--- a/WebCore/rendering/style/StyleRareInheritedData.h
+++ b/WebCore/rendering/style/StyleRareInheritedData.h
@@ -79,7 +79,8 @@ public:
unsigned colorSpace : 1; // ColorSpace
unsigned hyphens : 2; // Hyphens
- AtomicString hyphenateCharacter;
+ AtomicString hyphenationString;
+ AtomicString hyphenationLocale;
private:
StyleRareInheritedData();
diff --git a/WebKitLibraries/ChangeLog b/WebKitLibraries/ChangeLog
index d8fa57c..31ad59c 100644
--- a/WebKitLibraries/ChangeLog
+++ b/WebKitLibraries/ChangeLog
@@ -1,3 +1,15 @@
+2010-08-04 Dan Bernstein <mitz at apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKitSystemInterface part of: Allow the language for hyphenation to be specified
+ https://bugs.webkit.org/show_bug.cgi?id=43467
+
+ * WebKitSystemInterface.h:
+ * libWebKitSystemInterfaceLeopard.a:
+ * libWebKitSystemInterfaceSnowLeopard.a:
+ * libWebKitSystemInterfaceTiger.a:
+
2010-08-03 Beth Dakin <bdakin at apple.com>
Reviewed by Alice Liu.
diff --git a/WebKitLibraries/WebKitSystemInterface.h b/WebKitLibraries/WebKitSystemInterface.h
index 4f46719..8732d81 100644
--- a/WebKitLibraries/WebKitSystemInterface.h
+++ b/WebKitLibraries/WebKitSystemInterface.h
@@ -1,6 +1,6 @@
/*
WebKitSystemInterface.h
- Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
+ Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
Public header file.
*/
@@ -210,8 +210,8 @@ typedef enum {
WKMediaUIPartPlayButton,
WKMediaUIPartSeekBackButton,
WKMediaUIPartSeekForwardButton,
- WKMediaUIPartSlider,
- WKMediaUIPartSliderThumb,
+ WKMediaUIPartTimelineSlider,
+ WKMediaUIPartTimelineSliderThumb,
WKMediaUIPartRewindButton,
WKMediaUIPartSeekToRealtimeButton,
WKMediaUIPartShowClosedCaptionsButton,
@@ -220,7 +220,12 @@ typedef enum {
WKMediaUIPartPauseButton,
WKMediaUIPartBackground,
WKMediaUIPartCurrentTimeDisplay,
- WKMediaUIPartTimeRemainingDisplay
+ WKMediaUIPartTimeRemainingDisplay,
+ WKMediaUIPartStatusDisplay,
+ WKMediaUIPartControlsPanel,
+ WKMediaUIPartVolumeSliderContainer,
+ WKMediaUIPartVolumeSlider,
+ WKMediaUIPartVolumeSliderThumb
} WKMediaUIPart;
typedef enum {
@@ -251,7 +256,6 @@ typedef enum {
WKMediaUIControlFastForwardButton,
WKMediaUIControlVolumeUpButton,
WKMediaUIControlVolumeDownButton
-
} WKMediaUIControlType;
NSControl *WKCreateMediaUIControl(int controlType);
diff --git a/WebKitLibraries/libWebKitSystemInterfaceLeopard.a b/WebKitLibraries/libWebKitSystemInterfaceLeopard.a
index 76c174a..fc5b8a0 100644
Binary files a/WebKitLibraries/libWebKitSystemInterfaceLeopard.a and b/WebKitLibraries/libWebKitSystemInterfaceLeopard.a differ
diff --git a/WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a b/WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a
index 6423601..dd6e22e 100644
Binary files a/WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a and b/WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a differ
diff --git a/WebKitLibraries/libWebKitSystemInterfaceTiger.a b/WebKitLibraries/libWebKitSystemInterfaceTiger.a
index abf266d..103eed6 100644
Binary files a/WebKitLibraries/libWebKitSystemInterfaceTiger.a and b/WebKitLibraries/libWebKitSystemInterfaceTiger.a differ
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list