Issue 125332

Summary: [SVG] css is case insensitive, svg is case sensitive
Product: Draw Reporter: Regina Henschel <rb.henschel>
Component: formattingAssignee: Armin Le Grand <Armin.Le.Grand>
Status: CLOSED FIXED QA Contact:
Severity: Minor    
Priority: P4 CC: Armin.Le.Grand
Version: 4.2.0-dev   
Target Milestone: 4.2.0   
Hardware: PC   
OS: Windows 7   
URL: http://www.w3.org/Graphics/SVG/Test/20110816/archives/W3C_SVG_11_TestSuite.tar.gz
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Attachments:
Description Flags
original file from the W3C test suite none

Description Regina Henschel 2014-07-30 22:26:12 UTC
Created attachment 83755 [details]
original file from the W3C test suite

Insert attached document into a Draw document. The circle top right should be orange. The circles in the bottom row are blue; that is correct for our environment, because they need support for @import. A good browser will show all circles in orange.

The file belongs to the W3C test suite. Description and explanation are inside the file.
Comment 1 Armin Le Grand 2014-07-31 11:11:31 UTC
Grepping to keep in focus
Comment 2 Armin Le Grand 2014-10-08 13:33:18 UTC
Interesting case. I have added code to be able to separate CaseIndependent where needed - for the tokens when from Css style and for the content (where needed - makes no sense to do in general). Output then looks the same as Firefox or Safari.

Question: I see nothing in the example that would make the bottom right circle orange too - what am I missing (the text in the svg says it should be). It is not orange in Firefox, nor in Safari.
Comment 3 Armin Le Grand 2014-10-08 16:36:47 UTC
Okay, added needed changes. Looks now as in Firefox/Safari.
Comment 4 SVN Robot 2014-10-08 16:36:48 UTC
"alg" committed SVN revision 1630170 into trunk:
i125332 made css style stuff aware that it is case independent
Comment 5 Regina Henschel 2014-10-08 20:59:18 UTC
(In reply to Armin Le Grand from comment #2) 
> Question: I see nothing in the example that would make the bottom right
> circle orange too - what am I missing (the text in the svg says it should
> be). It is not orange in Firefox, nor in Safari.

The css has the rule
 @import url("../images/case-insensitivity.css");
which calls an external style sheet. But the address is relative to the file. So if you call the image separate from its environment, the style sheet is not found. You need to test the image inside the test suite to cover all the intended cases. The URL above links to the test suite; so that you can download and unzip it. For AOO it is not important, because it does not resolve the @import rule yet.
Comment 6 Armin Le Grand 2014-10-09 09:42:24 UTC
Hi Regina, thanks so far. Thus I assume in "../images/case-insensitivity.css" *is* a definition which references id="d" by using something like '#d {fill: orange}'. Is that the case? Then I would understand that the bottom right circle gets orange. Just wanted to have the full view here.
Comment 7 Regina Henschel 2014-10-09 10:02:59 UTC
(In reply to Armin Le Grand from comment #6)
> Hi Regina, thanks so far. Thus I assume in
> "../images/case-insensitivity.css" *is* a definition which references id="d"
> by using something like '#d {fill: orange}'. Is that the case? Then I would
> understand that the bottom right circle gets orange. Just wanted to have the
> full view here.

The file case-insensitivity.css has the content
#d {fill: red }
#d {FiLl: oRaNgE }
So an application, that considers FiLl: oRaNgE as invalid, will stay with fill:red. An application, that ignores case, will take the later FiLl: oRaNgE. Remember that for competing css-rules the later wins.
Comment 8 Armin Le Grand 2014-10-09 10:56:39 UTC
Okay, thanks, then it's clear for the full context!