Part 1 of the feature requested in
authorrjw <rjw@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 17 Sep 2004 00:58:41 +0000 (00:58 +0000)
committerrjw <rjw@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 17 Sep 2004 00:58:41 +0000 (00:58 +0000)
        <rdar://problem/3752791> Dashboard: Need a better solution for control regions

        This patch implements the CSS parsing necessary for dashboard regions.
        Here's an example of the syntax we support:

        <style>
        #aDiv {
            -apple-dashboard-region:
                dashboard-region-circle(control 0 0 80 0)
                dashboard-region-rectangle(control,20,0,20,0)
                dashboard-region-circle(control 80 0 0 0);
        }
        </style>

Part 2 will determine the appropriate regions.

        Reviewed by Chris.

        * khtml/css/css_valueimpl.cpp:
        (CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
        * khtml/css/css_valueimpl.h:
        (DOM::CSSPrimitiveValueImpl::):
        (DOM::DashboardRegionImpl::DashboardRegionImpl):
        (DOM::DashboardRegionImpl::~DashboardRegionImpl):
        (DOM::DashboardRegionImpl::setNext):
        (DOM::DashboardRegionImpl::setLabel):
        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue):
        (CSSParser::parseContent):
        (skipCommaInDashboardRegion):
        (CSSParser::parseDashboardRegions):
        * khtml/css/cssparser.h:
        * khtml/css/cssproperties.c:
        (hash_prop):
        (findProp):
        * khtml/css/cssproperties.h:
        * khtml/css/cssproperties.in:
        * khtml/dom/css_value.h:
        (DOM::CSSPrimitiveValue::):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7588 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog-2005-08-23
WebCore/khtml/css/css_valueimpl.cpp
WebCore/khtml/css/css_valueimpl.h
WebCore/khtml/css/cssparser.cpp
WebCore/khtml/css/cssparser.h
WebCore/khtml/css/cssproperties.c
WebCore/khtml/css/cssproperties.h
WebCore/khtml/css/cssproperties.in
WebCore/khtml/dom/css_value.h

index 4be14edcd32d10bc393a0082bf3aa0d35a5fcd63..54b437b5dbcf85cd91650fb2115930068b46d2ca 100644 (file)
@@ -1,3 +1,46 @@
+2004-09-16  Richard Williamson   <rjw@apple.com>
+
+        Part 1 of the feature requested in
+        <rdar://problem/3752791> Dashboard: Need a better solution for control regions
+
+        This patch implements the CSS parsing necessary for dashboard regions.  
+        Here's an example of the syntax we support:
+
+        <style>
+        #aDiv {
+            -apple-dashboard-region:
+                dashboard-region-circle(control 0 0 80 0)
+                dashboard-region-rectangle(control,20,0,20,0)
+                dashboard-region-circle(control 80 0 0 0); 
+        }
+        </style>
+
+       Part 2 will determine the appropriate regions.
+
+        Reviewed by Chris.
+
+        * khtml/css/css_valueimpl.cpp:
+        (CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
+        * khtml/css/css_valueimpl.h:
+        (DOM::CSSPrimitiveValueImpl::):
+        (DOM::DashboardRegionImpl::DashboardRegionImpl):
+        (DOM::DashboardRegionImpl::~DashboardRegionImpl):
+        (DOM::DashboardRegionImpl::setNext):
+        (DOM::DashboardRegionImpl::setLabel):
+        * khtml/css/cssparser.cpp:
+        (CSSParser::parseValue):
+        (CSSParser::parseContent):
+        (skipCommaInDashboardRegion):
+        (CSSParser::parseDashboardRegions):
+        * khtml/css/cssparser.h:
+        * khtml/css/cssproperties.c:
+        (hash_prop):
+        (findProp):
+        * khtml/css/cssproperties.h:
+        * khtml/css/cssproperties.in:
+        * khtml/dom/css_value.h:
+        (DOM::CSSPrimitiveValue::):
+
 2004-09-16  Darin Adler  <darin@apple.com>
 
         - fixed caret-drawing regression from my last patch
index a1dfa9f9bfa67e6946056996cc5fba0315bc72f4..d78802aeb07ffedae53829fbf63895b950c8b2a3 100644 (file)
@@ -539,6 +539,14 @@ CSSPrimitiveValueImpl::CSSPrimitiveValueImpl( RectImpl *r)
     m_type = CSSPrimitiveValue::CSS_RECT;
 }
 
+CSSPrimitiveValueImpl::CSSPrimitiveValueImpl( DashboardRegionImpl *r)
+{
+    m_value.region = r;
+    if (m_value.region)
+       m_value.region->ref();
+    m_type = CSSPrimitiveValue::CSS_DASHBOARD_REGION;
+}
+
 CSSPrimitiveValueImpl::CSSPrimitiveValueImpl(QRgb color)
 {
     m_value.rgbcolor = color;
index 19fb5576d6b37a6b7deaf45a68cfa0bb81bd8e6f..9d045ccaec144cbd7b1e3e314a26227aff9148e1 100644 (file)
@@ -158,6 +158,7 @@ protected:
 class Counter;
 class RGBColor;
 class Rect;
+class DashboardRegionImpl;
 
 class CSSPrimitiveValueImpl : public CSSValueImpl
 {
@@ -168,6 +169,7 @@ public:
     CSSPrimitiveValueImpl(const DOMString &str, CSSPrimitiveValue::UnitTypes type);
     CSSPrimitiveValueImpl(const Counter &c);
     CSSPrimitiveValueImpl( RectImpl *r);
+    CSSPrimitiveValueImpl( DashboardRegionImpl *r);
     CSSPrimitiveValueImpl(QRgb color);
 
     virtual ~CSSPrimitiveValueImpl();
@@ -238,6 +240,7 @@ protected:
        CounterImpl *counter;
        RectImpl *rect;
         QRgb rgbcolor;
+        DashboardRegionImpl *region;
     } m_value;
 };
 
@@ -289,6 +292,31 @@ protected:
     CSSPrimitiveValueImpl *m_left;
 };
 
+class DashboardRegionImpl : public RectImpl {
+public:
+    DashboardRegionImpl() : RectImpl(), m_next(0), m_isCircle(0), m_isRectangle(0) { };
+    ~DashboardRegionImpl() {
+        if (m_next)
+            m_next->deref();
+    };
+
+    void setNext (DashboardRegionImpl *next) {
+        if (m_next) m_next->deref();
+        if (next) next->ref();
+        m_next = next;
+    };
+    
+    void setLabel(const QString &label) {
+        m_label = label;
+    };
+
+public:
+    DashboardRegionImpl *m_next;
+    QString m_label;
+    unsigned int m_isCircle:1;
+    unsigned int m_isRectangle:1;
+};
+
 class CSSImageValueImpl : public CSSPrimitiveValueImpl, public khtml::CachedObjectClient
 {
 public:
index 51422746740bd98d0a8bf9e514db7e7eafc6633d..343fdd7304d9fee51e468ad8585fb920feb3473d 100644 (file)
@@ -521,6 +521,11 @@ bool CSSParser::parseValue( int propId, bool important )
            return parseShape( propId, important );
        break;
 
+    case CSS_PROP__APPLE_DASHBOARD_REGION:                 // <dashboard-region-circle> | <dashboard-region-rectangle> 
+       if ( value->unit == Value::Function )
+           return parseDashboardRegions( propId, important );
+       break;
+
     /* Start of supported CSS properties with validation. This is needed for parseShortHand to work
      * correctly and allows optimization in khtml::applyRule(..)
      */
@@ -1495,6 +1500,100 @@ bool CSSParser::parseContent( int propId, bool important )
     return false;
 }
 
+static Value *skipCommaInDashboardRegion (ValueList *args)
+{
+    if ( args->numValues == 9 ) {
+        Value *current = args->current();
+        if (current->unit == Value::Operator && current->iValue == ',' )
+            return args->next();
+    }
+    return args->current();
+}
+
+bool CSSParser::parseDashboardRegions( int propId, bool important )
+{
+    bool valid = true;
+    
+    DashboardRegionImpl *firstRegion = new DashboardRegionImpl(), *region = 0;
+
+    Value *value = valueList->current();
+    while (value) {
+        if (region == 0) {
+            region = firstRegion;
+        }
+        else {
+            DashboardRegionImpl *nextRegion = new DashboardRegionImpl();
+            region->setNext (nextRegion);
+            region = nextRegion;
+        }
+        
+        if ( value->unit != Value::Function) {
+            valid = false;
+            break;
+        }
+            
+        // Commas count as values, so allow:
+        // dashbaord-region-rectangle( label, t, r, b, l ) or dashbaord-region-rectangle( label t r b l )
+        // dashbaord-region-circle( label, t, r, b, l ) or dashbaord-region-circle( label t r b l )
+        ValueList *args = value->function->args;
+        int numArgs = value->function->args->numValues;
+        if (numArgs != 5 && numArgs != 9) {
+            valid = false;
+            break;
+        }
+        
+        QString fname = qString( value->function->name ).lower();
+        if (fname == "dashboard-region-rectangle(" ) {
+            region->m_isRectangle = true;
+        }    
+        else if (fname == "dashboard-region-circle(" ) {
+            region->m_isCircle = true;
+        }
+        else {
+            valid = false;
+            break;
+        }
+            
+        // First arg should be a label.
+        Value *arg = args->current();
+        if (arg->unit != CSSPrimitiveValue::CSS_IDENT) {
+            valid = false;
+            break;
+        }
+            
+        region->setLabel (qString(arg->string));
+
+        // Next four arguments must be offset numbers
+        int i;
+        for (i = 0; i < 4; i++) {
+            arg = args->next();
+            arg = skipCommaInDashboardRegion (args);
+
+            CSSPrimitiveValueImpl *amount = arg->id == CSS_VAL_AUTO ?
+                new CSSPrimitiveValueImpl(CSS_VAL_AUTO) :
+                new CSSPrimitiveValueImpl(arg->fValue, (CSSPrimitiveValue::UnitTypes) arg->unit );
+                
+            if ( i == 0 )
+                region->setTop( amount );
+            else if ( i == 1 )
+                region->setRight( amount );
+            else if ( i == 2 )
+                region->setBottom( amount );
+            else
+                region->setLeft( amount );
+        }
+
+        value = valueList->next();
+    }
+
+    if (valid)
+        addProperty( propId, new CSSPrimitiveValueImpl( firstRegion ), important );
+    else
+        delete firstRegion;
+        
+    return valid;
+}
+
 bool CSSParser::parseShape( int propId, bool important )
 {
     Value *value = valueList->current();
index 3e80f66a059dc7f79163d9f58304c573f538c751..11e370c46c055cf9e00900b084f52a3a82b5a74c 100644 (file)
@@ -129,6 +129,7 @@ namespace DOM {
        bool parseShortHand( const int *properties, int numProperties, bool important );
        bool parse4Values( const int *properties, bool important );
        bool parseContent( int propId, bool important );
+       bool parseDashboardRegions( int propId, bool important );
        bool parseShape( int propId, bool important );
        bool parseFont(bool important);
        CSSValueListImpl *parseFontFamily();
index 88bb3f8e6c973e140ea0c50cbdc8566a928a8f5d..3e74776b1ad818cb8f72d4594878e2bff659451d 100644 (file)
@@ -7,7 +7,7 @@ struct props {
     const char *name;
     int id;
 };
-/* maximum key range = 1661, duplicates = 0 */
+/* maximum key range = 1478, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -21,32 +21,32 @@ hash_prop (register const char *str, register unsigned int len)
 {
   static const unsigned short asso_values[] =
     {
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666,    0, 1666, 1666, 1666, 1666,
-      1666,    0, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666,   15,   75,    0,
-         0,    0,  325,   10,    0,    0,    0,   40,    0,    5,
-       510,    0,   70,   25,    0,   15,    0,   50,  125,  245,
-       240,  320,    0, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666, 1666,
-      1666, 1666, 1666, 1666, 1666, 1666
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483,    0, 1483, 1483, 1483, 1483,
+      1483,    0, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483,   40,   30,    0,
+         0,    0,  340,   15,    0,    0,   10,   25,    0,   10,
+       455,    0,   65,   10,    0,   25,    0,   90,   10,  265,
+       150,  225,    0, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483, 1483,
+      1483, 1483, 1483, 1483, 1483, 1483
     };
   register int hval = len;
 
@@ -130,11 +130,11 @@ findProp (register const char *str, register unsigned int len)
 {
   enum
     {
-      TOTAL_KEYWORDS = 153,
+      TOTAL_KEYWORDS = 154,
       MIN_WORD_LENGTH = 3,
       MAX_WORD_LENGTH = 32,
       MIN_HASH_VALUE = 5,
-      MAX_HASH_VALUE = 1665
+      MAX_HASH_VALUE = 1482
     };
 
   static const struct props wordlist_prop[] =
@@ -143,326 +143,309 @@ findProp (register const char *str, register unsigned int len)
       {"right", CSS_PROP_RIGHT},
       {"height", CSS_PROP_HEIGHT},
       {"size", CSS_PROP_SIZE},
-      {"clear", CSS_PROP_CLEAR},
-      {"cursor", CSS_PROP_CURSOR},
-      {"top", CSS_PROP_TOP},
-      {"clip", CSS_PROP_CLIP},
       {"border", CSS_PROP_BORDER},
-      {"bottom", CSS_PROP_BOTTOM},
       {"border-color", CSS_PROP_BORDER_COLOR},
-      {"quotes", CSS_PROP_QUOTES},
+      {"clear", CSS_PROP_CLEAR},
+      {"bottom", CSS_PROP_BOTTOM},
       {"border-right", CSS_PROP_BORDER_RIGHT},
-      {"page", CSS_PROP_PAGE},
       {"border-right-color", CSS_PROP_BORDER_RIGHT_COLOR},
-      {"scrollbar-3dlight-color", CSS_PROP_SCROLLBAR_3DLIGHT_COLOR},
-      {"-khtml-user-select", CSS_PROP__KHTML_USER_SELECT},
-      {"scrollbar-highlight-color", CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR},
-      {"-khtml-user-drag", CSS_PROP__KHTML_USER_DRAG},
-      {"-khtml-marquee", CSS_PROP__KHTML_MARQUEE},
-      {"border-top", CSS_PROP_BORDER_TOP},
-      {"border-top-color", CSS_PROP_BORDER_TOP_COLOR},
+      {"top", CSS_PROP_TOP},
+      {"clip", CSS_PROP_CLIP},
       {"border-bottom", CSS_PROP_BORDER_BOTTOM},
       {"border-bottom-color", CSS_PROP_BORDER_BOTTOM_COLOR},
-      {"scrollbar-track-color", CSS_PROP_SCROLLBAR_TRACK_COLOR},
+      {"border-top", CSS_PROP_BORDER_TOP},
+      {"border-top-color", CSS_PROP_BORDER_TOP_COLOR},
+      {"cursor", CSS_PROP_CURSOR},
+      {"page", CSS_PROP_PAGE},
+      {"quotes", CSS_PROP_QUOTES},
+      {"scrollbar-3dlight-color", CSS_PROP_SCROLLBAR_3DLIGHT_COLOR},
+      {"scrollbar-highlight-color", CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR},
       {"border-collapse", CSS_PROP_BORDER_COLLAPSE},
-      {"-khtml-marquee-speed", CSS_PROP__KHTML_MARQUEE_SPEED},
-      {"width", CSS_PROP_WIDTH},
+      {"scrollbar-track-color", CSS_PROP_SCROLLBAR_TRACK_COLOR},
+      {"-khtml-user-select", CSS_PROP__KHTML_USER_SELECT},
+      {"-khtml-marquee", CSS_PROP__KHTML_MARQUEE},
+      {"-khtml-user-drag", CSS_PROP__KHTML_USER_DRAG},
       {"max-height", CSS_PROP_MAX_HEIGHT},
-      {"left", CSS_PROP_LEFT},
+      {"width", CSS_PROP_WIDTH},
+      {"list-style", CSS_PROP_LIST_STYLE},
+      {"border-style", CSS_PROP_BORDER_STYLE},
+      {"-khtml-marquee-speed", CSS_PROP__KHTML_MARQUEE_SPEED},
+      {"visibility", CSS_PROP_VISIBILITY},
       {"border-width", CSS_PROP_BORDER_WIDTH},
-      {"float", CSS_PROP_FLOAT},
+      {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE},
       {"border-right-width", CSS_PROP_BORDER_RIGHT_WIDTH},
-      {"white-space", CSS_PROP_WHITE_SPACE},
-      {"list-style", CSS_PROP_LIST_STYLE},
-      {"scrollbar-arrow-color", CSS_PROP_SCROLLBAR_ARROW_COLOR},
+      {"empty-cells", CSS_PROP_EMPTY_CELLS},
+      {"opacity", CSS_PROP_OPACITY},
+      {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE},
+      {"left", CSS_PROP_LEFT},
+      {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
       {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
-      {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
+      {"-khtml-box-pack", CSS_PROP__KHTML_BOX_PACK},
+      {"border-top-style", CSS_PROP_BORDER_TOP_STYLE},
+      {"display", CSS_PROP_DISPLAY},
       {"border-top-width", CSS_PROP_BORDER_TOP_WIDTH},
       {"border-left", CSS_PROP_BORDER_LEFT},
-      {"opacity", CSS_PROP_OPACITY},
+      {"float", CSS_PROP_FLOAT},
       {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR},
-      {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
-      {"empty-cells", CSS_PROP_EMPTY_CELLS},
-      {"border-style", CSS_PROP_BORDER_STYLE},
-      {"display", CSS_PROP_DISPLAY},
-      {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE},
-      {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
-      {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
+      {"white-space", CSS_PROP_WHITE_SPACE},
+      {"scrollbar-arrow-color", CSS_PROP_SCROLLBAR_ARROW_COLOR},
       {"table-layout", CSS_PROP_TABLE_LAYOUT},
+      {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
       {"-khtml-marquee-style", CSS_PROP__KHTML_MARQUEE_STYLE},
-      {"border-top-style", CSS_PROP_BORDER_TOP_STYLE},
-      {"-khtml-box-pack", CSS_PROP__KHTML_BOX_PACK},
-      {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE},
-      {"widows", CSS_PROP_WIDOWS},
-      {"-apple-text-size-adjust", CSS_PROP__APPLE_TEXT_SIZE_ADJUST},
-      {"max-width", CSS_PROP_MAX_WIDTH},
       {"direction", CSS_PROP_DIRECTION},
-      {"text-shadow", CSS_PROP_TEXT_SHADOW},
+      {"max-width", CSS_PROP_MAX_WIDTH},
       {"line-height", CSS_PROP_LINE_HEIGHT},
       {"min-height", CSS_PROP_MIN_HEIGHT},
-      {"visibility", CSS_PROP_VISIBILITY},
+      {"text-shadow", CSS_PROP_TEXT_SHADOW},
+      {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
+      {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
       {"margin", CSS_PROP_MARGIN},
+      {"-apple-text-size-adjust", CSS_PROP__APPLE_TEXT_SIZE_ADJUST},
       {"margin-right", CSS_PROP_MARGIN_RIGHT},
       {"outline", CSS_PROP_OUTLINE},
-      {"outline-color", CSS_PROP_OUTLINE_COLOR},
-      {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
-      {"counter-reset", CSS_PROP_COUNTER_RESET},
       {"position", CSS_PROP_POSITION},
+      {"outline-color", CSS_PROP_OUTLINE_COLOR},
+      {"widows", CSS_PROP_WIDOWS},
+      {"margin-bottom", CSS_PROP_MARGIN_BOTTOM},
+      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
+      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
       {"padding", CSS_PROP_PADDING},
+      {"counter-reset", CSS_PROP_COUNTER_RESET},
+      {"unicode-bidi", CSS_PROP_UNICODE_BIDI},
       {"orphans", CSS_PROP_ORPHANS},
       {"margin-top", CSS_PROP_MARGIN_TOP},
       {"caption-side", CSS_PROP_CAPTION_SIDE},
+      {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
       {"padding-right", CSS_PROP_PADDING_RIGHT},
-      {"margin-bottom", CSS_PROP_MARGIN_BOTTOM},
+      {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
+      {"z-index", CSS_PROP_Z_INDEX},
       {"letter-spacing", CSS_PROP_LETTER_SPACING},
-      {"-khtml-flow-mode", CSS_PROP__KHTML_FLOW_MODE},
-      {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
-      {"unicode-bidi", CSS_PROP_UNICODE_BIDI},
-      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
-      {"-khtml-marquee-direction", CSS_PROP__KHTML_MARQUEE_DIRECTION},
-      {"padding-top", CSS_PROP_PADDING_TOP},
-      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
-      {"padding-bottom", CSS_PROP_PADDING_BOTTOM},
       {"overflow", CSS_PROP_OVERFLOW},
-      {"-khtml-margin-collapse", CSS_PROP__KHTML_MARGIN_COLLAPSE},
+      {"text-overline", CSS_PROP_TEXT_OVERLINE},
+      {"padding-bottom", CSS_PROP_PADDING_BOTTOM},
+      {"text-overline-color", CSS_PROP_TEXT_OVERLINE_COLOR},
+      {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
+      {"text-overline-mode", CSS_PROP_TEXT_OVERLINE_MODE},
       {"border-spacing", CSS_PROP_BORDER_SPACING},
+      {"padding-top", CSS_PROP_PADDING_TOP},
+      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
+      {"text-decoration", CSS_PROP_TEXT_DECORATION},
+      {"-khtml-marquee-direction", CSS_PROP__KHTML_MARQUEE_DIRECTION},
       {"background", CSS_PROP_BACKGROUND},
+      {"-khtml-flow-mode", CSS_PROP__KHTML_FLOW_MODE},
+      {"text-align", CSS_PROP_TEXT_ALIGN},
       {"background-color", CSS_PROP_BACKGROUND_COLOR},
+      {"-khtml-box-orient", CSS_PROP__KHTML_BOX_ORIENT},
+      {"-khtml-box-direction", CSS_PROP__KHTML_BOX_DIRECTION},
+      {"-khtml-margin-collapse", CSS_PROP__KHTML_MARGIN_COLLAPSE},
+      {"-khtml-box-lines", CSS_PROP__KHTML_BOX_LINES},
+      {"page-break-inside", CSS_PROP_PAGE_BREAK_INSIDE},
+      {"-khtml-box-flex", CSS_PROP__KHTML_BOX_FLEX},
+      {"text-line-through", CSS_PROP_TEXT_LINE_THROUGH},
       {"-khtml-marquee-repetition", CSS_PROP__KHTML_MARQUEE_REPETITION},
+      {"text-line-through-color", CSS_PROP_TEXT_LINE_THROUGH_COLOR},
       {"background-image", CSS_PROP_BACKGROUND_IMAGE},
-      {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
-      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
-      {"z-index", CSS_PROP_Z_INDEX},
-      {"page-break-inside", CSS_PROP_PAGE_BREAK_INSIDE},
       {"min-width", CSS_PROP_MIN_WIDTH},
-      {"-apple-line-clamp", CSS_PROP__APPLE_LINE_CLAMP},
+      {"-khtml-box-align", CSS_PROP__KHTML_BOX_ALIGN},
+      {"text-line-through-mode", CSS_PROP_TEXT_LINE_THROUGH_MODE},
       {"-khtml-user-modify", CSS_PROP__KHTML_USER_MODIFY},
-      {"text-decoration", CSS_PROP_TEXT_DECORATION},
-      {"-khtml-margin-top-collapse", CSS_PROP__KHTML_MARGIN_TOP_COLLAPSE},
-      {"text-align", CSS_PROP_TEXT_ALIGN},
+      {"-khtml-border-vertical-spacing", CSS_PROP__KHTML_BORDER_VERTICAL_SPACING},
       {"-khtml-margin-bottom-collapse", CSS_PROP__KHTML_MARGIN_BOTTOM_COLLAPSE},
+      {"-apple-line-clamp", CSS_PROP__APPLE_LINE_CLAMP},
+      {"-khtml-margin-top-collapse", CSS_PROP__KHTML_MARGIN_TOP_COLLAPSE},
       {"background-repeat", CSS_PROP_BACKGROUND_REPEAT},
-      {"outline-width", CSS_PROP_OUTLINE_WIDTH},
-      {"text-line-through", CSS_PROP_TEXT_LINE_THROUGH},
-      {"text-line-through-color", CSS_PROP_TEXT_LINE_THROUGH_COLOR},
-      {"text-line-through-mode", CSS_PROP_TEXT_LINE_THROUGH_MODE},
+      {"text-overflow", CSS_PROP_TEXT_OVERFLOW},
+      {"-apple-dashboard-region", CSS_PROP__APPLE_DASHBOARD_REGION},
       {"font", CSS_PROP_FONT},
+      {"outline-style", CSS_PROP_OUTLINE_STYLE},
+      {"outline-width", CSS_PROP_OUTLINE_WIDTH},
       {"font-size", CSS_PROP_FONT_SIZE},
       {"font-stretch", CSS_PROP_FONT_STRETCH},
+      {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
       {"margin-left", CSS_PROP_MARGIN_LEFT},
       {"word-spacing", CSS_PROP_WORD_SPACING},
-      {"-khtml-box-orient", CSS_PROP__KHTML_BOX_ORIENT},
-      {"text-overline", CSS_PROP_TEXT_OVERLINE},
-      {"-khtml-box-direction", CSS_PROP__KHTML_BOX_DIRECTION},
-      {"text-overline-color", CSS_PROP_TEXT_OVERLINE_COLOR},
-      {"text-overline-mode", CSS_PROP_TEXT_OVERLINE_MODE},
-      {"-khtml-box-lines", CSS_PROP__KHTML_BOX_LINES},
-      {"outline-style", CSS_PROP_OUTLINE_STYLE},
-      {"-khtml-border-vertical-spacing", CSS_PROP__KHTML_BORDER_VERTICAL_SPACING},
-      {"-khtml-box-align", CSS_PROP__KHTML_BOX_ALIGN},
-      {"-khtml-box-flex", CSS_PROP__KHTML_BOX_FLEX},
-      {"padding-left", CSS_PROP_PADDING_LEFT},
-      {"font-size-adjust", CSS_PROP_FONT_SIZE_ADJUST},
-      {"text-overflow", CSS_PROP_TEXT_OVERFLOW},
-      {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
-      {"content", CSS_PROP_CONTENT},
-      {"-khtml-box-ordinal-group", CSS_PROP__KHTML_BOX_ORDINAL_GROUP},
+      {"text-overline-style", CSS_PROP_TEXT_OVERLINE_STYLE},
       {"-khtml-box-flex-group", CSS_PROP__KHTML_BOX_FLEX_GROUP},
-      {"text-line-through-width", CSS_PROP_TEXT_LINE_THROUGH_WIDTH},
-      {"font-weight", CSS_PROP_FONT_WEIGHT},
-      {"text-transform", CSS_PROP_TEXT_TRANSFORM},
       {"text-overline-width", CSS_PROP_TEXT_OVERLINE_WIDTH},
-      {"-khtml-binding", CSS_PROP__KHTML_BINDING},
+      {"-khtml-box-ordinal-group", CSS_PROP__KHTML_BOX_ORDINAL_GROUP},
+      {"content", CSS_PROP_CONTENT},
+      {"padding-left", CSS_PROP_PADDING_LEFT},
       {"text-line-through-style", CSS_PROP_TEXT_LINE_THROUGH_STYLE},
+      {"text-line-through-width", CSS_PROP_TEXT_LINE_THROUGH_WIDTH},
+      {"font-size-adjust", CSS_PROP_FONT_SIZE_ADJUST},
+      {"-khtml-binding", CSS_PROP__KHTML_BINDING},
+      {"text-transform", CSS_PROP_TEXT_TRANSFORM},
       {"font-style", CSS_PROP_FONT_STYLE},
-      {"-khtml-marquee-increment", CSS_PROP__KHTML_MARQUEE_INCREMENT},
-      {"text-overline-style", CSS_PROP_TEXT_OVERLINE_STYLE},
-      {"outline-offset", CSS_PROP_OUTLINE_OFFSET},
-      {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT},
       {"text-indent", CSS_PROP_TEXT_INDENT},
-      {"-khtml-border-horizontal-spacing", CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING},
-      {"background-position", CSS_PROP_BACKGROUND_POSITION},
+      {"font-weight", CSS_PROP_FONT_WEIGHT},
+      {"-khtml-marquee-increment", CSS_PROP__KHTML_MARQUEE_INCREMENT},
       {"text-underline", CSS_PROP_TEXT_UNDERLINE},
       {"text-underline-color", CSS_PROP_TEXT_UNDERLINE_COLOR},
       {"text-underline-mode", CSS_PROP_TEXT_UNDERLINE_MODE},
-      {"font-family", CSS_PROP_FONT_FAMILY},
+      {"-khtml-border-horizontal-spacing", CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING},
+      {"background-position", CSS_PROP_BACKGROUND_POSITION},
+      {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT},
+      {"outline-offset", CSS_PROP_OUTLINE_OFFSET},
       {"font-variant", CSS_PROP_FONT_VARIANT},
       {"background-position-x", CSS_PROP_BACKGROUND_POSITION_X},
+      {"text-underline-style", CSS_PROP_TEXT_UNDERLINE_STYLE},
+      {"font-family", CSS_PROP_FONT_FAMILY},
       {"text-underline-width", CSS_PROP_TEXT_UNDERLINE_WIDTH},
-      {"counter-increment", CSS_PROP_COUNTER_INCREMENT},
       {"background-position-y", CSS_PROP_BACKGROUND_POSITION_Y},
-      {"text-underline-style", CSS_PROP_TEXT_UNDERLINE_STYLE}
+      {"counter-increment", CSS_PROP_COUNTER_INCREMENT}
     };
 
   static const short lookup[] =
     {
        -1,  -1,  -1,  -1,  -1,   0,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,   1,   2,  -1,  -1,   3,
-        4,  -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,   2,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   3,
+       -1,  -1,  -1,  -1,  -1,  -1,   4,  -1,  -1,  -1,
+       -1,  -1,   5,  -1,  -1,   6,   7,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,   8,  -1,  -1,
+       -1,  -1,  -1,   9,  -1,  -1,  -1,  -1,  10,  11,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,   5,  -1,   6,   7,  -1,  -1,  -1,  -1,  -1,
-       -1,   8,  -1,  -1,  -1,  -1,   9,  10,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  11,  12,  -1,  13,
-       -1,  -1,  -1,  14,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  12,  -1,  -1,  -1,  -1,  -1,  13,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  14,  -1,  -1,  -1,  -1,
+       -1,  15,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  16,  -1,  -1,  17,  -1,  -1,  -1,  -1,  -1,
+       -1,  18,  -1,  19,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  15,  -1,
-       -1,  -1,  -1,  16,  -1,  -1,  -1,  -1,  -1,  -1,
-       17,  18,  -1,  -1,  19,  20,  -1,  -1,  -1,  -1,
-       -1,  21,  -1,  -1,  -1,  -1,  -1,  -1,  22,  -1,
-       -1,  -1,  -1,  -1,  23,  -1,  -1,  -1,  -1,  -1,
-       -1,  24,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       25,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       20,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  21,  -1,  -1,  -1,  -1,
+       -1,  22,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  23,  -1,  -1,  -1,  -1,  -1,  24,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  25,  -1,  -1,  -1,  26,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  26,  -1,  -1,  -1,  -1,
-       27,  -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,
-       28,  -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,  29,
-       -1,  -1,  30,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  31,  -1,  -1,  32,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  33,  -1,  -1,  -1,
-       34,  -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,  35,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  36,  -1,  -1,  -1,
-       -1,  -1,  37,  -1,  -1,  -1,  38,  -1,  -1,  -1,
-       -1,  39,  40,  -1,  -1,  -1,  -1,  41,  -1,  42,
-       -1,  43,  44,  -1,  -1,  -1,  -1,  45,  -1,  -1,
-       -1,  -1,  -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,  47,  -1,  -1,  -1,  48,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  49,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  50,  51,  -1,  -1,  -1,
-       52,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  53,
-       -1,  54,  -1,  55,  56,  -1,  -1,  -1,  -1,  57,
-       -1,  -1,  -1,  -1,  -1,  -1,  58,  -1,  -1,  -1,
-       -1,  59,  -1,  -1,  -1,  60,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  61,  62,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  63,  -1,  -1,  -1,  -1,  64,  -1,  -1,
-       -1,  -1,  -1,  65,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  66,  -1,  -1,  -1,  -1,  -1,  -1,  67,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  68,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  69,  -1,  -1,  -1,  -1,  70,  -1,  -1,
-       71,  -1,  72,  -1,  -1,  -1,  -1,  -1,  73,  -1,
-       -1,  -1,  -1,  74,  75,  -1,  76,  -1,  -1,  -1,
-       -1,  -1,  77,  -1,  -1,  -1,  -1,  78,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  79,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  80,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  81,  -1,  -1,  82,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  83,
-       -1,  -1,  -1,  84,  -1,  -1,  -1,  85,  -1,  86,
-       87,  -1,  -1,  -1,  -1,  -1,  88,  -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,  89,  90,  -1,  -1,  -1,
-       -1,  -1,  91,  -1,  -1,  92,  -1,  93,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  94,  -1,  95,
-       -1,  -1,  96,  -1,  -1,  -1,  -1,  -1,  97,  -1,
-       98,  99,  -1,  -1,  -1, 100,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 101,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1, 102,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 103,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1, 104,  -1,  -1,
-       -1,  -1,  -1, 105,  -1,  -1,  -1, 106,  -1, 107,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 108,
-       -1,  -1, 109,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 110, 111,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1, 112, 113,  -1,
-      114,  -1,  -1,  -1, 115,  -1,  -1,  -1, 116,  -1,
-       -1, 117,  -1,  -1,  -1,  -1,  -1,  -1, 118,  -1,
-      119, 120,  -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,
-      121,  -1, 122,  -1,  -1,  -1, 123,  -1, 124,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       27,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  28,  -1,  -1,  -1,  -1,
+       -1,  -1,  29,  -1,  -1,  30,  -1,  -1,  -1,  -1,
+       31,  -1,  -1,  -1,  -1,  -1,  -1,  32,  -1,  -1,
+       -1,  -1,  -1,  33,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  34,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  35,  36,  -1,  37,
+       -1,  -1,  -1,  -1,  38,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  39,  -1,  40,  -1,  -1,  -1,
+       41,  42,  43,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  44,  -1,  -1,  -1,
+       -1,  45,  -1,  -1,  -1,  46,  -1,  47,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  48,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  49,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  50,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  51,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  52,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  53,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  54,  -1,  -1,  -1,  -1,  -1,
+       -1,  55,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       56,  57,  -1,  -1,  -1,  58,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  59,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  60,  -1,  -1,  -1,
+       -1,  -1,  -1,  61,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  62,  -1,  -1,
+       -1,  -1,  63,  64,  -1,  -1,  -1,  -1,  65,  -1,
+       -1,  66,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  67,  68,  -1,  -1,  -1,  -1,  -1,
+       69,  -1,  70,  71,  -1,  -1,  -1,  72,  -1,  -1,
+       -1,  -1,  73,  -1,  -1,  74,  -1,  75,  -1,  -1,
+       -1,  -1,  76,  77,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  78,  79,  -1,  80,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  81,  -1,  -1,  -1,  -1,  82,  83,
+       -1,  -1,  -1,  -1,  84,  -1,  -1,  85,  -1,  -1,
+       -1,  -1,  -1,  86,  87,  -1,  -1,  -1,  -1,  -1,
+       -1,  88,  89,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       90,  -1,  -1,  -1,  91,  92,  93,  -1,  -1,  -1,
+       94,  95,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  96,  -1,  -1,
+       97,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  98,  -1,  -1,
+       -1,  99, 100,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+      101,  -1,  -1,  -1,  -1,  -1,  -1, 102,  -1,  -1,
+      103,  -1,  -1, 104,  -1,  -1, 105,  -1,  -1, 106,
+       -1, 107, 108, 109,  -1, 110,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 111,  -1,  -1, 112,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 113, 114, 115,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 116, 117,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 118,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1, 119,  -1,  -1,  -1,  -1,  -1, 120,
+       -1,  -1, 121,  -1,  -1,  -1,  -1,  -1,  -1, 122,
+       -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, 123,  -1,  -1,  -1,  -1,  -1, 124,  -1,  -1,
        -1,  -1,  -1,  -1, 125,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 126,  -1,  -1, 127,
+       -1,  -1,  -1,  -1, 128,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1, 129,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1, 130,  -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, 126,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 127,
-       -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, 128,  -1, 129,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 130,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 131,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 132,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 133,  -1,  -1,  -1, 134,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      135,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 136,
-       -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, 137,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 138,
+       -1,  -1,  -1, 131,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 132,  -1,
+       -1, 133,  -1,  -1, 134,  -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, 139,  -1,  -1,  -1,
-       -1, 140,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 135,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1, 141,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 136,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 142,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 143,  -1,  -1,  -1,  -1,  -1,
-      144,  -1,  -1,  -1, 145,  -1,  -1,  -1,  -1,  -1,
+       -1, 137,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 138,  -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, 139,
        -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, 140,  -1,  -1,  -1,  -1,  -1,
+      141,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 142,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 143,  -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, 144,
+       -1, 145,  -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, 146,  -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, 146, 147,  -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, 147,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 148,  -1,  -1,  -1,
+       -1, 148,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 149,  -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, 150,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+      149, 150,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 151,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 152,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 151,  -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, 152
+       -1,  -1, 153
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -639,6 +622,7 @@ static const char * const propertyList[] = {
 "scrollbar-track-color", 
 "scrollbar-arrow-color", 
 "-khtml-flow-mode", 
+"-apple-dashboard-region", 
     0
 };
 DOMString getPropertyName(unsigned short id)
index 100e7ac950a348d4986bd8f1e0eff69a8fdbc0bb..bf22b46b3d33e6fcaff4d9e20c389fd42b74539e 100644 (file)
 #define CSS_PROP_SCROLLBAR_TRACK_COLOR 151
 #define CSS_PROP_SCROLLBAR_ARROW_COLOR 152
 #define CSS_PROP__KHTML_FLOW_MODE 153
+#define CSS_PROP__APPLE_DASHBOARD_REGION 154
 
 #define CSS_PROP_MAX CSS_PROP_Z_INDEX
-#define CSS_PROP_TOTAL 154
+#define CSS_PROP_TOTAL 155
 #endif
 
index 862102c25b7e3cb0a0d85f048b805d5ad1729426..c27481b0e31206c4851e74fb2d02a7469c82b751 100644 (file)
@@ -165,3 +165,4 @@ scrollbar-darkshadow-color
 scrollbar-track-color
 scrollbar-arrow-color
 -khtml-flow-mode
+-apple-dashboard-region
index f464d2dc6bf3adae2066ba31c4db341325364a85..7860231e7e94f3efbb8257088c0421bc94d78545 100644 (file)
@@ -408,6 +408,7 @@ public:
         CSS_COUNTER = 23,
         CSS_RECT = 24,
         CSS_RGBCOLOR = 25,
+        CSS_DASHBOARD_REGION = 26,
         CSS_HTML_RELATIVE = 255
     };