Changeset 60880 in webkit


Ignore:
Timestamp:
Jun 8, 2010 9:44:14 PM (14 years ago)
Author:
yuzo@google.com
Message:

2010-05-18 Yuzo Fujishima <yuzo@google.com>

Reviewed by Shinichiro Hamaji.

Fix for Bug 34529 - [CSSOM] issues with cssText and selectorText
Add U16_LENGTH that is needed to implement CSS character serialization.
https://bugs.webkit.org/show_bug.cgi?id=34529

  • wtf/unicode/qt4/UnicodeQt4.h:
  • wtf/unicode/wince/UnicodeWince.h:

2010-05-18 Yuzo Fujishima <yuzo@google.com>

Reviewed by Shinichiro Hamaji.

Fix for Bug 34529 - [CSSOM] issues with cssText and selectorText
https://bugs.webkit.org/show_bug.cgi?id=34529

  • fast/css/selector-text-escape-expected.txt: Added.
  • fast/css/selector-text-escape.html: Added.

2010-05-18 Yuzo Fujishima <yuzo@google.com>

Reviewed by Shinichiro Hamaji.

Fix for Bug 34529 - [CSSOM] issues with cssText and selectorText
Serialize selector as per http://dev.w3.org/csswg/cssom/#serializing-selectors
Without this patch, for example, selectors containing ':' or '.' are not properly serialized.
https://bugs.webkit.org/show_bug.cgi?id=34529

Test: fast/css/selector-text-escape.html

  • Android.mk:
  • CMakeLists.txt:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSOMUtils.cpp: Added. (WebCore::appendCharacter): (WebCore::serializeCharacter): (WebCore::serializeCharacterAsCodePoint): (WebCore::serializeIdentifier): (WebCore::serializeString):
  • css/CSSOMUtils.h: Added.
  • css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText):
Location:
trunk
Files:
4 added
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r60852 r60880  
     12010-05-18  Yuzo Fujishima  <yuzo@google.com>
     2
     3        Reviewed by Shinichiro Hamaji.
     4
     5        Fix for Bug 34529 -  [CSSOM] issues with cssText and selectorText
     6        Add U16_LENGTH that is needed to implement CSS character serialization.
     7        https://bugs.webkit.org/show_bug.cgi?id=34529
     8
     9        * wtf/unicode/qt4/UnicodeQt4.h:
     10        * wtf/unicode/wince/UnicodeWince.h:
     11
    1122010-06-08  Sheriff Bot  <webkit.review.bot@gmail.com>
    213
  • trunk/JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h

    r58167 r60880  
    7474#define U16_LEAD(supplementary) (UChar)(((supplementary)>>10)+0xd7c0)
    7575#define U16_TRAIL(supplementary) (UChar)(((supplementary)&0x3ff)|0xdc00)
     76#define U16_LENGTH(c) ((uint32_t)(c) <= 0xffff ? 1 : 2)
    7677
    7778#define U_IS_SURROGATE(c) (((c)&0xfffff800)==0xd800)
  • trunk/JavaScriptCore/wtf/unicode/wince/UnicodeWince.h

    r46911 r60880  
    3939#define U16_LEAD(supplementary) (UChar)(((supplementary) >> 10) + 0xd7c0)
    4040#define U16_TRAIL(supplementary) (UChar)(((supplementary) & 0x3ff) | 0xdc00)
     41#define U16_LENGTH(c) ((uint32_t)(c) <= 0xffff ? 1 : 2)
    4142
    4243#define U_IS_SURROGATE(c) (((c) & 0xfffff800) == 0xd800)
  • trunk/LayoutTests/ChangeLog

    r60874 r60880  
     12010-05-18  Yuzo Fujishima  <yuzo@google.com>
     2
     3        Reviewed by Shinichiro Hamaji.
     4
     5        Fix for Bug 34529 -  [CSSOM] issues with cssText and selectorText
     6        https://bugs.webkit.org/show_bug.cgi?id=34529
     7
     8        * fast/css/selector-text-escape-expected.txt: Added.
     9        * fast/css/selector-text-escape.html: Added.
     10
    1112010-06-08  Zhenyao Mo  <zmo@google.com>
    212
  • trunk/WebCore/Android.mk

    r60776 r60880  
    4545        css/CSSMediaRule.cpp \
    4646        css/CSSMutableStyleDeclaration.cpp \
     47        css/CSSOMUtils.cpp \
    4748        css/CSSPageRule.cpp \
    4849        css/CSSParser.cpp \
  • trunk/WebCore/CMakeLists.txt

    r60799 r60880  
    706706    css/CSSMediaRule.cpp
    707707    css/CSSMutableStyleDeclaration.cpp
     708    css/CSSOMUtils.cpp
    708709    css/CSSPageRule.cpp
    709710    css/CSSParser.cpp
  • trunk/WebCore/ChangeLog

    r60877 r60880  
     12010-05-18  Yuzo Fujishima  <yuzo@google.com>
     2
     3        Reviewed by Shinichiro Hamaji.
     4
     5        Fix for Bug 34529 -  [CSSOM] issues with cssText and selectorText
     6        Serialize selector as per http://dev.w3.org/csswg/cssom/#serializing-selectors
     7        Without this patch, for example, selectors containing ':' or '.' are not properly serialized.
     8        https://bugs.webkit.org/show_bug.cgi?id=34529
     9
     10        Test: fast/css/selector-text-escape.html
     11
     12        * Android.mk:
     13        * CMakeLists.txt:
     14        * GNUmakefile.am:
     15        * WebCore.gypi:
     16        * WebCore.pro:
     17        * WebCore.vcproj/WebCore.vcproj:
     18        * WebCore.xcodeproj/project.pbxproj:
     19        * css/CSSOMUtils.cpp: Added.
     20        (WebCore::appendCharacter):
     21        (WebCore::serializeCharacter):
     22        (WebCore::serializeCharacterAsCodePoint):
     23        (WebCore::serializeIdentifier):
     24        (WebCore::serializeString):
     25        * css/CSSOMUtils.h: Added.
     26        * css/CSSSelector.cpp:
     27        (WebCore::CSSSelector::selectorText):
     28
    1292010-06-08  Ryosuke Niwa  <rniwa@webkit.org>
    230
  • trunk/WebCore/GNUmakefile.am

    r60855 r60880  
    642642        WebCore/css/CSSMutableStyleDeclaration.h \
    643643        WebCore/css/CSSNamespace.h \
     644        WebCore/css/CSSOMUtils.cpp \
     645        WebCore/css/CSSOMUtils.h \
    644646        WebCore/css/CSSPageRule.cpp \
    645647        WebCore/css/CSSPageRule.h \
  • trunk/WebCore/WebCore.gypi

    r60841 r60880  
    966966            'css/CSSMutableStyleDeclaration.h',
    967967            'css/CSSNamespace.h',
     968            'css/CSSOMUtils.cpp',
     969            'css/CSSOMUtils.h',
    968970            'css/CSSPageRule.cpp',
    969971            'css/CSSPageRule.h',
  • trunk/WebCore/WebCore.pro

    r60854 r60880  
    406406    css/CSSMediaRule.cpp \
    407407    css/CSSMutableStyleDeclaration.cpp \
     408    css/CSSOMUtils.cpp \
    408409    css/CSSPageRule.cpp \
    409410    css/CSSParser.cpp \
     
    11421143    css/CSSMediaRule.h \
    11431144    css/CSSMutableStyleDeclaration.h \
     1145    css/CSSOMUtils.h \
    11441146    css/CSSPageRule.h \
    11451147    css/CSSParser.h \
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r60849 r60880  
    2747427474                        </File>
    2747527475                        <File
     27476                                RelativePath="..\css\CSSOMUtils.cpp"
     27477                                >
     27478                        </File>
     27479                        <File
     27480                                RelativePath="..\css\CSSOMUtils.h"
     27481                                >
     27482                        </File>
     27483                        <File
    2747627484                                RelativePath="..\css\CSSNamespace.h"
    2747727485                                >
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r60861 r60880  
    50685068                F916C48D0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F916C48B0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.cpp */; };
    50695069                F916C48E0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = F916C48C0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.h */; };
     5070                F98FFF4411A2676200F548E8 /* CSSOMUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F98FFF4211A2676200F548E8 /* CSSOMUtils.cpp */; };
     5071                F98FFF4511A2676200F548E8 /* CSSOMUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = F98FFF4311A2676200F548E8 /* CSSOMUtils.h */; };
    50705072                F9F0ED7A0DB50CA200D16DB9 /* XMLHttpRequestProgressEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = F9F0ED770DB50CA200D16DB9 /* XMLHttpRequestProgressEvent.h */; };
    50715073                FA0B1F8611125CEE007F9839 /* RenderMathMLMath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FA0B1F8211125CEE007F9839 /* RenderMathMLMath.cpp */; };
     
    1066010662                F916C48B0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSXMLHttpRequestProgressEvent.cpp; sourceTree = "<group>"; };
    1066110663                F916C48C0DB510F80076CD83 /* JSXMLHttpRequestProgressEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSXMLHttpRequestProgressEvent.h; sourceTree = "<group>"; };
     10664                F98FFF4211A2676200F548E8 /* CSSOMUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSOMUtils.cpp; sourceTree = "<group>"; };
     10665                F98FFF4311A2676200F548E8 /* CSSOMUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSOMUtils.h; sourceTree = "<group>"; };
    1066210666                F9F0ED770DB50CA200D16DB9 /* XMLHttpRequestProgressEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = XMLHttpRequestProgressEvent.h; sourceTree = "<group>"; };
    1066310667                F9F0ED780DB50CA200D16DB9 /* XMLHttpRequestProgressEvent.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = XMLHttpRequestProgressEvent.idl; sourceTree = "<group>"; };
     
    1611316117                        isa = PBXGroup;
    1611416118                        children = (
     16119                                F98FFF4211A2676200F548E8 /* CSSOMUtils.cpp */,
     16120                                F98FFF4311A2676200F548E8 /* CSSOMUtils.h */,
    1611516121                                93CA4C9C09DF93FA00DF8677 /* maketokenizer */,
    1611616122                                A80E6CDA0A1989CA007FB8C5 /* Counter.h */,
     
    1944619452                                4F1534DE11B532EC0021FD86 /* EditingBehavior.h in Headers */,
    1944719453                                4F1534E011B533020021FD86 /* EditingBehaviorTypes.h in Headers */,
     19454                                F98FFF4511A2676200F548E8 /* CSSOMUtils.h in Headers */,
    1944819455                        );
    1944919456                        runOnlyForDeploymentPostprocessing = 0;
     
    2174821755                                A7BBE26611AFB3F20005EA03 /* JSHTMLMeterElement.cpp in Sources */,
    2174921756                                B6B0540911B68F10002564C5 /* IDBObjectStoreImpl.cpp in Sources */,
     21757                                F98FFF4411A2676200F548E8 /* CSSOMUtils.cpp in Sources */,
    2175021758                        );
    2175121759                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebCore/css/CSSSelector.cpp

    r59751 r60880  
    2626#include "CSSSelector.h"
    2727
    28 #include "wtf/Assertions.h"
     28#include "CSSOMUtils.h"
    2929#include "HTMLNames.h"
    30 
     30#include <wtf/Assertions.h>
    3131#include <wtf/HashMap.h>
    3232#include <wtf/StdLibExtras.h>
     
    586586        if (cs->m_match == CSSSelector::Id) {
    587587            str += "#";
    588             str += cs->m_value;
     588            serializeIdentifier(cs->m_value, str);
    589589        } else if (cs->m_match == CSSSelector::Class) {
    590590            str += ".";
    591             str += cs->m_value;
     591            serializeIdentifier(cs->m_value, str);
    592592        } else if (cs->m_match == CSSSelector::PseudoClass || cs->m_match == CSSSelector::PagePseudoClass) {
    593593            str += ":";
     
    641641            }
    642642            if (cs->m_match != CSSSelector::Set) {
    643                 str += "\"";
    644                 str += cs->m_value;
    645                 str += "\"]";
     643                serializeString(cs->m_value, str);
     644                str += "]";
    646645            }
    647646        }
Note: See TracChangeset for help on using the changeset viewer.