Bug 12980

Summary: LCI headlines and MediaCast do not show up in Webkit/Safari
Product: WebKit Reporter: Matthieu DUCROS <rhaps>
Component: EvangelismAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, ddkilzer, dstorey, rachael, troyb
Priority: P2    
Version: 523.x (Safari 3)   
Hardware: Mac   
OS: OS X 10.4   
URL: http://tf1.lci.fr/
Attachments:
Description Flags
Tests the format of an anonymous function none

Matthieu DUCROS
Reported 2007-03-06 06:43:05 PST
LCI headlines and MediaCast do not shows up in Webkit/Safari
Attachments
Tests the format of an anonymous function (214 bytes, text/html)
2007-03-08 00:44 PST, David Kilzer (:ddkilzer)
no flags
David Kilzer (:ddkilzer)
Comment 1 2007-03-06 07:07:11 PST
I get the following console output when loading the URL with a local debug build of WebKit r19972 with Safari 2.0.4 (419.3) on Mac OS X 10.4.8 (8N1037): [300] http://tf1.lci.fr/ line 2: SyntaxError: Parse error [300] http://tf1.lci.fr/ line 2: SyntaxError: Parse error [300] http://tf1.lci.fr/ line 2: SyntaxError: Parse error These errors also appear in the JavaScript Console. Double-clicking on the errors in the JS console doesn't open the source, though.
David Kilzer (:ddkilzer)
Comment 2 2007-03-06 07:21:03 PST
Confirmed with a local debug build of WebKit r19972 with Safari 2.0.4 (419.3) on Mac OS X 10.4.8 (8N1037).
David Kilzer (:ddkilzer)
Comment 3 2007-03-06 07:32:00 PST
This does not work in shipping Safari 2.0.4 (419.3) on Mac OS X 10.4.8 (8N1037), either, but the error messages from the JavaScript console are different (and I can double-click for source). This error message appears thrice: SyntaxError - Parse error http://tf1.lci.fr/js/eventHandling.js Line: 34 This makes me wonder whether JavaScript Console error functionality has regressed?!
David Kilzer (:ddkilzer)
Comment 4 2007-03-06 07:38:02 PST
(In reply to comment #3) > SyntaxError - Parse error > http://tf1.lci.fr/js/eventHandling.js Line: 34 > > This makes me wonder whether JavaScript Console error functionality has > regressed?! Actually, I think what's happening with the WebKit ToT build is that the JavaScript Console is reporting an error on "line 2" of the eval statement ending on line 34 in the above file. This isn't nearly as helpful as the original behavior in shipping Safari, though.
David Kilzer (:ddkilzer)
Comment 5 2007-03-07 04:19:41 PST
(In reply to comment #4) > Actually, I think what's happening with the WebKit ToT build is that the > JavaScript Console is reporting an error on "line 2" of the eval statement > ending on line 34 in the above file. This isn't nearly as helpful as the > original behavior in shipping Safari, though. Using Drosera, the offending JavaScript being eval-ed is: window.onload=function(){ function () { showSubMenuLoad(true, true); colormenuselec(true); if (15000!= 0) { visuArt(0);fnVisu = setInterval("visuArt(500)",15000);} else {visuArt(0);} } Obviously, the error is on Line 2! Looking at the source of the original file, though it appears that the code above it is not running as expected since the extra "function() {" should be removed first.
David Kilzer (:ddkilzer)
Comment 6 2007-03-07 07:46:12 PST
(In reply to comment #5) > Obviously, the error is on Line 2! Looking at the source of the original file, > though it appears that the code above it is not running as expected since the > extra "function() {" should be removed first. My current suspicion is that there is an end-of-line mismatch. The main web page has UNIX line endings, but the eventHandling.js file has DOS line endings. And eventHandling.js pulls some JavaScript from the DOM of the main file, then does matching on it which apparently fails.
David Kilzer (:ddkilzer)
Comment 7 2007-03-07 23:36:04 PST
(In reply to comment #6) > My current suspicion is that there is an end-of-line mismatch. The main web > page has UNIX line endings, but the eventHandling.js file has DOS line endings. > And eventHandling.js pulls some JavaScript from the DOM of the main file, then > does matching on it which apparently fails. Or it could be as simple as Firefox and MSIE formatting their functions like this: function() { while WebKit does this: function() {
David Kilzer (:ddkilzer)
Comment 8 2007-03-08 00:44:01 PST
Created attachment 13539 [details] Tests the format of an anonymous function In shipping Safari 2.0.4 (419.3), in ToT WebKit (r20053) and in Opera 9.10, it looks like this: function () { loaded = 1; } In MSIE 6, it looks like this: function() { loaded = 1; } In Firefox 2.0.0.2 like this: function () { loaded = 1; } Note that Opera 9.10 has the exact same issue as Safari, so this is probably an evangelism bug.
David Kilzer (:ddkilzer)
Comment 9 2007-03-08 01:27:25 PST
(In reply to comment #8) > Note that Opera 9.10 has the exact same issue as Safari, so this is probably an > evangelism bug. This is an evangelism issue. The eventHanding.js file needs to be updated thusly to work with Safari, OmniWeb and Opera: - ancienHandler = ancienHandler.replace(/\n*function *\(\) *\{/i,""); + ancienHandler = ancienHandler.replace(/\n*function *\(\)[ \n]*\{/i,""); Tested with a local copy of the main web page with a proper <base> tag and referencing a locally-fixed copy of eventHandling.js. Matthieu, could you send a note to the webmaster (in French) describing the issue/fix? Thanks!
Matthieu DUCROS
Comment 10 2007-03-08 15:07:33 PST
tried to contact LCI/TF1 webmaster through the contact form. Waiting for a reply. As it is a really big TV broadcaster company, I don't expect them a fast answer.
Matthieu DUCROS
Comment 11 2007-03-15 10:38:12 PDT
fixed. Webmasters apply to fix. Thanks to all of you.
Note You need to log in before you can comment on or make changes to this bug.