var appCore = null; function onLoadViewSource() { try { createBrowserInstance(); if (appCore == null) { // Give up. dump("Giving up...\n"); window.close(); } // Initialize browser instance.. appCore.setWebShellWindow(window); if ( window._content ) { dump("Setting content window\n"); appCore.setContentWindow( window._content ); } } catch(ex) { dump("Failed to create and initialiaze the AppCore...\n"); } var docShellElement = document.getElementById("content-frame"); var docShell = docShellElement.docShell; docShell.viewMode = Components.interfaces.nsIDocShell.viewSource; var webNav = docShell.QueryInterface(Components.interfaces.nsIWebNavigation); try { if ( window.arguments && window.arguments[1] ) { if (window.arguments[1].indexOf('charset=') != -1) { arrayArgComponents = window.arguments[1].split('='); if (arrayArgComponents) { if (appCore != null) { dump("*** SetDocumentCharset(" + arrayArgComponents[1] + ")\n"); appCore.SetDocumentCharset(arrayArgComponents[1]); } } } } } catch(ex) { dump("*** Failed to SetDocumentCharset...\n"); } webNav.loadURI(window.arguments[0]); } function createBrowserInstance() { appCore = Components .classes[ "component://netscape/appshell/component/browser/instance" ] .createInstance( Components.interfaces.nsIBrowserInstance ); if ( !appCore ) { alert( "Error creating browser instance\n" ); } }