Changeset 47176 in webkit
- Timestamp:
- Aug 12, 2009 7:47:16 PM (15 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 2 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r47172 r47176 1 2009-08-12 Charles Wei <charles.wei@torchmobile.com.cn> 2 3 Reviewed by Niko Zimmermann. 4 5 This is to add WCSS marquee support , which is defined by OMA and is an extension for CSS2, 6 It extends CSS display with "display:-wap-marquee;-wap-marquee-dir:xxx;-wap-marquee-speed:xxx;-wap-marquee-style:xxx" 7 Minor fixes by Eric Seidel and George Staikos. 8 https://bugs.webkit.org/show_bug.cgi?id=23727 9 10 No new tests, the tests have already been landed at LayoutTests/fast/wcss/ 11 12 * WebCore.pro: 13 * css/CSSParser.cpp: 14 (WebCore::CSSParser::parseValue): 15 * css/CSSPrimitiveValueMappings.h: 16 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 17 * css/CSSStyleSelector.cpp: 18 (WebCore::CSSStyleSelector::applyProperty): 19 * css/CSSValueKeywords.in: 20 * css/WCSSPropertyNames.in: Added. 21 * css/WCSSValueKeywords.in: Added. 22 * rendering/RenderMarquee.cpp: 23 (WebCore::RenderMarquee::start): 24 * rendering/RenderObject.cpp: 25 (WebCore::RenderObject::createObject): 26 * rendering/style/RenderStyleConstants.h: 27 (WebCore::): 28 1 29 2009-08-12 George Wright <george.wright@torchmobile.com> 2 30 -
trunk/WebCore/WebCore.pro
r47165 r47176 126 126 !contains(DEFINES, ENABLE_XSLT=.): DEFINES += ENABLE_XSLT=0 127 127 #!contains(DEFINES, ENABLE_XBL=.): DEFINES += ENABLE_XBL=1 128 !contains(DEFINES, ENABLE_WCSS=.): DEFINES += ENABLE_WCSS=0 128 129 !contains(DEFINES, ENABLE_WML=.): DEFINES += ENABLE_WML=0 129 130 !contains(DEFINES, ENABLE_SHARED_WORKERS=.): DEFINES += ENABLE_SHARED_WORKERS=0 … … 256 257 DASHBOARDSUPPORTCSSPROPERTIES = $$PWD/css/DashboardSupportCSSPropertyNames.in 257 258 258 SVGCSSPROPERTIES = $$PWD/css/SVGCSSPropertyNames.in 259 260 SVGCSSVALUES = $$PWD/css/SVGCSSValueKeywords.in 259 260 contains(DEFINES, ENABLE_SVG=1) { 261 EXTRACSSPROPERTIES += $$PWD/css/SVGCSSPropertyNames.in 262 EXTRACSSVALUES += $$PWD/css/SVGCSSValueKeywords.in 263 } 264 265 contains(DEFINES, ENABLE_WCSS=1) { 266 EXTRACSSPROPERTIES += $$PWD/css/WCSSPropertyNames.in 267 EXTRACSSVALUES += $$PWD/css/WCSSValueKeywords.in 268 } 261 269 262 270 STYLESHEETS_EMBED = \ … … 2676 2684 } 2677 2685 2686 contains(DEFINES, ENABLE_WCSS=1) { 2687 FEATURE_DEFINES_JAVASCRIPT += ENABLE_WCSS=1 2688 contains(DEFINES, ENABLE_XHTMLMP=0) { 2689 DEFINES -= ENABLE_XHTMLMP=0 2690 DEFINES += ENABLE_XHTMLMP=1 2691 } 2692 } 2693 2678 2694 contains(DEFINES, ENABLE_WML=1) { 2679 2695 SOURCES += \ … … 2984 3000 addExtraCompilerWithHeader(xlinknames) 2985 3001 2986 # GENERATOR 6-A: 2987 cssprops.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp 2988 cssprops.input = WALDOCSSPROPS 2989 cssprops.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$DASHBOARDSUPPORTCSSPROPERTIES $$SVGCSSPROPERTIES > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makeprop.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf 2990 cssprops.CONFIG = target_predeps no_link 2991 cssprops.variable_out = 2992 cssprops.depend = ${QMAKE_FILE_NAME} DASHBOARDSUPPORTCSSPROPERTIES SVGCSSPROPERTIES 2993 addExtraCompilerWithHeader(cssprops) 2994 2995 # GENERATOR 6-B: 2996 cssvalues.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.c 2997 cssvalues.input = WALDOCSSVALUES 2998 cssvalues.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$SVGCSSVALUES > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makevalues.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.gperf 2999 cssvalues.CONFIG = target_predeps no_link 3000 cssvalues.variable_out = 3001 cssvalues.depend = ${QMAKE_FILE_NAME} SVGCSSVALUES 3002 addExtraCompilerWithHeader(cssvalues) 3003 } else { 3004 # GENERATOR 6-A: 3005 cssprops.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp 3006 cssprops.input = WALDOCSSPROPS 3007 cssprops.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$DASHBOARDSUPPORTCSSPROPERTIES > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makeprop.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf 3008 cssprops.CONFIG = target_predeps no_link 3009 cssprops.variable_out = 3010 cssprops.depend = ${QMAKE_FILE_NAME} DASHBOARDSUPPORTCSSPROPERTIES 3011 addExtraCompilerWithHeader(cssprops) 3012 3013 # GENERATOR 6-B: 3014 cssvalues.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.c 3015 cssvalues.input = WALDOCSSVALUES 3016 cssvalues.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makevalues.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.gperf 3017 cssvalues.CONFIG = target_predeps no_link 3018 cssvalues.variable_out = 3019 cssvalues.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_GENERATED_SOURCES_DIR_SLASH}${QMAKE_FILE_BASE}.h 3020 addExtraCompiler(cssvalues) 3021 } 3002 } 3003 # GENERATOR 6-A: 3004 cssprops.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp 3005 cssprops.input = WALDOCSSPROPS 3006 cssprops.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$DASHBOARDSUPPORTCSSPROPERTIES $$EXTRACSSPROPERTIES > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makeprop.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf 3007 cssprops.CONFIG = target_predeps no_link 3008 cssprops.variable_out = 3009 cssprops.depend = ${QMAKE_FILE_NAME} DASHBOARDSUPPORTCSSPROPERTIES EXTRACSSPROPERTIES 3010 addExtraCompilerWithHeader(cssprops) 3011 3012 # GENERATOR 6-B: 3013 cssvalues.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.c 3014 cssvalues.input = WALDOCSSVALUES 3015 cssvalues.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$EXTRACSSVALUES > $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.in && cd $$GENERATED_SOURCES_DIR && perl $$PWD/css/makevalues.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.gperf 3016 cssvalues.CONFIG = target_predeps no_link 3017 cssvalues.variable_out = 3018 cssvalues.depend = ${QMAKE_FILE_NAME} EXTRACSSVALUES 3019 cssvalues.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_GENERATED_SOURCES_DIR_SLASH}${QMAKE_FILE_BASE}.h 3020 addExtraCompiler(cssvalues) 3022 3021 3023 3022 contains(DEFINES, ENABLE_JAVASCRIPT_DEBUGGER=1) { -
trunk/WebCore/css/CSSParser.cpp
r46547 r47176 5 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> 6 6 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/) 7 8 * 8 9 * This library is free software; you can redistribute it and/or … … 696 697 // inline-table | table-row-group | table-header-group | table-footer-group | table-row | 697 698 // table-column-group | table-column | table-cell | table-caption | box | inline-box | none | inherit 699 #if ENABLE(WCSS) 700 if ((id >= CSSValueInline && id <= CSSValueWapMarquee) || id == CSSValueNone) 701 #else 698 702 if ((id >= CSSValueInline && id <= CSSValueWebkitInlineBox) || id == CSSValueNone) 703 #endif 699 704 valid_primitive = true; 700 705 break; … … 1262 1267 valid_primitive = validUnit(value, FTime|FInteger|FNonNeg, m_strict); 1263 1268 break; 1269 #if ENABLE(WCSS) 1270 case CSSPropertyWapMarqueeDir: 1271 if (id == CSSValueLtr || id == CSSValueRtl) 1272 valid_primitive = true; 1273 break; 1274 case CSSPropertyWapMarqueeStyle: 1275 if (id == CSSValueNone || id == CSSValueSlide || id == CSSValueScroll || id == CSSValueAlternate) 1276 valid_primitive = true; 1277 break; 1278 case CSSPropertyWapMarqueeLoop: 1279 if (id == CSSValueInfinite) 1280 valid_primitive = true; 1281 else 1282 valid_primitive = validUnit(value, FInteger | FNonNeg, m_strict); 1283 break; 1284 case CSSPropertyWapMarqueeSpeed: 1285 if (id == CSSValueNormal || id == CSSValueSlow || id == CSSValueFast) 1286 valid_primitive = true; 1287 else 1288 valid_primitive = validUnit(value, FTime | FInteger | FNonNeg, m_strict); 1289 break; 1290 #endif 1264 1291 case CSSPropertyWebkitUserDrag: // auto | none | element 1265 1292 if (id == CSSValueAuto || id == CSSValueNone || id == CSSValueElement) -
trunk/WebCore/css/CSSPrimitiveValueMappings.h
r46281 r47176 2 2 * Copyright (C) 2007 Alexey Proskuryakov <ap@nypop.com>. 3 3 * Copyright (C) 2008 Apple Inc. All rights reserved. 4 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/) 4 5 * 5 6 * Redistribution and use in source and binary forms, with or without … … 778 779 m_value.ident = CSSValueTableCaption; 779 780 break; 781 #if ENABLE(WCSS) 782 case WAP_MARQUEE: 783 m_value.ident = CSSValueWapMarquee; 784 break; 785 #endif 780 786 case BOX: 781 787 m_value.ident = CSSValueWebkitBox; -
trunk/WebCore/css/CSSStyleSelector.cpp
r47155 r47176 2997 2997 case CSSPropertyDisplay: 2998 2998 HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE(display, Display) 2999 #if ENABLE(WCSS) 3000 if (primitiveValue) { 3001 if (primitiveValue->getIdent() == CSSValueWapMarquee) { 3002 // Initialize Wap Marquee style 3003 m_style->setOverflowX(OMARQUEE); 3004 m_style->setOverflowY(OMARQUEE); 3005 m_style->setWhiteSpace(NOWRAP); 3006 m_style->setMarqueeDirection(MLEFT); 3007 m_style->setMarqueeSpeed(85); // Normal speed 3008 m_style->setMarqueeLoopCount(1); 3009 m_style->setMarqueeBehavior(MSCROLL); 3010 3011 if (m_parentStyle) 3012 m_style->setDisplay(m_parentStyle->display()); 3013 else 3014 m_style->setDisplay(*primitiveValue); 3015 } else 3016 m_style->setDisplay(*primitiveValue); 3017 } 3018 #endif 2999 3019 return; 3000 3020 case CSSPropertyEmptyCells: … … 4748 4768 m_style->setMarqueeBehavior(m_parentStyle->marqueeBehavior()); 4749 4769 return; 4770 #if ENABLE(WCSS) 4771 case CSSPropertyWapMarqueeLoop: 4772 #endif 4750 4773 case CSSPropertyWebkitMarqueeRepetition: { 4751 4774 HANDLE_INHERIT_AND_INITIAL(marqueeLoopCount, MarqueeLoopCount) … … 4758 4781 return; 4759 4782 } 4783 #if ENABLE(WCSS) 4784 case CSSPropertyWapMarqueeSpeed: 4785 #endif 4760 4786 case CSSPropertyWebkitMarqueeSpeed: { 4761 4787 HANDLE_INHERIT_AND_INITIAL(marqueeSpeed, MarqueeSpeed) … … 4808 4834 return; 4809 4835 } 4836 #if ENABLE(WCSS) 4837 case CSSPropertyWapMarqueeStyle: 4838 #endif 4810 4839 case CSSPropertyWebkitMarqueeStyle: 4811 4840 HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE(marqueeBehavior, MarqueeBehavior) 4812 4841 return; 4842 #if ENABLE(WCSS) 4843 case CSSPropertyWapMarqueeDir: 4844 HANDLE_INHERIT_AND_INITIAL(marqueeDirection, MarqueeDirection) 4845 if (primitiveValue && primitiveValue->getIdent()) { 4846 switch (primitiveValue->getIdent()) { 4847 case CSSValueLtr: 4848 m_style->setMarqueeDirection(MRIGHT); 4849 break; 4850 case CSSValueRtl: 4851 m_style->setMarqueeDirection(MLEFT); 4852 break; 4853 default: 4854 m_style->setMarqueeDirection(*primitiveValue); 4855 break; 4856 } 4857 } 4858 return; 4859 #endif 4813 4860 case CSSPropertyWebkitMarqueeDirection: 4814 4861 HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE(marqueeDirection, MarqueeDirection) -
trunk/WebCore/css/CSSValueKeywords.in
r46281 r47176 261 261 -webkit-box 262 262 -webkit-inline-box 263 -wap-marquee 263 264 #none 264 265 # -
trunk/WebCore/rendering/RenderMarquee.cpp
r45624 r47176 1 1 /* 2 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 3 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/) 3 4 * 4 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. … … 153 154 void RenderMarquee::start() 154 155 { 155 if (m_timer.isActive() || m_layer->renderer()->style()->marqueeIncrement().isZero()) 156 if (m_timer.isActive() || m_layer->renderer()->style()->marqueeIncrement().isZero() 157 #if ENABLE(WCSS) && ENABLE(XHTMLMP) 158 || (m_layer->renderer()->document()->isXHTMLMPDocument() && !m_layer->renderer()->style()->marqueeLoopCount()) 159 #endif 160 ) 156 161 return; 157 162 -
trunk/WebCore/rendering/RenderObject.cpp
r46815 r47176 5 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 6 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/) 7 8 * 8 9 * This library is free software; you can redistribute it and/or … … 143 144 break; 144 145 case TABLE_CAPTION: 146 #if ENABLE(WCSS) 147 // As per the section 17.1 of the spec WAP-239-WCSS-20011026-a.pdf, 148 // the marquee box inherits and extends the characteristics of the 149 // principal block box ([CSS2] section 9.2.1). 150 case WAP_MARQUEE: 151 #endif 145 152 o = new (arena) RenderBlock(node); 146 153 break; -
trunk/WebCore/rendering/style/RenderStyleConstants.h
r46547 r47176 5 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 6 6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/) 7 8 * 8 9 * This library is free software; you can redistribute it and/or … … 299 300 TABLE_HEADER_GROUP, TABLE_FOOTER_GROUP, TABLE_ROW, 300 301 TABLE_COLUMN_GROUP, TABLE_COLUMN, TABLE_CELL, 301 TABLE_CAPTION, BOX, INLINE_BOX, NONE 302 TABLE_CAPTION, BOX, INLINE_BOX, 303 #if ENABLE(WCSS) 304 WAP_MARQUEE, 305 #endif 306 NONE 302 307 }; 303 308
Note: See TracChangeset
for help on using the changeset viewer.