diff --git a/mozilla/suite/browser/navigator.js b/mozilla/suite/browser/navigator.js new file mode 100644 index 00000000000..eb56e8fcbb7 --- /dev/null +++ b/mozilla/suite/browser/navigator.js @@ -0,0 +1,835 @@ +/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + + var appCore = null; + var prefwindow = null; + var appCoreName = ""; + var defaultStatus = "default status text"; + var debugSecurity = false; // Set this true to enable Security chrome testing. + + function Startup() + { + dump("Doing Startup...\n"); + dump("Creating browser app core\n"); + appCore = new BrowserAppCore(); + if (appCore != null) { + dump("BrowserAppCore has been created.\n"); + appCoreName = "BrowserAppCore." + ( new Date() ).getTime().toString(); + appCore.Init( appCoreName ); + appCore.setWebShellWindow(window); + appCore.setToolbarWindow(window); + tryToSetContentWindow(); + } + } + + function onLoadWithArgs() { + // See if Startup has been run. + if ( appCore ) { + // See if load in progress (loading default page). + if ( document.getElementById("Browser:Throbber").getAttribute("busy") == "true" ) { + dump( "Stopping load of default initial page\n" ); + appCore.stop(); + } + dump( "Loading page specified on ShowWindowWithArgs\n" ); + appCore.loadInitialPage(); + } else { + // onLoad handler timing is not correct yet. + dump( "onLoadWithArgs not needed yet\n" ); + } + } + + function tryToSetContentWindow() { + if ( window.frames[0].frames[1] ) { + dump("Setting content window\n"); + appCore.setContentWindow( window.frames[0].frames[1] ); + // Have browser app core load appropriate initial page. + + var pref = Components.classes['component://netscape/preferences']; + + // if all else fails, use trusty "about:" as the start page + var startpage = "about:"; + if (pref) { + pref = pref.getService(); + } + if (pref) { + pref = pref.QueryInterface(Components.interfaces.nsIPref); + } + if (pref) { + // from mozilla/modules/libpref/src/init/all.js + // 0 = blank + // 1 = home (browser.startup.homepage) + // 2 = last + // 3 = splash (browser.startup.splash) + choice = pref.GetIntPref("browser.startup.page"); + switch (choice) { + case 0: + startpage = "about:blank"; + break; + case 1: + startpage = pref.CopyCharPref("browser.startup.homepage"); + break; + case 2: + var history = Components.classes['component://netscape/browser/global-history']; + if (history) { + history = history.getService(); + } + if (history) { + history = history.QueryInterface(Components.interfaces.nsIGlobalHistory); + } + if (history) { + startpage = history.GetLastPageVisted(); + } + break; + case 3: + startpage = pref.CopyCharPref("browser.startup.splash"); + break; + default: + startpage = "about:"; + } + } + document.getElementById("args").setAttribute("value", startpage); + appCore.loadInitialPage(); + } else { + // Try again. + dump("Scheduling later attempt to set content window\n"); + window.setTimeout( "tryToSetContentWindow()", 100 ); + } + } + + function Translate(src, dest) + { + var service = "http://levis.alis.com:8081"; + service += "?AlisSourceLang=" + src; + service += "&AlisTargetLang=" + dest; + service += "&AlisMTEngine=SSI"; + service += "&AlisTargetURI=" + window.frames[0].frames[1].location.href; + window.frames[0].frames[1].location.href = service; + } + + function RefreshUrlbar() + { + //Refresh the urlbar bar + document.getElementById('urlbar').value = window.frames[0].frames[1].location.href; + } + + function BrowserBack() + { + // Get a handle to the back-button + var bb = document.getElementById("canGoBack"); + // If the button is disabled, don't bother calling in to Appcore + if ( (bb.getAttribute("disabled")) == "true" ) + return; + + if (appCore != null) { + dump("Going Back\n"); + appCore.back(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserForward() + { + // Get a handle to the back-button + var fb = document.getElementById("canGoForward"); + // If the button is disabled, don't bother calling in to Appcore + if ( (fb.getAttribute("disabled")) == "true" ) + return; + + if (appCore != null) { + dump("Going Forward\n"); + appCore.forward(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserSetForward() + { + var forwardBElem = document.getElementById("canGoForward"); + if (!forwardBElem) { + dump("Couldn't obtain handle to forward Broarcast element\n"); + return; + } + + var canForward = forwardBElem.getAttribute("disabled"); + var fb = document.getElementById("forward-button"); + + if (!fb) { + dump("Could not obtain handle to forward button\n"); + return; + } + + // Enable/Disable the Forward button + if (canForward == "true") { + fb.setAttribute("disabled", "true"); + } + else { + fb.setAttribute("disabled", ""); + } + + // Enable/Disable the Forward menu + var fm = document.getElementById("menuitem-forward"); + if (!fm) { + dump("Couldn't obtain menu item Forward\n"); + return; + } + + // Enable/Disable the Forward Menuitem + if (canForward == "true") { + fm.setAttribute("disabled", "true"); + } + else { + dump("Setting forward menu item enabled\n"); + fm.setAttribute("disabled", ""); + } + + } + + function BrowserCanStop() { + var stop = document.getElementById("canStop"); + if ( stop ) { + var stopDisabled = stop.getAttribute("disabled"); + var stopButton = document.getElementById( "stop-button" ); + if ( stopButton ) { + if ( stopDisabled == "true") { + stopButton.setAttribute( "disabled", "true" ); + } else { + stopButton.setAttribute( "disabled", "" ); + } + } + } + } + + function BrowserStop() { + // Get a handle to the "canStop" broadcast id + var stopBElem = document.getElementById("canStop"); + if (!stopBElem) { + dump("Couldn't obtain handle to stop Broadcast element\n"); + return; + } + + var canStop = stopBElem.getAttribute("disabled"); + var sb = document.getElementById("stop-button"); + + if (!sb) { + dump("Could not obtain handle to stop button\n"); + return; + } + + // If the stop button is currently disabled, just return + if ((sb.getAttribute("disabled")) == "true") { + return; + } + + //Stop button has just been pressed. Disable it. + sb.setAttribute("disabled", "true"); + + // Get a handle to the stop menu item. + var sm = document.getElementById("menuitem-stop"); + if (!sm) { + dump("Couldn't obtain menu item Stop\n"); + } else { + // Disable the stop menu-item. + sm.setAttribute("disabled", "true"); + } + + //Call in to BrowserAppcore to stop the current loading + if (appCore != null) { + dump("Going to Stop\n"); + appCore.stop(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserSetBack() + { + var backBElem = document.getElementById("canGoBack"); + if (!backBElem) { + dump("Couldn't obtain handle to back Broadcast element\n"); + return; + } + + var canBack = backBElem.getAttribute("disabled"); + var bb = document.getElementById("back-button"); + + if (!bb) { + dump("Could not obtain handle to back button\n"); + return; + } + + // Enable/Disable the Back button + if (canBack == "true") { + bb.setAttribute("disabled", "true"); + } + else { + bb.setAttribute("disabled", ""); + } + + // Enable/Disable the Back menu + var bm = document.getElementById("menuitem-back"); + if (!bm) { + dump("Couldn't obtain menu item Back\n"); + return; + } + + // Enable/Disable the Back Menuitem + if (canBack == "true") { + bm.setAttribute("disabled", "true"); + } + else { + dump("Setting Back menuitem to enabled\n"); + bm.setAttribute("disabled", ""); + } + + + } + + function BrowserHome() + { + window.frames[0].frames[1].home(); + RefreshUrlbar(); + } + + function OpenBookmarkURL(node) + { + if (node.getAttribute('container') == "true") { + return false; + } + url = node.getAttribute('id'); + + // Ignore "NC:" urls. + if (url.substring(0, 3) == "NC:") { + return false; + } + + window.frames[0].frames[1].location.href = url; + RefreshUrlbar(); + } + + function BrowserNewWindow() + { + if (appCore != null) { + dump("Opening New Window\n"); + appCore.newWindow(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserNewEditorWindow() + { + core = XPAppCoresManager.Find("toolkitCore"); + if ( !core ) { + core = new ToolkitCore(); + if ( core ) { + core.Init("toolkitCore"); + } + } + if ( core ) { + core.ShowWindowWithArgs( "chrome://editor/content", window, "chrome://editor/content/EditorInitPage.html" ); + } else { + dump("Error; can't create toolkitCore\n"); + } + } + + function BrowserNewTextEditorWindow() + { + core = XPAppCoresManager.Find("toolkitCore"); + if ( !core ) { + core = new ToolkitCore(); + if ( core ) { + core.Init("toolkitCore"); + } + } + if ( core ) { + core.ShowWindowWithArgs( "chrome://editor/content/TextEditorAppShell.xul", window, "chrome://editor/content/EditorInitPagePlain.html" ); + } else { + dump("Error; can't create toolkitCore\n"); + } + } + + function BrowserEditPage(url) + { + core = XPAppCoresManager.Find("toolkitCore"); + if ( !core ) { + core = new ToolkitCore(); + if ( core ) { + core.Init("toolkitCore"); + } + } + if ( core ) { + core.ShowWindowWithArgs( "chrome://editor/content", window, url); + } else { + dump("Error; can't create toolkitCore\n"); + } + } + + function BrowserOpenWindow() + { + core = XPAppCoresManager.Find("toolkitCore"); + if ( !core ) { + core = new ToolkitCore(); + if ( core ) { + core.Init("toolkitCore"); + } + } + if ( core ) { + //core.ShowWindowWithArgs( "chrome:/navigator/content/openLocation.xul", window, appCoreName ); + var name = appCoreName.replace( /\./, /\_/ ); + // Note: Use width/height one less than actual so resizing occurs. + // This bypasses bug whereby dialog contents don't appear + // till the dialog is resized. + window.openDialog( "chrome:/navigator/chrome/openLocation.xul", name+"_openLocation", "chrome,width=419,height=189", appCoreName ); + } else { + dump("Error; can't create toolkitCore\n"); + } + } + + 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( "chrome://navigator/content/navigator.xul", window, url ); + } else { + dump("Error; can't create toolkitCore\n"); + } + } + + function BrowserCopy() + { + if (appCore != null) { + dump("Copying\n"); + appCore.copy(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + + function BrowserAddBookmark(url,title) + { + var bmks = Components.classes["component://netscape/browser/bookmarks-service"].getService(); + bmks = bmks.QueryInterface(Components.interfaces.nsIBookmarksService); + bmks.AddBookmark(url, title); + } + + function BrowserEditBookmarks() + { + var toolkitCore = XPAppCoresManager.Find("toolkitCore"); + if (!toolkitCore) { + toolkitCore = new ToolkitCore(); + if (toolkitCore) { + toolkitCore.Init("toolkitCore"); + } + } + if (toolkitCore) { + toolkitCore.ShowWindow("resource://res/samples/bookmarks.xul",window); + } + } + + function OpenHistoryView() + { + var toolkitCore = XPAppCoresManager.Find("toolkitCore"); + if (!toolkitCore) { + toolkitCore = new ToolkitCore(); + if (toolkitCore) { + toolkitCore.Init("toolkitCore"); + } + } + if (toolkitCore) { + toolkitCore.ShowWindow("resource://res/samples/history.xul",window); + } + } + + function BrowserPrintPreview() + { + // Borrowing this method to show how to + // dynamically change icons + dump("BrowserPrintPreview\n"); + if (appCore != null) { + dump("Changing Icons\n"); + appCore.printPreview(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserPrint() + { + // Borrowing this method to show how to + // dynamically change icons + if (appCore != null) { + appCore.print(); + } + } + + function BrowserSetDefaultCharacterSet(aCharset) + { + if (appCore != null) { + appCore.SetDocumentCharset(aCharset); + window.frames[0].frames[1].location.reload(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserClose() + { + dump("BrowserClose\n"); + // Currently window.close doesn't work unless the window was opened from JS + // window.close(); + + core = XPAppCoresManager.Find("toolkitCore"); + if ( !core ) { + core = new ToolkitCore(); + if ( core ) { + core.Init("toolkitCore"); + } + } + if ( core ) { + core.CloseWindow( window ); + } else { + dump("Error can't create toolkitCore\n"); + } + } + + function BrowserExit() + { + if (appCore != null) { + dump("Exiting\n"); + appCore.exit(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserFind() { + if (appCore != null) { + appCore.find(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserFindAgain() { + if (appCore != null) { + appCore.findNext(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserLoadURL() + { + if (appCore == null) + { + dump("BrowserAppCore has not been initialized\n"); + return; + } + + // rjc: added support for URL shortcuts (3/30/1999) + try { + var bmks = Components.classes["component://netscape/browser/bookmarks-service"].getService(); + bmks = bmks.QueryInterface(Components.interfaces.nsIBookmarksService); + + var shortcutURL = bmks.FindShortcut(document.getElementById('urlbar').value); + + dump("FindShortcut: in='" + document.getElementById('urlbar').value + "' out='" + shortcutURL + "'\n"); + + if ((shortcutURL != null) && (shortcutURL != "")) { + document.getElementById('urlbar').value = shortcutURL; + } + } + catch (ex) { + // stifle any exceptions so we're sure to load the URL. + } + + appCore.loadUrl(document.getElementById('urlbar').value); + + } + + function WalletEditor() + { + if (appCore != null) { + dump("Wallet Editor\n"); + appCore.walletEditor(window); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function WalletSafeFillin() + { + if (appCore != null) { + dump("Wallet Safe Fillin\n"); + appCore.walletPreview(window, window.frames[0].frames[1]); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function WalletChangePassword() + { + if (appCore != null) { + dump("Wallet Change Password\n"); + appCore.walletChangePassword(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + + function WalletQuickFillin() + { + if (appCore != null) { + dump("Wallet Quick Fillin\n"); + appCore.walletQuickFillin(window.frames[0].frames[1]); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function WalletSamples() + { + if (appCore != null) { + dump("Wallet Samples\n"); + appCore.walletSamples(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function SignonViewer() + { + if (appCore != null) { + dump("Signon Viewer\n"); + appCore.signonViewer(window); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function CookieViewer() + { + if (appCore != null) { + dump("Cookie Viewer\n"); + appCore.cookieViewer(window); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function OpenMessenger() + { + var toolkitCore = XPAppCoresManager.Find("ToolkitCore"); + if (!toolkitCore) { + toolkitCore = new ToolkitCore(); + if (toolkitCore) { + toolkitCore.Init("ToolkitCore"); + } + } + if (toolkitCore) { + toolkitCore.ShowWindow("chrome://messenger/content/", + window); + } + } + + function OpenAddressbook() + { + var toolkitCore = XPAppCoresManager.Find("ToolkitCore"); + if (!toolkitCore) { + toolkitCore = new ToolkitCore(); + if (toolkitCore) { + toolkitCore.Init("ToolkitCore"); + } + } + if (toolkitCore) { + toolkitCore.ShowWindow("chrome://addressbook/content/", + window); + } + } + + function MsgNewMessage() + { + var toolkitCore = XPAppCoresManager.Find("ToolkitCore"); + if (!toolkitCore) { + toolkitCore = new ToolkitCore(); + if (toolkitCore) { + toolkitCore.Init("ToolkitCore"); + } + } + if (toolkitCore) { + toolkitCore.ShowWindow("chrome://messengercompose/content/", + window); + } + } + + function DoPreferences() + { + if (!prefwindow) + { + prefwindow = Components.classes['component://netscape/prefwindow'].createInstance(Components.interfaces.nsIPrefWindow); + } + prefwindow.showWindow("navigator.js", window, "chrome://pref/content/pref-appearance.xul"); + } + + 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("chrome:/navigator/content/viewSource.xul", window, url); + } + } + + function OpenEditor() + { + var toolkitCore = XPAppCoresManager.Find("ToolkitCore"); + if (!toolkitCore) { + toolkitCore = new ToolkitCore(); + if (toolkitCore) { + toolkitCore.Init("ToolkitCore"); + } + } + if (toolkitCore) { + toolkitCore.ShowWindowWithArgs("chrome://editor/content/EditorAppShell.xul",window,"chrome://editor/content/EditorInitPage.html"); + } + } + var bindCount = 0; + function onStatus() { + var status = document.getElementById("Browser:Status"); + if ( status ) { + var text = status.getAttribute("value"); + if ( text == "" ) { + text = defaultStatus; + } + var statusText = document.getElementById("statusText"); + if ( statusText ) { + statusText.setAttribute( "value", text ); + } + } else { + dump("Can't find status broadcaster!\n"); + } + } + + function onSecurity() { + var security = document.getElementById("Browser:Security"); + var indicator = document.getElementById("security-box"); + var icon = document.getElementById("security-button"); + + if ( security.getAttribute("secure") == "true" ) { + indicator.setAttribute("class","secure"); + icon.setAttribute("class","secure"); + } else { + indicator.setAttribute("class","insecure"); + icon.setAttribute("class","insecure"); + } + } + + function securityOn() { + // Set debugSecurity (at top of file) to turn this code on. + if ( !debugSecurity ) { + return; + } + + var security = document.getElementById("Browser:Security"); + if ( security.getAttribute("secure") == "false" ) { + security.setAttribute("secure","true"); + } + } + function securityOff() { + var security = document.getElementById("Browser:Security"); + if ( security.getAttribute("secure") == "true" ) { + security.setAttribute("secure","false"); + } + } + function doTests() { + // Turn security on. + securityOn(); + } + var startTime = 0; + function onProgress() { + var throbber = document.getElementById("Browser:Throbber"); + var meter = document.getElementById("Browser:LoadingProgress"); + if ( throbber && meter ) { + var busy = throbber.getAttribute("busy"); + if ( busy == "true" ) { + mode = "undetermined"; + if ( !startTime ) { + startTime = (new Date()).getTime(); + } + } else { + mode = "normal"; + } + meter.setAttribute("mode",mode); + if ( mode == "normal" ) { + var status = document.getElementById("Browser:Status"); + if ( status ) { + var elapsed = ( (new Date()).getTime() - startTime ) / 1000; + var msg = "Document: Done (" + elapsed + " secs)"; + dump( msg + "\n" ); + status.setAttribute("value",msg); + defaultStatus = msg; + } + startTime = 0; + } + } + } + function dumpProgress() { + var broadcaster = document.getElementById("Browser:LoadingProgress"); + var meter = document.getElementById("meter"); + dump( "bindCount=" + bindCount + "\n" ); + dump( "broadcaster mode=" + broadcaster.getAttribute("mode") + "\n" ); + dump( "broadcaster value=" + broadcaster.getAttribute("value") + "\n" ); + dump( "meter mode=" + meter.getAttribute("mode") + "\n" ); + dump( "meter value=" + meter.getAttribute("value") + "\n" ); + } + +function ShowWindowFromResource( node ) +{ + var windowManager = Components.classes['component://netscape/rdf/datasource?name=window-mediator'].getService(); + dump("got window Manager \n"); + var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator); + dump("got interface \n"); + + var desiredWindow = null; + var url = node.getAttribute('id'); + dump( url +" finding \n" ); + desiredWindow = windowManagerInterface.GetWindowForResource( url ); + dump( "got window \n"); + if ( desiredWindow ) + { + dump("focusing \n"); + desiredWindow.focus(); + } +} diff --git a/mozilla/suite/browser/navigator.xul b/mozilla/suite/browser/navigator.xul new file mode 100644 index 00000000000..2c0d37ebef3 --- /dev/null +++ b/mozilla/suite/browser/navigator.xul @@ -0,0 +1,737 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + // Menu for testing. + + + // Build verification sites. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + // Viewer tests. + + + + + + + + + + + + + + + + + + + + // XPToolkit tests. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mozilla/suite/browser/viewSource.xul b/mozilla/suite/browser/viewSource.xul new file mode 100644 index 00000000000..286475e71ae --- /dev/null +++ b/mozilla/suite/browser/viewSource.xul @@ -0,0 +1,285 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mozilla/suite/browser/viewsource.js b/mozilla/suite/browser/viewsource.js new file mode 100644 index 00000000000..7a861b68692 --- /dev/null +++ b/mozilla/suite/browser/viewsource.js @@ -0,0 +1,17 @@ + function StartupViewSource() { + // Generate unique name (var appCoreName declared in navigator.js). + appCoreName = "ViewSource." + ( new Date() ).getTime().toString(); + + // Create and initialize the browser app core. + appCore = new BrowserAppCore(); + appCore.Init( appCoreName ); + appCore.setContentWindow(window.frames[0]); + appCore.setWebShellWindow(window); + appCore.setToolbarWindow(window); + + // Get url whose source to view. + var url = document.getElementById("args").getAttribute("value"); + + // Load the source (the app core will magically know what to do). + appCore.loadUrl(url); + } diff --git a/mozilla/xpfe/browser/resources/content/Makefile b/mozilla/xpfe/browser/resources/content/Makefile new file mode 100644 index 00000000000..0026fd36d90 --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/Makefile @@ -0,0 +1,47 @@ +# Generated automatically from Makefile.in by configure. +#!gmake +# +# The contents of this file are subject to the Netscape Public License +# Version 1.0 (the "NPL"); you may not use this file except in +# compliance with the NPL. You may obtain a copy of the NPL at +# http://www.mozilla.org/NPL/ +# +# Software distributed under the NPL is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL +# for the specific language governing rights and limitations under the +# NPL. +# +# The Initial Developer of this code under the NPL is Netscape +# Communications Corporation. Portions created by Netscape are +# Copyright (C) 1998 Netscape Communications Corporation. All Rights +# Reserved. + +DEPTH = ../../../.. +topsrcdir = ../../../.. +srcdir = . + +include $(DEPTH)/config/autoconf.mk + +include $(topsrcdir)/config/config.mk + +include $(topsrcdir)/config/rules.mk + +EXPORT_RESOURCE_CONTENT = \ + $(srcdir)/contentframe.js \ + $(srcdir)/openLocation.js \ + $(srcdir)/viewsource.js \ + $(srcdir)/contentframe.xul \ + $(srcdir)/navigator.xul \ + $(srcdir)/navigator.js \ + $(srcdir)/openLocation.xul \ + $(srcdir)/viewSource.xul \ + $(srcdir)/NetSupportConfirm.xul \ + $(srcdir)/NetSupportAlert.xul \ + $(srcdir)/NetSupportConfirmCheck.xul \ + $(srcdir)/NetSupportPassword.xul \ + $(srcdir)/NetSupportUserPassword.xul \ + $(NULL) + +install:: + $(INSTALL) $(EXPORT_RESOURCE_CONTENT) $(DIST)/bin/chrome/browser/content/default + diff --git a/mozilla/xpfe/browser/resources/content/Makefile.in b/mozilla/xpfe/browser/resources/content/Makefile.in new file mode 100644 index 00000000000..6151c60bb83 --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/Makefile.in @@ -0,0 +1,47 @@ +#!gmake +# +# The contents of this file are subject to the Netscape Public License +# Version 1.0 (the "NPL"); you may not use this file except in +# compliance with the NPL. You may obtain a copy of the NPL at +# http://www.mozilla.org/NPL/ +# +# Software distributed under the NPL is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL +# for the specific language governing rights and limitations under the +# NPL. +# +# The Initial Developer of this code under the NPL is Netscape +# Communications Corporation. Portions created by Netscape are +# Copyright (C) 1998 Netscape Communications Corporation. All Rights +# Reserved. + +DEPTH = ../../../.. +topsrcdir = @top_srcdir@ +VPATH = @srcdir@ +srcdir = @srcdir@ + +include $(DEPTH)/config/autoconf.mk + +include $(topsrcdir)/config/config.mk + +include $(topsrcdir)/config/rules.mk + +EXPORT_RESOURCE_CONTENT = \ + $(srcdir)/contentframe.js \ + $(srcdir)/openLocation.js \ + $(srcdir)/viewsource.js \ + $(srcdir)/contentframe.xul \ + $(srcdir)/navigator.xul \ + $(srcdir)/navigator.js \ + $(srcdir)/openLocation.xul \ + $(srcdir)/viewSource.xul \ + $(srcdir)/NetSupportConfirm.xul \ + $(srcdir)/NetSupportAlert.xul \ + $(srcdir)/NetSupportConfirmCheck.xul \ + $(srcdir)/NetSupportPassword.xul \ + $(srcdir)/NetSupportUserPassword.xul \ + $(NULL) + +install:: + $(INSTALL) $(EXPORT_RESOURCE_CONTENT) $(DIST)/bin/chrome/browser/content/default + diff --git a/mozilla/xpfe/browser/resources/content/Manifest b/mozilla/xpfe/browser/resources/content/Manifest new file mode 100644 index 00000000000..339d3aefe7c --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/Manifest @@ -0,0 +1,13 @@ +contentframe.js +openLocation.js +viewsource.js +contentframe.xul +navigator.xul +navigator.js +openLocation.xul +viewSource.xul +NetSupportConfirm.xul +NetSupportAlert.xul +NetSupportConfirmCheck.xul +NetSupportPassword.xul +NetSupportUserPassword.xul \ No newline at end of file diff --git a/mozilla/xpfe/browser/resources/content/NetSupportAlert.xul b/mozilla/xpfe/browser/resources/content/NetSupportAlert.xul new file mode 100644 index 00000000000..8b6cd881cdf --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/NetSupportAlert.xul @@ -0,0 +1,67 @@ + + + + + + + + + + + + function onUpdate() + { + dump("onUpate \n"); + var msg = document.getElementById("NetDialog:Message"); + if ( msg) + { + var text = msg.getAttribute("text"); + dump( text +"\n" ); + var prompt = (document.getElementById("message")); + if ( prompt ) + { + dump(" setting message \n" ); + prompt.childNodes[0].nodeValue = text; + } + } + + var msg = document.getElementById("NetDialog:CheckMessage"); + if ( msg) + { + var text = msg.getAttribute("text"); + dump( text +"\n" ); + var prompt = (document.getElementById("checkmessage")); + if ( prompt ) + { + dump(" setting message \n" ); + prompt.childNodes[0].nodeValue = text; + } + } + } + + + + + + + + + + + + m + + + + + + + + + + OK + + + diff --git a/mozilla/xpfe/browser/resources/content/NetSupportPassword.xul b/mozilla/xpfe/browser/resources/content/NetSupportPassword.xul new file mode 100644 index 00000000000..2399251ea9e --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/NetSupportPassword.xul @@ -0,0 +1,56 @@ + + + + + + + + + + + + function onUpdate() + { + dump("onUpate \n"); + var msg = document.getElementById("NetDialog:Message"); + if ( msg) + { + var text = msg.getAttribute("text"); + dump( text +"\n" ); + var prompt = (document.getElementById("message")); + if ( prompt ) + { + dump(" setting message \n" ); + prompt.childNodes[0].nodeValue = text; + } + } + } + + + + + + + + message text here + + + + + + + + + + + + + + + Cancel + OK + + + diff --git a/mozilla/xpfe/browser/resources/content/NetSupportPrompt.xul b/mozilla/xpfe/browser/resources/content/NetSupportPrompt.xul new file mode 100644 index 00000000000..55aec4e08dd --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/NetSupportPrompt.xul @@ -0,0 +1,55 @@ + + + + + + + + + + + + function onUpdate() + { + dump("onUpate \n"); + var msg = document.getElementById("NetDialog:Message"); + if ( msg) + { + var text = msg.getAttribute("text"); + dump( text +"\n" ); + var prompt = (document.getElementById("message")); + if ( prompt ) + { + dump(" setting message \n" ); + prompt.childNodes[0].nodeValue = text; + } + } + } + + + + + + + + message text here + + + + + + User: + + + + + + + + Cancel + OK + + + diff --git a/mozilla/xpfe/browser/resources/content/NetSupportUserPAssword.xul b/mozilla/xpfe/browser/resources/content/NetSupportUserPAssword.xul new file mode 100644 index 00000000000..b2babe7dd1a --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/NetSupportUserPAssword.xul @@ -0,0 +1,61 @@ + + + + + + + + + + + + function onUpdate() + { + dump("onUpate \n"); + var msg = document.getElementById("NetDialog:Message"); + if ( msg) + { + var text = msg.getAttribute("text"); + dump( text +"\n" ); + var prompt = (document.getElementById("message")); + if ( prompt ) + { + dump(" setting message \n" ); + prompt.childNodes[0].nodeValue = text; + } + } + } + + + + + + + + message text here + + + + + + User: + + + + + Password: + + + + + + + + + Cancel + OK + + + diff --git a/mozilla/xpfe/browser/resources/content/NetsupportConfirm.xul b/mozilla/xpfe/browser/resources/content/NetsupportConfirm.xul new file mode 100644 index 00000000000..f0540e57e13 --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/NetsupportConfirm.xul @@ -0,0 +1,55 @@ + + + + + + + + + + + + function onUpdate() + { + dump("onUpate \n"); + var msg = document.getElementById("NetDialog:Message"); + if ( msg) + { + var text = msg.getAttribute("text"); + dump( text +"\n" ); + var prompt = (document.getElementById("message")); + if ( prompt ) + { + dump(" setting message \n" ); + prompt.childNodes[0].nodeValue = text; + } + } + } + + + + + + + + + + + + m + + + + + + + + + + Cancel + OK + + + diff --git a/mozilla/xpfe/browser/resources/content/contentframe.js b/mozilla/xpfe/browser/resources/content/contentframe.js new file mode 100644 index 00000000000..b102446fa14 --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/contentframe.js @@ -0,0 +1,89 @@ +// -*- Mode: Java -*- + +var sidebarURI = 'resource:/res/rdf/sidebar-browser.xul'; +var isSidebarOpen = false; + +function Init() { + var pref = Components.classes['component://netscape/preferences']; + if (pref) { + pref = pref.getService(); + } + if (pref) { + pref = pref.QueryInterface(Components.interfaces.nsIPref); + } + if (pref) { + pref.SetDefaultIntPref('sidebar.width', 170); + // pref.SetIntPref(pref.GetIntPref('sidebar.width')); + pref.SetDefaultBoolPref('sidebar.open', false); + pref.SavePrefFile(); + if (pref.GetBoolPref('sidebar.open')) { + toggleOpenClose(); + } + } +} + +function toggleOpenClose() { + // Get the open width and update the pref state + var pref = Components.classes['component://netscape/preferences']; + if (pref) { + pref = pref.getService(); + } + if (pref) { + pref = pref.QueryInterface(Components.interfaces.nsIPref); + } + var width = 0; + + if (pref) { + pref.SetBoolPref('sidebar.open', !isSidebarOpen); + width = pref.GetIntPref('sidebar.width'); + pref.SavePrefFile(); + } + + if (isSidebarOpen) + { + // Close it + var container = document.getElementById('container'); + var sidebar = container.firstChild; + sidebar.setAttribute('style','width:0px; visibility:hidden'); + sidebar.setAttribute('src','about:blank'); + //container.removeChild(container.firstChild); + + var grippy = document.getElementById('grippy'); + grippy.setAttribute('open',''); + + isSidebarOpen = false; + } + else + { + // Open it + var container = document.getElementById('container'); + var sidebar = container.firstChild; + sidebar.setAttribute('style','width:' + width + 'px; visibility:visible'); + sidebar.setAttribute('src',sidebarURI); + + //var sidebar = document.createElement('html:iframe'); + //sidebar.setAttribute('src','resource:/res/rdf/sidebar-browser.xul'); + //sidebar.setAttribute('class','sidebarframe'); + //container.insertBefore(sidebar,container.firstChild); + //container.appendChild(sidebar); + + var grippy = document.getElementById('grippy'); + grippy.setAttribute('open','true'); + + isSidebarOpen = true; + } + +} + +// To get around "window.onload" not working in viewer. +function Boot() +{ + var root = document.documentElement; + if (root == null) { + setTimeout(Boot, 0); + } else { + Init(); + } +} + +setTimeout('Boot()', 0); diff --git a/mozilla/xpfe/browser/resources/content/contentframe.xul b/mozilla/xpfe/browser/resources/content/contentframe.xul new file mode 100644 index 00000000000..5780c58f2bc --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/contentframe.xul @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + diff --git a/mozilla/xpfe/browser/resources/content/makefile.win b/mozilla/xpfe/browser/resources/content/makefile.win new file mode 100644 index 00000000000..fd14ddc7e6d --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/makefile.win @@ -0,0 +1,41 @@ +#!nmake +# +# The contents of this file are subject to the Netscape Public License +# Version 1.0 (the "NPL"); you may not use this file except in +# compliance with the NPL. You may obtain a copy of the NPL at +# http://www.mozilla.org/NPL/ +# +# Software distributed under the NPL is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL +# for the specific language governing rights and limitations under the +# NPL. +# +# The Initial Developer of this code under the NPL is Netscape +# Communications Corporation. Portions created by Netscape are +# Copyright (C) 1998 Netscape Communications Corporation. All Rights +# Reserved. + +DEPTH=..\..\..\.. + +include <$(DEPTH)\config\rules.mak> + +DISTBROWSWER=$(DIST)\bin\chrome\navigator\content\default + +install:: + $(MAKE_INSTALL) contentframe.js $(DISTBROWSWER) + $(MAKE_INSTALL) openLocation.js $(DISTBROWSWER) + $(MAKE_INSTALL) openLocation.xul $(DISTBROWSWER) + $(MAKE_INSTALL) viewsource.js $(DISTBROWSWER) + $(MAKE_INSTALL) viewSource.xul $(DISTBROWSWER) + $(MAKE_INSTALL) contentframe.xul $(DISTBROWSWER) + $(MAKE_INSTALL) navigator.xul $(DISTBROWSWER) + $(MAKE_INSTALL) navigator.js $(DISTBROWSWER) + $(MAKE_INSTALL) NetSupportConfirm.xul $(DISTBROWSWER) + $(MAKE_INSTALL) NetSupportAlert.xul $(DISTBROWSWER) + $(MAKE_INSTALL) NetSupportConfirmCheck.xul $(DISTBROWSWER) + $(MAKE_INSTALL) NetSupportPassword.xul $(DISTBROWSWER) + $(MAKE_INSTALL) NetSupportUserPassword.xul $(DISTBROWSWER) + + +clobber:: + rm -f $(DIST)\bin\chrome\navigator\content\default\*.* diff --git a/mozilla/xpfe/browser/resources/content/navigator.js b/mozilla/xpfe/browser/resources/content/navigator.js new file mode 100644 index 00000000000..eb56e8fcbb7 --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/navigator.js @@ -0,0 +1,835 @@ +/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + + var appCore = null; + var prefwindow = null; + var appCoreName = ""; + var defaultStatus = "default status text"; + var debugSecurity = false; // Set this true to enable Security chrome testing. + + function Startup() + { + dump("Doing Startup...\n"); + dump("Creating browser app core\n"); + appCore = new BrowserAppCore(); + if (appCore != null) { + dump("BrowserAppCore has been created.\n"); + appCoreName = "BrowserAppCore." + ( new Date() ).getTime().toString(); + appCore.Init( appCoreName ); + appCore.setWebShellWindow(window); + appCore.setToolbarWindow(window); + tryToSetContentWindow(); + } + } + + function onLoadWithArgs() { + // See if Startup has been run. + if ( appCore ) { + // See if load in progress (loading default page). + if ( document.getElementById("Browser:Throbber").getAttribute("busy") == "true" ) { + dump( "Stopping load of default initial page\n" ); + appCore.stop(); + } + dump( "Loading page specified on ShowWindowWithArgs\n" ); + appCore.loadInitialPage(); + } else { + // onLoad handler timing is not correct yet. + dump( "onLoadWithArgs not needed yet\n" ); + } + } + + function tryToSetContentWindow() { + if ( window.frames[0].frames[1] ) { + dump("Setting content window\n"); + appCore.setContentWindow( window.frames[0].frames[1] ); + // Have browser app core load appropriate initial page. + + var pref = Components.classes['component://netscape/preferences']; + + // if all else fails, use trusty "about:" as the start page + var startpage = "about:"; + if (pref) { + pref = pref.getService(); + } + if (pref) { + pref = pref.QueryInterface(Components.interfaces.nsIPref); + } + if (pref) { + // from mozilla/modules/libpref/src/init/all.js + // 0 = blank + // 1 = home (browser.startup.homepage) + // 2 = last + // 3 = splash (browser.startup.splash) + choice = pref.GetIntPref("browser.startup.page"); + switch (choice) { + case 0: + startpage = "about:blank"; + break; + case 1: + startpage = pref.CopyCharPref("browser.startup.homepage"); + break; + case 2: + var history = Components.classes['component://netscape/browser/global-history']; + if (history) { + history = history.getService(); + } + if (history) { + history = history.QueryInterface(Components.interfaces.nsIGlobalHistory); + } + if (history) { + startpage = history.GetLastPageVisted(); + } + break; + case 3: + startpage = pref.CopyCharPref("browser.startup.splash"); + break; + default: + startpage = "about:"; + } + } + document.getElementById("args").setAttribute("value", startpage); + appCore.loadInitialPage(); + } else { + // Try again. + dump("Scheduling later attempt to set content window\n"); + window.setTimeout( "tryToSetContentWindow()", 100 ); + } + } + + function Translate(src, dest) + { + var service = "http://levis.alis.com:8081"; + service += "?AlisSourceLang=" + src; + service += "&AlisTargetLang=" + dest; + service += "&AlisMTEngine=SSI"; + service += "&AlisTargetURI=" + window.frames[0].frames[1].location.href; + window.frames[0].frames[1].location.href = service; + } + + function RefreshUrlbar() + { + //Refresh the urlbar bar + document.getElementById('urlbar').value = window.frames[0].frames[1].location.href; + } + + function BrowserBack() + { + // Get a handle to the back-button + var bb = document.getElementById("canGoBack"); + // If the button is disabled, don't bother calling in to Appcore + if ( (bb.getAttribute("disabled")) == "true" ) + return; + + if (appCore != null) { + dump("Going Back\n"); + appCore.back(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserForward() + { + // Get a handle to the back-button + var fb = document.getElementById("canGoForward"); + // If the button is disabled, don't bother calling in to Appcore + if ( (fb.getAttribute("disabled")) == "true" ) + return; + + if (appCore != null) { + dump("Going Forward\n"); + appCore.forward(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserSetForward() + { + var forwardBElem = document.getElementById("canGoForward"); + if (!forwardBElem) { + dump("Couldn't obtain handle to forward Broarcast element\n"); + return; + } + + var canForward = forwardBElem.getAttribute("disabled"); + var fb = document.getElementById("forward-button"); + + if (!fb) { + dump("Could not obtain handle to forward button\n"); + return; + } + + // Enable/Disable the Forward button + if (canForward == "true") { + fb.setAttribute("disabled", "true"); + } + else { + fb.setAttribute("disabled", ""); + } + + // Enable/Disable the Forward menu + var fm = document.getElementById("menuitem-forward"); + if (!fm) { + dump("Couldn't obtain menu item Forward\n"); + return; + } + + // Enable/Disable the Forward Menuitem + if (canForward == "true") { + fm.setAttribute("disabled", "true"); + } + else { + dump("Setting forward menu item enabled\n"); + fm.setAttribute("disabled", ""); + } + + } + + function BrowserCanStop() { + var stop = document.getElementById("canStop"); + if ( stop ) { + var stopDisabled = stop.getAttribute("disabled"); + var stopButton = document.getElementById( "stop-button" ); + if ( stopButton ) { + if ( stopDisabled == "true") { + stopButton.setAttribute( "disabled", "true" ); + } else { + stopButton.setAttribute( "disabled", "" ); + } + } + } + } + + function BrowserStop() { + // Get a handle to the "canStop" broadcast id + var stopBElem = document.getElementById("canStop"); + if (!stopBElem) { + dump("Couldn't obtain handle to stop Broadcast element\n"); + return; + } + + var canStop = stopBElem.getAttribute("disabled"); + var sb = document.getElementById("stop-button"); + + if (!sb) { + dump("Could not obtain handle to stop button\n"); + return; + } + + // If the stop button is currently disabled, just return + if ((sb.getAttribute("disabled")) == "true") { + return; + } + + //Stop button has just been pressed. Disable it. + sb.setAttribute("disabled", "true"); + + // Get a handle to the stop menu item. + var sm = document.getElementById("menuitem-stop"); + if (!sm) { + dump("Couldn't obtain menu item Stop\n"); + } else { + // Disable the stop menu-item. + sm.setAttribute("disabled", "true"); + } + + //Call in to BrowserAppcore to stop the current loading + if (appCore != null) { + dump("Going to Stop\n"); + appCore.stop(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserSetBack() + { + var backBElem = document.getElementById("canGoBack"); + if (!backBElem) { + dump("Couldn't obtain handle to back Broadcast element\n"); + return; + } + + var canBack = backBElem.getAttribute("disabled"); + var bb = document.getElementById("back-button"); + + if (!bb) { + dump("Could not obtain handle to back button\n"); + return; + } + + // Enable/Disable the Back button + if (canBack == "true") { + bb.setAttribute("disabled", "true"); + } + else { + bb.setAttribute("disabled", ""); + } + + // Enable/Disable the Back menu + var bm = document.getElementById("menuitem-back"); + if (!bm) { + dump("Couldn't obtain menu item Back\n"); + return; + } + + // Enable/Disable the Back Menuitem + if (canBack == "true") { + bm.setAttribute("disabled", "true"); + } + else { + dump("Setting Back menuitem to enabled\n"); + bm.setAttribute("disabled", ""); + } + + + } + + function BrowserHome() + { + window.frames[0].frames[1].home(); + RefreshUrlbar(); + } + + function OpenBookmarkURL(node) + { + if (node.getAttribute('container') == "true") { + return false; + } + url = node.getAttribute('id'); + + // Ignore "NC:" urls. + if (url.substring(0, 3) == "NC:") { + return false; + } + + window.frames[0].frames[1].location.href = url; + RefreshUrlbar(); + } + + function BrowserNewWindow() + { + if (appCore != null) { + dump("Opening New Window\n"); + appCore.newWindow(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserNewEditorWindow() + { + core = XPAppCoresManager.Find("toolkitCore"); + if ( !core ) { + core = new ToolkitCore(); + if ( core ) { + core.Init("toolkitCore"); + } + } + if ( core ) { + core.ShowWindowWithArgs( "chrome://editor/content", window, "chrome://editor/content/EditorInitPage.html" ); + } else { + dump("Error; can't create toolkitCore\n"); + } + } + + function BrowserNewTextEditorWindow() + { + core = XPAppCoresManager.Find("toolkitCore"); + if ( !core ) { + core = new ToolkitCore(); + if ( core ) { + core.Init("toolkitCore"); + } + } + if ( core ) { + core.ShowWindowWithArgs( "chrome://editor/content/TextEditorAppShell.xul", window, "chrome://editor/content/EditorInitPagePlain.html" ); + } else { + dump("Error; can't create toolkitCore\n"); + } + } + + function BrowserEditPage(url) + { + core = XPAppCoresManager.Find("toolkitCore"); + if ( !core ) { + core = new ToolkitCore(); + if ( core ) { + core.Init("toolkitCore"); + } + } + if ( core ) { + core.ShowWindowWithArgs( "chrome://editor/content", window, url); + } else { + dump("Error; can't create toolkitCore\n"); + } + } + + function BrowserOpenWindow() + { + core = XPAppCoresManager.Find("toolkitCore"); + if ( !core ) { + core = new ToolkitCore(); + if ( core ) { + core.Init("toolkitCore"); + } + } + if ( core ) { + //core.ShowWindowWithArgs( "chrome:/navigator/content/openLocation.xul", window, appCoreName ); + var name = appCoreName.replace( /\./, /\_/ ); + // Note: Use width/height one less than actual so resizing occurs. + // This bypasses bug whereby dialog contents don't appear + // till the dialog is resized. + window.openDialog( "chrome:/navigator/chrome/openLocation.xul", name+"_openLocation", "chrome,width=419,height=189", appCoreName ); + } else { + dump("Error; can't create toolkitCore\n"); + } + } + + 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( "chrome://navigator/content/navigator.xul", window, url ); + } else { + dump("Error; can't create toolkitCore\n"); + } + } + + function BrowserCopy() + { + if (appCore != null) { + dump("Copying\n"); + appCore.copy(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + + function BrowserAddBookmark(url,title) + { + var bmks = Components.classes["component://netscape/browser/bookmarks-service"].getService(); + bmks = bmks.QueryInterface(Components.interfaces.nsIBookmarksService); + bmks.AddBookmark(url, title); + } + + function BrowserEditBookmarks() + { + var toolkitCore = XPAppCoresManager.Find("toolkitCore"); + if (!toolkitCore) { + toolkitCore = new ToolkitCore(); + if (toolkitCore) { + toolkitCore.Init("toolkitCore"); + } + } + if (toolkitCore) { + toolkitCore.ShowWindow("resource://res/samples/bookmarks.xul",window); + } + } + + function OpenHistoryView() + { + var toolkitCore = XPAppCoresManager.Find("toolkitCore"); + if (!toolkitCore) { + toolkitCore = new ToolkitCore(); + if (toolkitCore) { + toolkitCore.Init("toolkitCore"); + } + } + if (toolkitCore) { + toolkitCore.ShowWindow("resource://res/samples/history.xul",window); + } + } + + function BrowserPrintPreview() + { + // Borrowing this method to show how to + // dynamically change icons + dump("BrowserPrintPreview\n"); + if (appCore != null) { + dump("Changing Icons\n"); + appCore.printPreview(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserPrint() + { + // Borrowing this method to show how to + // dynamically change icons + if (appCore != null) { + appCore.print(); + } + } + + function BrowserSetDefaultCharacterSet(aCharset) + { + if (appCore != null) { + appCore.SetDocumentCharset(aCharset); + window.frames[0].frames[1].location.reload(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserClose() + { + dump("BrowserClose\n"); + // Currently window.close doesn't work unless the window was opened from JS + // window.close(); + + core = XPAppCoresManager.Find("toolkitCore"); + if ( !core ) { + core = new ToolkitCore(); + if ( core ) { + core.Init("toolkitCore"); + } + } + if ( core ) { + core.CloseWindow( window ); + } else { + dump("Error can't create toolkitCore\n"); + } + } + + function BrowserExit() + { + if (appCore != null) { + dump("Exiting\n"); + appCore.exit(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserFind() { + if (appCore != null) { + appCore.find(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserFindAgain() { + if (appCore != null) { + appCore.findNext(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function BrowserLoadURL() + { + if (appCore == null) + { + dump("BrowserAppCore has not been initialized\n"); + return; + } + + // rjc: added support for URL shortcuts (3/30/1999) + try { + var bmks = Components.classes["component://netscape/browser/bookmarks-service"].getService(); + bmks = bmks.QueryInterface(Components.interfaces.nsIBookmarksService); + + var shortcutURL = bmks.FindShortcut(document.getElementById('urlbar').value); + + dump("FindShortcut: in='" + document.getElementById('urlbar').value + "' out='" + shortcutURL + "'\n"); + + if ((shortcutURL != null) && (shortcutURL != "")) { + document.getElementById('urlbar').value = shortcutURL; + } + } + catch (ex) { + // stifle any exceptions so we're sure to load the URL. + } + + appCore.loadUrl(document.getElementById('urlbar').value); + + } + + function WalletEditor() + { + if (appCore != null) { + dump("Wallet Editor\n"); + appCore.walletEditor(window); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function WalletSafeFillin() + { + if (appCore != null) { + dump("Wallet Safe Fillin\n"); + appCore.walletPreview(window, window.frames[0].frames[1]); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function WalletChangePassword() + { + if (appCore != null) { + dump("Wallet Change Password\n"); + appCore.walletChangePassword(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + + function WalletQuickFillin() + { + if (appCore != null) { + dump("Wallet Quick Fillin\n"); + appCore.walletQuickFillin(window.frames[0].frames[1]); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function WalletSamples() + { + if (appCore != null) { + dump("Wallet Samples\n"); + appCore.walletSamples(); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function SignonViewer() + { + if (appCore != null) { + dump("Signon Viewer\n"); + appCore.signonViewer(window); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function CookieViewer() + { + if (appCore != null) { + dump("Cookie Viewer\n"); + appCore.cookieViewer(window); + } else { + dump("BrowserAppCore has not been created!\n"); + } + } + + function OpenMessenger() + { + var toolkitCore = XPAppCoresManager.Find("ToolkitCore"); + if (!toolkitCore) { + toolkitCore = new ToolkitCore(); + if (toolkitCore) { + toolkitCore.Init("ToolkitCore"); + } + } + if (toolkitCore) { + toolkitCore.ShowWindow("chrome://messenger/content/", + window); + } + } + + function OpenAddressbook() + { + var toolkitCore = XPAppCoresManager.Find("ToolkitCore"); + if (!toolkitCore) { + toolkitCore = new ToolkitCore(); + if (toolkitCore) { + toolkitCore.Init("ToolkitCore"); + } + } + if (toolkitCore) { + toolkitCore.ShowWindow("chrome://addressbook/content/", + window); + } + } + + function MsgNewMessage() + { + var toolkitCore = XPAppCoresManager.Find("ToolkitCore"); + if (!toolkitCore) { + toolkitCore = new ToolkitCore(); + if (toolkitCore) { + toolkitCore.Init("ToolkitCore"); + } + } + if (toolkitCore) { + toolkitCore.ShowWindow("chrome://messengercompose/content/", + window); + } + } + + function DoPreferences() + { + if (!prefwindow) + { + prefwindow = Components.classes['component://netscape/prefwindow'].createInstance(Components.interfaces.nsIPrefWindow); + } + prefwindow.showWindow("navigator.js", window, "chrome://pref/content/pref-appearance.xul"); + } + + 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("chrome:/navigator/content/viewSource.xul", window, url); + } + } + + function OpenEditor() + { + var toolkitCore = XPAppCoresManager.Find("ToolkitCore"); + if (!toolkitCore) { + toolkitCore = new ToolkitCore(); + if (toolkitCore) { + toolkitCore.Init("ToolkitCore"); + } + } + if (toolkitCore) { + toolkitCore.ShowWindowWithArgs("chrome://editor/content/EditorAppShell.xul",window,"chrome://editor/content/EditorInitPage.html"); + } + } + var bindCount = 0; + function onStatus() { + var status = document.getElementById("Browser:Status"); + if ( status ) { + var text = status.getAttribute("value"); + if ( text == "" ) { + text = defaultStatus; + } + var statusText = document.getElementById("statusText"); + if ( statusText ) { + statusText.setAttribute( "value", text ); + } + } else { + dump("Can't find status broadcaster!\n"); + } + } + + function onSecurity() { + var security = document.getElementById("Browser:Security"); + var indicator = document.getElementById("security-box"); + var icon = document.getElementById("security-button"); + + if ( security.getAttribute("secure") == "true" ) { + indicator.setAttribute("class","secure"); + icon.setAttribute("class","secure"); + } else { + indicator.setAttribute("class","insecure"); + icon.setAttribute("class","insecure"); + } + } + + function securityOn() { + // Set debugSecurity (at top of file) to turn this code on. + if ( !debugSecurity ) { + return; + } + + var security = document.getElementById("Browser:Security"); + if ( security.getAttribute("secure") == "false" ) { + security.setAttribute("secure","true"); + } + } + function securityOff() { + var security = document.getElementById("Browser:Security"); + if ( security.getAttribute("secure") == "true" ) { + security.setAttribute("secure","false"); + } + } + function doTests() { + // Turn security on. + securityOn(); + } + var startTime = 0; + function onProgress() { + var throbber = document.getElementById("Browser:Throbber"); + var meter = document.getElementById("Browser:LoadingProgress"); + if ( throbber && meter ) { + var busy = throbber.getAttribute("busy"); + if ( busy == "true" ) { + mode = "undetermined"; + if ( !startTime ) { + startTime = (new Date()).getTime(); + } + } else { + mode = "normal"; + } + meter.setAttribute("mode",mode); + if ( mode == "normal" ) { + var status = document.getElementById("Browser:Status"); + if ( status ) { + var elapsed = ( (new Date()).getTime() - startTime ) / 1000; + var msg = "Document: Done (" + elapsed + " secs)"; + dump( msg + "\n" ); + status.setAttribute("value",msg); + defaultStatus = msg; + } + startTime = 0; + } + } + } + function dumpProgress() { + var broadcaster = document.getElementById("Browser:LoadingProgress"); + var meter = document.getElementById("meter"); + dump( "bindCount=" + bindCount + "\n" ); + dump( "broadcaster mode=" + broadcaster.getAttribute("mode") + "\n" ); + dump( "broadcaster value=" + broadcaster.getAttribute("value") + "\n" ); + dump( "meter mode=" + meter.getAttribute("mode") + "\n" ); + dump( "meter value=" + meter.getAttribute("value") + "\n" ); + } + +function ShowWindowFromResource( node ) +{ + var windowManager = Components.classes['component://netscape/rdf/datasource?name=window-mediator'].getService(); + dump("got window Manager \n"); + var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator); + dump("got interface \n"); + + var desiredWindow = null; + var url = node.getAttribute('id'); + dump( url +" finding \n" ); + desiredWindow = windowManagerInterface.GetWindowForResource( url ); + dump( "got window \n"); + if ( desiredWindow ) + { + dump("focusing \n"); + desiredWindow.focus(); + } +} diff --git a/mozilla/xpfe/browser/resources/content/navigator.xul b/mozilla/xpfe/browser/resources/content/navigator.xul new file mode 100644 index 00000000000..2c0d37ebef3 --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/navigator.xul @@ -0,0 +1,737 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + // Menu for testing. + + + // Build verification sites. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + // Viewer tests. + + + + + + + + + + + + + + + + + + + + // XPToolkit tests. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mozilla/xpfe/browser/resources/content/openLocation.js b/mozilla/xpfe/browser/resources/content/openLocation.js new file mode 100644 index 00000000000..9f99fa0515e --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/openLocation.js @@ -0,0 +1,107 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + * License for the specific language governing rights and limitations + * under the License. + * + * The Original Code is Mozilla Communicator client code, released March + * 31, 1998. + * + * The Initial Developer of the Original Code is Netscape Communications + * Corporation. Portions created by Netscape are Copyright (C) 1998 + * Netscape Communications Corporation. All Rights Reserved. + */ + +var toolkit; +var browser; +var dialog; + +function onLoad() { + dialog = new Object; + dialog.input = document.getElementById( "dialog.input" ); + dialog.ok = document.getElementById( "dialog.ok" ); + dialog.cancel = document.getElementById( "dialog.cancel" ); + dialog.help = document.getElementById( "dialog.help" ); + dialog.newWindow = document.getElementById( "dialog.newWindow" ); + + toolkit = XPAppCoresManager.Find( "toolkitCore" ); + if ( !toolkit ) { + toolkit = new ToolkitCore(); + toolkit.Init( "toolkitCore" ); + } + + browser = XPAppCoresManager.Find( window.arguments[0] ); + if ( !browser ) { + dump( "unable to get browser app core\n" ); + toolkit.CloseWindow( window ); + return; + } + + /* Give input field the focus. */ + dialog.input.focus(); +} + +function onTyping( key ) { + // Look for enter key... + if ( key == 13 ) { + // If ok button not disabled, go for it. + if ( !dialog.ok.disabled ) { + open(); + } + } else { + // Check for valid input. + if ( dialog.input.value == "" ) { + // No input, disable ok button if enabled. + if ( !dialog.ok.disabled ) { + dialog.ok.setAttribute( "disabled", "" ); + } + } else { + // Input, enable ok button if disabled. + if ( dialog.ok.disabled ) { + dialog.ok.removeAttribute( "disabled" ); + } + } + } +} + +function open() { + if ( dialog.ok.disabled ) { + return; + } + + var url = dialog.input.value; + + if ( !dialog.newWindow.checked ) { + /* Load url in opener. */ + browser.loadUrl( url ); + } else { + /* User wants new window. */ + toolkit.ShowWindowWithArgs( "chrome:/navigator/content/navigator.xul", window.opener, url ); + } + + /* Close dialog. */ + toolkit.CloseWindow( window ); +} + +function choose() { + /* Use existing browser "open" logic. */ + browser.openWindow(); + toolkit.CloseWindow( window ); +} + +function cancel() { + toolkit.CloseWindow( window ); +} + +function help() { + if ( dialog.help.disabled ) { + return; + } + dump( "openLocation::help() not implemented\n" ); +} diff --git a/mozilla/xpfe/browser/resources/content/openLocation.xul b/mozilla/xpfe/browser/resources/content/openLocation.xul new file mode 100644 index 00000000000..0c231f81198 --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/openLocation.xul @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + Enter the World Wide Web location (URL) you would like to open. Use + the Choose File... button to select a local file: + + + + + + + + + + + Select File... + + + + + + + + + + + Open in new window + + + Open + + + Cancel + + + Help + + + + + + + + + + diff --git a/mozilla/xpfe/browser/resources/content/viewSource.xul b/mozilla/xpfe/browser/resources/content/viewSource.xul new file mode 100644 index 00000000000..286475e71ae --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/viewSource.xul @@ -0,0 +1,285 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mozilla/xpfe/browser/resources/content/viewsource.js b/mozilla/xpfe/browser/resources/content/viewsource.js new file mode 100644 index 00000000000..7a861b68692 --- /dev/null +++ b/mozilla/xpfe/browser/resources/content/viewsource.js @@ -0,0 +1,17 @@ + function StartupViewSource() { + // Generate unique name (var appCoreName declared in navigator.js). + appCoreName = "ViewSource." + ( new Date() ).getTime().toString(); + + // Create and initialize the browser app core. + appCore = new BrowserAppCore(); + appCore.Init( appCoreName ); + appCore.setContentWindow(window.frames[0]); + appCore.setWebShellWindow(window); + appCore.setToolbarWindow(window); + + // Get url whose source to view. + var url = document.getElementById("args").getAttribute("value"); + + // Load the source (the app core will magically know what to do). + appCore.loadUrl(url); + }