Skip to content

Commit d558685

Browse files
committed
Revert "Fixes semicolon parsing within a url"
This reverts commit 828d4c8. While this fixes the parser, it tanks performance. Need to figure out a better solution
1 parent 828d4c8 commit d558685

File tree

2 files changed

+1
-48
lines changed

2 files changed

+1
-48
lines changed

lib/csscss/parser/css.rb

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,7 @@ class Parser < Parslet::Parser
2525
rule(:attribute) {
2626
match["^:{}"].repeat(1).as(:property) >>
2727
str(":") >>
28-
dynamic {|source, context|
29-
pos = source.pos
30-
matcher = match["^;}"].repeat(1)
31-
success, result = matcher.apply(source, context)
32-
source.pos = pos
33-
result ||= []
34-
left_paren = result.rindex("(")
35-
right_paren = result.rindex(")") || -1
36-
37-
if success && left_paren && left_paren > right_paren
38-
matcher >> str(";") >> matcher
39-
else
40-
matcher
41-
end
42-
}.as(:value) >>
28+
match["^;}"].repeat(1).as(:value) >>
4329
str(";").maybe >>
4430
space?
4531
}

test/csscss/parser/css_test.rb

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -134,39 +134,6 @@ module Css
134134
rs(sel("h1"), [dec("display", "none")])
135135
])
136136
end
137-
138-
it "parses attributes with encoded data that include semicolons" do
139-
trans(%$
140-
.foo1 {
141-
background: rgb(123, 123, 123) url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAACECAYAAABRaEHiAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHRJREFUeNqkUjESwCAIw+T/X/UHansdkLTQDnXgCAHNEW2tZbDz/Aq994bzqoY5Z8wEwiEcmmfwiRK+EGOMTVBrtz4mY9kEAyz6+E3sJ7MWBs1PaUy1lHLLmgTqElltNxLiINTBbWi0Vj5DZC9CaqZEOwQYAPhxY/7527NfAAAAAElFTkSuQmCC) repeat-x;
142-
display: block;
143-
}
144-
145-
.foo2 {
146-
background: white url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAACECAYAAABRaEHiAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHRJREFUeNqkUjESwCAIw+T/X/UHansdkLTQDnXgCAHNEW2tZbDz/Aq994bzqoY5Z8wEwiEcmmfwiRK+EGOMTVBrtz4mY9kEAyz6+E3sJ7MWBs1PaUy1lHLLmgTqElltNxLiINTBbWi0Vj5DZC9CaqZEOwQYAPhxY/7527NfAAAAAElFTkSuQmCC) repeat-x
147-
}
148-
149-
.foo3 {
150-
outline: 1px;
151-
background: white url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAACECAYAAABRaEHiAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHRJREFUeNqkUjESwCAIw+T/X/UHansdkLTQDnXgCAHNEW2tZbDz/Aq994bzqoY5Z8wEwiEcmmfwiRK+EGOMTVBrtz4mY9kEAyz6+E3sJ7MWBs1PaUy1lHLLmgTqElltNxLiINTBbWi0Vj5DZC9CaqZEOwQYAPhxY/7527NfAAAAAElFTkSuQmCC) repeat-x;
152-
display: block;
153-
}
154-
155-
.foo4 {
156-
background: blue url(images/bg-bolt-inactive.png) no-repeat 99% 5px;
157-
display: block;
158-
}
159-
$).must_equal([
160-
rs(sel(".foo1"), [dec("background", "rgb(123, 123, 123) url(data:image/png;base64,ivborw0kggoaaaansuheugaaaaeaaacecayaaabraehiaaaagxrfwhrtb2z0d2fyzqbbzg9izsbjbwfnzvjlywr5ccllpaaaahrjrefuenqkujeswcaiw+t/x/uhansdkltqdnxgcahnew2tzbdz/aq994bzqoy5z8wewiecmmfwirk+egomtvbrtz4my9keayz6+e3sj7mwbs1pauy1lhllmgtqelltnxliintbbwi0vj5dzc9caqzeowqyaphxy/7527nfaaaaaelftksuqmcc) repeat-x"),
161-
dec("display", "block")]),
162-
rs(sel(".foo2"), [dec("background", "white url(data:image/png;base64,ivborw0kggoaaaansuheugaaaaeaaacecayaaabraehiaaaagxrfwhrtb2z0d2fyzqbbzg9izsbjbwfnzvjlywr5ccllpaaaahrjrefuenqkujeswcaiw+t/x/uhansdkltqdnxgcahnew2tzbdz/aq994bzqoy5z8wewiecmmfwirk+egomtvbrtz4my9keayz6+e3sj7mwbs1pauy1lhllmgtqelltnxliintbbwi0vj5dzc9caqzeowqyaphxy/7527nfaaaaaelftksuqmcc) repeat-x")]),
163-
rs(sel(".foo3"), [dec("outline", "1px"),
164-
dec("background", "white url(data:image/png;base64,ivborw0kggoaaaansuheugaaaaeaaacecayaaabraehiaaaagxrfwhrtb2z0d2fyzqbbzg9izsbjbwfnzvjlywr5ccllpaaaahrjrefuenqkujeswcaiw+t/x/uhansdkltqdnxgcahnew2tzbdz/aq994bzqoy5z8wewiecmmfwirk+egomtvbrtz4my9keayz6+e3sj7mwbs1pauy1lhllmgtqelltnxliintbbwi0vj5dzc9caqzeowqyaphxy/7527nfaaaaaelftksuqmcc) repeat-x"),
165-
dec("display", "block")]),
166-
rs(sel(".foo4"), [dec("background", "blue url(images/bg-bolt-inactive.png) no-repeat 99% 5px"),
167-
dec("display", "block")])
168-
])
169-
end
170137
end
171138
end
172139
end

0 commit comments

Comments
 (0)