Closed Bug 403290 Opened 18 years ago Closed 15 years ago

"WARNING: nsDOMClassInfo::GetProperty Don't call me!" with __proto__

Categories

(Core :: XPConnect, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jruderman, Unassigned)

Details

(Keywords: testcase)

Attachments

(1 file)

Attached file testcase
WARNING: nsDOMClassInfo::GetProperty Don't call me!: file /Users/jruderman/trunk/mozilla/dom/src/base/nsDOMClassInfo.cpp, line 3701 This was turned from an assertion to a warning in bug 327571, but I can't trigger the warning with the testcase from that bug any more.
This is kinda fun. The proto chain here looks something like this: A.__proto__ == B B's class has a getProperty hook. We do a property get on A, end up resolving the property on B, and call the getProperty hook for B's class, passing it A as the JSObject*. This getProperty hook is XPC_WN_Helper_GetProperty. It assumes that since it got called the passed-in object had WantGetProperty() set, so it calls the scriptable helper GetProperty. The problem is that WantGetProperty() was on B, but since A was passed to the hook we call A's scriptable helper, which doesn't expect to ever be called. Hence the warning. This seems pretty bad to me; I think the scriptable helpers really do tend to assume that they get the JSObject for the right class, no?
Would this and bug 311229 be duplicates ?
WFM Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.3a5pre) Gecko/20100602 Minefield/3.7a5pre
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: