Bug 14992

Summary: Changing pop-up does not automatically reload page on Yahoo! Finance Message Boards
Product: WebKit Reporter: David Kilzer (:ddkilzer) <ddkilzer>
Component: EvangelismAssignee: Nobody <webkit-unassigned>
Status: CLOSED FIXED    
Severity: Normal Keywords: InRadar, YahooBug
Priority: P2    
Version: 523.x (Safari 3)   
Hardware: Mac   
OS: OS X 10.4   
URL: http://messages.finance.yahoo.com/mb/AAPL

Description David Kilzer (:ddkilzer) 2007-08-16 15:00:33 PDT
* SUMMARY
On the Yahoo! Finance message boards, selecting the minimum number of stars does not cause the page to reload.

* STEPS TO REPRODUCE
1. Launch Safari/WebKit.
2. Go to URL:  http://messages.finance.yahoo.com/mb/AAPL
3. Change the "Only show topics rated at least:" pop-up to a different value.

* EXPECTED RESULTS
The page should reload with the new star level set.

* ACTUAL RESULTS
Nothing happens other than the pop-up changing.  User must hit Enter to submit the form.

* REGRESSION
This is not a regression as Safari 2.0.4 has the same behavior.

* RADAR
<rdar://problem/5413205>

* NOTES
There are four errors printed in the JavaScript console on the page:

ReferenceError: Can't find variable: YAHOO
http://messages.finance.yahoo.com/mb/AAPL
Line: 1076

ReferenceError: Can't find variable: YAHOO
http://messages.finance.yahoo.com/mb/AAPL
Line: 1077

TypeError: Undefined value
http://messages.finance.yahoo.com/mb/AAPL
Line: 1099

TypeError: Undefined value
http://messages.finance.yahoo.com/mb/AAPL
Line: 1103
Comment 1 David Kilzer (:ddkilzer) 2007-08-18 15:06:24 PDT
This is an evangelism issue.  When the page is requested with a Safari/WebKit user agent, a critical JavaScript file is left out of the page source between the </body> and </html> tags:

<script type="text/javascript" src="http://us.js2.yimg.com/us.js.yimg.com/i/us/fi/yfs/js/yahoo_event_dom_2.2.0.js"></script>

The missing script causes the JavaScript errors during page load, and prevents the pop-up from working properly.

I can NOT reproduce this by changing the user agent within Safari's Debug menu, but it's easy to confirm using curl:

$ curl -A "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/523.2+ (KHTML, like Gecko) Version/3.0.3 Safari/522.12.1" http://messages.finance.yahoo.com/mb/AAPL >curl-Safari-AAPL.html

$ curl -A "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" http://messages.finance.yahoo.com/mb/AAPL >curl-Firefox-AAPL.html

$ curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" http://messages.finance.yahoo.com/mb/AAPL >curl-MSIE6-AAPL.html
Comment 2 David Kilzer (:ddkilzer) 2007-08-18 15:07:37 PDT
Note that loading the page downloaded by curl with the Firefox user agent loads with no JavaScript errors in Safari and that this fixes the behavior of the broken pop-up menu.

Comment 3 David Kilzer (:ddkilzer) 2007-11-23 19:58:38 PST
Yahoo has now fixed this issue.  The current page now correctly loads the required script (http://us.js2.yimg.com/us.js.yimg.com/i/us/fi/yfs/js/yahoo_event_dom_2.2.2.js) with Safari 2 and 3, and the pop-up menu behaves as expected.