Closed
Bug 421015
Opened 17 years ago
Closed 15 years ago
ajax map on igglo.com site doesn't display on firefox 3
Categories
(Tech Evangelism Graveyard :: Norwegian, defect)
Tech Evangelism Graveyard
Norwegian
Tracking
(Not tracked)
RESOLVED
WORKSFORME
People
(Reporter: chofmann, Unassigned)
References
()
Details
map displays and interactive features seem to work fine in firefox 2. nothing is displayed in the map area of the page using firefox 3 beta 3 on windows.
Reporter | ||
Updated•17 years ago
|
Flags: blocking1.9?
Comment 1•17 years ago
|
||
Regression range for this is
http://bonsai.mozilla.org/cvsquery.cgi?module=PhoenixTinderbox&date=explicit&mindate=1170337800&maxdate=1170344039
with only Bug 357450 in it.
Comment 2•17 years ago
|
||
Problem exists on OS X as well. Works fine in Fx2, not 3.
Suggestions for component?
Flags: blocking1.9? → blocking1.9+
Priority: -- → P2
Comment 3•17 years ago
|
||
Well, the bug in the regression range is Core:DOM, but someone more familiar with this code might want to confirm that's indeed why this broke first.
Comment 4•17 years ago
|
||
Moving this to Core:DOM. Otherwise, this will be hard to see in people's lists.
Component: General → DOM
QA Contact: general → general
Comment 5•17 years ago
|
||
igglo.fi seems to use Prototype 1.5.0, which defined its own
getElementsByClassName.
The error I get is
Error: this.element.className is undefined
Source File: http://static.igglo.fi/lib/js/class/prototype.js?r=9429c
Line: 1719
Comment 6•17 years ago
|
||
Thanks for the research, Smaug. Moving to evangelism and removing blocking flag. Also removing the regression keyword. If that's not the usual thing to do (removing the regression keyword), please speak up. :)
Assignee: nobody → norwegian
Component: DOM → Norwegian
Flags: blocking1.9+
Keywords: regression
Priority: P2 → --
Product: Core → Tech Evangelism
QA Contact: general → norwegian
Version: Trunk → unspecified
Reporter | ||
Comment 7•17 years ago
|
||
I'm not sure I follow.
If I start up 2.0.0.12 switch to a firefox gecko1.9b4/firefox 3.0b4 UA I don't see the error, and I do get the map displayed, so this doesn't look like a sniffing problem. is fx3 more strick in detecting this error, or are we interpreting the content different now? is that behavior expected as the result of some change that was intended, or is this an unintended side effect of a change between fx2 and 3 (possibly as the result of changes made in bug 357450)
If the new feature provided in bug 357450 is the cause of the new error, and that feature and this side effect is going to stick, then we should also add some guidance in this bug for the web author to help in getting the site updated.
rsayer, can you weigh in?
Reporter | ||
Comment 8•17 years ago
|
||
I guess the shorter summary of events and questions remaining are:
1. firefox 2 shows the site fine
2. patch for bug 357450 lands
3. fx3 starts to show errors (comment 5) and not display map content on this site (comment 0 and 2).
comment 2 shows strong connection between events 2 and 3.
questions remaining are
4. is there a bug in the spec for http://www.whatwg.org/specs/web-apps/current-work/#getelementsbyclassname
5. is there a bug in the implementation of the feature.
6. if there are bugs in either 4 or 5 are we going to live with them, or are we going to try and fix them so this site and possible others don't have to work around.
7. do we need more research to figure out if this site represents an isolated problem, or figure out if the problem is more widespread.
8. if the spec, implimenation, and side effects will remain intact do we have docs that provide guidance on how sites deal with the new change.
Comment 9•17 years ago
|
||
Isn't this just a problem with the older library's implementation of gECN not matching the specified behaviour? With a newer Prototype, I think this goes away. jresig: am I out to lunch?
Comment 10•17 years ago
|
||
So here's the JS stack when that exception is thrown:
0 anonymous(iterator = [function]) ["http://static.igglo.fi/lib/js/class/prototype.js?r=9429c":1719]
1 anonymous(iterator = [function]) ["http://static.igglo.fi/lib/js/class/prototype.js?r=9429c":326]
index = 0
2 anonymous(object = "selected") ["http://static.igglo.fi/lib/js/class/prototype.js?r=9429c":404]
found = false
3 anonymous(classNameToRemove = "selected") ["http://static.igglo.fi/lib/js/class/prototype.js?r=9429c":1734]
4 anonymous(className = "selected", element = [object HTMLCollection @ 0x201a9220 (native @ 0x20189cb0)]) ["http://static.igglo.fi/lib/js/class/prototype.js?r=9429c":1311]
this = [object Element]
5 anonymous(h = [object HTMLCollection @ 0x201a9220 (native @ 0x20189cb0)], 0) ["http://static.igglo.fi/lib/js/class/scriptaculous/src/slider.js":202]
6 anonymous(value = [object HTMLCollection @ 0x201a9220 (native @ 0x20189cb0)]) ["http://static.igglo.fi/lib/js/class/prototype.js?r=9429c":328]
this = [object Window @ 0x1d468910 (native @ 0x1d46329c)]
7 anonymous(iterator = [function]) ["http://static.igglo.fi/lib/js/class/prototype.js?r=9429c":541]
length = 1
i = 0
this = [object HTMLCollection @ 0x201a9220 (native @ 0x20189cb0)]
8 anonymous(iterator = [function]) ["http://static.igglo.fi/lib/js/class/prototype.js?r=9429c":326]
index = 1
this = [object HTMLCollection @ 0x201a9220 (native @ 0x20189cb0)]
9 anonymous() ["http://static.igglo.fi/lib/js/class/scriptaculous/src/slider.js":202]
this = [object Object]
10 anonymous(handleIdx = 0, sliderValue = 0) ["http://static.igglo.fi/lib/js/class/scriptaculous/src/slider.js":131]
this = [object Object]
11 anonymous(i = 0, h = [object HTMLCollection @ 0x201a9220 (native @ 0x20189cb0)]) ["http://static.igglo.fi/lib/js/class/scriptaculous/src/slider.js":81]
12 anonymous(value = [object HTMLCollection @ 0x201a9220 (native @ 0x20189cb0)]) ["http://static.igglo.fi/lib/js/class/prototype.js?r=9429c":328]
this = [object Window @ 0x1d468910 (native @ 0x1d46329c)]
13 anonymous(iterator = [function]) ["http://static.igglo.fi/lib/js/class/prototype.js?r=9429c":541]
length = 1
i = 0
this = [object HTMLCollection @ 0x201a9220 (native @ 0x20189cb0)]
14 anonymous(iterator = [function]) ["http://static.igglo.fi/lib/js/class/prototype.js?r=9429c":326]
index = 1
this = [object HTMLCollection @ 0x201a9220 (native @ 0x20189cb0)]
15 anonymous(options = [object Object], track = [object HTMLDivElement @ 0x1ddc2930 (native @ 0x1dda8cc0)], handle = [object HTMLCollection @ 0x201a9220 (native @ 0x20189cb0)]) ["http://static.igglo.fi/lib/js/class/scriptaculous/src/slider.js":76]
slider = [object Object]
this = [object Object]
16 anonymous([object HTMLCollection @ 0x201a9220 (native @ 0x20189cb0)], [object HTMLDivElement @ 0x1ddc2930 (native @ 0x1dda8cc0)], [object Object]) ["http://static.igglo.fi/lib/js/class/prototype.js?r=9429c":23]
this = [object Object]
17 anonymous(object = [object Object]) ["http://static.igglo.fi/lib/js/page/Map.js?r=9429c":1068]
end = 29
start = 0
range = [object Object]
i = 0
events = [object Object]
elements = [very long list here]
Comment 11•17 years ago
|
||
(gdb) frame 6
#6 0x0034e04c in js_Interpret (cx=0x1d463420) at ../../../mozilla/js/src/jsinterp.c:4288
4288 js_ReportIsNullOrUndefined(cx, -1, lval, NULL);
lval is JSVAL_VOID. That's this.element.className.
(gdb) call JS_GetProperty(cx, fp->thisp, "element", &lval)
$14 = 1
now it's this.element. Happens to be a JSObject.
(gdb) p *JS_GetClass(cx, (JSObject*)lval)
$19 = {
name = 0x1ca92ae0 "HTMLCollection",
I have no idea how this code came to have an HTMLCollection where it expects to have an Element. But it does....
At first blush, I would also suspect a bug in this version of Prototype.
Comment 12•17 years ago
|
||
data:text/html,<body onload="f()"><p id="a"><p id="a"><p id="b"><script>function f(){alert(document.all["a"]+' '+document.all["b"])}</script>
That's the easiest way to get confused. document.all for a single node will give you a node, but if you give two nodes the same id, you'll get a collection.
Reporter | ||
Comment 13•16 years ago
|
||
the map area is now looking ok on
Build identifier: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9) Gecko/2008061004 Firefox/3.0
I'll let a few others weight in on the other platforms then it looks like this can be marked fixed or works for me.
Reporter | ||
Comment 14•15 years ago
|
||
looks like the site no longer offers this map. closing
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WORKSFORME
Updated•10 years ago
|
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•