Closed Bug 571389 Opened 14 years ago Closed 14 years ago

[HTML5] <basefont> breaks out of <head> (on tdcanadatrust.com)

Categories

(Core :: DOM: HTML Parser, defect, P2)

defect

Tracking

()

VERIFIED FIXED
Tracking Status
blocking2.0 --- final+

People

(Reporter: u279076, Assigned: hsivonen)

References

()

Details

(Whiteboard: [3.7a5])

Attachments

(6 files, 1 obsolete file)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.3a5) Gecko/20100610 MozillaDeveloperPreview/3.7a5

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.3a5pre) Gecko/20100607 Minefield/3.7a5pre

My banking site, tdcanadatrust.com, has a very bad user experience on trunk.  The main account page seems to work fine, but some pages lack CSS and some links produce Servlet Not Found error pages.  The site works fine on previous versions of Firefox, Safari, IE, and Opera.  I don't see any errors in Error Console or terminal.
Component: General → Layout
Product: Firefox → Core
QA Contact: general → layout
Attached image Screenshot: The Good
Attached image Screenshot: The Bad
Attached image Screenshot: The Ugly
Whiteboard: [3.7a5]
Regression Range:

2010-05-03-03-mozilla-central
  |
  |-- regression caused somewhere in here
  |
2010-05-04-03-mozilla-central
That range includes enabling the html5 by default. Does it work if you disable it by setting html5.enable to false in about:config?
(In reply to comment #5)
> That range includes enabling the html5 by default. Does it work if you disable
> it by setting html5.enable to false in about:config?

Yup, looks like HTML5 is causing the problem...
Can you attach the source of one of the pages involved here?  Or send it to Henri directly if it contains data you'd rather not make public to the world?
blocking2.0: --- → ?
Component: Layout → HTML: Parser
QA Contact: layout → parser
Summary: Banking site TD Canada Trust is broken for 1.9.3 → [HTML5] Banking site TD Canada Trust is broken for 1.9.3
Attached file Source: Main Frame (obsolete) —
Attached file Source: Main Frame
Attachment #450566 - Attachment is obsolete: true
Attached file Source: Details Frame
I've attached two source files:

Main Frame - the source code for the page
Details Frame - the source code for the frame containing my accounts details (this frame is loaded near the end of the Main Frame file)

Both of these make up a the page I use to view my accounts.

For security reasons, I've replaced my personal information in the source with ##########.
It looks like this is caused by <basefont> breaking out of <head>, which makes <base> get appended to <body> where <base> doesn't take effect.

Spec bug filed:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=9910

(It's a no-brainer how to fix this, so I'm not implying that it's necessary to wait for a spec change to act.)
Priority: -- → P2
Summary: [HTML5] Banking site TD Canada Trust is broken for 1.9.3 → [HTML5] <basefont> breaks out of <head> (on tdcanadatrust.com)
Note that the old parser as well as WebKit let <basefont> break out of <head>, but they compensate by hoisting <base> to <head>.
Let's try to get this in beta. I chatted with Hixie; we don't need to wait for the spec.

I intend to write test cases for the html5lib suite, but I had other stuff to take care of today.
Assignee: nobody → hsivonen
Status: NEW → ASSIGNED
Attachment #450661 - Flags: review?(jonas)
NOTE: This works with html5.enable=TRUE up to, and including the May 3 build.  It breaks starting with the May 4 build.  Thus, the culprit is not bug 373864, specifically, but one of the other bugs that also got checked in at the same time.
http://hg.mozilla.org/mozilla-central/rev/071e01b40032

I'll ask the html5lib maintainers if they are OK with me pushing tests for this before Hixie edits the spec.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Flags: in-testsuite?
Resolution: --- → FIXED
Confirming fix.

http://hg.mozilla.org/mozilla-central/rev/0e0e2516f04e

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:2.0b2pre) Gecko/20100629 Minefield/4.0b2pre ID:20100629040209
FWIW, if we actually ever wanted to implement <basefont>, it should be a container.  HTML4 contained incorrect reverse-engineering of how it worked.  See bug 3875 comment 47.
(In reply to comment #18)
> FWIW, if we actually ever wanted to implement <basefont>, it should be a
> container.  HTML4 contained incorrect reverse-engineering of how it worked. 
> See bug 3875 comment 47.

I've been assuming that actually supporting <basefont> will stay WONTFIX for Gecko and for the HTML5 spec.
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:2.0b2pre) Gecko/20100630 Minefield/4.0b2pre

My tdcandatrust.com accounts page now looks good again.  I've not experienced any problems since this has landed.  Marking VERIFIED.
Status: RESOLVED → VERIFIED
blocking2.0: ? → final+
You need to log in before you can comment on or make changes to this bug.