Changeset 97738 in webkit


Ignore:
Timestamp:
Oct 18, 2011 4:50:49 AM (12 years ago)
Author:
mihnea@adobe.com
Message:

[CSS Regions]Parse @-webkit-region rule
https://bugs.webkit.org/show_bug.cgi?id=70021

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/regions/parsing-region-style-rule.html

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMCSS.mm:

(kitClass):

  • bindings/v8/custom/V8CSSRuleCustom.cpp:

(WebCore::toV8):

  • css/CSSGrammar.y:
  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::cssText):

  • css/CSSParser.cpp:

(WebCore::CSSParser::setReusableRegionSelectorVector):
(WebCore::CSSParser::createRegionStylingRule):

  • css/CSSParser.h:

(WebCore::CSSParser::reusableRegionSelectorVector):

  • css/CSSRegionStyleRule.cpp: Added.

(WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
(WebCore::CSSRegionStyleRule::~CSSRegionStyleRule):
(WebCore::CSSRegionStyleRule::cssText):

  • css/CSSRegionStyleRule.h: Added.
  • css/CSSRule.h:
  • css/CSSRule.idl:
  • css/CSSRuleList.cpp:

(WebCore::CSSRuleList::item):
(WebCore::CSSRuleList::rulesText):

  • css/CSSRuleList.h:
  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::selectorsText):

  • css/CSSSelectorList.h:
  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::addRegionStyleRule):
(WebCore::RuleSet::addRulesFromSheet):

  • css/CSSStyleSelector.h:
  • css/StyleBase.h:

(WebCore::StyleBase::isRegionStyleRule):

  • css/tokenizer.flex:

LayoutTests:

  • fast/dom/Window/window-properties-expected.txt:
  • fast/regions/parsing-region-style-rule-expected.txt: Added.
  • fast/regions/parsing-region-style-rule.html: Added.
  • platform/gtk/fast/dom/Window/window-properties-expected.txt:
  • platform/mac/fast/dom/Window/window-properties-expected.txt:
  • platform/qt-wk2/fast/dom/Window/window-properties-expected.txt:
  • platform/win/fast/dom/Window/window-properties-expected.txt:
Location:
trunk
Files:
4 added
29 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r97736 r97738  
     12011-10-18  Mihnea Ovidenie  <mihnea@adobe.com>
     2
     3        [CSS Regions]Parse @-webkit-region rule
     4        https://bugs.webkit.org/show_bug.cgi?id=70021
     5
     6        Reviewed by David Hyatt.
     7
     8        * fast/dom/Window/window-properties-expected.txt:
     9        * fast/regions/parsing-region-style-rule-expected.txt: Added.
     10        * fast/regions/parsing-region-style-rule.html: Added.
     11        * platform/gtk/fast/dom/Window/window-properties-expected.txt:
     12        * platform/mac/fast/dom/Window/window-properties-expected.txt:
     13        * platform/qt-wk2/fast/dom/Window/window-properties-expected.txt:
     14        * platform/win/fast/dom/Window/window-properties-expected.txt:
     15
    1162011-10-18  Philippe Normand  <pnormand@igalia.com>
    217
  • trunk/LayoutTests/fast/dom/Window/window-properties-expected.txt

    r94898 r97738  
    213213window.CSSCharsetRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    214214window.CSSCharsetRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     215window.CSSCharsetRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    215216window.CSSFontFaceRule [object CSSFontFaceRuleConstructor]
    216217window.CSSFontFaceRule.prototype [object CSSFontFaceRulePrototype]
     
    224225window.CSSFontFaceRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    225226window.CSSFontFaceRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     227window.CSSFontFaceRule.prototype.WEBKIT_REGIONS_STYLE_RULE [number]
    226228window.CSSImportRule [object CSSImportRuleConstructor]
    227229window.CSSImportRule.prototype [object CSSImportRulePrototype]
     
    235237window.CSSImportRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    236238window.CSSImportRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     239window.CSSImportRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    237240window.CSSMediaRule [object CSSMediaRuleConstructor]
    238241window.CSSMediaRule.prototype [object CSSMediaRulePrototype]
     
    246249window.CSSMediaRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    247250window.CSSMediaRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     251window.CSSMediaRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    248252window.CSSMediaRule.prototype.deleteRule [function]
    249253window.CSSMediaRule.prototype.insertRule [function]
     
    259263window.CSSPageRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    260264window.CSSPageRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     265window.CSSPageRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    261266window.CSSPrimitiveValue [object CSSPrimitiveValueConstructor]
    262267window.CSSPrimitiveValue.CSS_ATTR [number]
     
    334339window.CSSRule.WEBKIT_KEYFRAMES_RULE [number]
    335340window.CSSRule.WEBKIT_KEYFRAME_RULE [number]
     341window.CSSRule.WEBKIT_REGION_STYLE_RULE [number]
    336342window.CSSRule.prototype [object CSSRulePrototype]
    337343window.CSSRule.prototype.CHARSET_RULE [number]
     
    344350window.CSSRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    345351window.CSSRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     352window.CSSRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    346353window.CSSRuleList [object CSSRuleListConstructor]
    347354window.CSSRuleList.prototype [object CSSRuleListPrototype]
  • trunk/LayoutTests/platform/gtk/fast/dom/Window/window-properties-expected.txt

    r95527 r97738  
    213213window.CSSCharsetRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    214214window.CSSCharsetRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     215window.CSSCharsetRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    215216window.CSSFontFaceRule [object CSSFontFaceRuleConstructor]
    216217window.CSSFontFaceRule.prototype [object CSSFontFaceRulePrototype]
     
    224225window.CSSFontFaceRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    225226window.CSSFontFaceRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     227window.CSSFontFaceRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    226228window.CSSImportRule [object CSSImportRuleConstructor]
    227229window.CSSImportRule.prototype [object CSSImportRulePrototype]
     
    235237window.CSSImportRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    236238window.CSSImportRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     239window.CSSImportRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    237240window.CSSMediaRule [object CSSMediaRuleConstructor]
    238241window.CSSMediaRule.prototype [object CSSMediaRulePrototype]
     
    246249window.CSSMediaRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    247250window.CSSMediaRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     251window.CSSMediaRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    248252window.CSSMediaRule.prototype.deleteRule [function]
    249253window.CSSMediaRule.prototype.insertRule [function]
     
    259263window.CSSPageRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    260264window.CSSPageRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     265window.CSSPageRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    261266window.CSSPrimitiveValue [object CSSPrimitiveValueConstructor]
    262267window.CSSPrimitiveValue.CSS_ATTR [number]
     
    344349window.CSSRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    345350window.CSSRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     351window.CSSRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    346352window.CSSRuleList [object CSSRuleListConstructor]
    347353window.CSSRuleList.prototype [object CSSRuleListPrototype]
  • trunk/LayoutTests/platform/mac/fast/dom/Window/window-properties-expected.txt

    r96774 r97738  
    238238window.CSSCharsetRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    239239window.CSSCharsetRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     240window.CSSCharsetRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    240241window.CSSFontFaceRule [object CSSFontFaceRuleConstructor]
    241242window.CSSFontFaceRule.prototype [object CSSFontFaceRulePrototype]
     
    249250window.CSSFontFaceRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    250251window.CSSFontFaceRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     252window.CSSFontFaceRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    251253window.CSSImportRule [object CSSImportRuleConstructor]
    252254window.CSSImportRule.prototype [object CSSImportRulePrototype]
     
    260262window.CSSImportRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    261263window.CSSImportRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     264window.CSSImportRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    262265window.CSSMediaRule [object CSSMediaRuleConstructor]
    263266window.CSSMediaRule.prototype [object CSSMediaRulePrototype]
     
    271274window.CSSMediaRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    272275window.CSSMediaRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     276window.CSSMediaRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    273277window.CSSMediaRule.prototype.deleteRule [function]
    274278window.CSSMediaRule.prototype.insertRule [function]
     
    284288window.CSSPageRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    285289window.CSSPageRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     290window.CSSPageRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    286291window.CSSPrimitiveValue [object CSSPrimitiveValueConstructor]
    287292window.CSSPrimitiveValue.CSS_ATTR [number]
     
    359364window.CSSRule.WEBKIT_KEYFRAMES_RULE [number]
    360365window.CSSRule.WEBKIT_KEYFRAME_RULE [number]
     366window.CSSRule.WEBKIT_REGION_STYLE_RULE [number]
    361367window.CSSRule.prototype [object CSSRulePrototype]
    362368window.CSSRule.prototype.CHARSET_RULE [number]
     
    369375window.CSSRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    370376window.CSSRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     377window.CSSRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    371378window.CSSRuleList [object CSSRuleListConstructor]
    372379window.CSSRuleList.prototype [object CSSRuleListPrototype]
  • trunk/LayoutTests/platform/qt-wk2/fast/dom/Window/window-properties-expected.txt

    r94898 r97738  
    211211window.CSSCharsetRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    212212window.CSSCharsetRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     213window.CSSCharsetRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    213214window.CSSFontFaceRule [object CSSFontFaceRuleConstructor]
    214215window.CSSFontFaceRule.prototype [object CSSFontFaceRulePrototype]
     
    222223window.CSSFontFaceRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    223224window.CSSFontFaceRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     225window.CSSFontFaceRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    224226window.CSSImportRule [object CSSImportRuleConstructor]
    225227window.CSSImportRule.prototype [object CSSImportRulePrototype]
     
    233235window.CSSImportRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    234236window.CSSImportRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     237window.CSSImportRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    235238window.CSSMediaRule [object CSSMediaRuleConstructor]
    236239window.CSSMediaRule.prototype [object CSSMediaRulePrototype]
     
    244247window.CSSMediaRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    245248window.CSSMediaRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     249window.CSSMediaRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    246250window.CSSMediaRule.prototype.deleteRule [function]
    247251window.CSSMediaRule.prototype.insertRule [function]
     
    257261window.CSSPageRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    258262window.CSSPageRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     263window.CSSPageRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    259264window.CSSPrimitiveValue [object CSSPrimitiveValueConstructor]
    260265window.CSSPrimitiveValue.CSS_ATTR [number]
     
    342347window.CSSRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    343348window.CSSRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     349window.CSSRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    344350window.CSSRuleList [object CSSRuleListConstructor]
    345351window.CSSRuleList.prototype [object CSSRuleListPrototype]
  • trunk/LayoutTests/platform/win/fast/dom/Window/window-properties-expected.txt

    r96764 r97738  
    213213window.CSSCharsetRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    214214window.CSSCharsetRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     215window.CSSCharsetRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    215216window.CSSFontFaceRule [object CSSFontFaceRuleConstructor]
    216217window.CSSFontFaceRule.prototype [object CSSFontFaceRulePrototype]
     
    224225window.CSSFontFaceRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    225226window.CSSFontFaceRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     227window.CSSFontFaceRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    226228window.CSSImportRule [object CSSImportRuleConstructor]
    227229window.CSSImportRule.prototype [object CSSImportRulePrototype]
     
    235237window.CSSImportRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    236238window.CSSImportRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     239window.CSSImportRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    237240window.CSSMediaRule [object CSSMediaRuleConstructor]
    238241window.CSSMediaRule.prototype [object CSSMediaRulePrototype]
     
    246249window.CSSMediaRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    247250window.CSSMediaRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     251window.CSSMediaRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    248252window.CSSMediaRule.prototype.deleteRule [function]
    249253window.CSSMediaRule.prototype.insertRule [function]
     
    259263window.CSSPageRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    260264window.CSSPageRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     265window.CSSPageRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    261266window.CSSPrimitiveValue [object CSSPrimitiveValueConstructor]
    262267window.CSSPrimitiveValue.CSS_ATTR [number]
     
    344349window.CSSRule.prototype.WEBKIT_KEYFRAMES_RULE [number]
    345350window.CSSRule.prototype.WEBKIT_KEYFRAME_RULE [number]
     351window.CSSRule.prototype.WEBKIT_REGION_STYLE_RULE [number]
    346352window.CSSRuleList [object CSSRuleListConstructor]
    347353window.CSSRuleList.prototype [object CSSRuleListPrototype]
  • trunk/Source/WebCore/CMakeLists.txt

    r97721 r97738  
    455455    css/CSSPropertySourceData.cpp
    456456    css/CSSReflectValue.cpp
     457    css/CSSRegionStyleRule.cpp
    457458    css/CSSRule.cpp
    458459    css/CSSRuleList.cpp
  • trunk/Source/WebCore/ChangeLog

    r97732 r97738  
     12011-10-18  Mihnea Ovidenie  <mihnea@adobe.com>
     2
     3        [CSS Regions]Parse @-webkit-region rule
     4        https://bugs.webkit.org/show_bug.cgi?id=70021
     5
     6        Reviewed by David Hyatt.
     7
     8        Test: fast/regions/parsing-region-style-rule.html
     9
     10        * CMakeLists.txt:
     11        * GNUmakefile.list.am:
     12        * WebCore.gypi:
     13        * WebCore.pro:
     14        * WebCore.vcproj/WebCore.vcproj:
     15        * WebCore.xcodeproj/project.pbxproj:
     16        * bindings/objc/DOMCSS.mm:
     17        (kitClass):
     18        * bindings/v8/custom/V8CSSRuleCustom.cpp:
     19        (WebCore::toV8):
     20        * css/CSSGrammar.y:
     21        * css/CSSMediaRule.cpp:
     22        (WebCore::CSSMediaRule::cssText):
     23        * css/CSSParser.cpp:
     24        (WebCore::CSSParser::setReusableRegionSelectorVector):
     25        (WebCore::CSSParser::createRegionStylingRule):
     26        * css/CSSParser.h:
     27        (WebCore::CSSParser::reusableRegionSelectorVector):
     28        * css/CSSRegionStyleRule.cpp: Added.
     29        (WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
     30        (WebCore::CSSRegionStyleRule::~CSSRegionStyleRule):
     31        (WebCore::CSSRegionStyleRule::cssText):
     32        * css/CSSRegionStyleRule.h: Added.
     33        * css/CSSRule.h:
     34        * css/CSSRule.idl:
     35        * css/CSSRuleList.cpp:
     36        (WebCore::CSSRuleList::item):
     37        (WebCore::CSSRuleList::rulesText):
     38        * css/CSSRuleList.h:
     39        * css/CSSSelectorList.cpp:
     40        (WebCore::CSSSelectorList::selectorsText):
     41        * css/CSSSelectorList.h:
     42        * css/CSSStyleSelector.cpp:
     43        (WebCore::CSSStyleSelector::addRegionStyleRule):
     44        (WebCore::RuleSet::addRulesFromSheet):
     45        * css/CSSStyleSelector.h:
     46        * css/StyleBase.h:
     47        (WebCore::StyleBase::isRegionStyleRule):
     48        * css/tokenizer.flex:
     49
    1502011-10-11  Pavel Podivilov  <podivilov@chromium.org>
    251
  • trunk/Source/WebCore/GNUmakefile.list.am

    r97721 r97738  
    996996        Source/WebCore/css/CSSReflectValue.cpp \
    997997        Source/WebCore/css/CSSReflectValue.h \
     998        Source/WebCore/css/CSSRegionStyleRule.cpp \
     999        Source/WebCore/css/CSSRegionStyleRule.h \
    9981000        Source/WebCore/css/CSSRule.cpp \
    9991001        Source/WebCore/css/CSSRule.h \
  • trunk/Source/WebCore/WebCore.gypi

    r97721 r97738  
    23812381            'css/CSSPropertySourceData.cpp',
    23822382            'css/CSSReflectValue.cpp',
     2383            'css/CSSRegionStyleRule.cpp',
     2384            'css/CSSRegionStyleRule.h',
    23832385            'css/CSSRule.cpp',
    23842386            'css/CSSRule.h',
  • trunk/Source/WebCore/WebCore.pro

    r97721 r97738  
    420420    css/CSSPropertySourceData.cpp \
    421421    css/CSSReflectValue.cpp \
     422    css/CSSRegionStyleRule.cpp \
    422423    css/CSSRule.cpp \
    423424    css/CSSRuleList.cpp \
     
    14551456    css/CSSPropertyLonghand.h \
    14561457    css/CSSReflectValue.h \
     1458    css/CSSRegionStyleRule.h \
    14571459    css/CSSRule.h \
    14581460    css/CSSRuleList.h \
  • trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj

    r97721 r97738  
    3328733287                        </File>
    3328833288                        <File
     33289                                RelativePath="..\css\CSSRegionStyleRule.cpp"
     33290                                >
     33291                        </File>
     33292                        <File
     33293                                RelativePath="..\css\CSSRegionStyleRule.h"
     33294                                >
     33295                        </File>
     33296                        <File
    3328933297                                RelativePath="..\css\CSSRule.cpp"
    3329033298                                >
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r97721 r97738  
    29092909                8A9A588711E84F37008ACFD1 /* JSPerformanceTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A9A587611E84C98008ACFD1 /* JSPerformanceTiming.cpp */; };
    29102910                8A9A588811E84F37008ACFD1 /* JSPerformanceTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A9A587711E84C98008ACFD1 /* JSPerformanceTiming.h */; };
     2911                8AA61CFF144D595B00F37350 /* CSSRegionStyleRule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AA61CFD144D595B00F37350 /* CSSRegionStyleRule.cpp */; };
     2912                8AA61D00144D595B00F37350 /* CSSRegionStyleRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AA61CFE144D595B00F37350 /* CSSRegionStyleRule.h */; };
    29112913                8AB4BC77126FDB7100DEB727 /* IgnoreDestructiveWriteCountIncrementer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AB4BC76126FDB7100DEB727 /* IgnoreDestructiveWriteCountIncrementer.h */; };
    29122914                8AF4E55511DC5A36000ED3DE /* PerformanceNavigation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF4E55211DC5A36000ED3DE /* PerformanceNavigation.cpp */; };
     
    70877089                0709FC4D1025DEE30059CDBA /* AccessibilitySlider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilitySlider.h; sourceTree = "<group>"; };
    70887090                070DD8F50F01868000727DEB /* mediaControls.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = mediaControls.css; sourceTree = "<group>"; };
     7091                0735EE690F40C5E4004A2604 /* MediaPlayerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaPlayerProxy.h; sourceTree = "<group>"; };
    70897092                0753860014489E9800B78452 /* CachedCues.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CachedCues.cpp; sourceTree = "<group>"; };
    70907093                0753860114489E9800B78452 /* CachedCues.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedCues.h; sourceTree = "<group>"; };
    7091                 0735EE690F40C5E4004A2604 /* MediaPlayerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaPlayerProxy.h; sourceTree = "<group>"; };
    70927094                076F0D0912B8192700C26AA4 /* MediaPlayerPrivateAVFoundation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaPlayerPrivateAVFoundation.cpp; sourceTree = "<group>"; };
    70937095                076F0D0A12B8192700C26AA4 /* MediaPlayerPrivateAVFoundation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaPlayerPrivateAVFoundation.h; sourceTree = "<group>"; };
     
    1007310075                8A9A587611E84C98008ACFD1 /* JSPerformanceTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPerformanceTiming.cpp; sourceTree = "<group>"; };
    1007410076                8A9A587711E84C98008ACFD1 /* JSPerformanceTiming.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPerformanceTiming.h; sourceTree = "<group>"; };
     10077                8AA61CFD144D595B00F37350 /* CSSRegionStyleRule.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSRegionStyleRule.cpp; sourceTree = "<group>"; };
     10078                8AA61CFE144D595B00F37350 /* CSSRegionStyleRule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSRegionStyleRule.h; sourceTree = "<group>"; };
    1007510079                8AB4BC76126FDB7100DEB727 /* IgnoreDestructiveWriteCountIncrementer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IgnoreDestructiveWriteCountIncrementer.h; sourceTree = "<group>"; };
    1007610080                8AF4E55211DC5A36000ED3DE /* PerformanceNavigation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PerformanceNavigation.cpp; sourceTree = "<group>"; };
     
    2057820582                                BC5A12DD0DC0414800C9AFAD /* CSSReflectValue.cpp */,
    2057920583                                BC5A12DE0DC0414800C9AFAD /* CSSReflectValue.h */,
     20584                                8AA61CFD144D595B00F37350 /* CSSRegionStyleRule.cpp */,
     20585                                8AA61CFE144D595B00F37350 /* CSSRegionStyleRule.h */,
    2058020586                                A80E6CDC0A1989CA007FB8C5 /* CSSRule.cpp */,
    2058120587                                A80E6CE30A1989CA007FB8C5 /* CSSRule.h */,
     
    2461424620                                71CCB49D144824AC00C676D6 /* ImageBySizeCache.h in Headers */,
    2461524621                                0753860314489E9800B78452 /* CachedCues.h in Headers */,
     24622                                8AA61D00144D595B00F37350 /* CSSRegionStyleRule.h in Headers */,
    2461624623                        );
    2461724624                        runOnlyForDeploymentPostprocessing = 0;
     
    2746627473                                71CCB49C144824AC00C676D6 /* ImageBySizeCache.cpp in Sources */,
    2746727474                                0753860214489E9800B78452 /* CachedCues.cpp in Sources */,
     27475                                8AA61CFF144D595B00F37350 /* CSSRegionStyleRule.cpp in Sources */,
    2746827476                        );
    2746927477                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/Source/WebCore/bindings/objc/DOMCSS.mm

    r96764 r97738  
    9090        case DOM_WEBKIT_KEYFRAME_RULE:
    9191            return [DOMWebKitCSSKeyframeRule class];
     92        case DOM_WEBKIT_REGION_STYLE_RULE:
     93            return [DOMCSSUnknownRule class];
    9294    }
    9395    ASSERT_NOT_REACHED();
  • trunk/Source/WebCore/bindings/v8/custom/V8CSSRuleCustom.cpp

    r95901 r97738  
    6969    case CSSRule::WEBKIT_KEYFRAMES_RULE:
    7070        return toV8(static_cast<WebKitCSSKeyframesRule*>(impl));
     71    case CSSRule::WEBKIT_REGION_STYLE_RULE:
     72        return V8CSSRule::wrap(impl);
    7173    }
    7274    return V8CSSRule::wrap(impl);
  • trunk/Source/WebCore/css/CSSGrammar.y

    r90456 r97738  
    142142%token WEBKIT_MEDIAQUERY_SYM
    143143%token WEBKIT_SELECTOR_SYM
     144%token WEBKIT_REGION_STYLE_RULE_SYM
    144145%token <marginBox> TOPLEFTCORNER_SYM
    145146%token <marginBox> TOPLEFT_SYM
     
    220221%type <rule> block_rule
    221222%type <rule> block_valid_rule
     223%type <rule> region
    222224
    223225%type <string> maybe_ns_prefix
     
    254256%type <selectorList> selector_list
    255257%type <selectorList> simple_selector_list
     258%type <selectorList> region_selector
    256259%type <selector> selector_with_trailing_whitespace
    257260%type <selector> class
     
    411414  | namespace
    412415  | import
     416  | region
    413417  ;
    414418
     
    775779    | FONT_FACE_SYM error ';' {
    776780      $$ = 0;
     781    }
     782;
     783
     784region_selector:
     785    selector_list {
     786        if ($1) {
     787            static_cast<CSSParser*>(parser)->setReusableRegionSelectorVector($1);
     788            $$ = static_cast<CSSParser*>(parser)->reusableRegionSelectorVector();
     789        }
     790        else
     791            $$ = 0;
     792    }
     793;
     794
     795region:
     796    WEBKIT_REGION_STYLE_RULE_SYM WHITESPACE region_selector '{' maybe_space block_rule_list save_block {
     797        if ($3)
     798            $$ = static_cast<CSSParser*>(parser)->createRegionStylingRule($3, $6);
    777799    }
    778800;
  • trunk/Source/WebCore/css/CSSMediaRule.cpp

    r84527 r97738  
    120120    result += "{ \n";
    121121
    122     if (m_lstCSSRules) {
    123         unsigned len = m_lstCSSRules->length();
    124         for (unsigned i = 0; i < len; i++) {
    125             result += "  ";
    126             result += m_lstCSSRules->item(i)->cssText();
    127             result += "\n";
    128         }
    129     }
     122    if (m_lstCSSRules)
     123        result += m_lstCSSRules->rulesText();
    130124
    131125    result += "}";
  • trunk/Source/WebCore/css/CSSParser.cpp

    r97701 r97738  
    4949#include "CSSPropertySourceData.h"
    5050#include "CSSReflectValue.h"
     51#include "CSSRegionStyleRule.h"
    5152#include "CSSRuleList.h"
    5253#include "CSSSelector.h"
     
    73427343}
    73437344
     7345void CSSParser::setReusableRegionSelectorVector(Vector<OwnPtr<CSSParserSelector> >* selectors)
     7346{
     7347    if (selectors)
     7348        m_reusableRegionSelectorVector.swap(*selectors);
     7349}
     7350
     7351CSSRule* CSSParser::createRegionStylingRule(Vector<OwnPtr<CSSParserSelector> >* regionSelector, CSSRuleList* rules)
     7352{
     7353    if (!regionSelector || !rules)
     7354        return 0;
     7355
     7356    m_allowImportRules = m_allowNamespaceDeclarations = false;
     7357
     7358    RefPtr<CSSRegionStyleRule> regionRule = CSSRegionStyleRule::create(m_styleSheet, regionSelector, rules);
     7359
     7360    CSSRegionStyleRule* result = regionRule.get();
     7361    m_parsedRules.append(regionRule.release());
     7362
     7363    return result;
     7364}
     7365
    73447366CSSRule* CSSParser::createMarginAtRule(CSSSelector::MarginBoxType /* marginBox */)
    73457367{
  • trunk/Source/WebCore/css/CSSParser.h

    r97701 r97738  
    229229    CSSRule* createFontFaceRule();
    230230    CSSRule* createPageRule(PassOwnPtr<CSSParserSelector> pageSelector);
     231    CSSRule* createRegionStylingRule(Vector<OwnPtr<CSSParserSelector> >* regionSelector, CSSRuleList* rules);
    231232    CSSRule* createMarginAtRule(CSSSelector::MarginBoxType marginBox);
    232233    void startDeclarationsForMarginBox();
     
    248249
    249250    Vector<OwnPtr<CSSParserSelector> >* reusableSelectorVector() { return &m_reusableSelectorVector; }
     251
     252    void setReusableRegionSelectorVector(Vector<OwnPtr<CSSParserSelector> >* selectors);
     253    Vector<OwnPtr<CSSParserSelector> >* reusableRegionSelectorVector() { return &m_reusableRegionSelectorVector; }
    250254
    251255    void updateLastSelectorLineAndPosition();
     
    263267    CSSProperty** m_parsedProperties;
    264268    CSSSelectorList* m_selectorListForParseSelector;
     269
    265270    RefPtr<CSSPrimitiveValueCache> m_primitiveValueCache;
    266271    unsigned m_numParsedProperties;
     
    357362
    358363    Vector<OwnPtr<CSSParserSelector> > m_reusableSelectorVector;
     364    Vector<OwnPtr<CSSParserSelector> > m_reusableRegionSelectorVector;
    359365
    360366    // defines units allowed for a certain property, used in parseUnit
  • trunk/Source/WebCore/css/CSSRule.h

    r97489 r97738  
    4444        // 7 used to be VARIABLES_RULE
    4545        WEBKIT_KEYFRAMES_RULE = 8,
    46         WEBKIT_KEYFRAME_RULE
     46        WEBKIT_KEYFRAME_RULE,
     47        WEBKIT_REGION_STYLE_RULE
    4748    };
    4849
  • trunk/Source/WebCore/css/CSSRule.idl

    r89269 r97738  
    4040        const unsigned short WEBKIT_KEYFRAMES_RULE = 8;
    4141        const unsigned short WEBKIT_KEYFRAME_RULE = 9;
     42        const unsigned short WEBKIT_REGION_STYLE_RULE = 10;
    4243
    4344        readonly attribute unsigned short   type;
  • trunk/Source/WebCore/css/CSSRuleList.cpp

    r97485 r97738  
    5454}
    5555
    56 CSSRule* CSSRuleList::item(unsigned index)
     56CSSRule* CSSRuleList::item(unsigned index) const
    5757{
    5858    if (m_styleSheet)
     
    9696}
    9797
     98String CSSRuleList::rulesText() const
     99{
     100    String result;
     101
     102    for (unsigned index = 0; index < length(); ++index) {
     103        result += "  ";
     104        result += item(index)->cssText();
     105        result += "\n";
     106    }
     107
     108    return result;
     109}
     110
    98111} // namespace WebCore
  • trunk/Source/WebCore/css/CSSRuleList.h

    r97485 r97738  
    2727#include <wtf/RefPtr.h>
    2828#include <wtf/Vector.h>
     29#include <wtf/text/WTFString.h>
    2930
    3031namespace WebCore {
     
    4647
    4748    unsigned length() const;
    48     CSSRule* item(unsigned index);
     49    CSSRule* item(unsigned index) const;
    4950
    5051    // FIXME: Not part of the CSSOM. Only used by @media and @-webkit-keyframes rules.
     
    5556
    5657    CSSStyleSheet* styleSheet() { return m_styleSheet.get(); }
     58
     59    String rulesText() const;
    5760
    5861private:
  • trunk/Source/WebCore/css/CSSSelectorList.cpp

    r96517 r97738  
    106106}
    107107
     108String CSSSelectorList::selectorsText() const
     109{
     110    String result;
     111
     112    for (CSSSelector* s = first(); s; s = next(s)) {
     113        if (s != first())
     114            result += ", ";
     115        result += s->selectorText();
     116    }
     117
     118    return result;
     119}
    108120
    109121template <typename Functor>
  • trunk/Source/WebCore/css/CSSSelectorList.h

    r95901 r97738  
    4949    bool hasUnknownPseudoElements() const;
    5050
     51    String selectorsText() const;
     52
    5153private:
    5254    void deleteSelectors();
  • trunk/Source/WebCore/css/CSSStyleSelector.cpp

    r97724 r97738  
    4545#include "CSSPropertyNames.h"
    4646#include "CSSReflectValue.h"
     47#include "CSSRegionStyleRule.h"
    4748#include "CSSRuleList.h"
    4849#include "CSSSelector.h"
     
    441442}
    442443
     444void CSSStyleSelector::addRegionStyleRule(PassRefPtr<CSSRegionStyleRule> regionStyleRule)
     445{
     446    m_regionStyleRules.append(regionStyleRule);
     447}
     448
    443449// This is a simplified style setting function for keyframe styles
    444450void CSSStyleSelector::addKeyframeStyle(PassRefPtr<WebKitCSSKeyframesRule> rule)
     
    19841990        } else if (rule->isKeyframesRule())
    19851991            styleSelector->addKeyframeStyle(static_cast<WebKitCSSKeyframesRule*>(rule));
     1992        else if (rule->isRegionStyleRule() && styleSelector)
     1993            styleSelector->addRegionStyleRule(static_cast<CSSRegionStyleRule*>(rule));
    19861994    }
    19871995    if (m_autoShrinkToFitEnabled)
  • trunk/Source/WebCore/css/CSSStyleSelector.h

    r97638 r97738  
    4646class CSSFontFaceRule;
    4747class CSSImageValue;
     48class CSSRegionStyleRule;
    4849class CSSRuleList;
    4950class CSSSelector;
     
    189190    void addKeyframeStyle(PassRefPtr<WebKitCSSKeyframesRule>);
    190191    void addPageStyle(PassRefPtr<CSSPageRule>);
     192    void addRegionStyleRule(PassRefPtr<CSSRegionStyleRule>);
    191193
    192194    bool usesSiblingRules() const { return m_features.siblingRules; }
     
    256258    KeyframesRuleMap m_keyframesRuleMap;
    257259
     260    typedef Vector<RefPtr<CSSRegionStyleRule> > RegionStyleRules;
     261    RegionStyleRules m_regionStyleRules;
    258262public:
    259263    static RenderStyle* styleNotYetAvailable() { return s_styleNotYetAvailable; }
  • trunk/Source/WebCore/css/StyleBase.h

    r92448 r97738  
    5959        virtual bool isRule() const { return false; }
    6060        virtual bool isStyleRule() const { return false; }
     61        virtual bool isRegionStyleRule() const { return false; }
    6162
    6263        virtual bool isStyleSheet() const { return false; }
  • trunk/Source/WebCore/css/tokenizer.flex

    r89826 r97738  
    8181"@-webkit-keyframes"    {yyTok = WEBKIT_KEYFRAMES_SYM; return yyTok; }
    8282"@-webkit-keyframe-rule" {yyTok = WEBKIT_KEYFRAME_RULE_SYM; return yyTok; }
     83"@-webkit-region"       {yyTok = WEBKIT_REGION_STYLE_RULE_SYM; return yyTok;}
    8384
    8485"@"{ident}              {yyTok = ATKEYWORD; return yyTok; }
Note: See TracChangeset for help on using the changeset viewer.