[Webkit-unassigned] [Bug 12589] REGRESSION: Google Calendar Module is not displaying agendas correctly

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Mar 20 16:05:58 PDT 2007


http://bugs.webkit.org/show_bug.cgi?id=12589


koivisto at iki.fi changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|WebCore JavaScript          |Evangelism




------- Comment #4 from koivisto at iki.fi  2007-03-20 16:05 PDT -------
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.


-- 
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list