Extra tags <EDOCS:DELETE>...</EDOCS:DELETE> prevent proper parsing of the anchor tag. Because of this bug i cannot view my phone bill invoices from the major dutch telecom operator KPN.
Created attachment 14515 [details] testcase anchor tag
Failed in Safari 2.0.4 (419.3) MacOS 10.4.8, works in Firefox 1.5.0.11
That is some amusingly misnested HTML.
Created attachment 14522 [details] Residual style doesn't reopen across spans/custom tags Here is another test case (just to show that this has nothing to do with custom tags or links specifically).
isAffectedByResidualStyle is the problem. We only run the residual style algorithm when certain close tags are encountered (this was done out of concern over performance, i.e., trying to limit the scope of the algorithm). Adding <span> and "custom" tags to this set would fix both test cases. We should probably study the HTML5 spec to see what it says.
Created attachment 14524 [details] Patch to fix <span> bug This patch at least fixes the span case. The custom tag case is a bit harder, since we have no way of telling that a tag is custom. We would probably have to modify the init method of HTMLNames to add all the tags to a hash that could then be queried. I think I'd like to land the span fix separately and then worry about the custom tag problem later.
Comment on attachment 14524 [details] Patch to fix <span> bug NVM, I'm going to try to fix this completely.
I started making a master test case, going through every tag. By the time I got up to F, Firefox was just opening every last one. It's clear to me that we can just remove the whole concept of "being affected by residual style" and just make it always applied. Hopefully it won't hurt perf too much.
Created attachment 14529 [details] Patch to fix bug by using a set to exclude rather than a set to include.
I was wrong in comment #8. There are a few exceptions. I tried to make the set as minimal as possible. Layout tests actually already covered some of these.
Comment on attachment 14529 [details] Patch to fix bug by using a set to exclude rather than a set to include. Need to get my test finished. Removing for now.
Created attachment 14530 [details] This took a long time. Giant test case that covers all markup container tags.
Comment on attachment 14530 [details] This took a long time. Giant test case that covers all markup container tags. Wow.. all those tags i didn't even know existed..
Fixed in r21439.
HTML5 limits residual style to a very specific set of elements -- did that not work for you?