Summary: | REGRESSION: Google Calendar Module is not displaying agendas correctly | ||
---|---|---|---|
Product: | WebKit | Reporter: | Maciej Stachowiak <mjs> |
Component: | Evangelism | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | abob, wac, webkit |
Priority: | P2 | Keywords: | GoogleBug, InRadar, Regression |
Version: | 420+ | ||
Hardware: | Mac | ||
OS: | OS X 10.4 |
Description
Maciej Stachowiak
2007-02-04 11:01:14 PST
Alice says: Based on my testing, looks like, with TOT, any user agent with "safari" in it will cause this problem to happen. Per Comment #2, this may turn out to be an evangelism bug. It seems that the problem is in Google Calendar script. Obfuscated http://www.google.com/ig/modules/calendar_content/calendar.js has a function that looks like this function Jc(a, b) { var c = false, d = v.Ha(), e = v.Ia(); for (g = 0; g < a.length; ++g) { var h = a[g]; h.owner = b; var i = h.ed(); if (i == fd) continue; var j = ba && !ma; if (j) { var l = h.ma()["gd$when"].starttime; h.q = function () { return l; }; var n = h.ma()["gd$when"].endtime; h.K = function () { return n; }; } Here variable ba is Safari UA test result so if(j) codepath is executed for Safari only. Lines var l = h.ma()["gd$when"].starttime; var n = h.ma()["gd$when"].endtime; are the problematic ones. The actual attribute names in XML data they are accessing are called "startTime" and "endTime". Apparently Tiger WebKit had case insensitive XML parsing and the script is trying to work around that bug, breaking ToT WebKit where the behavior is fixed. I confirmed that this is indeed the problem by hacking JSObject::get() to rename "starttime" to "startTime" after which agendas showed up fine (the scripts are pretty hard to turn into local test case, this was easier). This looks like an evangelism issue now. *** Bug 12006 has been marked as a duplicate of this bug. *** I checked Google Calendar gadget for iGoogle (new version of customized Google homepage) as well as classic personalized Google homepage which is available in Google Apps package now http://www.google.com/apps/ Both services display events correctly in the latest WebKit now. So the bug is fixed :) |