| Summary: | syslib.writestdout with remote dojo runtime doesn't work in VE by XULRunner | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Xin Wu <cdlwuxin> | ||||
| Component: | EDT | Assignee: | Huang Ji Yong <hjiyong> | ||||
| Status: | CLOSED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | chenzhh, hjiyong, jqian, svihovec, wxwu, xiaobinc | ||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Xin Wu
Create the Web Client project with Dojo widget version(1.6.1 remote) Root cause updated: the event works well, only syslib.writestdout with remote dojo runtime doesn't work in VE by XULRunner. Jiyong, please take a look to see if there's a obvious bug there. It looks significant to me. I always use writeStderr & writeStdout when developing. xulrunner is also the main render engine we are supporting. Google runtime might not be as popular as local runtime (since it's not the default), but without this problem being fixed, Google runtime users will hit problem quite easily. I'm wondering if this is a single issue just for writeStderr or may have wider impact. Created attachment 207419 [details]
Fix
Reason:
The loading sequence is different between RBD and EDT. The Google runtime don't have to override the runtime function again.
egl.println is overrided and does not roll back to original state.
Risk:
It affects the application using Google runtime, may need more testing.
Customer Impact:
If it is not fixed, user cannot use syslib.writestdout/writestderror
Test:
Dojo Sample in Google Runtime, has a same defect before applying this fix
Brian, I vote to defer this defect, based on the description below, seems there is bigger issue with using dojo runtime, I rather say we have known issues with dojo runtime than having the fix introduce other regressions. Changing to P3 and deferring to future. I am told that applications with Google Remote work, and that the issue is just with egl.println. Changing the loading scheme for Google Remote at this point is too risky. Users can avoid this issue by using Google Local for development. Ji Yong, regarding the patch, can you explain why egl.println was being disabled before the patch? It looks like it should have been reset if egl.localeInfo is not null, so I am guessing that egl.localeInfo is null? At the same time, it also looks like the handler should not be constructed at all if egl.localeInfo is null, but the application still appears to run? (In reply to comment #6) > Changing to P3 and deferring to future. > > I am told that applications with Google Remote work, and that the issue is just > with egl.println. Changing the loading scheme for Google Remote at this point > is too risky. Users can avoid this issue by using Google Local for > development. > > Ji Yong, regarding the patch, can you explain why egl.println was being > disabled before the patch? It looks like it should have been reset if > egl.localeInfo is not null, so I am guessing that egl.localeInfo is null? At > the same time, it also looks like the handler should not be constructed at all > if egl.localeInfo is null, but the application still appears to run? In EDT, when includeDojo.html is running, egl.println is undefined. It seems the google runtime in chrome is loaded after the runtime file is loaded. So this lines will be executed if (egl.localeInfo) { // true in chrome, false in IE egl.println = egl.oldPrintln; //egl.oldPrintln is undefined So the egl.println is set to undefined in chrome If this fix is ready, please commit it to CVS. If it is not ready, let's set this to 8 I2. Commit the fix Blocked by JS Gen bug 368789, will verify this when the blocking issue resolved. Verified in build 0.8.0.v201201172212 |