Bug 19680 - cvs.com - the footer content is displayed over main content
Summary: cvs.com - the footer content is displayed over main content
Status: RESOLVED DUPLICATE of bug 17444
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 525.x (Safari 3.1)
Hardware: Mac (Intel) OS X 10.5
: P2 Major
Assignee: Nobody
URL: http://www.cvs.com/CVSApp/cvs/gateway...
Keywords: HasReduction
Depends on:
Blocks:
 
Reported: 2008-06-19 12:08 PDT by Pat
Modified: 2008-07-01 06:27 PDT (History)
1 user (show)

See Also:


Attachments
Screen shot of footer content over main content (366.80 KB, image/png)
2008-06-19 12:10 PDT, Pat
no flags Details
Main html of reduced test case (156 bytes, text/html)
2008-06-30 18:24 PDT, Yael
no flags Details
external JS for reduced test case (253 bytes, text/plain)
2008-06-30 18:25 PDT, Yael
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pat 2008-06-19 12:08:00 PDT
Go to http://www.cvs.com, then select the "Extra Care" tab.

Then footer content (contact us, etc) is displayed at the top of the page and over the main content. See attached screen shot.

This occurs on both Safari MacOS v3.1.1 (5525.18) and Safari for Windows v3.1.1 (525.17).
Comment 1 Pat 2008-06-19 12:10:06 PDT
Created attachment 21846 [details]
Screen shot of footer content over main content

snippet of code under question:

<!-- BEGIN FOOTER -->
<br>
<br> 


	<table border="0" cellpadding="3" cellspacing="0" width="443">
	<tbody><tr>



<td class="tinyfont" align="center">
<script language="JavaScript">
	function emptyForm(textInForm){
		if (!textInForm.base) textInForm.base = textInForm.value
		if (textInForm.value == textInForm.base) textInForm.value = "";
		else if (textInForm.value == "") textInForm.value = textInForm.base;
	}
	</script>

	<table border="0" cellpadding="3" cellspacing="0" width="175">
	<form id="form1" name="form1" action="/CVSApp/cvs/gateway/search" method="get"></form>
	<input value="499" name="ActiveCat" type="hidden">
	<tbody><tr>
	<td class="tinyfont"><b>Search:</b></td>
	<td align="left" valign="middle">
	<input value="" maxlength="125" size="15" name="Query" class="formfont200" type="text"></td>
	<td align="left" valign="middle">

	<input src="/Assets/images_buttons/btnr_go.gif" name="Click to go to search results." alt="Click to go to search results." value="submit" border="0" type="image" width="19" height="19">&nbsp;	</td>
	</tr>
	
	</tbody></table>

<span class="spacer10"><br></span>

<b> Questions? Call (888) 607-4287 or email <a href="mailto:customercare@cvs.com">customercare@cvs.com</a> </b>
<br>
<a href="/CVSApp/cvs/gateway/help/helpContact"><nobr>Contact Us</nobr></a>&nbsp;|&nbsp;<a href="/CVSApp/cvs/gateway/help/helpHome">Help</a>&nbsp;|&nbsp;<a href="/CVSApp/cvs/gateway/sitemap">Site Map</a>&nbsp;|&nbsp;<a href="/CVSApp/cvs/gateway/aboutCVS/home">More Info</a><br>

<span class="spacer10"><br></span>
<b><a href="/CVSApp/cvs/gateway/catalog"><nobr>Online Shopping Aisles</nobr></a> </b> <br>
<a href="/CVSApp/cvs/gateway/cvsmain"><nobr>Home</nobr></a> |
<a href="/CVSApp/cvs/gateway/department?deptid=2024"><nobr>Baby &amp; Child Care</nobr></a> |
<a href="/CVSApp/cvs/gateway/department?deptid=653"><nobr>Cosmetics</nobr></a> |

<a href="/CVSApp/cvs/gateway/department?deptid=2781"><nobr>Diet &amp; Nutrition</nobr></a>  <br>

<a href="/CVSApp/cvs/gateway/department?deptid=6"><nobr>Gifts &amp; Specialty</nobr></a> |
<a href="/CVSApp/cvs/gateway/department?deptid=2227"><nobr>Home Medical Supplies</nobr></a> |
<a href="/CVSApp/cvs/gateway/department?deptid=2779"><nobr>Household Items</nobr></a>  <br>

<a href="/CVSApp/cvs/gateway/department?deptid=1"><nobr>Medicine Cabinet</nobr></a> |
<a href="/CVSApp/cvs/gateway/department?deptid=2648"><nobr>Natural Products</nobr></a> |
<a href="/CVSApp/cvs/gateway/department?deptid=2780"><nobr>Online Exclusives</nobr></a> <br>

<a href="/CVSApp/cvs/gateway/department?deptid=3"><nobr>Personal Care &amp; Bath </nobr></a> |
<a href="/CVSApp/cvs/gateway/department?deptid=2609"><nobr>Sexual Health</nobr></a> |

<a href="/CVSApp/cvs/gateway/department?deptid=2496"><nobr>Skin Care</nobr></a>  <br>

<a href="/CVSApp/cvs/gateway/department?deptid=2"><nobr>Vitamins &amp; Supplements</nobr></a> |
<a href="/CVSApp/cvs/gateway/brandstore/brand_Home"><nobr>Shop by Brand</nobr></a> |
<a href="/CVSApp/cvs/gateway/specials"><nobr>Super Savers</nobr></a> |
<a href="/CVSApp/cvs/gateway/whatsnew"><nobr>What's New</nobr></a>

<br>
<span class="spacer15"><br></span>
<b>
<a href="/CVSApp/cvs/gateway/rxhome"><nobr>Pharmacy Counter</nobr></a> |
<a href="/CVSApp/cvs/gateway/healthliv"><nobr>Health Resources</nobr></a> |
<a href="/CVSApp/cvs/gateway/extracarehome"><nobr>ExtraCare</nobr></a><font color="#000099"><sup>®</sup></font> |
<a href="/CVSApp/cvs/gateway/cvsstores"><nobr>CVS/pharmacy Stores</nobr></a>
</b>

<br> <br>
<b><a href="javascript:createCVSChildWindow('http://www.cvscaremark.com/','cvs_corporate','height=560,width=800,toolbar=1,location=1,menubar=1,resizable=1,scrollbars=1,status=1')">Our Company</a></b><br>
<span class="spacer03"><br></span>
<a href="javascript:createCVSChildWindow('http://www.cvscaremark.com/careers','cvs_corporate','height=560,width=800,toolbar=1,location=1,menubar=1,resizable=1,scrollbars=1,status=1')">Careers</a>&nbsp;|&nbsp;<a href="javascript:createCVSChildWindow('http://www.cvscaremark.com/community','cvs_corporate','height=560,width=800,toolbar=1,location=1,menubar=1,resizable=1,scrollbars=1,status=1')">Community Involvement</a>&nbsp;|&nbsp;<a href="javascript:createCVSChildWindow('http://www.cvscaremark.com/investors','cvs_corporate','height=560,width=800,toolbar=1,location=1,menubar=1,resizable=1,scrollbars=1,status=1')">Investor Relations</a><br>
<a href="javascript:createCVSChildWindow('http://www.cvscaremark.com/patient-privacy','cvs_corporate','height=560,width=800,toolbar=1,location=1,menubar=1,resizable=1,scrollbars=1,status=1')">Patient Privacy</a>&nbsp;|&nbsp;<a href="javascript:createCVSChildWindow('http://www.cvscaremark.com/newsroom','cvs_corporate','height=560,width=800,toolbar=1,location=1,menubar=1,resizable=1,scrollbars=1,status=1')">Press Room</a>&nbsp;|&nbsp;<a href="javascript:createCVSChildWindow('http://www.cvscaremarkrealty.com','cvs_corporate','height=560,width=800,toolbar=1,location=1,menubar=1,resizable=1,scrollbars=1,status=1')">Real Estate</a>&nbsp;|&nbsp;<a href="javascript:createCVSChildWindow('http://www.cvssuppliers.com','cvs_corporate','height=560,width=800,toolbar=1,location=1,menubar=1,resizable=1,scrollbars=1,status=1')">Suppliers</a><br>

<font class="smallfont">
<br>CVS/pharmacy, the retail division of CVS Caremark Corporation, is America's largest retail pharmacy with approximately 6,200 retail locations. CVS/pharmacy is committed to serving the healthcare needs of all customers by being the easiest pharmacy for customers to use, both in its stores and online at CVS.com.</font>
<br>

<span class="spacer15"><br></span>
<script language="Javascript">
var thisDate = new Date();
var thisYear = thisDate.getFullYear();
document.writeln("&copy;&nbsp;Copyright&nbsp;1999-" + thisYear +  "&nbsp;CVS.com<sup>®</sup><br />");
</script>©&nbsp;Copyright&nbsp;1999-2008&nbsp;CVS.com<sup>®</sup><br>

<a href="/CVSApp/cvs/gateway/disclaimer">
Terms of Use</a>&nbsp;|&nbsp;<a href="/CVSApp/cvs/gateway/aboutCVS/privacy">Privacy Policy</a><br>

<br></td>

</tr>
</tbody></table>
		
 <!-- end footer -->
</div>
Comment 2 Yael 2008-06-30 18:24:58 PDT
Created attachment 22013 [details]
Main html of reduced test case
Comment 3 Yael 2008-06-30 18:25:35 PDT
Created attachment 22014 [details]
external JS for reduced test case
Comment 4 Yael 2008-06-30 18:27:11 PDT
The root cause of this problem is that when we have an external script that generates another script with document.write and the closing tag of the inline script is on the same line as more content, we process the document.write out of order.
The HtmlTokenizer keeps the remaining src as currentPrependingSrc and does not process it until later. This out of order processing is causing the problem.

The offending line is 
document.write('</script><table border="0" cellpadding="0" cellspacing="0" width="443"><tr><td align="left">');

If we split this line into 2 separate document.write statements, everything works fine.


I added an attachment of a very simple page where the content is processed in the wrong order.
Comment 5 Yael 2008-07-01 06:27:26 PDT

*** This bug has been marked as a duplicate of 17444 ***