FLUID-2636: GeometricManager code will throw "nodeName is null or undefined" in some circumstances in IE

Metadata

Source
FLUID-2636
Type
Bug
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
Justin Obara
Reporter
Antranig Basman
Created
2009-04-30T10:17:04.000-0400
Updated
2009-11-13T09:01:10.000-0500
Versions
  1. 1.0
Fixed Versions
  1. 1.1
Component
  1. Reorderer

Description

Reported on IRC:

[13:43:08 EDT(-0400)] <dstn> In some portlets in uPortal 3.1, when we drag them, we get 'tagName' is null or not an object and it refers to line 4349 in fluid-all-0.8.js - I've pastebined a snippet of the lines here http://fluid.pastebin.com/m5569805c . It happens in IE6 and IE7.

Relevant code in GeometricManager.js is the following:

var isAttached = function(node) {
while(node) {
if (node.tagName.toLowerCase() === "body") return true;
node = node.parentNode;
}
return false;
};

Environments

IE6, IE7

Comments

  • Antranig Basman commented 2009-04-30T10:18:51.000-0400

    http://www.quirksmode.org/dom/w3c_core.html explains some of the oddities with nodeName/tagName. This code should probably simply be guarded, to prevent any-sized fragments from escaping the range of safe nodes.

  • Justin Obara commented 2009-05-22T09:04:05.000-0400

    Bug Parade 1.1 release

  • Antranig Basman commented 2009-05-25T23:00:36.000-0400

    tagName replaced for NodeName and now properly guarded - hard to verify since problem is intermittent, but should be impossible now.

  • Justin Obara commented 2009-11-13T09:01:10.000-0500

    Closed as per previous comment