- From: <bugzilla@jessica.w3.org>
- Date: Wed, 30 Jul 2014 17:20:33 +0000
- To: public-webapps-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=24756
--- Comment #7 from Morrita Hajime <morrita@google.com> ---
(In reply to Gabor Krizsanits from comment #3)
> Right, now I have a little concern about this definition, although I could
> not come up with anything better yet. So the problem is that we let's say
> parsing/building two imports in sort of parallel. We determine their
> position to each other in the import graph, and adding their stylesheets to
> the document accordingly. Then when we find a link import that changes their
> order in the import graph, we will have to look up all their sheets from the
> document and reorder them. This is kind of suboptimal...
Yeah, I see your point. I first prototyped fixed order version in Blink but
got complaint that the order of <link> should be considered as rel=stylesheet.
So I gave it up and changed it to pay some complexity for developer ergonomics.
>
> It is also a bit concerning that if someone sees <link rel=import id=A><link
> rel=import id=B> in a document, one would think that style sheets of A will
> come before the ones of B, while this can be totally change any time one
> imports B in some other part of the import tree... This is not just a bit
> counter-intuitive but also hurts encapsulation somewhat. Then again I could
> not find a better definition yet, just want to put my concerns out there for
> now. Thoughts?
Well, right. This is another story how de-dup complicates things and
I don't have good answer for this either :-(
Actually same things can be said for <script>.
So I don't think this is style specific problem.
Just a random idea: UAs could emit some warning if an import has a stylesheet
link
that is de-duped in some unexpected way.
For example:
- index.html
<link href=a.html>
<link href=b.html>
- a.html
<link href=x.html>
<link href=y.html>
- b.tml
<link href=z.html>
<link href=x.html> <!-- This can be confusing -->
Then UA can probably warn that a.html and b.html disagree about the position of
x.html.
Talking more abstractly,
- We can give each import an "order" based on import tree.
- The "orders" of imports of a document should be increasing.
In example above, The order is a=0, x=1, y=2, b=3, z=4.
Because b.html has imports {z(order=4), x(order=1)}, it violates the
"no-surprise" rule.
Well, it's kinda like how good #include should be formed in C++...
I'm not sure if this is practical or not.
Probably this is better done by preprocessors like grunt tasks.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Wednesday, 30 July 2014 17:20:38 UTC