#6690 closed enhancement (fixed)
Store references to location and navigator objects
Reported by: | jos3000 | Owned by: | john |
---|---|---|---|
Priority: | low | Milestone: | 1.6 |
Component: | core | Version: | 1.4.3 |
Keywords: | sandbox | Cc: | |
Blocked by: | Blocking: |
Description
I'm using jsdom to run jQuery on node.js
In the main example: http://github.com/tmpvar/jsdom/blob/master/example/jquery/run.js
the variables 'window', 'document', 'navigator' and 'location' are defined in the scope before query is run. For neatness I tried to remove all but 'window' since jQuery starts by wrapping all the code in a closure with only 'window' as an argument.
It turns out that it still requires 'navigator' and 'location' to be defined.
Would it be possible to add: var navigator = window.navigator, location = window.location; to the core so that the sandbox is complete? This is already done with 'document'.
I know this should work, but wonder if there is a browser compatibility reason that this would break.
Change History (3)
comment:1 Changed 12 years ago by
Milestone: | 1.4.3 → 1.5 |
---|---|
Priority: | → low |
Status: | new → open |
Summary: | Sandbox leaks → Store references to location and navigator objects |
Version: | 1.4.2 → 1.4.3 |
comment:2 Changed 12 years ago by
Milestone: | → 1.6 |
---|---|
Owner: | set to john |
Status: | open → assigned |
comment:3 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Cache references to navigator and location. Fixes #6690.
Changeset: 94ee3e9743c2cab24084ae24e02871f6df4aef13
This could also provide a small perf & filesize boost.