Getting Enyo 1.0 up in the Ripple Blackberry emulator

edited February 2012 in Enyo 1.0
I don't know what sweeping effects this may have in other parts of Enyo, or on other platforms, so I'm just making this change on my Playbook copy, but ... at roughyl line 6228 or so in enyo-build.js is the "getWindows" function. I've changed it to:
getWindows: function() {
var a = this.getRootWindow();
if(!a.enyo) a.enyo = enyo;
var b = a.enyo.windows.manager;
var c = b._windowList;
var d = {};
for (var e in c) this.isValidWindow(c[e]) && (d[e] = c[e]);
return b._windowList = d, d;
},
and now my app comes up in Ripple.

Comments

  • Great info. We are trying to run enyo 1.0 apps on BlackBerry hackathon on Monday we didn't find the solution for those problem. Now I see that this is working. Thanks :)
  • The root of the problem there, appears to be that getRootWindow() returns a window that does not have an enyo object associated to it. I'm not sure where in the Enyo source that is supposed to happen, so I've just forced the issue here, assuming that we'll probably never have more than one window at a time.
  • Setting window.enyo occurs in builtin-preamble.js, in the method assignWindowParams(), and in the enyo.setup() call. I think on webOS, usually that first method is how it gets set, since most Enyo apps use the builtin version that's preloaded into WebKit/V8.

    It's worth checking to see if the root window there is the same object as "window". Maybe there's some setup that's just not happening in WebWorks.
  • This is actually a problem when using the Ripple Emulator, not Webworks. At it only happens with Enyo 1, not Enyo 2.
  • Aside from speed concerns, though, Ripple is far more convenient to work with than the VMWare Player. Although there are some differences in implementations between the webkit in ripple vs the webkit in the simulator. Hopefully the simulator is dead on to the actual device :|
Sign In or Register to comment.