diff --git a/xpfe/browser/src/contentframe.html b/xpfe/browser/src/contentframe.html
index 7024445a09bc..8588c879b5de 100644
--- a/xpfe/browser/src/contentframe.html
+++ b/xpfe/browser/src/contentframe.html
@@ -4,7 +4,7 @@
diff --git a/xpfe/browser/src/navigator.xul b/xpfe/browser/src/navigator.xul
index 3b67d2004761..d8d627fdff30 100644
--- a/xpfe/browser/src/navigator.xul
+++ b/xpfe/browser/src/navigator.xul
@@ -9,28 +9,41 @@
onload="Startup()" title="Mozilla">
+ var appCore = null;
function Startup()
{
dump("Doing Startup...\n");
- appCore = XPAppCoresManager.Find("BrowserAppCore");
- dump("Looking up BrowserAppCore...\n");
- if (appCore == null) {
- dump("Creating BrowserAppCore...\n");
- appCore = new BrowserAppCore();
- if (appCore != null) {
- dump("BrowserAppCore has been created.\n");
- appCore.Init("BrowserAppCore");
- appCore.setContentWindow(window.frames[0].frames[1]);
- appCore.setWebShellWindow(window);
- appCore.setToolbarWindow(window);
- appCore.setDisableCallback("DoDisableButtons();");
- appCore.setEnableCallback("DoEnableButtons();");
- dump("Adding BrowserAppCore to AppCoreManager...\n");
- dump("...probably for a second time, because the constructor of nsBaseAppCore does this!\n");
- XPAppCoresManager.Add(appCore);
- }
+ dump("Creating browser app core\n");
+ appCore = new BrowserAppCore();
+ if (appCore != null) {
+ dump("BrowserAppCore has been created.\n");
+ appCore.Init("BrowserAppCore." + ( new Date() ).getTime().toString() );
+ tryToSetContentWindow();
+ //appCore.setContentWindow( window.frames[0].frames[1] );
+ appCore.setWebShellWindow(window);
+ appCore.setToolbarWindow(window);
+ appCore.setDisableCallback("DoDisableButtons();");
+ appCore.setEnableCallback("DoEnableButtons();");
+ }
+ }
+
+ function tryToSetContentWindow() {
+ if ( window.frames[0].frames[1] ) {
+ dump("Setting content window\n");
+ appCore.setContentWindow( window.frames[0].frames[1] );
+ // Load initial page.
+ var args = document.getElementById("args");
+ var input = document.getElementById("urlbar");
+ if ( args && input ) {
+ var url = args.getAttribute("value");
+ dump("Loading initial url: " + url + "\n");
+ input.setAttribute("value",url);
+ BrowserLoadURL();
+ }
} else {
- dump("BrowserAppCore has already been created! Why?\n");
+ // Try again.
+ dump("Scheduling later attempt to set content window\n");
+ window.setTimeout( "tryToSetContentWindow()", 100 );
}
}
@@ -56,7 +69,6 @@
function BrowserBack()
{
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore != null) {
dump("Going Back\n");
appCore.back();
@@ -68,7 +80,6 @@
function BrowserForward()
{
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore != null) {
dump("Going Forward\n");
appCore.forward();
@@ -103,7 +114,6 @@
function BrowserNewWindow()
{
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore != null) {
dump("Opening New Window\n");
appCore.newWindow();
@@ -114,7 +124,6 @@
function BrowserOpenWindow()
{
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore != null) {
dump("Opening New Window\n");
appCore.openWindow();
@@ -123,9 +132,24 @@
}
}
- function BrowserCopy()
+ function OpenFile(url) {
+ // This is invoked from the browser app core.
+ core = XPAppCoresManager.Find("toolkitCore");
+ if ( !core ) {
+ core = new ToolkitCore();
+ if ( core ) {
+ core.Init("toolkitCore");
+ }
+ }
+ if ( core ) {
+ core.ShowWindowWithArgs( "resource:/res/samples/navigator.xul", window, url );
+ } else {
+ dump("Error; can't create toolkitCore\n");
+ }
+ }
+
+ function BrowserCopy()
{
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore != null) {
dump("Copying\n");
appCore.copy();
@@ -184,7 +208,6 @@
// Borrowing this method to show how to
// dynamically change icons
dump("BrowserPrintPreview\n");
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore != null) {
dump("Changing Icons\n");
appCore.printPreview();
@@ -197,7 +220,6 @@
{
// Borrowing this method to show how to
// dynamically change icons
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore != null) {
appCore.print();
}
@@ -205,7 +227,6 @@
function BrowserSetDocumentCharacterSet(aCharset)
{
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore != null) {
appCore.SetDocumentCharset(aCharset);
} else {
@@ -220,7 +241,6 @@
function BrowserExit()
{
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore != null) {
dump("Exiting\n");
appCore.exit();
@@ -231,7 +251,6 @@
function BrowserLoadURL()
{
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore == null)
{
dump("BrowserAppCore has not been initialized\n");
@@ -278,7 +297,6 @@
function WalletEditor()
{
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore != null) {
dump("Wallet Editor\n");
appCore.walletEditor();
@@ -289,7 +307,6 @@
function WalletSafeFillin()
{
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore != null) {
dump("Wallet Safe Fillin\n");
appCore.walletSafeFillin();
@@ -300,7 +317,6 @@
function WalletQuickFillin()
{
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore != null) {
dump("Wallet Quick Fillin\n");
appCore.walletQuickFillin();
@@ -311,7 +327,6 @@
function WalletSamples()
{
- appCore = XPAppCoresManager.Find("BrowserAppCore");
if (appCore != null) {
dump("Wallet Samples\n");
appCore.walletSamples();
@@ -349,6 +364,22 @@
}
}
+ function BrowserViewSource()
+ {
+ var toolkitCore = XPAppCoresManager.Find("ToolkitCore");
+ if (!toolkitCore) {
+ toolkitCore = new ToolkitCore();
+ if (toolkitCore) {
+ toolkitCore.Init("ToolkitCore");
+ }
+ }
+ if (toolkitCore) {
+ var url = window.frames[0].frames[1].location;
+ dump("Opening view of source for" + url + "\n");
+ toolkitCore.ShowWindowWithArgs("resource:/res/samples/viewSource.xul", window, url);
+ }
+ }
+
function OpenEditor()
{
var toolkitCore = XPAppCoresManager.Find("ToolkitCore");
@@ -379,6 +410,7 @@
+