Ticket #977 (closed task: fixed)

Opened 6 years ago

Last modified 5 years ago

Investigate Prototype + OpenLayers interactions in IE, Opera

Reported by: crschmidt Owned by:
Priority: minor Milestone: 2.6 Release
Component: general Version: 2.4
Keywords: Cc: penyaskito@…, bob@…
State:

Description

We haven't actually done any serious testing of prototype libraries with OpenLayers in the page. We need to start doing this, and making it part of our testing, because we're getting reports of serious problems in this regard.

Change History

Changed 6 years ago by penyaskito

  • cc penyaskito@… added

Changed 6 years ago by crschmidt

one stack trace, for example:

 http://pastry/~bob/tilesAtHome/map.html Event thread: load Error: name: TypeError message: Statement on line 46: Could not convert undefined or null to object Backtrace:

Line 46 of linked script  http://pastry/~bob/tilesAtHome/My.Proto.Menu.js

this.container.insert(item.separator ? new Element("div", {className : "separator"}) : new Element("a", {href : "#", title : item.name, className : item.disabled ? "disabled" : ""}).observe("click", this.onClick.bind(this)).update(item.name).extend({_callback : item.callback}));

Line 235 of linked script http://openlayers.org/dev/lib/OpenLayers/BaseTypes.js

return func.apply(object, newArgs);

Line 235 of linked script http://openlayers.org/dev/lib/OpenLayers/BaseTypes.js

return func.apply(object, newArgs);

Line 584 of linked script  http://pastry/~bob/tilesAtHome/prototype.js

iterator(value, index++);

Line 831 of linked script  http://pastry/~bob/tilesAtHome/prototype.js

iterator(this[i]);

Line 585 of linked script  http://pastry/~bob/tilesAtHome/prototype.js

this._each(function (value)

{

iterator(value, index++);

} );

Line 46 of linked script  http://pastry/~bob/tilesAtHome/My.Proto.Menu.js

this.options.menuItems.each(function (item)

{

this.container.insert(item.separator ? new Element("div", {className : "separator"}) : new Element("a", {href : "#", title : item.name, className : item.disabled ? "disabled" : ""}).observe("click", this.onClick.bind(this)).update(item.name).extend({_callback : item.callback}));

} .bind(this));

Line 45 of linked script  http://pastry/~bob/tilesAtHome/prototype.js

if (! Class.extending)

Line 131 of inline#2 script in  http://pastry/~bob/tilesAtHome/map.html

var menu = Proto.Menu.setMenu(new Proto.Menu({className : "menu firefox", menuItems : menuLinks}));

Line 1 of script

contextinit();

mapinit();

At unknown location

[statement source code not available]

Changed 6 years ago by crschmidt

Try again:

http://pastry/~bob/tilesAtHome/map.html
Event thread: load
Error:
name: TypeError
message: Statement on line 46: Could not convert undefined or null to object
Backtrace:
  Line 46 of linked script http://pastry/~bob/tilesAtHome/My.Proto.Menu.js
    this.container.insert(item.separator ? new Element("div", {className : "separator"}) : new Element("a", {href : "#", title : item.name, className : item.disabled ? "disabled" : ""}).observe("click", this.onClick.bind(this)).update(item.name).__extend({_callback : item.callback}));
  Line 235 of linked script http://openlayers.org/dev/lib/OpenLayers/BaseTypes.js
    return func.apply(object, newArgs);
  Line 235 of linked script http://openlayers.org/dev/lib/OpenLayers/BaseTypes.js
    return func.apply(object, newArgs);
  Line 584 of linked script http://pastry/~bob/tilesAtHome/prototype.js
    iterator(value, index++);
  Line 831 of linked script http://pastry/~bob/tilesAtHome/prototype.js
    iterator(this[i]);
  Line 585 of linked script http://pastry/~bob/tilesAtHome/prototype.js
    this._each(function (value)
{
  iterator(value, index++);
}
);
  Line 46 of linked script http://pastry/~bob/tilesAtHome/My.Proto.Menu.js
    this.options.menuItems.each(function (item)
{
  this.container.insert(item.separator ? new Element("div", {className : "separator"}) : new Element("a", {href : "#", title : item.name, className : item.disabled ? "disabled" : ""}).observe("click", this.onClick.bind(this)).update(item.name).__extend({_callback : item.callback}));
}
.bind(this));
  Line 45 of linked script http://pastry/~bob/tilesAtHome/prototype.js
    if (! Class.extending)
      Line 131 of inline#2 script in http://pastry/~bob/tilesAtHome/map.html
    var menu = Proto.Menu.setMenu(new Proto.Menu({className : "menu firefox", menuItems : menuLinks}));
  Line 1 of  script
    contextinit();
mapinit();
  At unknown location
    [statement source code not available]

Changed 6 years ago by crschmidt

(In [4324]) Add directory for prototype-based testing. Add content from  http://cakebox.net/osm-slippy-test/map.html to start working on reproducing the problem. (Thanks, bobkare.) (See #977)

Changed 6 years ago by openlayers

  • cc bob@… added

Changed 6 years ago by crschmidt

I've been playing, and with 2.5, I've been unable to cause problems. Can anyone else confirm/deny that they have something that does/doesn't work?

Changed 5 years ago by crschmidt

  • status changed from new to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.