<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>32045</bug_id>
          
          <creation_ts>2009-12-01 17:56:03 -0800</creation_ts>
          <short_desc>Escapes need to work with known @-rules</short_desc>
          <delta_ts>2010-02-11 23:22:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.w3.org/Style/CSS/Test/CSS3/Namespace/20090210/syntax-002.xml</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>annevk</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>167816</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-12-01 17:56:03 -0800</bug_when>
    <thetext>Escape sequences aren&apos;t working correctly with @-rule names like @namespace or @import.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167818</commentid>
    <comment_count>1</comment_count>
      <attachid>44117</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-12-01 17:58:48 -0800</bug_when>
    <thetext>Created attachment 44117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167819</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-01 18:02:45 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44117 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167821</commentid>
    <comment_count>3</comment_count>
      <attachid>44117</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-12-01 18:06:01 -0800</bug_when>
    <thetext>Comment on attachment 44117
Patch

&gt; +void CSSParser::recheckAtKeyword(const UChar* str, int len)
&gt; +{
&gt; +    String ruleName(str, len);

This String construction should not be necessary. We should instead add a version of equalIgnoringCase() that takes a UChar* and a length instead of a String.  This will avoid the allocation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167852</commentid>
    <comment_count>4</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-12-01 20:29:08 -0800</bug_when>
    <thetext>Given that this is a really silly edge case that will never ever get hit in the real world, I&apos;m not too concerned about making a single String.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167995</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-12-02 07:59:39 -0800</bug_when>
    <thetext>Fixed in r51600.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189953</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-02-11 23:22:21 -0800</bug_when>
    <thetext>*** Bug 21471 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44117</attachid>
            <date>2009-12-01 17:58:48 -0800</date>
            <delta_ts>2009-12-01 20:31:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>5279</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTU3NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMTItMDEgIERhdmUgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMDQ1LCBtYWtlIHN1cmUgZXNjYXBl
IHNlcXVlbmNlcyB3b3JrIHdpdGgKKyAgICAgICAgYWxsIHRoZSBALXJ1bGVzIHdlIHN1cHBvcnQu
ICBXaGVuIGVzY2FwZSBzZXF1ZW5jZXMgYXJlIHByZXNlbnQsIHRoZSBsZXhpY2FsIHNjYW5uZXIK
KyAgICAgICAganVzdCByZXR1cm5zIGEgZ2VuZXJpYyB0b2tlbiBuYW1lOiBBVEtFWVdPUkQuICBX
ZSBoYXZlIHRvIHByb2Nlc3MgdGhlIGVzY2FwZSBzZXF1ZW5jZXMKKyAgICAgICAgYW5kIHRoZW4g
cmVjaGVjayBhZ2FpbnN0IHRoZSBydWxlcyB3ZSBzdXBwb3J0IHdpdGggdGhlIGZpbmFsIHByb2Nl
c3NlZCBuYW1lLiAgSWYgd2UKKyAgICAgICAgZmluZCBhIG1hdGNoLCB3ZSBtdXRhdGUgdGhlIHRv
a2VuIHZhbHVlIHRvIHRoZSBhcHByb3ByaWF0ZSBydWxlIG5hbWUgdG9rZW4sIGUuZy4sCisgICAg
ICAgIE5BTUVTUEFDRV9TWU0uCisKKyAgICAgICAgQWRkZWQgZmFzdC9jc3MvbmFtZXNwYWNlcy9u
YW1lc3BhY2VzLWVzY2FwZXMueG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6cmVjaGVja0F0S2V5d29yZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnRl
eHQpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKwogMjAwOS0xMi0wMSAgT2xpdmVyIEh1
bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llaiBTdGFj
aG93aWFrLgpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZpc2lvbiA1MTU2NikKKysrIFdlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2MTgsMTEgKzQ2MTgsMTMgQEAgc3Rh
dGljIGlubGluZSBpbnQgeXllcnJvcihjb25zdCBjaGFyKikgewogaW50IENTU1BhcnNlcjo6bGV4
KHZvaWQqIHl5bHZhbFdpdGhvdXRUeXBlKQogewogICAgIFlZU1RZUEUqIHl5bHZhbCA9IHN0YXRp
Y19jYXN0PFlZU1RZUEUqPih5eWx2YWxXaXRob3V0VHlwZSk7Ci0gICAgaW50IHRva2VuID0gbGV4
KCk7CiAgICAgaW50IGxlbmd0aDsKKyAgICAKKyAgICBsZXgoKTsKKwogICAgIFVDaGFyKiB0ID0g
dGV4dCgmbGVuZ3RoKTsKIAotICAgIHN3aXRjaCAodG9rZW4pIHsKKyAgICBzd2l0Y2ggKHRva2Vu
KCkpIHsKICAgICBjYXNlIFdISVRFU1BBQ0U6CiAgICAgY2FzZSBTR01MX0NEOgogICAgIGNhc2Ug
SU5DTFVERVM6CkBAIC00Njg4LDcgKzQ2OTAsNyBAQCBpbnQgQ1NTUGFyc2VyOjpsZXgodm9pZCog
eXlsdmFsV2l0aG91dFR5CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIHJldHVybiB0b2tl
bjsKKyAgICByZXR1cm4gdG9rZW4oKTsKIH0KIAogc3RhdGljIGlubGluZSBib29sIGlzQ1NTV2hp
dGVzcGFjZShVQ2hhciBjKQpAQCAtNDY5Niw2ICs0Njk4LDI4IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBpc0NTU1doaXRlc3BhY2UoVUNoYXIKICAgICByZXR1cm4gYyA9PSAnICcgfHwgYyA9PSAnXHQn
IHx8IGMgPT0gJ1xyJyB8fCBjID09ICdcbicgfHwgYyA9PSAnXGYnOwogfQogCit2b2lkIENTU1Bh
cnNlcjo6cmVjaGVja0F0S2V5d29yZChjb25zdCBVQ2hhciogc3RyLCBpbnQgbGVuKQoreworICAg
IFN0cmluZyBydWxlTmFtZShzdHIsIGxlbik7CisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHJ1
bGVOYW1lLCAiQGltcG9ydCIpKQorICAgICAgICB5eVRvayA9IElNUE9SVF9TWU07CisgICAgZWxz
ZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UocnVsZU5hbWUsICJAcGFnZSIpKQorICAgICAgICB5eVRv
ayA9IFBBR0VfU1lNOworICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHJ1bGVOYW1lLCAi
QG1lZGlhIikpCisgICAgICAgIHl5VG9rID0gTUVESUFfU1lNOworICAgIGVsc2UgaWYgKGVxdWFs
SWdub3JpbmdDYXNlKHJ1bGVOYW1lLCAiQGZvbnQtZmFjZSIpKQorICAgICAgICB5eVRvayA9IEZP
TlRfRkFDRV9TWU07CisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UocnVsZU5hbWUsICJA
Y2hhcnNldCIpKQorICAgICAgICB5eVRvayA9IENIQVJTRVRfU1lNOworICAgIGVsc2UgaWYgKGVx
dWFsSWdub3JpbmdDYXNlKHJ1bGVOYW1lLCAiQG5hbWVzcGFjZSIpKQorICAgICAgICB5eVRvayA9
IE5BTUVTUEFDRV9TWU07CisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UocnVsZU5hbWUs
ICJALXdlYmtpdC1rZXlmcmFtZXMiKSkKKyAgICAgICAgeXlUb2sgPSBXRUJLSVRfS0VZRlJBTUVT
X1NZTTsKKyAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShydWxlTmFtZSwgIkAtd2Via2l0
LW1lZGlhcXVlcnkiKSkKKyAgICAgICAgeXlUb2sgPSBXRUJLSVRfTUVESUFRVUVSWV9TWU07Cisg
ICAgLy8gRklYTUU6IEFkZCBDU1MgVmFyaWFibGVzIGlmIHdlIGV2ZXIgZGVjaWRlIHRvIHR1cm4g
aXQgYmFjayBvbi4KK30KKwogVUNoYXIqIENTU1BhcnNlcjo6dGV4dChpbnQgKmxlbmd0aCkKIHsK
ICAgICBVQ2hhciogc3RhcnQgPSB5eXRleHQ7CkBAIC00NzQ5LDYgKzQ3NzMsOCBAQCBVQ2hhciog
Q1NTUGFyc2VyOjp0ZXh0KGludCAqbGVuZ3RoKQogICAgIFVDaGFyKiBvdXQgPSBzdGFydDsKICAg
ICBVQ2hhciogZXNjYXBlID0gMDsKIAorICAgIGJvb2wgc2F3RXNjYXBlID0gZmFsc2U7CisKICAg
ICBmb3IgKGludCBpID0gMDsgaSA8IGw7IGkrKykgewogICAgICAgICBVQ2hhciogY3VycmVudCA9
IHN0YXJ0ICsgaTsKICAgICAgICAgaWYgKGVzY2FwZSA9PSBjdXJyZW50IC0gMSkgewpAQCAtNDc5
Myw2ICs0ODE5LDcgQEAgVUNoYXIqIENTU1BhcnNlcjo6dGV4dChpbnQgKmxlbmd0aCkKICAgICAg
ICAgfQogICAgICAgICBpZiAoIWVzY2FwZSAmJiAqY3VycmVudCA9PSAnXFwnKSB7CiAgICAgICAg
ICAgICBlc2NhcGUgPSBjdXJyZW50OworICAgICAgICAgICAgc2F3RXNjYXBlID0gdHJ1ZTsKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgICpvdXQrKyA9ICpjdXJyZW50
OwpAQCAtNDgxMyw2ICs0ODQwLDEyIEBAIFVDaGFyKiBDU1NQYXJzZXI6OnRleHQoaW50ICpsZW5n
dGgpCiAgICAgfQogICAgIAogICAgICpsZW5ndGggPSBvdXQgLSBzdGFydDsKKyAgICAKKyAgICAv
LyBJZiB3ZSBoYXZlIGFuIHVucmVjb2duaXplZCBALWtleXdvcmQsIGFuZCBpZiB3ZSBoYW5kbGVk
IGFueSBlc2NhcGVzIGF0IGFsbCwgdGhlbgorICAgIC8vIHdlIHNob3VsZCBhdHRlbXB0IHRvIGFk
anVzdCB5eVRvayB0byB0aGUgY29ycmVjdCB0eXBlLgorICAgIGlmICh5eVRvayA9PSBBVEtFWVdP
UkQgJiYgc2F3RXNjYXBlKQorICAgICAgICByZWNoZWNrQXRLZXl3b3JkKHN0YXJ0LCAqbGVuZ3Ro
KTsKKwogICAgIHJldHVybiBzdGFydDsKIH0KIApJbmRleDogV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgJKHJldmlzaW9uIDUxNTY2
KQorKysgV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTIyNSw2ICsy
MjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGludCBsZXgoKTsKICAgICAgICAg
CiAgICAgcHJpdmF0ZToKKyAgICAgICAgdm9pZCByZWNoZWNrQXRLZXl3b3JkKGNvbnN0IFVDaGFy
KiBzdHIsIGludCBsZW4pOworICAgIAogICAgICAgICB2b2lkIGNsZWFyUHJvcGVydGllcygpOwog
CiAgICAgICAgIHZvaWQgc2V0dXBQYXJzZXIoY29uc3QgY2hhciogcHJlZml4LCBjb25zdCBTdHJp
bmcmLCBjb25zdCBjaGFyKiBzdWZmaXgpOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvbmFt
ZXNwYWNlcy9uYW1lc3BhY2VzLWVzY2FwZXMueG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvY3NzL25hbWVzcGFjZXMvbmFtZXNwYWNlcy1lc2NhcGVzLnhtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvY3NzL25hbWVzcGFjZXMvbmFtZXNwYWNlcy1lc2NhcGVzLnht
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGh0bWwiPgorIDxoZWFkPgorICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9
IkFubmUgdmFuIEtlc3RlcmVuIiBocmVmPSJodHRwOi8vYW5uZXZhbmtlc3RlcmVuLm5sLyIvPgor
ICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik9wZXJhIFNvZnR3YXJlIEFTQSIgaHJlZj0iaHR0
cDovL29wZXJhLmNvbS8iLz4KKyAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9jc3MzLW5hbWVzcGFjZS8jc3ludGF4Ii8+CisgIDx0aXRsZT5DU1MgTmFtZXNwYWNl
cyBUZXN0IFN1aXRlOiBAbmFtZXNwYWNlIHN5bnRheCB3aXRoIGVzY2FwZXM8L3RpdGxlPgorICA8
c3R5bGU+CisgICBAXE5cMDAwMDQxIG1lc1xwYWNcNjUgIHggImh0dHA6Ly93d3cudzMub3JnLzE5
OTkveGh0bWwiOworICAgeHxwIHsgYmFja2dyb3VuZDogbGltZSB9CisgIDwvc3R5bGU+CisgPC9o
ZWFkPgorIDxib2R5PgorICA8cD5UaGlzIHNlbnRlbmNlIHNob3VsZCBoYXZlIGEgZ3JlZW4gYmFj
a2dyb3VuZC48L3A+CisgPC9ib2R5PgorPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvZmFzdC9jc3MvbmFtZXNwYWNlcy9uYW1lc3BhY2VzLWVzY2FwZXMueG1sCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IGFsbG93LXRhYnMKICAgKyB0cnVlCgo=
</data>
<flag name="review"
          id="25896"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>