Opened 12 years ago

Closed 12 years ago

#5723 closed enhancement (fixed)

Make Dojo work with Adobe AIR

Reported by: dylan Owned by: alex
Priority: high Milestone: 1.1
Component: Core Version: 1.0
Keywords: Cc:
Blocked By: Blocking:

Description

Make changes to Dojo to allow Dojo to work within Adobe AIR.

Work done by SitePen? and Adobe, contributed under SitePen? CCLA and contract between SitePen? and Adobe.

Attachments (8)

DojoAIRProject.pdf (79.1 KB) - added by dylan 12 years ago.
Documentation/known issues
index.html (6.8 KB) - added by dylan 12 years ago.
patch listing tests and features for Adobe AIR
dojo-build-profile.js (174 bytes) - added by dylan 12 years ago.
patch of build profile for Adobe AIR
tests.zip (162.2 KB) - added by dylan 12 years ago.
test cases for Dojo inside Adobe AIR
dojo.patch (4.1 KB) - added by dylan 12 years ago.
patch for core for Adobe AIR
dijit.patch (4.0 KB) - added by dylan 12 years ago.
patch for dijit for Adobe AIR
dojox.patch (25.0 KB) - added by dylan 12 years ago.
patch for dojox for Adobe AIR
application.xml (846 bytes) - added by dylan 12 years ago.
patch for Adobe AIR's application.xml config file

Download all attachments as: .zip

Change History (15)

comment:1 Changed 12 years ago by alex

Status: newassigned

Changed 12 years ago by dylan

Attachment: DojoAIRProject.pdf added

Documentation/known issues

Changed 12 years ago by dylan

Attachment: index.html added

patch listing tests and features for Adobe AIR

Changed 12 years ago by dylan

Attachment: dojo-build-profile.js added

patch of build profile for Adobe AIR

Changed 12 years ago by dylan

Attachment: tests.zip added

test cases for Dojo inside Adobe AIR

comment:2 Changed 12 years ago by dylan

Somewhere in the source or documentation, we should add "Adobe and SitePen? collaborated on these modifications."

Changed 12 years ago by dylan

Attachment: dojo.patch added

patch for core for Adobe AIR

Changed 12 years ago by dylan

Attachment: dijit.patch added

patch for dijit for Adobe AIR

Changed 12 years ago by dylan

Attachment: dojox.patch added

patch for dojox for Adobe AIR

Changed 12 years ago by dylan

Attachment: application.xml added

patch for Adobe AIR's application.xml config file

comment:3 Changed 12 years ago by James Burke

For dojo.patch, it has a branch point on dojo.isAIR (should that be dojo.isAir?) for things that call setTimeout. I would prefer not to have a branch and to preserve the use of dojo._scopeName within AIR. Instead of having the branch points can we do something like (for example):

setTimeout(function(){window[dojo._scopeName].loaded();}, 0);

This assumes:

  • "window" exists in AIR
  • We don't leak in browsers like IE with those closures.

I think we are OK with the closures, not sure about "window" support in AIR.

comment:4 Changed 12 years ago by James Burke

Ugh, forgot to scrub that window may not be in all our hostenvs. So window might not be so good. "this" instead?

comment:5 Changed 12 years ago by James Burke

On further reflection, the closure path used in the patch should be sufficient for all hostenvs, and it will preserve the scope functionality. That was the whole point of the scope changes: so that you do not need to modify the library code to know about it unless you are making string IDs or string callbacks. So this should be sufficient, no need for a dojo.isAIR (or dojo.isAir) check:

setTimeout(function(){dojo.loaded();}, 0);

comment:6 Changed 12 years ago by dylan

post-commit refs hook seems b0rken... this landed in [12311]

comment:7 Changed 12 years ago by dylan

Resolution: fixed
Status: assignedclosed

Moving documentation issue to #5883

Note: See TracTickets for help on using tickets.