Changeset 15089
- Timestamp:
- 03/10/10 17:32:28 (5 months ago)
- Location:
- trunk/Xul_Wsp/content/scenariWsp
- Files:
-
- 2 modified
-
desks/wspDesk/wspDesk.js (modified) (4 diffs)
-
windows/itemSelector/selItem.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Xul_Wsp/content/scenariWsp/desks/wspDesk/wspDesk.js
r15076 r15089 118 118 Components.classes["@scenari.com/sharedres;1"].getService(Components.interfaces.scISharedRes).reset(); 119 119 if(system.isMac){ 120 / * Horrid hack to work around xulrunner bug under MacOSX: The menubar will crash xulrunner after a window.location.reload() */120 // Horrid hack to work around xulrunner bug under MacOSX: The menubar will crash xulrunner after a window.location.reload() 121 121 system.appRestart(true); 122 122 } else { … … 325 325 326 326 /** 327 * @Api Desks avec contenus. Enregistre tout ce qui est dirty concernant le wsp pCdWsp ou327 * @Api Desks avec ContentViewController. Enregistre tout ce qui est dirty concernant le wsp pCdWsp ou 328 328 * tout wsp confondu si pCdWsp n'est pas renseigné. 329 329 */ … … 333 333 334 334 /** 335 * @Api Desks avec contenus. Permet d'accéder à une uri quelconque.335 * @Api Desks avec ContentViewController. Permet d'accéder à une uri quelconque. 336 336 */ 337 337 openRefUri : function(pRefUri, pOptions) { 338 try { 339 if(!pRefUri) return; 340 if(! src.isSrcId(pRefUri)) desk.getController("ContentViewController").openSrcUri(pRefUri, pOptions); 341 else { 342 function cbGetSrcUri(pShortDesc, pCdError) { 343 if(pShortDesc) desk.getController("ContentViewController").openSrcUri(pShortDesc.srcUri, pOptions); 338 if(!pRefUri) return; 339 //Si l'appel vient d'une autre frame (mainview), les appels asynchrones qui seront effectués pour 340 //effectuer cet openRefUri peuvent échouer alléatoirement dû à des GC effectués dans l'autre frame. 341 //Le passage par un timer permet de réassocier les objets qui seront créés à cette frame. 342 //Bug peut-etre lié à notre utilisation de l'ancien mode de sécurité (xpcnativewrappers=no dans 343 //les manifests chrome). A réévaluer quand on aurra purgé xpcnativewrappers=no. 344 system.setTimer({notify:function(pTimer){ 345 try { 346 if(! src.isSrcId(pRefUri)) desk.getController("ContentViewController").openSrcUri(pRefUri, pOptions); 347 else { 348 function cbGetSrcUri(pShortDesc, pCdError) { 349 if(pShortDesc) desk.getController("ContentViewController").openSrcUri(pShortDesc.srcUri, pOptions); 350 } 351 var vUriObjectWsp = new UriObjectWsp(this.getWsp().getCode(), this.getWsp().getDataProvider()); 352 vUriObjectWsp.loadShortDesc(pRefUri, cbGetSrcUri); 344 353 } 345 var vUriObjectWsp = new UriObjectWsp(this.getWsp().getCode(), this.getWsp().getDataProvider()); 346 vUriObjectWsp.loadShortDesc(pRefUri, cbGetSrcUri); 347 } 348 }catch(e){log.debug("desk.openRefUri failed for '"+pRefUri+"': "+e);} 354 }catch(e){log.debug("desk.openRefUri failed for '"+pRefUri+"': "+e);} 355 }}, 0); 349 356 }, 350 357 … … 403 410 404 411 /** 405 * Transfert une requete vers la ContentView courante.412 * @Api Desks avec ContentViewController. Transfert une requete vers la ContentView courante. 406 413 * 407 414 * @param pKeepIfViewUnvailable Si true et si la view n'est pas encore chargée, la requête sera placée en attente. -
trunk/Xul_Wsp/content/scenariWsp/windows/itemSelector/selItem.js
r15068 r15089 208 208 fController : {}, 209 209 210 /** @Api Desk avec contenus. Enregistre tout ce qui est dirty concernant le wsp pCdWsp ou210 /** @Api Desks avec ContentViewController. Enregistre tout ce qui est dirty concernant le wsp pCdWsp ou 211 211 * tout wsp confondu si pCdWsp n'est pas renseigné. 212 212 */ … … 216 216 217 217 /** 218 * @Api Desks avec contenus. Permet d'accéder à une uri quelconque.218 * @Api Desks avec ContentViewController. Permet d'accéder à une uri quelconque. 219 219 */ 220 220 openRefUri : function(pRefUri, pOptions) { 221 try { 222 if(!pRefUri) return; 223 if(! src.isSrcId(pRefUri)) desk.getController("ContentViewController").openSrcUri(pRefUri, pOptions); 224 else { 225 function cbGetSrcUri(pShortDesc, pCdError) { 226 if(pShortDesc) desk.getController("ContentViewController").openSrcUri(pShortDesc.srcUri, pOptions); 221 if(!pRefUri) return; 222 //Si l'appel vient d'une autre frame (mainview), les appels asynchrones qui seront effectués pour 223 //effectuer cet openRefUri peuvent échouer alléatoirement dû à des GC effectués dans l'autre frame. 224 //Le passage par un timer permet de réassocier les objets qui seront créés à cette frame. 225 //Bug peut-etre lié à notre utilisation de l'ancien mode de sécurité (xpcnativewrappers=no dans 226 //les manifests chrome). A réévaluer quand on aurra purgé xpcnativewrappers=no. 227 system.setTimer({notify:function(pTimer){ 228 try { 229 if(! src.isSrcId(pRefUri)) desk.getController("ContentViewController").openSrcUri(pRefUri, pOptions); 230 else { 231 function cbGetSrcUri(pShortDesc, pCdError) { 232 if(pShortDesc) desk.getController("ContentViewController").openSrcUri(pShortDesc.srcUri, pOptions); 233 } 234 var vUriObjectWsp = new UriObjectWsp(this.getWsp().getCode(), this.getWsp().getDataProvider()); 235 vUriObjectWsp.loadShortDesc(pRefUri, cbGetSrcUri); 227 236 } 228 var vUriObjectWsp = new UriObjectWsp(this.getWsp().getCode(), this.getWsp().getDataProvider()); 229 vUriObjectWsp.loadShortDesc(pRefUri, cbGetSrcUri); 230 } 231 }catch(e){log.debug("desk.openRefUri failed for '"+pRefUri+"': "+e);} 237 }catch(e){log.debug("desk.openRefUri failed for '"+pRefUri+"': "+e);} 238 }}, 0); 232 239 }, 233 240 … … 286 293 287 294 /** 288 * Transfert une requete vers la ContentView courante.295 * @Api Desks avec ContentViewController. Transfert une requete vers la ContentView courante. 289 296 * 290 297 * @param pKeepIfViewUnvailable Si true et si la view n'est pas encore chargée, la requête sera placée en attente.