[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
kocienda
kocienda at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:07:45 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit a5841eddb184b660319c0d2b501cd135e2a0adab
Author: kocienda <kocienda at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Thu Oct 30 23:13:10 2003 +0000
WebCore:
Reviewed by Hyatt
Support for tabbing to links.
Fixes these bugs
<rdar://problem/3468395>: fix full keyboard access loop for buttons
<rdar://problem/3468397>: paint aqua focus rings around text links
<rdar://problem/3468406>: focused links do not activate by hitting
return key
<rdar://problem/3468410>: paintTextOutline in RenderText objects
should be done at a higher level
<rdar://problem/3468424>: improve function to determine if a node is
tab selectable
<rdar://problem/3468427>: add bridge function to access active
document view for a node
<rdar://problem/3468429>: links do not scroll into view when focusing
<rdar://problem/3468435>: when tabbing out of a frame, last focused
node is not cleared if it is a text link
<rdar://problem/3468436>: focus on text link does not clear when
clicking mouse in document body
<rdar://problem/3468440>: add setRect convenience to QRect
<rdar://problem/3468444>: elements paint their outlines even if they
are not visible
<rdar://problem/3468448>: setting focus on a node sets focus on all
its siblings
<rdar://problem/3468456>: cannot tab to form image input elements
<rdar://problem/3468461>: tab focus can seem to disappear from view on
pages with dhtml menus
<rdar://problem/3469021>: webcore bridge nextKeyView always starts
from the beginning of the document
* WebCore-combined.exp: Export WebCoreGraphicsBridge class
* WebCore.exp: Ditto
* WebCore.pbproj/project.pbxproj: Add WebCoreGraphicsBridge class
* khtml/css/cssparser.cpp:
(CSSParser::parseValue): border style check now take apple aqua
style into account
* khtml/css/cssvalues.in: Add -apple-aqua border value
* khtml/css/html4.css: Change focus, a:link:active, and a:visited:active
to use new -apple-aqua focus rings.
* khtml/html/html_formimpl.cpp:
(HTMLGenericFormElementImpl::isSelectable): Improve function so
that invisible elements are no longer considered selectable
* khtml/html/html_inlineimpl.cpp:
(HTMLAnchorElementImpl::isSelectable): Ditto.
(HTMLAnchorElementImpl::defaultEventHandler): Make return key
activate links as well as Enter.
* khtml/html/html_inlineimpl.h: Move isSelectable function into
implementation file.
* khtml/rendering/render_block.cpp:
(khtml::RenderBlock::paintObject): Do not paint outlines if
content is invisible.
* khtml/rendering/render_flow.cpp:
(RenderFlow::getAbsoluteRepaintRect): Improve function to correctly
calculate repaint rects including outlines.
* khtml/rendering/render_image.cpp:
(RenderImage::paintObject): Do not paint outlines if
content is invisible.
* khtml/rendering/render_inline.cpp:
(RenderInline::paintObject): Ditto.
(RenderInline::addFocusRingRects): New function to gather up rects
to use for painting outlines.
(RenderInline::paintOutline): Added code to paint aqua focus rings.
* khtml/rendering/render_inline.h:
* khtml/rendering/render_object.cpp:
(RenderObject::drawBorder): Add case for apple aqua border style.
(RenderObject::addFocusRingRects): New function to gather up rects
to use for painting outlines.
(RenderObject::paintOutline): Added code to paint aqua focus rings.
(RenderObject::getAbsoluteRepaintRectWithOutline): Helper function
to calculate rectangle to use for repainting when an object has an
outline.
* khtml/rendering/render_object.h: Add addFocusRingRects declaration.
* khtml/rendering/render_style.h: Add APPLEAQUA to border enum
* khtml/rendering/render_text.cpp:
(RenderText::paintObject): Removed code to draw outlines.
* khtml/rendering/render_text.h: Ditto.
* khtml/xml/dom_elementimpl.cpp: Removed redundant isSelectable check.
* khtml/xml/dom_elementimpl.h: Ditto.
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::isSelectable): Added.
(NodeBaseImpl::setFocus): Do not set focus on siblings.
* khtml/xml/dom_nodeimpl.h: Moved implementation to .cpp file.
* kwq/KWQButton.mm:
(-[KWQButton nextKeyView]): Send a blur before going to next
key view. This prevents focus from being lost altogether.
(-[KWQButton previousKeyView]): Ditto.
* kwq/KWQKHTMLPart.h: Added documentViewForNode function.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::nextKeyViewInFrame): Add check for other focusables,
like text links.
(KWQKHTMLPart::nextKeyViewInFrameHierarchy): Remove focus when leaving
a view.
(KWQKHTMLPart::documentViewForNode): Added.
(KWQKHTMLPart::khtmlMousePressEvent): Remove focus when you click in
a non-focusable area, like the document body.
* kwq/KWQPainter.h: Added declarations.
* kwq/KWQPainter.mm:
(QPainterPrivate::QPainterPrivate): Modified constructor for new fields.
(QPainter::initFocusRing): Added.
(QPainter::addFocusRingRect): Added.
(QPainter::drawFocusRing): Added.
(QPainter::clearFocusRing): Added.
* kwq/KWQRect.h:
(QRect::setRect): Added.
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge nextKeyView]): Start from the currently-focused node,
if there is one, not unconditionally from the start of the document.
(-[WebCoreBridge previousKeyView]): Ditto
* kwq/WebCoreGraphicsBridge.h: Added.
* kwq/WebCoreGraphicsBridge.m: Added.
(+[WebCoreGraphicsBridge sharedBridge]): Added.
(-[WebCoreGraphicsBridge init]): Added.
(-[WebCoreGraphicsBridge setFocusRingStyle:radius:color:]): Added.
WebKit:
Reviewed by Hyatt
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge documentView]): Added.
* WebCoreSupport.subproj/WebGraphicsBridge.h: Added.
* WebCoreSupport.subproj/WebGraphicsBridge.m: Added.
(+[WebGraphicsBridge createSharedBridge]): Added.
(-[WebGraphicsBridge setFocusRingStyle:radius:color:]): Added.
* WebKit.pbproj/project.pbxproj:
* WebView.subproj/WebFrameView.m: Create a WebGraphicsBridge
when creating a WebFrameView.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index b582588..ab1f74a 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,122 @@
+2003-10-30 Ken Kocienda <kocienda at apple.com>
+
+ Reviewed by Hyatt
+
+ Support for tabbing to links.
+
+ Fixes these bugs
+
+ <rdar://problem/3468395>: fix full keyboard access loop for buttons
+ <rdar://problem/3468397>: paint aqua focus rings around text links
+ <rdar://problem/3468406>: focused links do not activate by hitting
+ return key
+ <rdar://problem/3468410>: paintTextOutline in RenderText objects
+ should be done at a higher level
+ <rdar://problem/3468424>: improve function to determine if a node is
+ tab selectable
+ <rdar://problem/3468427>: add bridge function to access active
+ document view for a node
+ <rdar://problem/3468429>: links do not scroll into view when focusing
+ <rdar://problem/3468435>: when tabbing out of a frame, last focused
+ node is not cleared if it is a text link
+ <rdar://problem/3468436>: focus on text link does not clear when
+ clicking mouse in document body
+ <rdar://problem/3468440>: add setRect convenience to QRect
+ <rdar://problem/3468444>: elements paint their outlines even if they
+ are not visible
+ <rdar://problem/3468448>: setting focus on a node sets focus on all
+ its siblings
+ <rdar://problem/3468456>: cannot tab to form image input elements
+ <rdar://problem/3468461>: tab focus can seem to disappear from view on
+ pages with dhtml menus
+ <rdar://problem/3469021>: webcore bridge nextKeyView always starts
+ from the beginning of the document
+
+ * WebCore-combined.exp: Export WebCoreGraphicsBridge class
+ * WebCore.exp: Ditto
+ * WebCore.pbproj/project.pbxproj: Add WebCoreGraphicsBridge class
+ * khtml/css/cssparser.cpp:
+ (CSSParser::parseValue): border style check now take apple aqua
+ style into account
+ * khtml/css/cssvalues.in: Add -apple-aqua border value
+ * khtml/css/html4.css: Change focus, a:link:active, and a:visited:active
+ to use new -apple-aqua focus rings.
+ * khtml/html/html_formimpl.cpp:
+ (HTMLGenericFormElementImpl::isSelectable): Improve function so
+ that invisible elements are no longer considered selectable
+ * khtml/html/html_inlineimpl.cpp:
+ (HTMLAnchorElementImpl::isSelectable): Ditto.
+ (HTMLAnchorElementImpl::defaultEventHandler): Make return key
+ activate links as well as Enter.
+ * khtml/html/html_inlineimpl.h: Move isSelectable function into
+ implementation file.
+ * khtml/rendering/render_block.cpp:
+ (khtml::RenderBlock::paintObject): Do not paint outlines if
+ content is invisible.
+ * khtml/rendering/render_flow.cpp:
+ (RenderFlow::getAbsoluteRepaintRect): Improve function to correctly
+ calculate repaint rects including outlines.
+ * khtml/rendering/render_image.cpp:
+ (RenderImage::paintObject): Do not paint outlines if
+ content is invisible.
+ * khtml/rendering/render_inline.cpp:
+ (RenderInline::paintObject): Ditto.
+ (RenderInline::addFocusRingRects): New function to gather up rects
+ to use for painting outlines.
+ (RenderInline::paintOutline): Added code to paint aqua focus rings.
+ * khtml/rendering/render_inline.h:
+ * khtml/rendering/render_object.cpp:
+ (RenderObject::drawBorder): Add case for apple aqua border style.
+ (RenderObject::addFocusRingRects): New function to gather up rects
+ to use for painting outlines.
+ (RenderObject::paintOutline): Added code to paint aqua focus rings.
+ (RenderObject::getAbsoluteRepaintRectWithOutline): Helper function
+ to calculate rectangle to use for repainting when an object has an
+ outline.
+ * khtml/rendering/render_object.h: Add addFocusRingRects declaration.
+ * khtml/rendering/render_style.h: Add APPLEAQUA to border enum
+ * khtml/rendering/render_text.cpp:
+ (RenderText::paintObject): Removed code to draw outlines.
+ * khtml/rendering/render_text.h: Ditto.
+ * khtml/xml/dom_elementimpl.cpp: Removed redundant isSelectable check.
+ * khtml/xml/dom_elementimpl.h: Ditto.
+ * khtml/xml/dom_nodeimpl.cpp:
+ (NodeImpl::isSelectable): Added.
+ (NodeBaseImpl::setFocus): Do not set focus on siblings.
+ * khtml/xml/dom_nodeimpl.h: Moved implementation to .cpp file.
+ * kwq/KWQButton.mm:
+ (-[KWQButton nextKeyView]): Send a blur before going to next
+ key view. This prevents focus from being lost altogether.
+ (-[KWQButton previousKeyView]): Ditto.
+ * kwq/KWQKHTMLPart.h: Added documentViewForNode function.
+ * kwq/KWQKHTMLPart.mm:
+ (KWQKHTMLPart::nextKeyViewInFrame): Add check for other focusables,
+ like text links.
+ (KWQKHTMLPart::nextKeyViewInFrameHierarchy): Remove focus when leaving
+ a view.
+ (KWQKHTMLPart::documentViewForNode): Added.
+ (KWQKHTMLPart::khtmlMousePressEvent): Remove focus when you click in
+ a non-focusable area, like the document body.
+ * kwq/KWQPainter.h: Added declarations.
+ * kwq/KWQPainter.mm:
+ (QPainterPrivate::QPainterPrivate): Modified constructor for new fields.
+ (QPainter::initFocusRing): Added.
+ (QPainter::addFocusRingRect): Added.
+ (QPainter::drawFocusRing): Added.
+ (QPainter::clearFocusRing): Added.
+ * kwq/KWQRect.h:
+ (QRect::setRect): Added.
+ * kwq/WebCoreBridge.h:
+ * kwq/WebCoreBridge.mm:
+ (-[WebCoreBridge nextKeyView]): Start from the currently-focused node,
+ if there is one, not unconditionally from the start of the document.
+ (-[WebCoreBridge previousKeyView]): Ditto
+ * kwq/WebCoreGraphicsBridge.h: Added.
+ * kwq/WebCoreGraphicsBridge.m: Added.
+ (+[WebCoreGraphicsBridge sharedBridge]): Added.
+ (-[WebCoreGraphicsBridge init]): Added.
+ (-[WebCoreGraphicsBridge setFocusRingStyle:radius:color:]): Added.
+
2003-10-30 Maciej Stachowiak <mjs at apple.com>
Fix mistake in my last change that I did not mean to commit.
diff --git a/WebCore/WebCore-combined.exp b/WebCore/WebCore-combined.exp
index cf5eb63..a0df609 100644
--- a/WebCore/WebCore-combined.exp
+++ b/WebCore/WebCore-combined.exp
@@ -3,6 +3,7 @@
.objc_class_name_WebCoreCookieAdapter
.objc_class_name_WebCoreEncodings
.objc_class_name_WebCoreHistory
+.objc_class_name_WebCoreGraphicsBridge
.objc_class_name_WebCoreImageRendererFactory
.objc_class_name_WebCoreJavaScript
.objc_class_name_WebCoreScrollView
diff --git a/WebCore/WebCore.exp b/WebCore/WebCore.exp
index 4777f6a..42297ae 100644
--- a/WebCore/WebCore.exp
+++ b/WebCore/WebCore.exp
@@ -3,6 +3,7 @@
.objc_class_name_WebCoreCookieAdapter
.objc_class_name_WebCoreEncodings
.objc_class_name_WebCoreHistory
+.objc_class_name_WebCoreGraphicsBridge
.objc_class_name_WebCoreImageRendererFactory
.objc_class_name_WebCoreJavaScript
.objc_class_name_WebCoreScrollView
diff --git a/WebCore/WebCore.pbproj/project.pbxproj b/WebCore/WebCore.pbproj/project.pbxproj
index cc5ae8f..e3eb562 100644
--- a/WebCore/WebCore.pbproj/project.pbxproj
+++ b/WebCore/WebCore.pbproj/project.pbxproj
@@ -512,6 +512,7 @@
55998A5E052B59CC0017A6C1,
55998A60052B59CC0017A6C1,
65A640F10533BB1F0085E777,
+ BE26F15505517DE000BFA0C3,
);
isa = PBXHeadersBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -773,6 +774,7 @@
55998A61052B59CC0017A6C1,
65F80698054D9F86008BF776,
65732B69054EF483007B42F8,
+ BE26F15605517DE000BFA0C3,
);
isa = PBXSourcesBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -2222,6 +2224,37 @@
//BE2
//BE3
//BE4
+ BE26F15305517DE000BFA0C3 = {
+ expectedFileType = sourcecode.c.h;
+ fileEncoding = 30;
+ isa = PBXFileReference;
+ path = WebCoreGraphicsBridge.h;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ BE26F15405517DE000BFA0C3 = {
+ expectedFileType = sourcecode.c.objc;
+ fileEncoding = 30;
+ isa = PBXFileReference;
+ path = WebCoreGraphicsBridge.m;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ BE26F15505517DE000BFA0C3 = {
+ fileRef = BE26F15305517DE000BFA0C3;
+ isa = PBXBuildFile;
+ settings = {
+ ATTRIBUTES = (
+ Private,
+ );
+ };
+ };
+ BE26F15605517DE000BFA0C3 = {
+ fileRef = BE26F15405517DE000BFA0C3;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
BE983D95052A2E0A00892D85 = {
expectedFileType = sourcecode.c.h;
fileEncoding = 30;
@@ -7615,6 +7648,8 @@
F56234DF03026D7301629B47,
F56234E003026D7301629B47,
F587854C02DE375901EA4122,
+ BE26F15305517DE000BFA0C3,
+ BE26F15405517DE000BFA0C3,
F5517DC2031AB56301A80180,
F5517DC3031AB56301A80180,
F587854D02DE375901EA4122,
diff --git a/WebCore/khtml/css/cssparser.cpp b/WebCore/khtml/css/cssparser.cpp
index 9ba8a3b..d76f0fb 100644
--- a/WebCore/khtml/css/cssparser.cpp
+++ b/WebCore/khtml/css/cssparser.cpp
@@ -568,7 +568,7 @@ bool CSSParser::parseValue( int propId, bool important )
case CSS_PROP_BORDER_RIGHT_STYLE: // Defined as: none | hidden | dotted | dashed |
case CSS_PROP_BORDER_BOTTOM_STYLE: // solid | double | groove | ridge | inset | outset
case CSS_PROP_BORDER_LEFT_STYLE: ////
- if (id >= CSS_VAL_NONE && id <= CSS_VAL_DOUBLE)
+ if (id >= CSS_VAL_NONE && id <= CSS_VAL__APPLE_AQUA)
valid_primitive = true;
break;
diff --git a/WebCore/khtml/css/cssvalues.c b/WebCore/khtml/css/cssvalues.c
index 6383c68..28bd2e1 100644
--- a/WebCore/khtml/css/cssvalues.c
+++ b/WebCore/khtml/css/cssvalues.c
@@ -7,7 +7,7 @@ struct css_value {
const char *name;
int id;
};
-/* maximum key range = 2079, duplicates = 1 */
+/* maximum key range = 1826, duplicates = 2 */
#ifdef __GNUC__
__inline
@@ -21,32 +21,32 @@ hash_val (register const char *str, register unsigned int len)
{
static const unsigned short asso_values[] =
{
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 20, 2079, 2079, 0, 5,
- 10, 15, 20, 25, 30, 35, 40, 0, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 0, 100, 195,
- 44, 250, 125, 98, 4, 40, 0, 144, 0, 99,
- 94, 205, 25, 30, 160, 95, 0, 255, 134, 228,
- 119, 25, 110, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079, 2079,
- 2079, 2079, 2079, 2079, 2079, 2079
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 20, 1826, 1826, 0, 10,
+ 15, 20, 25, 30, 35, 40, 5, 0, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 0, 7, 3,
+ 173, 210, 210, 53, 205, 40, 0, 153, 0, 20,
+ 50, 125, 60, 25, 4, 125, 0, 65, 204, 65,
+ 80, 170, 105, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826, 1826,
+ 1826, 1826, 1826, 1826, 1826, 1826
};
register int hval = 0;
@@ -110,16 +110,19 @@ findValue (register const char *str, register unsigned int len)
{
enum
{
- TOTAL_KEYWORDS = 252,
+ TOTAL_KEYWORDS = 253,
MIN_WORD_LENGTH = 2,
MAX_WORD_LENGTH = 22,
MIN_HASH_VALUE = 0,
- MAX_HASH_VALUE = 2078
+ MAX_HASH_VALUE = 1825
};
static const struct css_value wordlist_value[] =
{
{"900", CSS_VAL_900},
+ {"ltr", CSS_VAL_LTR},
+ {"rtl", CSS_VAL_RTL},
+ {"800", CSS_VAL_800},
{"100", CSS_VAL_100},
{"200", CSS_VAL_200},
{"300", CSS_VAL_300},
@@ -127,486 +130,453 @@ findValue (register const char *str, register unsigned int len)
{"500", CSS_VAL_500},
{"600", CSS_VAL_600},
{"700", CSS_VAL_700},
- {"800", CSS_VAL_800},
- {"thin", CSS_VAL_THIN},
- {"hand", CSS_VAL_HAND},
- {"ltr", CSS_VAL_LTR},
- {"rtl", CSS_VAL_RTL},
+ {"italic", CSS_VAL_ITALIC},
+ {"aqua", CSS_VAL_AQUA},
+ {"wait", CSS_VAL_WAIT},
+ {"up", CSS_VAL_UP},
+ {"start", CSS_VAL_START},
+ {"mix", CSS_VAL_MIX},
{"small", CSS_VAL_SMALL},
- {"fast", CSS_VAL_FAST},
+ {"black", CSS_VAL_BLACK},
+ {"static", CSS_VAL_STATIC},
{"top", CSS_VAL_TOP},
+ {"auto", CSS_VAL_AUTO},
+ {"crop", CSS_VAL_CROP},
+ {"sub", CSS_VAL_SUB},
+ {"normal", CSS_VAL_NORMAL},
{"teal", CSS_VAL_TEAL},
- {"navy", CSS_VAL_NAVY},
- {"start", CSS_VAL_START},
- {"mix", CSS_VAL_MIX},
- {"wait", CSS_VAL_WAIT},
- {"italic", CSS_VAL_ITALIC},
- {"help", CSS_VAL_HELP},
- {"up", CSS_VAL_UP},
+ {"compact", CSS_VAL_COMPACT},
+ {"table", CSS_VAL_TABLE},
+ {"icon", CSS_VAL_ICON},
{"gray", CSS_VAL_GRAY},
- {"aqua", CSS_VAL_AQUA},
- {"highlight", CSS_VAL_HIGHLIGHT},
- {"ahead", CSS_VAL_AHEAD},
- {"right", CSS_VAL_RIGHT},
- {"both", CSS_VAL_BOTH},
- {"static", CSS_VAL_STATIC},
+ {"run-in", CSS_VAL_RUN_IN},
+ {"portrait", CSS_VAL_PORTRAIT},
{"x-small", CSS_VAL_X_SMALL},
- {"hide", CSS_VAL_HIDE},
- {"fantasy", CSS_VAL_FANTASY},
- {"always", CSS_VAL_ALWAYS},
- {"bold", CSS_VAL_BOLD},
- {"table", CSS_VAL_TABLE},
- {"text", CSS_VAL_TEXT},
- {"disc", CSS_VAL_DISC},
- {"left", CSS_VAL_LEFT},
{"blink", CSS_VAL_BLINK},
- {"katakana", CSS_VAL_KATAKANA},
- {"thick", CSS_VAL_THICK},
- {"solid", CSS_VAL_SOLID},
- {"end", CSS_VAL_END},
+ {"scroll", CSS_VAL_SCROLL},
+ {"circle", CSS_VAL_CIRCLE},
+ {"large", CSS_VAL_LARGE},
+ {"scrollbar", CSS_VAL_SCROLLBAR},
{"lime", CSS_VAL_LIME},
- {"hiragana", CSS_VAL_HIRAGANA},
- {"avoid", CSS_VAL_AVOID},
- {"slide", CSS_VAL_SLIDE},
+ {"larger", CSS_VAL_LARGER},
{"pre", CSS_VAL_PRE},
- {"dashed", CSS_VAL_DASHED},
- {"black", CSS_VAL_BLACK},
- {"sub", CSS_VAL_SUB},
- {"xx-small", CSS_VAL_XX_SMALL},
- {"red", CSS_VAL_RED},
- {"auto", CSS_VAL_AUTO},
- {"hidden", CSS_VAL_HIDDEN},
- {"middle", CSS_VAL_MIDDLE},
- {"inset", CSS_VAL_INSET},
- {"loud", CSS_VAL_LOUD},
- {"large", CSS_VAL_LARGE},
- {"inline", CSS_VAL_INLINE},
- {"white", CSS_VAL_WHITE},
- {"slow", CSS_VAL_SLOW},
- {"small-caps", CSS_VAL_SMALL_CAPS},
- {"show", CSS_VAL_SHOW},
- {"grey", CSS_VAL_GREY},
- {"icon", CSS_VAL_ICON},
- {"justify", CSS_VAL_JUSTIFY},
- {"dotted", CSS_VAL_DOTTED},
- {"list-item", CSS_VAL_LIST_ITEM},
- {"lighter", CSS_VAL_LIGHTER},
- {"higher", CSS_VAL_HIGHER},
- {"normal", CSS_VAL_NORMAL},
+ {"bottom", CSS_VAL_BOTTOM},
{"caption", CSS_VAL_CAPTION},
- {"inside", CSS_VAL_INSIDE},
- {"down", CSS_VAL_DOWN},
- {"single", CSS_VAL_SINGLE},
- {"fixed", CSS_VAL_FIXED},
- {"crop", CSS_VAL_CROP},
- {"inherit", CSS_VAL_INHERIT},
- {"-khtml-right", CSS_VAL__KHTML_RIGHT},
- {"portrait", CSS_VAL_PORTRAIT},
- {"ridge", CSS_VAL_RIDGE},
- {"smaller", CSS_VAL_SMALLER},
{"blue", CSS_VAL_BLUE},
- {"bottom", CSS_VAL_BOTTOM},
- {"text-top", CSS_VAL_TEXT_TOP},
- {"decimal", CSS_VAL_DECIMAL},
- {"olive", CSS_VAL_OLIVE},
- {"level", CSS_VAL_LEVEL},
- {"none", CSS_VAL_NONE},
{"block", CSS_VAL_BLOCK},
- {"x-large", CSS_VAL_X_LARGE},
- {"graytext", CSS_VAL_GRAYTEXT},
- {"scroll", CSS_VAL_SCROLL},
- {"-khtml-text", CSS_VAL__KHTML_TEXT},
- {"highlighttext", CSS_VAL_HIGHLIGHTTEXT},
- {"visible", CSS_VAL_VISIBLE},
- {"capitalize", CSS_VAL_CAPITALIZE},
- {"-khtml-body", CSS_VAL__KHTML_BODY},
- {"-khtml-left", CSS_VAL__KHTML_LEFT},
- {"run-in", CSS_VAL_RUN_IN},
- {"larger", CSS_VAL_LARGER},
- {"multiple", CSS_VAL_MULTIPLE},
- {"serif", CSS_VAL_SERIF},
- {"default", CSS_VAL_DEFAULT},
- {"invert", CSS_VAL_INVERT},
- {"silver", CSS_VAL_SILVER},
- {"infinite", CSS_VAL_INFINITE},
- {"repeat", CSS_VAL_REPEAT},
- {"move", CSS_VAL_MOVE},
- {"above", CSS_VAL_ABOVE},
- {"menu", CSS_VAL_MENU},
- {"landscape", CSS_VAL_LANDSCAPE},
- {"stretch", CSS_VAL_STRETCH},
- {"yellow", CSS_VAL_YELLOW},
- {"-khtml-box", CSS_VAL__KHTML_BOX},
+ {"text", CSS_VAL_TEXT},
+ {"thin", CSS_VAL_THIN},
+ {"right", CSS_VAL_RIGHT},
{"nowrap", CSS_VAL_NOWRAP},
- {"fuchsia", CSS_VAL_FUCHSIA},
- {"purple", CSS_VAL_PURPLE},
- {"compact", CSS_VAL_COMPACT},
- {"wider", CSS_VAL_WIDER},
+ {"bold", CSS_VAL_BOLD},
+ {"slow", CSS_VAL_SLOW},
+ {"maroon", CSS_VAL_MAROON},
+ {"xx-small", CSS_VAL_XX_SMALL},
+ {"fast", CSS_VAL_FAST},
+ {"both", CSS_VAL_BOTH},
+ {"disc", CSS_VAL_DISC},
+ {"menu", CSS_VAL_MENU},
{"status-bar", CSS_VAL_STATUS_BAR},
- {"repeat-y", CSS_VAL_REPEAT_Y},
+ {"hiragana", CSS_VAL_HIRAGANA},
+ {"small-caps", CSS_VAL_SMALL_CAPS},
+ {"katakana", CSS_VAL_KATAKANA},
+ {"smaller", CSS_VAL_SMALLER},
+ {"always", CSS_VAL_ALWAYS},
+ {"loud", CSS_VAL_LOUD},
+ {"x-large", CSS_VAL_X_LARGE},
{"armenian", CSS_VAL_ARMENIAN},
- {"embed", CSS_VAL_EMBED},
- {"-khtml-auto", CSS_VAL__KHTML_AUTO},
{"cross", CSS_VAL_CROSS},
- {"alternate", CSS_VAL_ALTERNATE},
- {"bolder", CSS_VAL_BOLDER},
- {"maroon", CSS_VAL_MAROON},
- {"upper-alpha", CSS_VAL_UPPER_ALPHA},
- {"xx-large", CSS_VAL_XX_LARGE},
- {"collapse", CSS_VAL_COLLAPSE},
- {"small-caption", CSS_VAL_SMALL_CAPTION},
- {"pointer", CSS_VAL_POINTER},
- {"vertical", CSS_VAL_VERTICAL},
- {"separate", CSS_VAL_SEPARATE},
+ {"red", CSS_VAL_RED},
+ {"inline", CSS_VAL_INLINE},
+ {"multiple", CSS_VAL_MULTIPLE},
+ {"purple", CSS_VAL_PURPLE},
+ {"thick", CSS_VAL_THICK},
+ {"lower", CSS_VAL_LOWER},
{"below", CSS_VAL_BELOW},
- {"super", CSS_VAL_SUPER},
- {"medium", CSS_VAL_MEDIUM},
+ {"down", CSS_VAL_DOWN},
+ {"left", CSS_VAL_LEFT},
+ {"navy", CSS_VAL_NAVY},
+ {"inset", CSS_VAL_INSET},
+ {"hand", CSS_VAL_HAND},
{"square", CSS_VAL_SQUARE},
- {"inline-axis", CSS_VAL_INLINE_AXIS},
- {"outset", CSS_VAL_OUTSET},
+ {"table-row", CSS_VAL_TABLE_ROW},
+ {"end", CSS_VAL_END},
+ {"none", CSS_VAL_NONE},
+ {"grey", CSS_VAL_GREY},
{"orange", CSS_VAL_ORANGE},
- {"katakana-iroha", CSS_VAL_KATAKANA_IROHA},
+ {"small-caption", CSS_VAL_SMALL_CAPTION},
+ {"decimal", CSS_VAL_DECIMAL},
+ {"xx-large", CSS_VAL_XX_LARGE},
{"table-cell", CSS_VAL_TABLE_CELL},
- {"horizontal", CSS_VAL_HORIZONTAL},
- {"repeat-x", CSS_VAL_REPEAT_X},
- {"hiragana-iroha", CSS_VAL_HIRAGANA_IROHA},
- {"expanded", CSS_VAL_EXPANDED},
- {"baseline", CSS_VAL_BASELINE},
- {"infotext", CSS_VAL_INFOTEXT},
- {"relative", CSS_VAL_RELATIVE},
+ {"list-item", CSS_VAL_LIST_ITEM},
+ {"capitalize", CSS_VAL_CAPITALIZE},
+ {"-apple-aqua", CSS_VAL__APPLE_AQUA},
+ {"vertical", CSS_VAL_VERTICAL},
+ {"narrower", CSS_VAL_NARROWER},
+ {"solid", CSS_VAL_SOLID},
+ {"super", CSS_VAL_SUPER},
+ {"oblique", CSS_VAL_OBLIQUE},
+ {"alternate", CSS_VAL_ALTERNATE},
+ {"help", CSS_VAL_HELP},
+ {"center", CSS_VAL_CENTER},
+ {"single", CSS_VAL_SINGLE},
+ {"ridge", CSS_VAL_RIDGE},
+ {"repeat", CSS_VAL_REPEAT},
+ {"pointer", CSS_VAL_POINTER},
+ {"wider", CSS_VAL_WIDER},
+ {"text-top", CSS_VAL_TEXT_TOP},
+ {"table-column", CSS_VAL_TABLE_COLUMN},
+ {"transparent", CSS_VAL_TRANSPARENT},
+ {"invert", CSS_VAL_INVERT},
+ {"upper-latin", CSS_VAL_UPPER_LATIN},
+ {"lighter", CSS_VAL_LIGHTER},
+ {"lower-latin", CSS_VAL_LOWER_LATIN},
+ {"table-caption", CSS_VAL_TABLE_CAPTION},
+ {"graytext", CSS_VAL_GRAYTEXT},
{"window", CSS_VAL_WINDOW},
- {"circle", CSS_VAL_CIRCLE},
- {"lower", CSS_VAL_LOWER},
- {"-khtml-normal", CSS_VAL__KHTML_NORMAL},
+ {"bolder", CSS_VAL_BOLDER},
+ {"white", CSS_VAL_WHITE},
+ {"show", CSS_VAL_SHOW},
+ {"collapse", CSS_VAL_COLLAPSE},
+ {"outset", CSS_VAL_OUTSET},
{"green", CSS_VAL_GREEN},
- {"double", CSS_VAL_DOUBLE},
- {"upper-latin", CSS_VAL_UPPER_LATIN},
- {"transparent", CSS_VAL_TRANSPARENT},
- {"oblique", CSS_VAL_OBLIQUE},
- {"inline-table", CSS_VAL_INLINE_TABLE},
- {"outside", CSS_VAL_OUTSIDE},
- {"lower-alpha", CSS_VAL_LOWER_ALPHA},
+ {"medium", CSS_VAL_MEDIUM},
+ {"backwards", CSS_VAL_BACKWARDS},
{"absolute", CSS_VAL_ABSOLUTE},
- {"scrollbar", CSS_VAL_SCROLLBAR},
+ {"marquee", CSS_VAL_MARQUEE},
+ {"georgian", CSS_VAL_GEORGIAN},
+ {"buttontext", CSS_VAL_BUTTONTEXT},
+ {"avoid", CSS_VAL_AVOID},
+ {"above", CSS_VAL_ABOVE},
+ {"stretch", CSS_VAL_STRETCH},
+ {"slide", CSS_VAL_SLIDE},
+ {"inherit", CSS_VAL_INHERIT},
{"block-axis", CSS_VAL_BLOCK_AXIS},
+ {"fantasy", CSS_VAL_FANTASY},
+ {"move", CSS_VAL_MOVE},
{"captiontext", CSS_VAL_CAPTIONTEXT},
- {"table-caption", CSS_VAL_TABLE_CAPTION},
- {"buttonhighlight", CSS_VAL_BUTTONHIGHLIGHT},
- {"georgian", CSS_VAL_GEORGIAN},
- {"center", CSS_VAL_CENTER},
- {"crosshair", CSS_VAL_CROSSHAIR},
- {"table-row", CSS_VAL_TABLE_ROW},
- {"backwards", CSS_VAL_BACKWARDS},
- {"sans-serif", CSS_VAL_SANS_SERIF},
- {"hebrew", CSS_VAL_HEBREW},
- {"threedhighlight", CSS_VAL_THREEDHIGHLIGHT},
- {"lower-latin", CSS_VAL_LOWER_LATIN},
+ {"yellow", CSS_VAL_YELLOW},
+ {"olive", CSS_VAL_OLIVE},
+ {"double", CSS_VAL_DOUBLE},
+ {"silver", CSS_VAL_SILVER},
+ {"repeat-x", CSS_VAL_REPEAT_X},
{"text-bottom", CSS_VAL_TEXT_BOTTOM},
- {"-khtml-nowrap", CSS_VAL__KHTML_NOWRAP},
- {"no-repeat", CSS_VAL_NO_REPEAT},
- {"forwards", CSS_VAL_FORWARDS},
- {"n-resize", CSS_VAL_N_RESIZE},
- {"s-resize", CSS_VAL_S_RESIZE},
- {"buttontext", CSS_VAL_BUTTONTEXT},
- {"marquee", CSS_VAL_MARQUEE},
- {"groove", CSS_VAL_GROOVE},
+ {"ahead", CSS_VAL_AHEAD},
+ {"serif", CSS_VAL_SERIF},
+ {"-khtml-auto", CSS_VAL__KHTML_AUTO},
+ {"separate", CSS_VAL_SEPARATE},
+ {"justify", CSS_VAL_JUSTIFY},
+ {"middle", CSS_VAL_MIDDLE},
+ {"-khtml-normal", CSS_VAL__KHTML_NORMAL},
+ {"upper-roman", CSS_VAL_UPPER_ROMAN},
+ {"embed", CSS_VAL_EMBED},
+ {"landscape", CSS_VAL_LANDSCAPE},
+ {"lower-roman", CSS_VAL_LOWER_ROMAN},
+ {"level", CSS_VAL_LEVEL},
+ {"visible", CSS_VAL_VISIBLE},
+ {"inline-table", CSS_VAL_INLINE_TABLE},
+ {"hide", CSS_VAL_HIDE},
+ {"-khtml-box", CSS_VAL__KHTML_BOX},
+ {"crosshair", CSS_VAL_CROSSHAIR},
+ {"background", CSS_VAL_BACKGROUND},
{"menutext", CSS_VAL_MENUTEXT},
+ {"inside", CSS_VAL_INSIDE},
+ {"infinite", CSS_VAL_INFINITE},
+ {"baseline", CSS_VAL_BASELINE},
+ {"fuchsia", CSS_VAL_FUCHSIA},
{"cursive", CSS_VAL_CURSIVE},
- {"line-through", CSS_VAL_LINE_THROUGH},
- {"overline", CSS_VAL_OVERLINE},
- {"w-resize", CSS_VAL_W_RESIZE},
+ {"horizontal", CSS_VAL_HORIZONTAL},
+ {"inline-axis", CSS_VAL_INLINE_AXIS},
+ {"default", CSS_VAL_DEFAULT},
+ {"relative", CSS_VAL_RELATIVE},
+ {"buttonface", CSS_VAL_BUTTONFACE},
+ {"repeat-y", CSS_VAL_REPEAT_Y},
+ {"no-repeat", CSS_VAL_NO_REPEAT},
+ {"dotted", CSS_VAL_DOTTED},
+ {"upper-alpha", CSS_VAL_UPPER_ALPHA},
+ {"lower-alpha", CSS_VAL_LOWER_ALPHA},
+ {"inline-block", CSS_VAL_INLINE_BLOCK},
+ {"hebrew", CSS_VAL_HEBREW},
+ {"forwards", CSS_VAL_FORWARDS},
+ {"-khtml-text", CSS_VAL__KHTML_TEXT},
+ {"fixed", CSS_VAL_FIXED},
+ {"infotext", CSS_VAL_INFOTEXT},
+ {"higher", CSS_VAL_HIGHER},
{"monospace", CSS_VAL_MONOSPACE},
- {"-khtml-xxx-large", CSS_VAL__KHTML_XXX_LARGE},
- {"e-resize", CSS_VAL_E_RESIZE},
+ {"-khtml-right", CSS_VAL__KHTML_RIGHT},
+ {"groove", CSS_VAL_GROOVE},
+ {"-khtml-nowrap", CSS_VAL__KHTML_NOWRAP},
{"activecaption", CSS_VAL_ACTIVECAPTION},
- {"inline-block", CSS_VAL_INLINE_BLOCK},
+ {"uppercase", CSS_VAL_UPPERCASE},
+ {"outside", CSS_VAL_OUTSIDE},
+ {"lowercase", CSS_VAL_LOWERCASE},
+ {"hiragana-iroha", CSS_VAL_HIRAGANA_IROHA},
+ {"katakana-iroha", CSS_VAL_KATAKANA_IROHA},
+ {"table-row-group", CSS_VAL_TABLE_ROW_GROUP},
+ {"n-resize", CSS_VAL_N_RESIZE},
+ {"w-resize", CSS_VAL_W_RESIZE},
+ {"highlight", CSS_VAL_HIGHLIGHT},
{"underline", CSS_VAL_UNDERLINE},
{"windowtext", CSS_VAL_WINDOWTEXT},
- {"table-column", CSS_VAL_TABLE_COLUMN},
- {"buttonface", CSS_VAL_BUTTONFACE},
- {"buttonshadow", CSS_VAL_BUTTONSHADOW},
- {"-khtml-center", CSS_VAL__KHTML_CENTER},
+ {"inactivecaption", CSS_VAL_INACTIVECAPTION},
+ {"table-column-group", CSS_VAL_TABLE_COLUMN_GROUP},
{"nw-resize", CSS_VAL_NW_RESIZE},
+ {"-khtml-left", CSS_VAL__KHTML_LEFT},
+ {"s-resize", CSS_VAL_S_RESIZE},
+ {"overline", CSS_VAL_OVERLINE},
+ {"hidden", CSS_VAL_HIDDEN},
+ {"appworkspace", CSS_VAL_APPWORKSPACE},
+ {"dashed", CSS_VAL_DASHED},
+ {"open-quote", CSS_VAL_OPEN_QUOTE},
+ {"-khtml-body", CSS_VAL__KHTML_BODY},
+ {"-khtml-center", CSS_VAL__KHTML_CENTER},
{"sw-resize", CSS_VAL_SW_RESIZE},
+ {"close-quote", CSS_VAL_CLOSE_QUOTE},
+ {"sans-serif", CSS_VAL_SANS_SERIF},
+ {"e-resize", CSS_VAL_E_RESIZE},
+ {"buttonshadow", CSS_VAL_BUTTONSHADOW},
+ {"-khtml-xxx-large", CSS_VAL__KHTML_XXX_LARGE},
+ {"expanded", CSS_VAL_EXPANDED},
+ {"windowframe", CSS_VAL_WINDOWFRAME},
+ {"reverse", CSS_VAL_REVERSE},
+ {"ne-resize", CSS_VAL_NE_RESIZE},
+ {"message-box", CSS_VAL_MESSAGE_BOX},
+ {"line-through", CSS_VAL_LINE_THROUGH},
+ {"activeborder", CSS_VAL_ACTIVEBORDER},
{"-khtml-inline-box", CSS_VAL__KHTML_INLINE_BOX},
- {"uppercase", CSS_VAL_UPPERCASE},
- {"narrower", CSS_VAL_NARROWER},
{"ultra-expanded", CSS_VAL_ULTRA_EXPANDED},
- {"ne-resize", CSS_VAL_NE_RESIZE},
+ {"buttonhighlight", CSS_VAL_BUTTONHIGHLIGHT},
{"se-resize", CSS_VAL_SE_RESIZE},
+ {"lower-greek", CSS_VAL_LOWER_GREEK},
+ {"infobackground", CSS_VAL_INFOBACKGROUND},
+ {"inactiveborder", CSS_VAL_INACTIVEBORDER},
+ {"no-open-quote", CSS_VAL_NO_OPEN_QUOTE},
+ {"cjk-ideographic", CSS_VAL_CJK_IDEOGRAPHIC},
+ {"highlighttext", CSS_VAL_HIGHLIGHTTEXT},
+ {"no-close-quote", CSS_VAL_NO_CLOSE_QUOTE},
+ {"inactivecaptiontext", CSS_VAL_INACTIVECAPTIONTEXT},
{"condensed", CSS_VAL_CONDENSED},
+ {"ultra-condensed", CSS_VAL_ULTRA_CONDENSED},
{"threedface", CSS_VAL_THREEDFACE},
- {"threedshadow", CSS_VAL_THREEDSHADOW},
- {"upper-roman", CSS_VAL_UPPER_ROMAN},
- {"background", CSS_VAL_BACKGROUND},
- {"reverse", CSS_VAL_REVERSE},
- {"inactivecaption", CSS_VAL_INACTIVECAPTION},
- {"semi-expanded", CSS_VAL_SEMI_EXPANDED},
- {"message-box", CSS_VAL_MESSAGE_BOX},
- {"open-quote", CSS_VAL_OPEN_QUOTE},
- {"appworkspace", CSS_VAL_APPWORKSPACE},
- {"extra-expanded", CSS_VAL_EXTRA_EXPANDED},
- {"lowercase", CSS_VAL_LOWERCASE},
- {"cjk-ideographic", CSS_VAL_CJK_IDEOGRAPHIC},
- {"lower-roman", CSS_VAL_LOWER_ROMAN},
- {"threedlightshadow", CSS_VAL_THREEDLIGHTSHADOW},
- {"windowframe", CSS_VAL_WINDOWFRAME},
+ {"table-footer-group", CSS_VAL_TABLE_FOOTER_GROUP},
{"bidi-override", CSS_VAL_BIDI_OVERRIDE},
+ {"extra-expanded", CSS_VAL_EXTRA_EXPANDED},
{"-khtml-around-floats", CSS_VAL__KHTML_AROUND_FLOATS},
- {"close-quote", CSS_VAL_CLOSE_QUOTE},
- {"activeborder", CSS_VAL_ACTIVEBORDER},
- {"-khtml-baseline-middle", CSS_VAL__KHTML_BASELINE_MIDDLE},
- {"threeddarkshadow", CSS_VAL_THREEDDARKSHADOW},
- {"no-open-quote", CSS_VAL_NO_OPEN_QUOTE},
- {"inactiveborder", CSS_VAL_INACTIVEBORDER},
- {"inactivecaptiontext", CSS_VAL_INACTIVECAPTIONTEXT},
- {"ultra-condensed", CSS_VAL_ULTRA_CONDENSED},
- {"table-row-group", CSS_VAL_TABLE_ROW_GROUP},
- {"infobackground", CSS_VAL_INFOBACKGROUND},
- {"lower-greek", CSS_VAL_LOWER_GREEK},
- {"semi-condensed", CSS_VAL_SEMI_CONDENSED},
- {"extra-condensed", CSS_VAL_EXTRA_CONDENSED},
- {"no-close-quote", CSS_VAL_NO_CLOSE_QUOTE},
{"table-header-group", CSS_VAL_TABLE_HEADER_GROUP},
+ {"semi-expanded", CSS_VAL_SEMI_EXPANDED},
+ {"extra-condensed", CSS_VAL_EXTRA_CONDENSED},
{"decimal-leading-zero", CSS_VAL_DECIMAL_LEADING_ZERO},
- {"table-column-group", CSS_VAL_TABLE_COLUMN_GROUP},
- {"table-footer-group", CSS_VAL_TABLE_FOOTER_GROUP}
+ {"threedshadow", CSS_VAL_THREEDSHADOW},
+ {"semi-condensed", CSS_VAL_SEMI_CONDENSED},
+ {"threedhighlight", CSS_VAL_THREEDHIGHLIGHT},
+ {"-khtml-baseline-middle", CSS_VAL__KHTML_BASELINE_MIDDLE},
+ {"threedlightshadow", CSS_VAL_THREEDLIGHTSHADOW},
+ {"threeddarkshadow", CSS_VAL_THREEDDARKSHADOW}
};
static const short lookup[] =
{
- 0, -1, -1, -1, -1, 1, -1, -1,
- -1, -1, 2, -1, -1, -1, -1, 3,
- -1, -1, -1, -1, 4, -1, -1, -1,
- -1, 5, -1, -1, -1, -1, 6, -1,
- -1, -1, -1, 7, -1, -1, -1, -1,
- 8, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 9, -1, -1, -1, 10, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -414, -241, -2, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 13, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 14, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 15, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 16, -1, -1, 17, -1, 18,
- -1, -1, 19, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 20, -1, -1, -1,
- -1, -1, -1, 21, -1, -1, -1, 22,
- 23, -1, -1, 24, -1, 25, -1, -1,
- 26, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 27, -1, -1, -1, 28, -1,
- -1, -1, -1, -1, -1, 29, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 30, -1, -1, 31, -1, -1,
- -1, -1, 32, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, 34, 35, 36, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 37, -1, -1, -1, -1, 38, 39,
- -1, -1, 40, -1, -1, -1, 41, 42,
- 43, -1, -1, -1, 44, 45, -1, -1,
- -1, -1, -1, -1, 46, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 47,
- -1, -1, -1, -1, -1, 48, -1, -1,
- -1, -1, -1, 49, -1, 50, -1, 51,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 52, -1, 53, -1, 54, -1,
- -1, -1, -1, -1, 55, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 56, 57, -1, 58,
+ 0, -1, -1, -1, -260, 3, -252, -2,
+ -1, -1, 4, -1, -1, -1, -1, 5,
+ -1, -1, -1, -1, 6, -1, -1, -1,
+ -1, 7, -1, -1, -1, -1, 8, -1,
+ -1, -1, -1, 9, -1, -1, -1, -1,
+ 10, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 11, -1, -1, -1, -1,
+ -1, -1, 12, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 13, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 14, -1, -1,
+ -1, 15, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 16, -1, -1, -1,
+ -1, 17, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 18, -1, -1, -1, -1,
+ 19, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, -1, -1, -1, -1, 21, -1,
+ 22, -1, -1, -1, -1, 23, -1, 24,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 25, 26, -1, -1, -1, -1,
+ -1, 27, 28, -1, -1, -1, -1, -1,
+ -1, -1, -1, 29, -1, 30, -1, -1,
+ -1, 31, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 32, -1, -1,
+ -1, -1, 33, -1, -1, -1, -1, -1,
+ -1, 34, -1, -1, 35, -1, -1, -1,
+ -1, -1, -1, 36, 37, -1, 38, 39,
+ -1, -1, 40, -1, -1, 41, 42, -1,
+ -1, -1, 43, -1, -1, -1, -1, -1,
+ 44, -1, 45, -1, -1, -1, -1, 46,
+ -1, -1, -1, -1, -1, -1, 47, -1,
+ 48, 49, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 50, -1, -1, -1, -1,
+ -1, -1, -1, -1, 51, 52, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 53,
+ -1, 54, -1, -1, -1, 55, -1, -1,
+ -1, 56, 57, -1, -1, -1, -1, -1,
+ 58, 59, -1, -1, 60, -1, -1, 61,
+ 62, -1, -1, 63, -1, -1, -1, 64,
+ -1, -1, -1, -1, -1, -1, 65, -1,
+ -1, -1, -1, -1, -1, -1, 66, -1,
+ -1, -1, -1, 67, -1, -1, 68, -1,
+ -1, -1, -1, 69, -1, -1, -1, 70,
+ -1, 71, -1, -1, 72, -1, -1, 73,
+ -1, -1, -1, -1, -1, 74, -1, -1,
+ -1, -1, -1, -1, 75, -1, -1, -1,
+ 76, 77, -1, -1, 78, 79, -1, 80,
+ -1, 81, -1, 82, -1, 83, -1, -1,
+ -1, -1, 84, 85, -1, -1, 86, 87,
+ -1, -1, 88, -1, -1, -1, -1, 89,
+ -1, -1, 90, -1, 91, 92, 93, 94,
+ 95, -1, -1, -1, -1, -1, -1, -1,
+ 96, -1, 97, 98, -1, 99, 100, -1,
+ 101, -1, -1, -1, 102, -1, -1, -1,
+ -1, 103, -1, -1, 104, -1, -1, 105,
+ -1, -1, -1, -1, 106, -1, -1, 107,
+ -1, -1, -1, -1, 108, 109, -1, -1,
+ 110, -1, 111, 112, -1, 113, 114, 115,
+ -775, -137, -2, 118, -1, 119, -1, 120,
+ 121, -1, 122, -1, 123, -1, 124, 125,
+ -1, 126, -1, -1, -1, -1, 127, -1,
+ -1, -1, 128, 129, 130, 131, -1, -1,
+ -1, 132, -1, 133, -1, -1, -1, 134,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ 135, -1, 136, -1, -1, -1, -1, -1,
+ -1, -1, -1, 137, 138, -1, -1, 139,
+ 140, -1, -1, 141, 142, 143, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 144, 145, 146, -1, -1, -1, -1, -1,
+ 147, 148, 149, -1, 150, 151, -1, 152,
+ 153, -1, 154, 155, 156, -1, 157, 158,
+ -1, 159, -1, 160, -1, -1, 161, -1,
+ 162, -1, 163, -1, -1, -1, -1, -1,
+ 164, -1, -1, 165, -1, -1, 166, 167,
+ -1, -1, 168, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 169, -1, 170, -1,
+ -1, -1, 171, -1, -1, -1, -1, 172,
+ -1, 173, -1, -1, 174, -1, -1, -1,
+ -1, 175, -1, -1, -1, -1, -1, -1,
+ -1, -1, 176, -1, -1, 177, -1, -1,
+ -1, -1, 178, -1, 179, -1, -1, -1,
+ -1, 180, -1, 181, -1, 182, 183, -1,
+ 184, 185, 186, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 187,
+ -1, 188, 189, -1, -1, -1, 190, -1,
+ -1, -1, 191, -1, -1, -1, 192, -1,
+ -1, -1, -1, -1, -1, -1, 193, -1,
+ -1, -1, -1, -1, 194, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 59, -1, -1, -1, 60, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 61, -1,
- -1, -1, 62, -1, -1, -1, -1, -1,
- 63, 64, -1, -1, 65, 66, 67, -1,
- -1, -1, -1, -1, 68, -1, -1, 69,
- 70, -1, -1, -1, -1, -1, -1, -1,
- 71, -1, -1, -1, 72, -1, 73, 74,
- -1, -1, -1, 75, -1, -1, -1, -1,
- -1, -1, -1, 76, -1, -1, -1, -1,
- -1, 77, 78, -1, -1, -1, -1, -1,
- -1, 79, -1, -1, 80, 81, 82, -1,
- 83, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 84, 85, -1, -1,
- -1, 86, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 87, -1, -1, -1, -1,
- -1, -1, -1, -1, 88, 89, -1, -1,
- -1, -1, 90, -1, -1, -1, -1, -1,
- -1, -1, -1, 91, 92, -1, -1, 93,
- -1, -1, -1, -1, 94, -1, -1, 95,
- 96, 97, -1, 98, 99, 100, 101, 102,
- -1, -1, -1, -1, 103, 104, 105, -1,
- -1, -1, 106, -1, -1, -1, 107, 108,
- -1, -1, -1, 109, -1, 110, -1, -1,
- 111, 112, -1, -1, -1, -1, -1, -1,
- -1, -1, 113, -1, -1, -1, -1, 114,
- 115, -1, -1, -1, 116, -1, -1, 117,
- 118, -1, 119, 120, -1, -1, -1, 121,
- -1, -1, 122, -1, -1, 123, -1, -1,
- -1, -1, 124, -1, -1, -1, -1, -1,
- -1, 125, -1, -1, -1, -1, -1, 126,
- -1, -1, -1, 127, -1, -1, 128, -1,
- -1, -1, 129, -1, -1, -1, -1, 130,
- -1, -1, -1, 131, 132, -1, 133, -1,
- -1, -1, 134, -1, -1, 135, 136, -1,
- -1, -1, -1, 137, 138, -1, -1, 139,
- -1, 140, -1, 141, -1, -1, 142, -1,
- 143, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 144, -1, 145,
- -1, -1, -1, 146, -1, -1, -1, 147,
- -1, -1, 148, -1, -1, -1, -1, -1,
- 149, 150, 151, -1, -1, 152, -1, -1,
- -1, 153, 154, -1, -1, -1, -1, 155,
- 156, -1, -1, 157, -1, 158, -1, -1,
- -1, -1, -1, -1, 159, -1, 160, -1,
+ -1, -1, -1, 195, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 161, -1, -1,
- -1, -1, -1, -1, -1, -1, 162, -1,
- 163, -1, -1, -1, -1, -1, -1, -1,
- 164, 165, -1, -1, 166, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 167, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 168, -1, -1, 169, -1,
+ -1, 196, 197, -1, -1, -1, -1, -1,
+ 198, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 170, 171, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 172, -1,
- -1, 173, -1, -1, -1, 174, -1, -1,
- -1, -1, 175, -1, -1, -1, -1, -1,
- -1, -1, -1, 176, -1, -1, 177, -1,
- -1, -1, -1, -1, -1, -1, 178, -1,
+ -1, 199, -1, 200, -1, 201, -1, -1,
+ -1, -1, -1, -1, -1, -1, 202, 203,
+ -1, -1, -1, 204, -1, -1, -1, -1,
+ -1, -1, -1, 205, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 206, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 179, -1, -1, -1, 180, 181, 182, 183,
- -1, -1, -1, -1, 184, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 207, -1,
+ -1, -1, 208, -1, -1, 209, -1, 210,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 185, -1, 186, 187, -1, -1, 188,
+ 211, -1, -1, -1, 212, 213, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 214, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 189, -1, -1, -1,
- -1, -1, -1, -1, 190, -1, -1, -1,
+ -1, -1, -1, -1, 215, -1, -1, -1,
+ -1, 216, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 217, -1, -1, -1,
+ -1, -1, 218, -1, -1, -1, -1, 219,
+ -1, -1, -1, -1, -1, -1, 220, 221,
+ -1, 222, -1, -1, 223, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 191, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 224, -1, -1, -1, -1, 225, -1, -1,
+ 226, 227, -1, -1, -1, -1, 228, -1,
+ -1, -1, 229, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 230, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 192, 193, -1, -1, 194, -1, -1,
+ -1, -1, -1, -1, -1, 231, -1, -1,
+ -1, 232, -1, 233, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 234,
-1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 235, -1, -1, -1, 236,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 195, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 196, -1, -1, -1, 197, -1, -1, 198,
- -1, -1, 199, -1, -1, -1, 200, -1,
- -1, -1, -1, 201, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 202, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 203, -1, -1, -1, -1, -1,
- 204, -1, -1, -1, -1, -1, 205, -1,
- -1, -1, -1, -1, 206, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 207,
- 208, 209, -1, -1, -1, -1, -1, 210,
- -1, 211, -1, -1, -1, 212, -1, -1,
- -1, -1, -1, -1, -1, 213, 214, 215,
- -1, -1, -1, -1, -1, -1, 216, -1,
- -1, -1, -1, -1, 217, -1, -1, -1,
- -1, -1, -1, -1, -1, 218, -1, 219,
- -1, -1, -1, 220, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 221, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 222, 223, -1, -1, 224, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 225, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 226,
- -1, -1, -1, -1, -1, -1, -1, 227,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 237, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 238, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 239, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 228, 229, -1, -1,
- -1, -1, 230, -1, -1, -1, -1, -1,
+ -1, -1, 240, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 241, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 231, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 232,
- -1, -1, 233, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 234, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 242, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 235, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 243, -1,
+ -1, -1, -1, 244, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 236, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 245, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 237, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 238, -1, -1,
+ 246, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- 239, -1, -1, -1, -1, -1, -1, -1,
- -1, 240, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 247,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 241, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 242, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 248, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 243,
- -1, -1, -1, -1, -1, 244, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 245,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 246, -1, -1, -1,
- 247, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, 248, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 249, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -614,15 +584,14 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 249,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ 250, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 250, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -631,10 +600,11 @@ findValue (register const char *str, register unsigned int len)
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 251, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 251
+ -1, 252
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -684,6 +654,7 @@ static const char * const valueList[] = {
"dashed",
"solid",
"double",
+"-apple-aqua",
"caption",
"icon",
"menu",
diff --git a/WebCore/khtml/css/cssvalues.h b/WebCore/khtml/css/cssvalues.h
index 86378f6..11fee58 100644
--- a/WebCore/khtml/css/cssvalues.h
+++ b/WebCore/khtml/css/cssvalues.h
@@ -20,248 +20,249 @@ DOM::DOMString getValueName(unsigned short id);
#define CSS_VAL_DASHED 9
#define CSS_VAL_SOLID 10
#define CSS_VAL_DOUBLE 11
-#define CSS_VAL_CAPTION 12
-#define CSS_VAL_ICON 13
-#define CSS_VAL_MENU 14
-#define CSS_VAL_MESSAGE_BOX 15
-#define CSS_VAL_SMALL_CAPTION 16
-#define CSS_VAL_STATUS_BAR 17
-#define CSS_VAL_ITALIC 18
-#define CSS_VAL_OBLIQUE 19
-#define CSS_VAL_SMALL_CAPS 20
-#define CSS_VAL_NORMAL 21
-#define CSS_VAL_BOLD 22
-#define CSS_VAL_BOLDER 23
-#define CSS_VAL_LIGHTER 24
-#define CSS_VAL_100 25
-#define CSS_VAL_200 26
-#define CSS_VAL_300 27
-#define CSS_VAL_400 28
-#define CSS_VAL_500 29
-#define CSS_VAL_600 30
-#define CSS_VAL_700 31
-#define CSS_VAL_800 32
-#define CSS_VAL_900 33
-#define CSS_VAL_XX_SMALL 34
-#define CSS_VAL_X_SMALL 35
-#define CSS_VAL_SMALL 36
-#define CSS_VAL_MEDIUM 37
-#define CSS_VAL_LARGE 38
-#define CSS_VAL_X_LARGE 39
-#define CSS_VAL_XX_LARGE 40
-#define CSS_VAL__KHTML_XXX_LARGE 41
-#define CSS_VAL_SMALLER 42
-#define CSS_VAL_LARGER 43
-#define CSS_VAL_WIDER 44
-#define CSS_VAL_NARROWER 45
-#define CSS_VAL_ULTRA_CONDENSED 46
-#define CSS_VAL_EXTRA_CONDENSED 47
-#define CSS_VAL_CONDENSED 48
-#define CSS_VAL_SEMI_CONDENSED 49
-#define CSS_VAL_SEMI_EXPANDED 50
-#define CSS_VAL_EXPANDED 51
-#define CSS_VAL_EXTRA_EXPANDED 52
-#define CSS_VAL_ULTRA_EXPANDED 53
-#define CSS_VAL_SERIF 54
-#define CSS_VAL_SANS_SERIF 55
-#define CSS_VAL_CURSIVE 56
-#define CSS_VAL_FANTASY 57
-#define CSS_VAL_MONOSPACE 58
-#define CSS_VAL__KHTML_BODY 59
-#define CSS_VAL_TRANSPARENT 60
-#define CSS_VAL_AQUA 61
-#define CSS_VAL_BLACK 62
-#define CSS_VAL_BLUE 63
-#define CSS_VAL_FUCHSIA 64
-#define CSS_VAL_GRAY 65
-#define CSS_VAL_GREEN 66
-#define CSS_VAL_LIME 67
-#define CSS_VAL_MAROON 68
-#define CSS_VAL_NAVY 69
-#define CSS_VAL_OLIVE 70
-#define CSS_VAL_ORANGE 71
-#define CSS_VAL_PURPLE 72
-#define CSS_VAL_RED 73
-#define CSS_VAL_SILVER 74
-#define CSS_VAL_TEAL 75
-#define CSS_VAL_WHITE 76
-#define CSS_VAL_YELLOW 77
-#define CSS_VAL_ACTIVEBORDER 78
-#define CSS_VAL_ACTIVECAPTION 79
-#define CSS_VAL_APPWORKSPACE 80
-#define CSS_VAL_BACKGROUND 81
-#define CSS_VAL_BUTTONFACE 82
-#define CSS_VAL_BUTTONHIGHLIGHT 83
-#define CSS_VAL_BUTTONSHADOW 84
-#define CSS_VAL_BUTTONTEXT 85
-#define CSS_VAL_CAPTIONTEXT 86
-#define CSS_VAL_GRAYTEXT 87
-#define CSS_VAL_HIGHLIGHT 88
-#define CSS_VAL_HIGHLIGHTTEXT 89
-#define CSS_VAL_INACTIVEBORDER 90
-#define CSS_VAL_INACTIVECAPTION 91
-#define CSS_VAL_INACTIVECAPTIONTEXT 92
-#define CSS_VAL_INFOBACKGROUND 93
-#define CSS_VAL_INFOTEXT 94
-#define CSS_VAL_MENUTEXT 95
-#define CSS_VAL_SCROLLBAR 96
-#define CSS_VAL_THREEDDARKSHADOW 97
-#define CSS_VAL_THREEDFACE 98
-#define CSS_VAL_THREEDHIGHLIGHT 99
-#define CSS_VAL_THREEDLIGHTSHADOW 100
-#define CSS_VAL_THREEDSHADOW 101
-#define CSS_VAL_WINDOW 102
-#define CSS_VAL_WINDOWFRAME 103
-#define CSS_VAL_WINDOWTEXT 104
-#define CSS_VAL_GREY 105
-#define CSS_VAL__KHTML_TEXT 106
-#define CSS_VAL_REPEAT 107
-#define CSS_VAL_REPEAT_X 108
-#define CSS_VAL_REPEAT_Y 109
-#define CSS_VAL_NO_REPEAT 110
-#define CSS_VAL_BASELINE 111
-#define CSS_VAL_MIDDLE 112
-#define CSS_VAL_SUB 113
-#define CSS_VAL_SUPER 114
-#define CSS_VAL_TEXT_TOP 115
-#define CSS_VAL_TEXT_BOTTOM 116
-#define CSS_VAL_TOP 117
-#define CSS_VAL_BOTTOM 118
-#define CSS_VAL__KHTML_BASELINE_MIDDLE 119
-#define CSS_VAL__KHTML_AUTO 120
-#define CSS_VAL_LEFT 121
-#define CSS_VAL_RIGHT 122
-#define CSS_VAL_CENTER 123
-#define CSS_VAL_JUSTIFY 124
-#define CSS_VAL__KHTML_LEFT 125
-#define CSS_VAL__KHTML_RIGHT 126
-#define CSS_VAL__KHTML_CENTER 127
-#define CSS_VAL_OUTSIDE 128
-#define CSS_VAL_INSIDE 129
-#define CSS_VAL_DISC 130
-#define CSS_VAL_CIRCLE 131
-#define CSS_VAL_SQUARE 132
-#define CSS_VAL_DECIMAL 133
-#define CSS_VAL_DECIMAL_LEADING_ZERO 134
-#define CSS_VAL_LOWER_ROMAN 135
-#define CSS_VAL_UPPER_ROMAN 136
-#define CSS_VAL_LOWER_GREEK 137
-#define CSS_VAL_LOWER_ALPHA 138
-#define CSS_VAL_LOWER_LATIN 139
-#define CSS_VAL_UPPER_ALPHA 140
-#define CSS_VAL_UPPER_LATIN 141
-#define CSS_VAL_HEBREW 142
-#define CSS_VAL_ARMENIAN 143
-#define CSS_VAL_GEORGIAN 144
-#define CSS_VAL_CJK_IDEOGRAPHIC 145
-#define CSS_VAL_HIRAGANA 146
-#define CSS_VAL_KATAKANA 147
-#define CSS_VAL_HIRAGANA_IROHA 148
-#define CSS_VAL_KATAKANA_IROHA 149
-#define CSS_VAL_INLINE 150
-#define CSS_VAL_BLOCK 151
-#define CSS_VAL_LIST_ITEM 152
-#define CSS_VAL_RUN_IN 153
-#define CSS_VAL_COMPACT 154
-#define CSS_VAL_INLINE_BLOCK 155
-#define CSS_VAL_TABLE 156
-#define CSS_VAL_INLINE_TABLE 157
-#define CSS_VAL_TABLE_ROW_GROUP 158
-#define CSS_VAL_TABLE_HEADER_GROUP 159
-#define CSS_VAL_TABLE_FOOTER_GROUP 160
-#define CSS_VAL_TABLE_ROW 161
-#define CSS_VAL_TABLE_COLUMN_GROUP 162
-#define CSS_VAL_TABLE_COLUMN 163
-#define CSS_VAL_TABLE_CELL 164
-#define CSS_VAL_TABLE_CAPTION 165
-#define CSS_VAL__KHTML_BOX 166
-#define CSS_VAL__KHTML_INLINE_BOX 167
-#define CSS_VAL_AUTO 168
-#define CSS_VAL_CROSSHAIR 169
-#define CSS_VAL_DEFAULT 170
-#define CSS_VAL_POINTER 171
-#define CSS_VAL_MOVE 172
-#define CSS_VAL_E_RESIZE 173
-#define CSS_VAL_NE_RESIZE 174
-#define CSS_VAL_NW_RESIZE 175
-#define CSS_VAL_N_RESIZE 176
-#define CSS_VAL_SE_RESIZE 177
-#define CSS_VAL_SW_RESIZE 178
-#define CSS_VAL_S_RESIZE 179
-#define CSS_VAL_W_RESIZE 180
-#define CSS_VAL_TEXT 181
-#define CSS_VAL_WAIT 182
-#define CSS_VAL_HELP 183
-#define CSS_VAL_LTR 184
-#define CSS_VAL_RTL 185
-#define CSS_VAL_CAPITALIZE 186
-#define CSS_VAL_UPPERCASE 187
-#define CSS_VAL_LOWERCASE 188
-#define CSS_VAL_VISIBLE 189
-#define CSS_VAL_COLLAPSE 190
-#define CSS_VAL_ABOVE 191
-#define CSS_VAL_ABSOLUTE 192
-#define CSS_VAL_ALWAYS 193
-#define CSS_VAL_AVOID 194
-#define CSS_VAL_BELOW 195
-#define CSS_VAL_BIDI_OVERRIDE 196
-#define CSS_VAL_BLINK 197
-#define CSS_VAL_BOTH 198
-#define CSS_VAL_CLOSE_QUOTE 199
-#define CSS_VAL_CROP 200
-#define CSS_VAL_CROSS 201
-#define CSS_VAL_EMBED 202
-#define CSS_VAL_FIXED 203
-#define CSS_VAL_HAND 204
-#define CSS_VAL_HIDE 205
-#define CSS_VAL_HIGHER 206
-#define CSS_VAL_INVERT 207
-#define CSS_VAL_LANDSCAPE 208
-#define CSS_VAL_LEVEL 209
-#define CSS_VAL_LINE_THROUGH 210
-#define CSS_VAL_LOUD 211
-#define CSS_VAL_LOWER 212
-#define CSS_VAL_MARQUEE 213
-#define CSS_VAL_MIX 214
-#define CSS_VAL_NO_CLOSE_QUOTE 215
-#define CSS_VAL_NO_OPEN_QUOTE 216
-#define CSS_VAL_NOWRAP 217
-#define CSS_VAL_OPEN_QUOTE 218
-#define CSS_VAL_OVERLINE 219
-#define CSS_VAL_PORTRAIT 220
-#define CSS_VAL_PRE 221
-#define CSS_VAL_RELATIVE 222
-#define CSS_VAL_SCROLL 223
-#define CSS_VAL_SEPARATE 224
-#define CSS_VAL_SHOW 225
-#define CSS_VAL_STATIC 226
-#define CSS_VAL_THICK 227
-#define CSS_VAL_THIN 228
-#define CSS_VAL_UNDERLINE 229
-#define CSS_VAL__KHTML_NOWRAP 230
-#define CSS_VAL__KHTML_NORMAL 231
-#define CSS_VAL__KHTML_AROUND_FLOATS 232
-#define CSS_VAL_STRETCH 233
-#define CSS_VAL_START 234
-#define CSS_VAL_END 235
-#define CSS_VAL_REVERSE 236
-#define CSS_VAL_HORIZONTAL 237
-#define CSS_VAL_VERTICAL 238
-#define CSS_VAL_INLINE_AXIS 239
-#define CSS_VAL_BLOCK_AXIS 240
-#define CSS_VAL_SINGLE 241
-#define CSS_VAL_MULTIPLE 242
-#define CSS_VAL_FORWARDS 243
-#define CSS_VAL_BACKWARDS 244
-#define CSS_VAL_AHEAD 245
-#define CSS_VAL_UP 246
-#define CSS_VAL_DOWN 247
-#define CSS_VAL_SLOW 248
-#define CSS_VAL_FAST 249
-#define CSS_VAL_INFINITE 250
-#define CSS_VAL_SLIDE 251
-#define CSS_VAL_ALTERNATE 252
+#define CSS_VAL__APPLE_AQUA 12
+#define CSS_VAL_CAPTION 13
+#define CSS_VAL_ICON 14
+#define CSS_VAL_MENU 15
+#define CSS_VAL_MESSAGE_BOX 16
+#define CSS_VAL_SMALL_CAPTION 17
+#define CSS_VAL_STATUS_BAR 18
+#define CSS_VAL_ITALIC 19
+#define CSS_VAL_OBLIQUE 20
+#define CSS_VAL_SMALL_CAPS 21
+#define CSS_VAL_NORMAL 22
+#define CSS_VAL_BOLD 23
+#define CSS_VAL_BOLDER 24
+#define CSS_VAL_LIGHTER 25
+#define CSS_VAL_100 26
+#define CSS_VAL_200 27
+#define CSS_VAL_300 28
+#define CSS_VAL_400 29
+#define CSS_VAL_500 30
+#define CSS_VAL_600 31
+#define CSS_VAL_700 32
+#define CSS_VAL_800 33
+#define CSS_VAL_900 34
+#define CSS_VAL_XX_SMALL 35
+#define CSS_VAL_X_SMALL 36
+#define CSS_VAL_SMALL 37
+#define CSS_VAL_MEDIUM 38
+#define CSS_VAL_LARGE 39
+#define CSS_VAL_X_LARGE 40
+#define CSS_VAL_XX_LARGE 41
+#define CSS_VAL__KHTML_XXX_LARGE 42
+#define CSS_VAL_SMALLER 43
+#define CSS_VAL_LARGER 44
+#define CSS_VAL_WIDER 45
+#define CSS_VAL_NARROWER 46
+#define CSS_VAL_ULTRA_CONDENSED 47
+#define CSS_VAL_EXTRA_CONDENSED 48
+#define CSS_VAL_CONDENSED 49
+#define CSS_VAL_SEMI_CONDENSED 50
+#define CSS_VAL_SEMI_EXPANDED 51
+#define CSS_VAL_EXPANDED 52
+#define CSS_VAL_EXTRA_EXPANDED 53
+#define CSS_VAL_ULTRA_EXPANDED 54
+#define CSS_VAL_SERIF 55
+#define CSS_VAL_SANS_SERIF 56
+#define CSS_VAL_CURSIVE 57
+#define CSS_VAL_FANTASY 58
+#define CSS_VAL_MONOSPACE 59
+#define CSS_VAL__KHTML_BODY 60
+#define CSS_VAL_TRANSPARENT 61
+#define CSS_VAL_AQUA 62
+#define CSS_VAL_BLACK 63
+#define CSS_VAL_BLUE 64
+#define CSS_VAL_FUCHSIA 65
+#define CSS_VAL_GRAY 66
+#define CSS_VAL_GREEN 67
+#define CSS_VAL_LIME 68
+#define CSS_VAL_MAROON 69
+#define CSS_VAL_NAVY 70
+#define CSS_VAL_OLIVE 71
+#define CSS_VAL_ORANGE 72
+#define CSS_VAL_PURPLE 73
+#define CSS_VAL_RED 74
+#define CSS_VAL_SILVER 75
+#define CSS_VAL_TEAL 76
+#define CSS_VAL_WHITE 77
+#define CSS_VAL_YELLOW 78
+#define CSS_VAL_ACTIVEBORDER 79
+#define CSS_VAL_ACTIVECAPTION 80
+#define CSS_VAL_APPWORKSPACE 81
+#define CSS_VAL_BACKGROUND 82
+#define CSS_VAL_BUTTONFACE 83
+#define CSS_VAL_BUTTONHIGHLIGHT 84
+#define CSS_VAL_BUTTONSHADOW 85
+#define CSS_VAL_BUTTONTEXT 86
+#define CSS_VAL_CAPTIONTEXT 87
+#define CSS_VAL_GRAYTEXT 88
+#define CSS_VAL_HIGHLIGHT 89
+#define CSS_VAL_HIGHLIGHTTEXT 90
+#define CSS_VAL_INACTIVEBORDER 91
+#define CSS_VAL_INACTIVECAPTION 92
+#define CSS_VAL_INACTIVECAPTIONTEXT 93
+#define CSS_VAL_INFOBACKGROUND 94
+#define CSS_VAL_INFOTEXT 95
+#define CSS_VAL_MENUTEXT 96
+#define CSS_VAL_SCROLLBAR 97
+#define CSS_VAL_THREEDDARKSHADOW 98
+#define CSS_VAL_THREEDFACE 99
+#define CSS_VAL_THREEDHIGHLIGHT 100
+#define CSS_VAL_THREEDLIGHTSHADOW 101
+#define CSS_VAL_THREEDSHADOW 102
+#define CSS_VAL_WINDOW 103
+#define CSS_VAL_WINDOWFRAME 104
+#define CSS_VAL_WINDOWTEXT 105
+#define CSS_VAL_GREY 106
+#define CSS_VAL__KHTML_TEXT 107
+#define CSS_VAL_REPEAT 108
+#define CSS_VAL_REPEAT_X 109
+#define CSS_VAL_REPEAT_Y 110
+#define CSS_VAL_NO_REPEAT 111
+#define CSS_VAL_BASELINE 112
+#define CSS_VAL_MIDDLE 113
+#define CSS_VAL_SUB 114
+#define CSS_VAL_SUPER 115
+#define CSS_VAL_TEXT_TOP 116
+#define CSS_VAL_TEXT_BOTTOM 117
+#define CSS_VAL_TOP 118
+#define CSS_VAL_BOTTOM 119
+#define CSS_VAL__KHTML_BASELINE_MIDDLE 120
+#define CSS_VAL__KHTML_AUTO 121
+#define CSS_VAL_LEFT 122
+#define CSS_VAL_RIGHT 123
+#define CSS_VAL_CENTER 124
+#define CSS_VAL_JUSTIFY 125
+#define CSS_VAL__KHTML_LEFT 126
+#define CSS_VAL__KHTML_RIGHT 127
+#define CSS_VAL__KHTML_CENTER 128
+#define CSS_VAL_OUTSIDE 129
+#define CSS_VAL_INSIDE 130
+#define CSS_VAL_DISC 131
+#define CSS_VAL_CIRCLE 132
+#define CSS_VAL_SQUARE 133
+#define CSS_VAL_DECIMAL 134
+#define CSS_VAL_DECIMAL_LEADING_ZERO 135
+#define CSS_VAL_LOWER_ROMAN 136
+#define CSS_VAL_UPPER_ROMAN 137
+#define CSS_VAL_LOWER_GREEK 138
+#define CSS_VAL_LOWER_ALPHA 139
+#define CSS_VAL_LOWER_LATIN 140
+#define CSS_VAL_UPPER_ALPHA 141
+#define CSS_VAL_UPPER_LATIN 142
+#define CSS_VAL_HEBREW 143
+#define CSS_VAL_ARMENIAN 144
+#define CSS_VAL_GEORGIAN 145
+#define CSS_VAL_CJK_IDEOGRAPHIC 146
+#define CSS_VAL_HIRAGANA 147
+#define CSS_VAL_KATAKANA 148
+#define CSS_VAL_HIRAGANA_IROHA 149
+#define CSS_VAL_KATAKANA_IROHA 150
+#define CSS_VAL_INLINE 151
+#define CSS_VAL_BLOCK 152
+#define CSS_VAL_LIST_ITEM 153
+#define CSS_VAL_RUN_IN 154
+#define CSS_VAL_COMPACT 155
+#define CSS_VAL_INLINE_BLOCK 156
+#define CSS_VAL_TABLE 157
+#define CSS_VAL_INLINE_TABLE 158
+#define CSS_VAL_TABLE_ROW_GROUP 159
+#define CSS_VAL_TABLE_HEADER_GROUP 160
+#define CSS_VAL_TABLE_FOOTER_GROUP 161
+#define CSS_VAL_TABLE_ROW 162
+#define CSS_VAL_TABLE_COLUMN_GROUP 163
+#define CSS_VAL_TABLE_COLUMN 164
+#define CSS_VAL_TABLE_CELL 165
+#define CSS_VAL_TABLE_CAPTION 166
+#define CSS_VAL__KHTML_BOX 167
+#define CSS_VAL__KHTML_INLINE_BOX 168
+#define CSS_VAL_AUTO 169
+#define CSS_VAL_CROSSHAIR 170
+#define CSS_VAL_DEFAULT 171
+#define CSS_VAL_POINTER 172
+#define CSS_VAL_MOVE 173
+#define CSS_VAL_E_RESIZE 174
+#define CSS_VAL_NE_RESIZE 175
+#define CSS_VAL_NW_RESIZE 176
+#define CSS_VAL_N_RESIZE 177
+#define CSS_VAL_SE_RESIZE 178
+#define CSS_VAL_SW_RESIZE 179
+#define CSS_VAL_S_RESIZE 180
+#define CSS_VAL_W_RESIZE 181
+#define CSS_VAL_TEXT 182
+#define CSS_VAL_WAIT 183
+#define CSS_VAL_HELP 184
+#define CSS_VAL_LTR 185
+#define CSS_VAL_RTL 186
+#define CSS_VAL_CAPITALIZE 187
+#define CSS_VAL_UPPERCASE 188
+#define CSS_VAL_LOWERCASE 189
+#define CSS_VAL_VISIBLE 190
+#define CSS_VAL_COLLAPSE 191
+#define CSS_VAL_ABOVE 192
+#define CSS_VAL_ABSOLUTE 193
+#define CSS_VAL_ALWAYS 194
+#define CSS_VAL_AVOID 195
+#define CSS_VAL_BELOW 196
+#define CSS_VAL_BIDI_OVERRIDE 197
+#define CSS_VAL_BLINK 198
+#define CSS_VAL_BOTH 199
+#define CSS_VAL_CLOSE_QUOTE 200
+#define CSS_VAL_CROP 201
+#define CSS_VAL_CROSS 202
+#define CSS_VAL_EMBED 203
+#define CSS_VAL_FIXED 204
+#define CSS_VAL_HAND 205
+#define CSS_VAL_HIDE 206
+#define CSS_VAL_HIGHER 207
+#define CSS_VAL_INVERT 208
+#define CSS_VAL_LANDSCAPE 209
+#define CSS_VAL_LEVEL 210
+#define CSS_VAL_LINE_THROUGH 211
+#define CSS_VAL_LOUD 212
+#define CSS_VAL_LOWER 213
+#define CSS_VAL_MARQUEE 214
+#define CSS_VAL_MIX 215
+#define CSS_VAL_NO_CLOSE_QUOTE 216
+#define CSS_VAL_NO_OPEN_QUOTE 217
+#define CSS_VAL_NOWRAP 218
+#define CSS_VAL_OPEN_QUOTE 219
+#define CSS_VAL_OVERLINE 220
+#define CSS_VAL_PORTRAIT 221
+#define CSS_VAL_PRE 222
+#define CSS_VAL_RELATIVE 223
+#define CSS_VAL_SCROLL 224
+#define CSS_VAL_SEPARATE 225
+#define CSS_VAL_SHOW 226
+#define CSS_VAL_STATIC 227
+#define CSS_VAL_THICK 228
+#define CSS_VAL_THIN 229
+#define CSS_VAL_UNDERLINE 230
+#define CSS_VAL__KHTML_NOWRAP 231
+#define CSS_VAL__KHTML_NORMAL 232
+#define CSS_VAL__KHTML_AROUND_FLOATS 233
+#define CSS_VAL_STRETCH 234
+#define CSS_VAL_START 235
+#define CSS_VAL_END 236
+#define CSS_VAL_REVERSE 237
+#define CSS_VAL_HORIZONTAL 238
+#define CSS_VAL_VERTICAL 239
+#define CSS_VAL_INLINE_AXIS 240
+#define CSS_VAL_BLOCK_AXIS 241
+#define CSS_VAL_SINGLE 242
+#define CSS_VAL_MULTIPLE 243
+#define CSS_VAL_FORWARDS 244
+#define CSS_VAL_BACKWARDS 245
+#define CSS_VAL_AHEAD 246
+#define CSS_VAL_UP 247
+#define CSS_VAL_DOWN 248
+#define CSS_VAL_SLOW 249
+#define CSS_VAL_FAST 250
+#define CSS_VAL_INFINITE 251
+#define CSS_VAL_SLIDE 252
+#define CSS_VAL_ALTERNATE 253
-#define CSS_VAL_TOTAL 253
+#define CSS_VAL_TOTAL 254
#endif
diff --git a/WebCore/khtml/css/cssvalues.in b/WebCore/khtml/css/cssvalues.in
index 5fc76d8..87a5218 100644
--- a/WebCore/khtml/css/cssvalues.in
+++ b/WebCore/khtml/css/cssvalues.in
@@ -25,6 +25,7 @@ dotted
dashed
solid
double
+-apple-aqua
#
# CSS_PROP_FONT:
#
diff --git a/WebCore/khtml/css/html4.css b/WebCore/khtml/css/html4.css
index e1f0b90..be2178c 100644
--- a/WebCore/khtml/css/html4.css
+++ b/WebCore/khtml/css/html4.css
@@ -430,11 +430,11 @@ acronym {
font-style: italic;
}
-:focus { outline: 1px dotted invert }
+:focus { outline: -apple-aqua 5px }
a:link { color: #0000EE; text-decoration: underline; }
-a:link:active { color: red; outline: gray 1px dotted; }
+a:link:active { color: red; outline: -apple-aqua 5px; }
a:visited { color: #551A8B; text-decoration: underline; }
-a:visited:active { color: red; outline: gray 1px dotted; }
+a:visited:active { color: red; outline: -apple-aqua 5px; }
/* ### :before is now supported, but we haven't tried reinstating this
### rule that was comment out long ago.
diff --git a/WebCore/khtml/html/html_formimpl.cpp b/WebCore/khtml/html/html_formimpl.cpp
index aa576ff..f9f950c 100644
--- a/WebCore/khtml/html/html_formimpl.cpp
+++ b/WebCore/khtml/html/html_formimpl.cpp
@@ -813,12 +813,16 @@ void HTMLGenericFormElementImpl::recalcStyle( StyleChange ch )
m_render->updateFromElement();
}
-
bool HTMLGenericFormElementImpl::isSelectable() const
{
- return m_render && m_render->isWidget() &&
- static_cast<RenderWidget*>(m_render)->widget() &&
- static_cast<RenderWidget*>(m_render)->widget()->focusPolicy() >= QWidget::TabFocus;
+ if (!m_render || m_render->width() == 0 || m_render->height() == 0 ||
+ (m_render->style() && m_render->style()->visibility() != VISIBLE))
+ return false;
+ if (m_render->isWidget()) {
+ return static_cast<RenderWidget*>(m_render)->widget() &&
+ static_cast<RenderWidget*>(m_render)->widget()->focusPolicy() >= QWidget::TabFocus;
+ }
+ return true;
}
void HTMLGenericFormElementImpl::defaultEventHandler(EventImpl *evt)
diff --git a/WebCore/khtml/html/html_inlineimpl.cpp b/WebCore/khtml/html/html_inlineimpl.cpp
index e144f85..ead0791 100644
--- a/WebCore/khtml/html/html_inlineimpl.cpp
+++ b/WebCore/khtml/html/html_inlineimpl.cpp
@@ -53,6 +53,14 @@ HTMLAnchorElementImpl::~HTMLAnchorElementImpl()
{
}
+bool HTMLAnchorElementImpl::isSelectable() const
+{
+ return m_hasAnchor &&
+ m_render &&
+ (m_render->width() > 0 && m_render->height() > 0) &&
+ m_render->style() && m_render->style()->visibility() == VISIBLE;
+}
+
NodeImpl::Id HTMLAnchorElementImpl::id() const
{
return ID_A;
@@ -82,7 +90,7 @@ void HTMLAnchorElementImpl::defaultEventHandler(EventImpl *evt)
}
if ( k ) {
- if (k->keyIdentifier() != "Enter") {
+ if (k->keyIdentifier() != "U+00000d" && k->keyIdentifier() != "Enter") {
HTMLElementImpl::defaultEventHandler(evt);
return;
}
diff --git a/WebCore/khtml/html/html_inlineimpl.h b/WebCore/khtml/html/html_inlineimpl.h
index b8c8e60..88eb4de 100644
--- a/WebCore/khtml/html/html_inlineimpl.h
+++ b/WebCore/khtml/html/html_inlineimpl.h
@@ -36,7 +36,7 @@ public:
HTMLAnchorElementImpl(DocumentPtr *doc);
~HTMLAnchorElementImpl();
- virtual bool isSelectable() const { return m_hasAnchor; }
+ virtual bool isSelectable() const;
virtual Id id() const;
virtual void parseAttribute(AttributeImpl *attr);
virtual void defaultEventHandler(EventImpl *evt);
diff --git a/WebCore/khtml/rendering/render_block.cpp b/WebCore/khtml/rendering/render_block.cpp
index c1532f5..07542f2 100644
--- a/WebCore/khtml/rendering/render_block.cpp
+++ b/WebCore/khtml/rendering/render_block.cpp
@@ -1213,8 +1213,8 @@ void RenderBlock::paintObject(QPainter *p, int _x, int _y,
paintFloats(p, _x, _y, _w, _h, scrolledX, scrolledY, paintAction == PaintActionSelection);
// 4. paint outline.
- if (!inlineFlow && paintAction == PaintActionForeground &&
- !childrenInline() && style()->outlineWidth())
+ if (!inlineFlow && paintAction == PaintActionForeground &&
+ style()->outlineWidth() && style()->visibility() == VISIBLE)
paintOutline(p, _tx, _ty, width(), height(), style());
#ifdef BOX_DEBUG
diff --git a/WebCore/khtml/rendering/render_flow.cpp b/WebCore/khtml/rendering/render_flow.cpp
index fa3cafe..142c591 100644
--- a/WebCore/khtml/rendering/render_flow.cpp
+++ b/WebCore/khtml/rendering/render_flow.cpp
@@ -249,8 +249,24 @@ QRect RenderFlow::getAbsoluteRepaintRect()
if (style()->position() == RELATIVE)
relativePositionOffset(left, top);
#endif
- QRect r(-ow+left, -ow+top, width()+ow*2, height()+ow*2);
+ int eow = ow;
+#ifdef APPLE_CHANGES
+ // Fudge a little to make sure we don't leave artifacts.
+ // We need to do better at this.
+ if (ow && style()->outlineStyle() == APPLEAQUA)
+ eow += 2;
+#endif
+ QRect r(-eow+left, -eow+top, width()+eow*2, height()+eow*2);
containingBlock()->computeAbsoluteRepaintRect(r);
+ if (ow) {
+ for (RenderObject* curr = firstChild(); curr; curr = curr->nextSibling()) {
+ if (!curr->isText()) {
+ QRect childRect = curr->getAbsoluteRepaintRectWithOutline(ow);
+ r = r.unite(childRect);
+ }
+ }
+ }
+
return r;
}
else {
diff --git a/WebCore/khtml/rendering/render_image.cpp b/WebCore/khtml/rendering/render_image.cpp
index 583fd84..067873d 100644
--- a/WebCore/khtml/rendering/render_image.cpp
+++ b/WebCore/khtml/rendering/render_image.cpp
@@ -350,7 +350,7 @@ void RenderImage::paintObject(QPainter *p, int /*_x*/, int /*_y*/, int /*_w*/, i
}
}
- if(style()->outlineWidth())
+ if(style()->outlineWidth() && style()->visibility() == VISIBLE)
paintOutline(p, _tx, _ty, width(), height(), style());
}
diff --git a/WebCore/khtml/rendering/render_inline.cpp b/WebCore/khtml/rendering/render_inline.cpp
index 63b2026..dae3f5b 100644
--- a/WebCore/khtml/rendering/render_inline.cpp
+++ b/WebCore/khtml/rendering/render_inline.cpp
@@ -294,6 +294,121 @@ void RenderInline::paintObject(QPainter *p, int _x, int _y,
}
paintLineBoxDecorations(p, _x, _y, _w, _h, _tx, _ty, paintAction);
+ if (style()->visibility() == VISIBLE && paintAction == PaintActionForeground) {
+ QRect r(_x, _y, _w, _h);
+ paintOutline(p, _tx, _ty, r, r, r);
+ }
+}
+
+void RenderInline::addFocusRingRects(QPainter *p, int _tx, int _ty)
+{
+ for (InlineRunBox* curr = firstLineBox(); curr; curr = curr->nextLineBox()) {
+ p->addFocusRingRect(_tx + curr->xPos(),
+ _ty + curr->yPos(),
+ curr->width(),
+ curr->height());
+ }
+
+ for (RenderObject* curr = firstChild(); curr; curr = curr->nextSibling()) {
+ if (!curr->isText())
+ curr->addFocusRingRects(p, _tx + curr->xPos(), _ty + curr->yPos());
+ }
+}
+
+void RenderInline::paintOutline(QPainter *p, int tx, int ty, const QRect &lastline, const QRect &thisline, const QRect &nextline)
+{
+ int ow = style()->outlineWidth();
+ if (ow == 0)
+ return;
+
+ EBorderStyle os = style()->outlineStyle();
+ QColor oc = style()->outlineColor();
+ if (!oc.isValid())
+ oc = style()->color();
+
+ int t = ty + thisline.top();
+ int l = tx + thisline.left();
+ int b = ty + thisline.bottom() + 1;
+ int r = tx + thisline.right() + 1;
+
+#ifdef APPLE_CHANGES
+ if (os == APPLEAQUA) {
+ p->initFocusRing(ow, oc);
+ addFocusRingRects(p, tx, ty);
+ p->drawFocusRing();
+ p->clearFocusRing();
+ return;
+ }
+#endif
+
+ // left edge
+ drawBorder(p,
+ l - ow,
+ t - (lastline.isEmpty() || thisline.left() < lastline.left() || lastline.right() <= thisline.left() ? ow : 0),
+ l,
+ b + (nextline.isEmpty() || thisline.left() <= nextline.left() || nextline.right() <= thisline.left() ? ow : 0),
+ BSLeft,
+ oc, style()->color(), os,
+ (lastline.isEmpty() || thisline.left() < lastline.left() || lastline.right() <= thisline.left() ? ow : -ow),
+ (nextline.isEmpty() || thisline.left() <= nextline.left() || nextline.right() <= thisline.left() ? ow : -ow),
+ true);
+
+ // right edge
+ drawBorder(p,
+ r,
+ t - (lastline.isEmpty() || lastline.right() < thisline.right() || thisline.right() <= lastline.left() ? ow : 0),
+ r + ow,
+ b + (nextline.isEmpty() || nextline.right() <= thisline.right() || thisline.right() <= nextline.left() ? ow : 0),
+ BSRight,
+ oc, style()->color(), os,
+ (lastline.isEmpty() || lastline.right() < thisline.right() || thisline.right() <= lastline.left() ? ow : -ow),
+ (nextline.isEmpty() || nextline.right() <= thisline.right() || thisline.right() <= nextline.left() ? ow : -ow),
+ true);
+ // upper edge
+ if ( thisline.left() < lastline.left())
+ drawBorder(p,
+ l - ow,
+ t - ow,
+ QMIN(r+ow, (lastline.isValid()? tx+lastline.left() : 1000000)),
+ t ,
+ BSTop, oc, style()->color(), os,
+ ow,
+ (lastline.isValid() && tx+lastline.left()+1<r+ow ? -ow : ow),
+ true);
+
+ if (lastline.right() < thisline.right())
+ drawBorder(p,
+ QMAX(lastline.isValid()?tx + lastline.right() + 1:-1000000, l - ow),
+ t - ow,
+ r + ow,
+ t ,
+ BSTop, oc, style()->color(), os,
+ (lastline.isValid() && l-ow < tx+lastline.right()+1 ? -ow : ow),
+ ow,
+ true);
+
+ // lower edge
+ if ( thisline.left() < nextline.left())
+ drawBorder(p,
+ l - ow,
+ b,
+ QMIN(r+ow, nextline.isValid()? tx+nextline.left()+1 : 1000000),
+ b + ow,
+ BSBottom, oc, style()->color(), os,
+ ow,
+ (nextline.isValid() && tx+nextline.left()+1<r+ow? -ow : ow),
+ true);
+
+ if (nextline.right() < thisline.right())
+ drawBorder(p,
+ QMAX(nextline.isValid()?tx+nextline.right()+1:-1000000 , l-ow),
+ b,
+ r + ow,
+ b + ow,
+ BSBottom, oc, style()->color(), os,
+ (nextline.isValid() && l-ow < tx+nextline.right()+1? -ow : ow),
+ ow,
+ true);
}
void RenderInline::calcMinMaxWidth()
diff --git a/WebCore/khtml/rendering/render_inline.h b/WebCore/khtml/rendering/render_inline.h
index 3e17624..87a40c0 100644
--- a/WebCore/khtml/rendering/render_inline.h
+++ b/WebCore/khtml/rendering/render_inline.h
@@ -74,8 +74,13 @@ public:
virtual int offsetLeft() const;
virtual int offsetTop() const;
+#ifdef APPLE_CHANGES
+ virtual void addFocusRingRects(QPainter *painter, int _tx, int _ty);
+#endif
+
protected:
static RenderInline* cloneInline(RenderFlow* src);
+ void paintOutline(QPainter *p, int tx, int ty, const QRect &prevLine, const QRect &thisLine, const QRect &nextLine);
private:
bool m_isContinuation : 1; // Whether or not we're a continuation of an inline.
diff --git a/WebCore/khtml/rendering/render_object.cpp b/WebCore/khtml/rendering/render_object.cpp
index 772d2e7..7c219c8 100644
--- a/WebCore/khtml/rendering/render_object.cpp
+++ b/WebCore/khtml/rendering/render_object.cpp
@@ -617,6 +617,9 @@ void RenderObject::drawBorder(QPainter *p, int x1, int y1, int x2, int y2,
{
case BNONE:
case BHIDDEN:
+#ifdef APPLE_CHANGES
+ case APPLEAQUA:
+#endif
// should not happen
if(invalidisInvert && p->rasterOp() == Qt::XorROP)
p->setRasterOp(Qt::CopyROP);
@@ -899,13 +902,30 @@ void RenderObject::paintBorder(QPainter *p, int _tx, int _ty, int w, int h, cons
}
}
+void RenderObject::addFocusRingRects(QPainter *p, int _tx, int _ty)
+{
+ p->addFocusRingRect(_tx, _ty, width(), height());
+}
+
void RenderObject::paintOutline(QPainter *p, int _tx, int _ty, int w, int h, const RenderStyle* style)
{
int ow = style->outlineWidth();
if(!ow) return;
- const QColor& oc = style->outlineColor();
EBorderStyle os = style->outlineStyle();
+ QColor oc = style->outlineColor();
+ if (!oc.isValid())
+ oc = style->color();
+
+#ifdef APPLE_CHANGES
+ if (os == APPLEAQUA) {
+ p->initFocusRing(ow, oc);
+ addFocusRingRects(p, _tx, _ty);
+ p->drawFocusRing();
+ p->clearFocusRing();
+ return;
+ }
+#endif
drawBorder(p, _tx-ow, _ty-ow, _tx, _ty+h+ow, BSLeft,
QColor(oc), style->color(),
@@ -1008,6 +1028,30 @@ void RenderObject::repaintObjectsBeforeLayout()
#endif
+QRect RenderObject::getAbsoluteRepaintRectWithOutline(int ow)
+{
+ int eow = ow;
+#if APPLE_CHANGES
+ // Fudge a little to make sure we don't leave artifacts.
+ // We need to do better at this.
+ if (style()->outlineStyle() == APPLEAQUA)
+ eow += 2;
+#endif
+ QRect r(getAbsoluteRepaintRect());
+ r.setRect(r.x()-eow, r.y()-eow, r.width()+eow*2, r.height()+eow*2);
+
+ if (isInlineFlow()) {
+ for (RenderObject* curr = firstChild(); curr; curr = curr->nextSibling()) {
+ if (!curr->isText()) {
+ QRect childRect = curr->getAbsoluteRepaintRectWithOutline(ow);
+ r = r.unite(childRect);
+ }
+ }
+ }
+
+ return r;
+}
+
QRect RenderObject::getAbsoluteRepaintRect()
{
if (parent())
diff --git a/WebCore/khtml/rendering/render_object.h b/WebCore/khtml/rendering/render_object.h
index 19e59cd..1a0a00e 100644
--- a/WebCore/khtml/rendering/render_object.h
+++ b/WebCore/khtml/rendering/render_object.h
@@ -562,6 +562,10 @@ public:
virtual int borderLeft() const { return style()->borderLeftWidth(); }
virtual int borderRight() const { return style()->borderRightWidth(); }
+#if APPLE_CHANGES
+ virtual void addFocusRingRects(QPainter *painter, int _tx, int _ty);
+#endif
+
virtual short minWidth() const { return 0; }
virtual short maxWidth() const { return 0; }
@@ -589,7 +593,7 @@ public:
// Repaint a specific subrectangle within a given object. The rect |r| is in the object's coordinate space.
void repaintRectangle(const QRect& r, bool immediate = false);
-
+
#ifdef INCREMENTAL_REPAINTING
// Repaint only if our old bounds and new bounds are different.
virtual void repaintAfterLayoutIfNeeded(const QRect& oldBounds, const QRect& oldFullBounds);
@@ -610,6 +614,8 @@ public:
// coordinate space. This method deals with outlines and overflow.
virtual QRect getAbsoluteRepaintRect();
+ QRect getAbsoluteRepaintRectWithOutline(int ow);
+
#ifdef INCREMENTAL_REPAINTING
virtual void getAbsoluteRepaintRectIncludingFloats(QRect& bounds, QRect& boundsWithChildren);
#endif
diff --git a/WebCore/khtml/rendering/render_style.h b/WebCore/khtml/rendering/render_style.h
index 7c1a9f7..8c1a2f8 100644
--- a/WebCore/khtml/rendering/render_style.h
+++ b/WebCore/khtml/rendering/render_style.h
@@ -188,6 +188,9 @@ enum EFloat {
// not change this order!
enum EBorderStyle {
BNONE, BHIDDEN, INSET, GROOVE, RIDGE, OUTSET, DOTTED, DASHED, SOLID, DOUBLE
+#ifdef APPLE_CHANGES
+ , APPLEAQUA
+#endif
};
diff --git a/WebCore/khtml/rendering/render_text.cpp b/WebCore/khtml/rendering/render_text.cpp
index 354bc41..8f6cbe7 100644
--- a/WebCore/khtml/rendering/render_text.cpp
+++ b/WebCore/khtml/rendering/render_text.cpp
@@ -589,14 +589,6 @@ void RenderText::paintObject(QPainter *p, int /*x*/, int y, int /*w*/, int h,
}
InlineTextBox* s;
- int minx = 1000000;
- int maxx = -1000000;
- int outlinebox_y = m_lines[si]->m_y;
- QPtrList <QRect> linerects;
- linerects.setAutoDelete(true);
- linerects.append(new QRect());
-
- bool renderOutline = style()->outlineWidth()!=0;
const Font *font = &style()->htmlFont();
@@ -770,28 +762,6 @@ void RenderText::paintObject(QPainter *p, int /*x*/, int y, int /*w*/, int h,
}
-#if APPLE_CHANGES
- if (drawText)
-#endif
- if(renderOutline) {
- if(outlinebox_y == s->m_y) {
- if(minx > s->m_x) minx = s->m_x;
- int newmaxx = s->m_x+s->m_width;
- //if (parent()->isInline() && si==0) newmaxx-=paddingLeft();
- if (parent()->isInline() && si==int(m_lines.count())-1) newmaxx-=paddingRight();
- if(maxx < newmaxx) maxx = newmaxx;
- }
- else {
- QRect *curLine = new QRect(minx, outlinebox_y, maxx-minx, m_lineHeight);
- linerects.append(curLine);
-
- outlinebox_y = s->m_y;
- minx = s->m_x;
- maxx = s->m_x+s->m_width;
- //if (parent()->isInline() && si==0) maxx-=paddingLeft();
- if (parent()->isInline() && si==int(m_lines.count())-1) maxx-=paddingRight();
- }
- }
#ifdef BIDI_DEBUG
{
int h = lineHeight( false ) + paddingTop() + paddingBottom() + borderTop() + borderBottom();
@@ -808,14 +778,6 @@ void RenderText::paintObject(QPainter *p, int /*x*/, int y, int /*w*/, int h,
#if APPLE_CHANGES
} // end of for loop
#endif
-
- if(renderOutline)
- {
- linerects.append(new QRect(minx, outlinebox_y, maxx-minx, m_lineHeight));
- linerects.append(new QRect());
- for (unsigned int i = 1; i < linerects.count() - 1; i++)
- paintTextOutline(p, tx, ty, *linerects.at(i-1), *linerects.at(i), *linerects.at(i+1));
- }
}
}
@@ -1336,87 +1298,6 @@ const Font *RenderText::htmlFont(bool firstLine) const
return &style(firstLine)->htmlFont();
}
-void RenderText::paintTextOutline(QPainter *p, int tx, int ty, const QRect &lastline, const QRect &thisline, const QRect &nextline)
-{
- int ow = style()->outlineWidth();
- EBorderStyle os = style()->outlineStyle();
- QColor oc = style()->outlineColor();
-
- int t = ty + thisline.top();
- int l = tx + thisline.left();
- int b = ty + thisline.bottom() + 1;
- int r = tx + thisline.right() + 1;
-
- // left edge
- drawBorder(p,
- l - ow,
- t - (lastline.isEmpty() || thisline.left() < lastline.left() || lastline.right() <= thisline.left() ? ow : 0),
- l,
- b + (nextline.isEmpty() || thisline.left() <= nextline.left() || nextline.right() <= thisline.left() ? ow : 0),
- BSLeft,
- oc, style()->color(), os,
- (lastline.isEmpty() || thisline.left() < lastline.left() || lastline.right() <= thisline.left() ? ow : -ow),
- (nextline.isEmpty() || thisline.left() <= nextline.left() || nextline.right() <= thisline.left() ? ow : -ow),
- true);
-
- // right edge
- drawBorder(p,
- r,
- t - (lastline.isEmpty() || lastline.right() < thisline.right() || thisline.right() <= lastline.left() ? ow : 0),
- r + ow,
- b + (nextline.isEmpty() || nextline.right() <= thisline.right() || thisline.right() <= nextline.left() ? ow : 0),
- BSRight,
- oc, style()->color(), os,
- (lastline.isEmpty() || lastline.right() < thisline.right() || thisline.right() <= lastline.left() ? ow : -ow),
- (nextline.isEmpty() || nextline.right() <= thisline.right() || thisline.right() <= nextline.left() ? ow : -ow),
- true);
- // upper edge
- if ( thisline.left() < lastline.left())
- drawBorder(p,
- l - ow,
- t - ow,
- QMIN(r+ow, (lastline.isValid()? tx+lastline.left() : 1000000)),
- t ,
- BSTop, oc, style()->color(), os,
- ow,
- (lastline.isValid() && tx+lastline.left()+1<r+ow ? -ow : ow),
- true);
-
- if (lastline.right() < thisline.right())
- drawBorder(p,
- QMAX(lastline.isValid()?tx + lastline.right() + 1:-1000000, l - ow),
- t - ow,
- r + ow,
- t ,
- BSTop, oc, style()->color(), os,
- (lastline.isValid() && l-ow < tx+lastline.right()+1 ? -ow : ow),
- ow,
- true);
-
- // lower edge
- if ( thisline.left() < nextline.left())
- drawBorder(p,
- l - ow,
- b,
- QMIN(r+ow, nextline.isValid()? tx+nextline.left()+1 : 1000000),
- b + ow,
- BSBottom, oc, style()->color(), os,
- ow,
- (nextline.isValid() && tx+nextline.left()+1<r+ow? -ow : ow),
- true);
-
- if (nextline.right() < thisline.right())
- drawBorder(p,
- QMAX(nextline.isValid()?tx+nextline.right()+1:-1000000 , l-ow),
- b,
- r + ow,
- b + ow,
- BSBottom, oc, style()->color(), os,
- (nextline.isValid() && l-ow < tx+nextline.right()+1? -ow : ow),
- ow,
- true);
-}
-
RenderTextFragment::RenderTextFragment(DOM::NodeImpl* _node, DOM::DOMStringImpl* _str,
int startOffset, int endOffset)
:RenderText(_node, _str->substring(startOffset, endOffset)),
diff --git a/WebCore/khtml/rendering/render_text.h b/WebCore/khtml/rendering/render_text.h
index ea4043b..ff4eb03 100644
--- a/WebCore/khtml/rendering/render_text.h
+++ b/WebCore/khtml/rendering/render_text.h
@@ -217,9 +217,6 @@ public:
bool allAscii() const;
#endif
-protected:
- void paintTextOutline(QPainter *p, int tx, int ty, const QRect &prevLine, const QRect &thisLine, const QRect &nextLine);
-
#if APPLE_CHANGES
public:
#endif
diff --git a/WebCore/khtml/xml/dom_elementimpl.cpp b/WebCore/khtml/xml/dom_elementimpl.cpp
index 4b3d444..56304fc 100644
--- a/WebCore/khtml/xml/dom_elementimpl.cpp
+++ b/WebCore/khtml/xml/dom_elementimpl.cpp
@@ -398,11 +398,6 @@ void ElementImpl::recalcStyle( StyleChange change )
setHasChangedChild( false );
}
-bool ElementImpl::isSelectable() const
-{
- return false;
-}
-
// DOM Section 1.1.1
bool ElementImpl::childAllowed( NodeImpl *newChild )
{
diff --git a/WebCore/khtml/xml/dom_elementimpl.h b/WebCore/khtml/xml/dom_elementimpl.h
index f63b1d4..d61f2cb 100644
--- a/WebCore/khtml/xml/dom_elementimpl.h
+++ b/WebCore/khtml/xml/dom_elementimpl.h
@@ -197,7 +197,6 @@ public:
virtual void recalcStyle( StyleChange = NoChange );
virtual void mouseEventHandler( MouseEvent */*ev*/, bool /*inside*/ ) {};
- virtual bool isSelectable() const;
virtual bool childAllowed( NodeImpl *newChild );
virtual bool childTypeAllowed( unsigned short type );
diff --git a/WebCore/khtml/xml/dom_nodeimpl.cpp b/WebCore/khtml/xml/dom_nodeimpl.cpp
index b072acb..299f484 100644
--- a/WebCore/khtml/xml/dom_nodeimpl.cpp
+++ b/WebCore/khtml/xml/dom_nodeimpl.cpp
@@ -359,6 +359,10 @@ bool NodeImpl::isInline() const
return !isElementNode();
}
+bool NodeImpl::isSelectable() const
+{
+ return false;
+}
unsigned long NodeImpl::nodeIndex() const
{
@@ -1731,8 +1735,6 @@ void NodeBaseImpl::setFocus(bool received)
if (m_focused == received) return;
NodeImpl::setFocus(received);
- for(NodeImpl *it=_first;it;it=it->nextSibling())
- it->setFocus(received);
// note that we need to recalc the style
setChanged();
diff --git a/WebCore/khtml/xml/dom_nodeimpl.h b/WebCore/khtml/xml/dom_nodeimpl.h
index 41072d7..0cfcddd 100644
--- a/WebCore/khtml/xml/dom_nodeimpl.h
+++ b/WebCore/khtml/xml/dom_nodeimpl.h
@@ -202,9 +202,9 @@ public:
void setTabIndex(unsigned short _tabIndex) { m_tabIndex = _tabIndex; }
/**
- * whether this node can receive the keyboard focus.
+ * whether this node can receive the keyboard focus.
*/
- virtual bool isSelectable() const { return false; };
+ virtual bool isSelectable() const;
virtual bool isInline() const;
virtual QString toHTML() const;
diff --git a/WebCore/kwq/KWQButton.mm b/WebCore/kwq/KWQButton.mm
index 1b17cd3..95bd347 100644
--- a/WebCore/kwq/KWQButton.mm
+++ b/WebCore/kwq/KWQButton.mm
@@ -107,16 +107,36 @@
-(NSView *)nextKeyView
{
- return button && inNextValidKeyView
- ? KWQKHTMLPart::nextKeyViewForWidget(button, KWQSelectingNext)
- : [super nextKeyView];
+ NSView *view = nil;
+ if (button && inNextValidKeyView) {
+ // resign so we send a blur before setting focus on
+ // the next widget, otherwise the blur for this
+ // widget will remove focus from the widget after
+ // we tab to it
+ [self resignFirstResponder];
+ view = KWQKHTMLPart::nextKeyViewForWidget(button, KWQSelectingNext);
+ }
+ else {
+ view = [super nextKeyView];
+ }
+ return view;
}
-(NSView *)previousKeyView
{
- return button && inNextValidKeyView
- ? KWQKHTMLPart::nextKeyViewForWidget(button, KWQSelectingPrevious)
- : [super previousKeyView];
+ NSView *view = nil;
+ if (button && inNextValidKeyView) {
+ // resign so we send a blur before setting focus on
+ // the next widget, otherwise the blur for this
+ // widget will remove focus from the widget after
+ // we tab to it
+ [self resignFirstResponder];
+ view = KWQKHTMLPart::nextKeyViewForWidget(button, KWQSelectingPrevious);
+ }
+ else {
+ view = [super previousKeyView];
+ }
+ return view;
}
-(NSView *)nextValidKeyView
diff --git a/WebCore/kwq/KWQKHTMLPart.h b/WebCore/kwq/KWQKHTMLPart.h
index 4b8b6a0..bf59680 100644
--- a/WebCore/kwq/KWQKHTMLPart.h
+++ b/WebCore/kwq/KWQKHTMLPart.h
@@ -251,6 +251,7 @@ private:
NSView *nextKeyViewInFrame(DOM::NodeImpl *startingPoint, KWQSelectionDirection);
static DOM::NodeImpl *nodeForWidget(const QWidget *);
static KWQKHTMLPart *partForNode(DOM::NodeImpl *);
+ static NSView *documentViewForNode(DOM::NodeImpl *);
WebCoreBridge *_bridge;
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 8ed426c..e3b7899 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -949,6 +949,21 @@ NSView *KWQKHTMLPart::nextKeyViewInFrame(NodeImpl *node, KWQSelectionDirection d
}
}
}
+ else if ([_bridge keyboardUIMode] == WebCoreFullKeyboardAccess) {
+ DocumentImpl *doc = xmlDocImpl();
+ if (!doc) {
+ return nil;
+ }
+ doc->setFocusNode(node);
+ if (view()) {
+ QRect rect = node->getRect();
+ int offset = 50; // same offset we use for jumping to anchors in a document
+ view()->ensureVisible(rect.right() + offset, rect.bottom() + offset);
+ view()->ensureVisible(rect.left() - offset, rect.top() - offset);
+ }
+ [_bridge makeFirstResponder:[_bridge documentView]];
+ return [_bridge documentView];
+ }
}
}
@@ -958,6 +973,12 @@ NSView *KWQKHTMLPart::nextKeyViewInFrameHierarchy(NodeImpl *node, KWQSelectionDi
if (next) {
return next;
}
+
+ // remove focus from currently focused node
+ DocumentImpl *doc = xmlDocImpl();
+ if (doc) {
+ doc->setFocusNode(0);
+ }
KWQKHTMLPart *parent = KWQ(parentPart());
if (parent) {
@@ -1210,6 +1231,12 @@ KWQKHTMLPart *KWQKHTMLPart::partForNode(NodeImpl *node)
return KWQ(node->getDocument()->view()->part());
}
+NSView *KWQKHTMLPart::documentViewForNode(DOM::NodeImpl *node)
+{
+ WebCoreBridge *bridge = partForNode(node)->bridge();
+ return [bridge documentView];
+}
+
NodeImpl *KWQKHTMLPart::nodeForWidget(const QWidget *widget)
{
ASSERT_ARG(widget, widget);
@@ -1505,6 +1532,11 @@ void KWQKHTMLPart::khtmlMousePressEvent(MousePressEvent *event)
}
KWQ_UNBLOCK_EXCEPTIONS;
+ // remove focus from links
+ DocumentImpl *doc = xmlDocImpl();
+ if (doc)
+ doc->setFocusNode(0);
+
KHTMLPart::khtmlMousePressEvent(event);
}
}
@@ -2537,7 +2569,6 @@ NSAttributedString *KWQKHTMLPart::attributedString(NodeImpl *_start, int startOf
}
}
- //NSLog (@"%@", result);
return result;
KWQ_UNBLOCK_EXCEPTIONS;
diff --git a/WebCore/kwq/KWQPainter.h b/WebCore/kwq/KWQPainter.h
index d93cb39..f02434d 100644
--- a/WebCore/kwq/KWQPainter.h
+++ b/WebCore/kwq/KWQPainter.h
@@ -113,6 +113,12 @@ public:
void setShadow(int x, int y, int blur, const QColor& color);
void clearShadow();
+
+ void initFocusRing(int width);
+ void initFocusRing(int width, const QColor &);
+ void addFocusRingRect(int x, int y, int width, int height);
+ void drawFocusRing();
+ void clearFocusRing();
private:
// no copying or assignment
diff --git a/WebCore/kwq/KWQPainter.mm b/WebCore/kwq/KWQPainter.mm
index c4676b6..2edfb5d 100644
--- a/WebCore/kwq/KWQPainter.mm
+++ b/WebCore/kwq/KWQPainter.mm
@@ -28,12 +28,14 @@
#import "KWQAssertions.h"
#import "KWQExceptions.h"
#import "KWQFontMetrics.h"
+#import "KWQKHTMLPart.h"
#import "KWQPaintDevice.h"
#import "KWQPixmap.h"
#import "KWQPointArray.h"
#import "KWQPrinter.h"
#import "KWQPtrStack.h"
#import "KWQWidget.h"
+#import "WebCoreGraphicsBridge.h"
#import "WebCoreImageRenderer.h"
#import "WebCoreTextRenderer.h"
#import "WebCoreTextRendererFactory.h"
@@ -52,12 +54,16 @@ struct QPState {
};
struct QPainterPrivate {
- QPainterPrivate() : textRenderer(0) { }
- ~QPainterPrivate() { [textRenderer release]; }
+ QPainterPrivate() : textRenderer(0), focusRingPath(0), focusRingWidth(0), hasFocusRingColor(false) { }
+ ~QPainterPrivate() { [textRenderer release]; [focusRingPath release]; }
QPState state;
QPtrStack<QPState> stack;
id <WebCoreTextRenderer> textRenderer;
QFont textRendererFont;
+ NSBezierPath *focusRingPath;
+ int focusRingWidth;
+ bool hasFocusRingColor;
+ QColor focusRingColor;
};
QPainter::QPainter() : data(new QPainterPrivate), _isForPrinting(false), _usesInactiveTextBackgroundColor(false)
@@ -668,3 +674,52 @@ void QPainter::clearShadow()
CGContextSetShadowWithColor(context, CGSizeZero, 0, NULL);
}
+void QPainter::initFocusRing(int width)
+{
+ clearFocusRing();
+ data->focusRingWidth = width;
+ data->hasFocusRingColor = false;
+ data->focusRingPath = [[NSBezierPath alloc] init];
+ [data->focusRingPath setWindingRule:NSNonZeroWindingRule];
+}
+
+void QPainter::initFocusRing(int width, const QColor &color)
+{
+ initFocusRing(width);
+ data->hasFocusRingColor = true;
+ data->focusRingColor = color;
+}
+
+void QPainter::addFocusRingRect(int x, int y, int width, int height)
+{
+ ASSERT(data->focusRingPath);
+ NSRect rect = NSMakeRect(x, y, width, height);
+ int offset = (data->focusRingWidth >> 1);
+ rect = NSInsetRect(rect, -offset, -offset);
+ [data->focusRingPath appendBezierPathWithRect:rect];
+}
+
+void QPainter::drawFocusRing()
+{
+ ASSERT(data->focusRingPath);
+ if (data->state.paintingDisabled)
+ return;
+
+ NSRect bounds = [data->focusRingPath bounds];
+ if (!NSIsEmptyRect(bounds)) {
+ int radius = (data->focusRingWidth >> 1);
+ NSColor *color = data->hasFocusRingColor ? data->focusRingColor.getNSColor() : nil;
+ [NSGraphicsContext saveGraphicsState];
+ [[WebCoreGraphicsBridge sharedBridge] setFocusRingStyle:NSFocusRingOnly radius:radius color:color];
+ [data->focusRingPath fill];
+ [NSGraphicsContext restoreGraphicsState];
+ }
+}
+
+void QPainter::clearFocusRing()
+{
+ if (data->focusRingPath) {
+ [data->focusRingPath release];
+ data->focusRingPath = nil;
+ }
+}
diff --git a/WebCore/kwq/KWQRect.h b/WebCore/kwq/KWQRect.h
index 9591a9a..2dec95e 100644
--- a/WebCore/kwq/KWQRect.h
+++ b/WebCore/kwq/KWQRect.h
@@ -57,6 +57,7 @@ public:
void setY(int y) { yp = y; }
void setWidth(int width) { w = width; }
void setHeight(int height) { h = height; }
+ void setRect(int x, int y, int width, int height) { xp = x; yp = y; w = width; h = height; }
QRect intersect(const QRect &) const;
bool intersects(const QRect &) const;
QRect unite(const QRect &) const;
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index cd378d2..91d4f9a 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -240,6 +240,7 @@ typedef enum {
/* Creates a name for an frame unnamed in the HTML. It should produce repeatable results for loads of the same frameset. */
- (NSString *)generateFrameName;
- (void)frameDetached;
+- (NSView *)documentView;
- (void)loadURL:(NSURL *)URL referrer:(NSString *)referrer reload:(BOOL)reload onLoadEvent:(BOOL)onLoad target:(NSString *)target triggeringEvent:(NSEvent *)event form:(NSObject <WebDOMElement> *)form formValues:(NSDictionary *)values;
- (void)postWithURL:(NSURL *)URL referrer:(NSString *)referrer target:(NSString *)target data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event form:(NSObject <WebDOMElement> *)form formValues:(NSDictionary *)values;
diff --git a/WebCore/kwq/WebCoreBridge.mm b/WebCore/kwq/WebCoreBridge.mm
index 0268f67..e6b4f3c 100644
--- a/WebCore/kwq/WebCoreBridge.mm
+++ b/WebCore/kwq/WebCoreBridge.mm
@@ -806,12 +806,20 @@ static HTMLFormElementImpl *formElementFromDOMElement(id <WebDOMElement>element)
- (NSView *)nextKeyView
{
- return _part->nextKeyView(0, KWQSelectingNext);
+ DocumentImpl *doc = _part->xmlDocImpl();
+ if (!doc) {
+ return nil;
+ }
+ return _part->nextKeyView(doc->focusNode(), KWQSelectingNext);
}
- (NSView *)previousKeyView
{
- return _part->nextKeyView(0, KWQSelectingPrevious);
+ DocumentImpl *doc = _part->xmlDocImpl();
+ if (!doc) {
+ return nil;
+ }
+ return _part->nextKeyView(doc->focusNode(), KWQSelectingPrevious);
}
- (NSView *)nextKeyViewInsideWebFrameViews
diff --git a/WebCore/kwq/KWQNSViewExtras.h b/WebCore/kwq/WebCoreGraphicsBridge.h
similarity index 75%
copy from WebCore/kwq/KWQNSViewExtras.h
copy to WebCore/kwq/WebCoreGraphicsBridge.h
index 5261c00..feac082 100644
--- a/WebCore/kwq/KWQNSViewExtras.h
+++ b/WebCore/kwq/WebCoreGraphicsBridge.h
@@ -16,8 +16,8 @@
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
* 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
+ * 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.
@@ -25,10 +25,9 @@
#import <Cocoa/Cocoa.h>
- at interface NSView (KWQNSViewExtras)
+ at interface WebCoreGraphicsBridge : NSObject
-- (void)_KWQ_scrollFrameToVisible;
-- (void)_KWQ_scrollRectToVisible:(NSRect)rect;
-- (void)_KWQ_scrollRectToVisible:(NSRect)rect inView:(NSView *)view;
++ (WebCoreGraphicsBridge *)sharedBridge;
+- (void)setFocusRingStyle:(NSFocusRingPlacement)placement radius:(int)radius color:(NSColor *)color;
@end
diff --git a/WebCore/kwq/KWQAccObject.h b/WebCore/kwq/WebCoreGraphicsBridge.m
similarity index 74%
copy from WebCore/kwq/KWQAccObject.h
copy to WebCore/kwq/WebCoreGraphicsBridge.m
index dbfe510..89254f1 100644
--- a/WebCore/kwq/KWQAccObject.h
+++ b/WebCore/kwq/WebCoreGraphicsBridge.m
@@ -20,38 +20,34 @@
* 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#import <Foundation/Foundation.h>
+#import "WebCoreGraphicsBridge.h"
-namespace khtml {
- class RenderObject;
-}
+#import "KWQAssertions.h"
- at interface KWQAccObject : NSObject
-{
- khtml::RenderObject* m_renderer;
- id m_data;
-}
+ at implementation WebCoreGraphicsBridge
--(id)initWithRenderer:(khtml::RenderObject*)renderer;
+static WebCoreGraphicsBridge *sharedBridge;
--(long)x;
--(long)y;
--(long)width;
--(long)height;
-
--(BOOL)detached;
--(void)detach;
++ (WebCoreGraphicsBridge *)sharedBridge
+{
+ return sharedBridge;
+}
--(id)data;
--(void)setData:(id)data;
+- (id)init
+{
+ [super init];
+
+ ASSERT(!sharedBridge);
+ sharedBridge = [self retain];
+
+ return self;
+}
--(KWQAccObject*)firstChild;
--(KWQAccObject*)lastChild;
--(KWQAccObject*)previousSibling;
--(KWQAccObject*)nextSibling;
--(KWQAccObject*)parentObject;
+- (void)setFocusRingStyle:(NSFocusRingPlacement)placement radius:(int)radius color:(NSColor *)color
+{
+}
@end
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index d13ab62..1a818c7 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,17 @@
+2003-10-30 Ken Kocienda <kocienda at apple.com>
+
+ Reviewed by Hyatt
+
+ * WebCoreSupport.subproj/WebBridge.m:
+ (-[WebBridge documentView]): Added.
+ * WebCoreSupport.subproj/WebGraphicsBridge.h: Added.
+ * WebCoreSupport.subproj/WebGraphicsBridge.m: Added.
+ (+[WebGraphicsBridge createSharedBridge]): Added.
+ (-[WebGraphicsBridge setFocusRingStyle:radius:color:]): Added.
+ * WebKit.pbproj/project.pbxproj:
+ * WebView.subproj/WebFrameView.m: Create a WebGraphicsBridge
+ when creating a WebFrameView.
+
=== Safari-112 ===
2003-10-29 Maciej Stachowiak <mjs at apple.com>
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index 35d2738..842524d 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -125,6 +125,12 @@
return [[_frame findFrameNamed:name] _bridge];
}
+- (NSView *)documentView
+{
+ ASSERT(_frame != nil);
+ return [[_frame frameView] documentView];
+}
+
- (WebCoreBridge *)createWindowWithURL:(NSURL *)URL frameName:(NSString *)name
{
ASSERT(_frame != nil);
diff --git a/WebCore/kwq/KWQDummyView.h b/WebKit/WebCoreSupport.subproj/WebGraphicsBridge.h
similarity index 76%
copy from WebCore/kwq/KWQDummyView.h
copy to WebKit/WebCoreSupport.subproj/WebGraphicsBridge.h
index aca3fd2..1110d2b 100644
--- a/WebCore/kwq/KWQDummyView.h
+++ b/WebKit/WebCoreSupport.subproj/WebGraphicsBridge.h
@@ -16,18 +16,21 @@
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
* 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
+ * 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.
*/
#import <Cocoa/Cocoa.h>
+#import <WebCore/WebCoreGraphicsBridge.h>
- at interface KWQDummyView : NSView
+ at interface WebGraphicsBridge : WebCoreGraphicsBridge
{
- NSWindow *_hardCodedWindow;
}
-- (id)initWithWindow:(NSWindow *)window;
+
++ (void)createSharedBridge;
++ (WebGraphicsBridge *)sharedBridge;
+
@end
diff --git a/WebKit/WebCoreSupport.subproj/WebGraphicsBridge.m b/WebKit/WebCoreSupport.subproj/WebGraphicsBridge.m
new file mode 100644
index 0000000..8e9d55d
--- /dev/null
+++ b/WebKit/WebCoreSupport.subproj/WebGraphicsBridge.m
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2003 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
+ * 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 COMPUTER, INC. ``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 COMPUTER, INC. OR
+ * 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.
+ */
+
+#import "WebGraphicsBridge.h"
+
+#import "WebAssertions.h"
+
+#ifndef USE_APPEARANCE
+#define USE_APPEARANCE 1
+#endif
+#import <AppKit/NSInterfaceStyle_Private.h>
+#import <AppKit/NSWindow_Private.h>
+#import <AppKit/NSView_Private.h>
+#import <CoreGraphics/CGContextGState.h>
+#import <CoreGraphics/CGStyle.h>
+
+ at interface NSView (AppKitSecretsWebGraphicsBridgeKnowsAbout)
+- (NSView *)_clipViewAncestor;
+ at end
+
+ at implementation WebGraphicsBridge
+
++ (void)createSharedBridge
+{
+ if (![self sharedBridge]) {
+ [[[self alloc] init] release];
+ }
+ ASSERT([[self sharedBridge] isKindOfClass:self]);
+}
+
++ (WebGraphicsBridge *)sharedBridge;
+{
+ return (WebGraphicsBridge *)[super sharedBridge];
+}
+
+- (void)setFocusRingStyle:(NSFocusRingPlacement)placement radius:(int)radius color:(NSColor *)color
+{
+ // get clip bounds
+ NSView *clipView = [[NSView focusView] _clipViewAncestor];
+ NSRect clipRect = [clipView convertRect:[clipView _focusRingVisibleRect] toView:nil];
+
+#if SCALE
+ if (__NSHasDisplayScaleFactor(NULL)) {
+ float scaleFactor = [[view window] _scaleFactor];
+ clipRect.size.width *= scaleFactor;
+ clipRect.size.height *= scaleFactor;
+ }
+#endif
+
+ // put together the style
+ CGFocusRingStyle focusRingStyle;
+ CGStyleRef focusRingStyleRef;
+ focusRingStyle.version = 0;
+ focusRingStyle.ordering = (CGFocusRingOrdering)placement;
+ focusRingStyle.alpha = .5;
+ focusRingStyle.radius = radius ? radius : kCGFocusRingRadiusDefault;
+ focusRingStyle.threshold = kCGFocusRingThresholdDefault;
+ focusRingStyle.bounds = *(CGRect*)&clipRect;
+ focusRingStyle.accumulate = 0;
+ focusRingStyle.tint = _NSDefaultControlTint() == NSBlueControlTint ? kCGFocusRingTintBlue : kCGFocusRingTintGraphite;
+
+ NSColor *ringColor = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
+ if (ringColor) {
+ float c[4];
+ [ringColor getRed:&c[0] green:&c[1] blue:&c[2] alpha:&c[3]];
+ CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
+ CGColorRef colorRef = CGColorCreate(colorSpace, c);
+ CGColorSpaceRelease(colorSpace);
+ focusRingStyleRef = CGStyleCreateFocusRingWithColor(&focusRingStyle, colorRef);
+ CGColorRelease(colorRef);
+ }
+ else {
+ focusRingStyleRef = CGStyleCreateFocusRing(&focusRingStyle);
+ }
+ CGContextSetStyle([[NSGraphicsContext currentContext] graphicsPort], focusRingStyleRef);
+ CGStyleRelease(focusRingStyleRef);
+}
+
+ at end
diff --git a/WebKit/WebKit.pbproj/project.pbxproj b/WebKit/WebKit.pbproj/project.pbxproj
index bfc8036..71736eb 100644
--- a/WebKit/WebKit.pbproj/project.pbxproj
+++ b/WebKit/WebKit.pbproj/project.pbxproj
@@ -320,6 +320,7 @@
BE6DC39B04C62C4E004D0EF6,
ED21B9820528F7AA003299AC,
833987820543012D00EE146E,
+ BE26F18F05517E0800BFA0C3,
);
isa = PBXHeadersBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -432,6 +433,7 @@
BE07CEB2047538F000CA289C,
BE6DC39C04C62C4E004D0EF6,
65DA2609052CC18700A97B31,
+ BE26F19005517E0800BFA0C3,
);
isa = PBXSourcesBuildPhase;
runOnlyForDeploymentPostprocessing = 0;
@@ -2718,6 +2720,34 @@
settings = {
};
};
+ BE26F18D05517E0800BFA0C3 = {
+ expectedFileType = sourcecode.c.h;
+ fileEncoding = 30;
+ isa = PBXFileReference;
+ path = WebGraphicsBridge.h;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ BE26F18E05517E0800BFA0C3 = {
+ expectedFileType = sourcecode.c.objc;
+ fileEncoding = 30;
+ isa = PBXFileReference;
+ path = WebGraphicsBridge.m;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ BE26F18F05517E0800BFA0C3 = {
+ fileRef = BE26F18D05517E0800BFA0C3;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ BE26F19005517E0800BFA0C3 = {
+ fileRef = BE26F18E05517E0800BFA0C3;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
BE6DC39904C62C4E004D0EF6 = {
expectedFileType = sourcecode.c.h;
fileEncoding = 30;
@@ -3547,6 +3577,8 @@
9311022903667CF1008635CE,
F5E7B24503025CE801A80180,
F5E7B24603025CE801A80180,
+ BE26F18D05517E0800BFA0C3,
+ BE26F18E05517E0800BFA0C3,
9CE1F8A002A5C6F30ECA2ACD,
9CE1F8A102A5C6F30ECA2ACD,
9CE1F8A202A5C6F30ECA2ACD,
diff --git a/WebKit/WebView.subproj/WebFrameView.m b/WebKit/WebView.subproj/WebFrameView.m
index 648b41a..8ddca8e 100644
--- a/WebKit/WebView.subproj/WebFrameView.m
+++ b/WebKit/WebView.subproj/WebFrameView.m
@@ -13,6 +13,7 @@
#import <WebKit/WebFrame.h>
#import <WebKit/WebFrameViewPrivate.h>
#import <WebKit/WebHTMLViewPrivate.h>
+#import <WebKit/WebGraphicsBridge.h>
#import <WebKit/WebImageRenderer.h>
#import <WebKit/WebImageRendererFactory.h>
#import <WebKit/WebImageView.h>
@@ -411,6 +412,7 @@ static NSMutableDictionary *viewTypes;
[WebTextRendererFactory createSharedFactory];
[WebImageRendererFactory createSharedFactory];
[WebCookieAdapter createSharedAdapter];
+ [WebGraphicsBridge createSharedBridge];
_private = [[WebFrameViewPrivate alloc] init];
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list