1999-07-01 22:56:04 +00:00
|
|
|
/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
|
|
*
|
1999-11-06 03:43:54 +00:00
|
|
|
* The contents of this file are subject to the Netscape Public
|
|
|
|
* License Version 1.1 (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/
|
1999-07-01 22:56:04 +00:00
|
|
|
*
|
1999-11-06 03:43:54 +00:00
|
|
|
* 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.
|
1999-07-01 22:56:04 +00:00
|
|
|
*
|
1999-11-06 03:43:54 +00:00
|
|
|
* The Original Code is mozilla.org code.
|
|
|
|
*
|
|
|
|
* The Initial Developer of the Original Code is Netscape
|
1999-07-01 22:56:04 +00:00
|
|
|
* Communications Corporation. Portions created by Netscape are
|
1999-11-06 03:43:54 +00:00
|
|
|
* Copyright (C) 1998 Netscape Communications Corporation. All
|
|
|
|
* Rights Reserved.
|
|
|
|
*
|
|
|
|
* Contributor(s):
|
1999-07-01 22:56:04 +00:00
|
|
|
*/
|
|
|
|
|
1999-11-16 04:50:32 +00:00
|
|
|
var pref = null;
|
2006-09-14 05:44:11 +00:00
|
|
|
var bundle = srGetStrBundle("chrome://navigator/locale/navigator.properties");
|
1999-11-16 04:50:32 +00:00
|
|
|
|
|
|
|
// in case we fail to get the start page, load this
|
|
|
|
var startPageDefault = "about:blank";
|
|
|
|
|
|
|
|
// in case we fail to get the home page, load this
|
2006-09-14 05:44:13 +00:00
|
|
|
var homePageDefault = bundle.GetStringFromName("startupHomepage")
|
1999-11-16 04:50:32 +00:00
|
|
|
|
|
|
|
try {
|
|
|
|
pref = Components.classes['component://netscape/preferences'];
|
|
|
|
pref = pref.getService();
|
|
|
|
pref = pref.QueryInterface(Components.interfaces.nsIPref);
|
|
|
|
}
|
|
|
|
catch (ex) {
|
|
|
|
dump("failed to get prefs service!\n");
|
|
|
|
pref = null;
|
|
|
|
}
|
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
var appCore = null;
|
|
|
|
var defaultStatus = bundle.GetStringFromName("defaultStatus");
|
|
|
|
var explicitURL = false;
|
1999-07-01 22:56:04 +00:00
|
|
|
|
1999-11-13 23:28:51 +00:00
|
|
|
|
1999-09-15 11:36:34 +00:00
|
|
|
function UpdateHistory(event)
|
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
if( window.content.location.href )
|
1999-09-15 11:36:34 +00:00
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
var history = getService( "component://netscape/browser/global-history", "nsIGlobalHistory" );
|
1999-09-16 11:00:20 +00:00
|
|
|
if (history) history.SetPageTitle(window.content.location.href, window.content.document.title);
|
1999-09-15 11:36:34 +00:00
|
|
|
}
|
|
|
|
catch (ex)
|
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
dump("Failed to set the page title in history\n");
|
1999-09-15 11:36:34 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
1999-08-05 20:15:33 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function savePage( url )
|
|
|
|
{
|
|
|
|
// Default is to save current page.
|
|
|
|
if ( !url )
|
|
|
|
url = window.content.location.href;
|
|
|
|
// Use stream xfer component to prompt for destination and save.
|
|
|
|
var xfer = getService( "component://netscape/appshell/component/xfer", "nsIStreamTransfer" );
|
|
|
|
try {
|
|
|
|
// When Necko lands, we need to receive the real nsIChannel and
|
|
|
|
// do SelectFileAndTransferLocation!
|
|
|
|
// Use this for now...
|
|
|
|
xfer.SelectFileAndTransferLocationSpec( url, window );
|
|
|
|
}
|
|
|
|
catch( exception ) {
|
|
|
|
// Failed (or cancelled), give them another chance.
|
|
|
|
dump( "SelectFileAndTransferLocationSpec failed, rv=" + exception + "\n" );
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
1999-11-22 19:55:47 +00:00
|
|
|
|
|
|
|
|
1999-09-07 08:52:22 +00:00
|
|
|
function UpdateBookmarksLastVisitedDate(event)
|
1999-08-06 20:49:16 +00:00
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
if( window.content.location.href )
|
1999-09-07 08:52:22 +00:00
|
|
|
{
|
1999-09-15 11:36:34 +00:00
|
|
|
try
|
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
var bmks = getService( "component://netscape/browser/bookmarks-service", "nsIBookmarksService" );
|
1999-09-15 11:36:34 +00:00
|
|
|
if (bmks) bmks.UpdateBookmarkLastVisitedDate(window.content.location.href);
|
|
|
|
}
|
|
|
|
catch(ex)
|
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
dump("Failed to update bookmark last visited date.\n");
|
1999-09-15 11:36:34 +00:00
|
|
|
}
|
1999-09-07 08:52:22 +00:00
|
|
|
}
|
1999-08-06 20:49:16 +00:00
|
|
|
}
|
|
|
|
|
1999-12-19 06:53:18 +00:00
|
|
|
function UpdateInternetSearchResults(event)
|
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
if( window.content.location.href )
|
1999-12-19 06:53:18 +00:00
|
|
|
{
|
2006-09-14 05:40:43 +00:00
|
|
|
var searchInProgressFlag = false;
|
1999-12-19 06:53:18 +00:00
|
|
|
try
|
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
var search = getService( "component://netscape/rdf/datasource?name=internetsearch", "nsIInternetSearchService" );
|
2006-09-14 05:40:43 +00:00
|
|
|
if (search) searchInProgressFlag = search.FindInternetSearchResults(window.content.location.href);
|
1999-12-19 06:53:18 +00:00
|
|
|
}
|
|
|
|
catch(ex)
|
|
|
|
{
|
|
|
|
}
|
2006-09-14 05:40:43 +00:00
|
|
|
|
|
|
|
if (searchInProgressFlag == true)
|
|
|
|
RevealSearchPanel();
|
1999-12-19 06:53:18 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function Startup()
|
1999-12-19 06:53:18 +00:00
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
// TileWindow();
|
|
|
|
// Make sure window fits on screen initially
|
|
|
|
// FitToScreen();
|
1999-09-02 04:46:30 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
try {
|
|
|
|
appCore = createInstance( "component://netscape/appshell/component/browser/instance", "nsIBrowserInstance" );
|
1999-07-01 22:56:04 +00:00
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
catch ( e ) {
|
|
|
|
// fail
|
1999-07-14 00:03:57 +00:00
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
if( !appCore )
|
|
|
|
window.close();
|
|
|
|
|
|
|
|
// Initialize browser instance..
|
|
|
|
appCore.setWebShellWindow(window);
|
1999-07-14 00:03:57 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
tryToSetContentWindow();
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
// Add a capturing event listener to the content area
|
|
|
|
// (rjc note: not the entire window, otherwise we'll get sidebar pane loads too!)
|
|
|
|
// so we'll be notified when onloads complete.
|
|
|
|
var contentArea = document.getElementById("appcontent");
|
|
|
|
if (contentArea)
|
|
|
|
{
|
|
|
|
contentArea.addEventListener("load", UpdateHistory, true);
|
|
|
|
contentArea.addEventListener("load", UpdateBookmarksLastVisitedDate, true);
|
|
|
|
contentArea.addEventListener("load", UpdateInternetSearchResults, true);
|
1999-09-02 04:46:30 +00:00
|
|
|
}
|
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
// Check for window.arguments[0]. If present, go to that url.
|
|
|
|
if ( window.arguments && window.arguments[0] )
|
|
|
|
onLoadViaOpenDialog();
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function Shutdown()
|
|
|
|
{
|
|
|
|
try
|
1999-07-01 22:56:04 +00:00
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
// If bookmarks are dirty, flush 'em to disk
|
|
|
|
var bmks = getService( "component://netscape/browser/bookmarks-service", "nsIRDFRemoteDataSource" );
|
|
|
|
if (bmks) bmks.Flush();
|
1999-07-01 22:56:04 +00:00
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
catch (ex)
|
1999-07-01 22:56:04 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
if ( appCore )
|
|
|
|
appCore.close();
|
|
|
|
}
|
1999-07-14 00:03:57 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
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" )
|
|
|
|
appCore.stop();
|
|
|
|
appCore.loadInitialPage();
|
|
|
|
} else
|
|
|
|
explicitURL = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
function onLoadViaOpenDialog()
|
|
|
|
{
|
|
|
|
// See if load in progress (loading default page).
|
|
|
|
if ( document.getElementById("Browser:Throbber").getAttribute("busy") == "true" )
|
|
|
|
appCore.stop();
|
|
|
|
if( window.arguments[1] == "view-source" )
|
1999-07-01 22:56:04 +00:00
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
var element = document.getElementById("main-window");
|
|
|
|
var preface = element.getAttribute("viewsourcetitlepreface");
|
|
|
|
element.setAttribute( "titlepreface", preface );
|
|
|
|
appCore.isViewSource = true;
|
|
|
|
element.setAttribute("windowtype","Browser:view-source");
|
1999-07-01 22:56:04 +00:00
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
appCore.loadUrl( window.arguments[0] );
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function tryToSetContentWindow()
|
|
|
|
{
|
|
|
|
var startpage = startPageDefault;
|
|
|
|
if ( window.content ) {
|
|
|
|
appCore.setContentWindow( window.content );
|
|
|
|
|
|
|
|
if ( !explicitURL ) {
|
|
|
|
// if all else fails, use trusty "about:blank" as the start page
|
|
|
|
if (pref) {
|
|
|
|
// from mozilla/modules/libpref/src/init/all.js
|
|
|
|
// 0 = blank
|
|
|
|
// 1 = home (browser.startup.homepage)
|
|
|
|
// 2 = last
|
|
|
|
var choice = 1;
|
|
|
|
try {
|
|
|
|
choice = pref.GetIntPref("browser.startup.page");
|
|
|
|
}
|
|
|
|
catch (ex) {
|
|
|
|
dump("failed to get the browser.startup.page pref\n");
|
|
|
|
}
|
|
|
|
switch (choice)
|
|
|
|
{
|
|
|
|
case 0:
|
|
|
|
startpage = "about:blank";
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
try {
|
|
|
|
startpage = pref.CopyCharPref("browser.startup.homepage");
|
|
|
|
}
|
|
|
|
catch (ex) {
|
|
|
|
startpage = startPageDefault;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
var history = getService( "component://netscape/browser/global-history", "nsIGlobalHistory" );
|
|
|
|
if (history)
|
|
|
|
startpage = history.GetLastPageVisted();
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
startpage = startPageDefault;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
dump("Failed to retrieve pref service\n");
|
|
|
|
var args = document.getElementById("args")
|
|
|
|
if (args) args.setAttribute("value", startpage);
|
|
|
|
}
|
|
|
|
appCore.loadInitialPage();
|
|
|
|
}
|
|
|
|
else
|
|
|
|
window.setTimeout( "tryToSetContentWindow()", 100 );
|
|
|
|
}
|
1999-07-14 00:03:57 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function Translate(src, dest, engine)
|
|
|
|
{
|
|
|
|
var service = "http://levis.alis.com:8080";
|
|
|
|
service += "?AlisSourceLang=" + src;
|
|
|
|
service += "&AlisTargetLang=" + dest;
|
|
|
|
service += "&AlisMTEngine=" + engine;
|
|
|
|
|
|
|
|
// if we're already viewing a translated page, the just get the
|
|
|
|
// last argument (which we expect to always be "AlisMTEngine")
|
|
|
|
var targetURI = window.content.location.href;
|
|
|
|
var targetURIIndex = targetURI.indexOf("AlisTargetURI=");
|
|
|
|
if (targetURIIndex >= 0)
|
|
|
|
targetURI = targetURI.substring(targetURIIndex + 14);
|
|
|
|
service += "&AlisTargetURI=" + targetURI;
|
|
|
|
window.content.location.href = service;
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function RefreshUrlbar()
|
|
|
|
{
|
|
|
|
//Refresh the urlbar bar
|
|
|
|
document.getElementById('urlbar').value = window.content.location.href;
|
|
|
|
}
|
1999-07-14 00:03:57 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function gotoHistoryIndex(index)
|
|
|
|
{
|
|
|
|
appCore.gotoHistoryIndex(index);
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
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)
|
|
|
|
appCore.back();
|
|
|
|
}
|
|
|
|
|
|
|
|
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)
|
|
|
|
appCore.forward();
|
|
|
|
}
|
|
|
|
|
|
|
|
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", "" );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//Enable/disable the stop menu item
|
|
|
|
var stopMenu = document.getElementById( "menuitem-stop" );
|
|
|
|
if ( stopMenu ) {
|
|
|
|
if ( stopDisabled == "true")
|
|
|
|
stopMenu.setAttribute( "disabled", "true" );
|
|
|
|
else
|
|
|
|
stopMenu.setAttribute( "disabled", "" );
|
1999-07-01 22:56:04 +00:00
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserStop()
|
|
|
|
{
|
|
|
|
// Get a handle to the "canStop" broadcast id
|
|
|
|
var stopBElem = document.getElementById("canStop");
|
|
|
|
if (!stopBElem)
|
|
|
|
return;
|
|
|
|
var canStop = stopBElem.getAttribute("disabled");
|
|
|
|
|
|
|
|
var sb = document.getElementById("stop-button");
|
|
|
|
if (!sb)
|
|
|
|
return;
|
|
|
|
// If the stop button is currently disabled, just return
|
|
|
|
if ( sb.getAttribute("disabled") == "true")
|
|
|
|
return;
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
//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 )
|
|
|
|
sm.setAttribute("disabled", "true");
|
|
|
|
|
|
|
|
//Call in to BrowserAppcore to stop the current loading
|
|
|
|
if (appCore != null)
|
|
|
|
appCore.stop();
|
|
|
|
}
|
1999-09-19 06:28:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserReallyReload(reloadType)
|
|
|
|
{
|
|
|
|
// Get a handle to the "canReload" broadcast id
|
|
|
|
var reloadBElem = document.getElementById("canReload");
|
|
|
|
if (!reloadBElem)
|
|
|
|
return;
|
1999-07-14 00:03:57 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
var canreload = reloadBElem.getAttribute("disabled");
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
// If the reload button is currently disabled, just return
|
|
|
|
if ( canreload)
|
|
|
|
return;
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
//Call in to BrowserAppcore to reload the current loading
|
|
|
|
if (appCore != null)
|
|
|
|
appCore.reload(reloadType);
|
|
|
|
}
|
1999-07-22 22:11:21 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserHome()
|
|
|
|
{
|
|
|
|
// this eventual calls nsGlobalWIndow::Home()
|
|
|
|
window.content.home();
|
|
|
|
RefreshUrlbar();
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function OpenBookmarkURL(node, datasources)
|
|
|
|
{
|
|
|
|
if (node.getAttribute('container') == "true")
|
|
|
|
return false;
|
|
|
|
|
|
|
|
var url = node.getAttribute('id');
|
|
|
|
try
|
|
|
|
{
|
|
|
|
// add support for IE favorites under Win32, and NetPositive URLs under BeOS
|
|
|
|
var rdf = getService( "component://netscape/rdf/rdf-service", "nsIRDFService" );
|
|
|
|
if (rdf && datasources)
|
|
|
|
{
|
|
|
|
var src = rdf.GetResource(url, true);
|
|
|
|
var prop = rdf.GetResource("http://home.netscape.com/NC-rdf#URL", true);
|
|
|
|
var target = datasources.GetTarget(src, prop, true);
|
|
|
|
if (target) target = target.QueryInterface(Components.interfaces.nsIRDFLiteral);
|
|
|
|
if (target) target = target.Value;
|
|
|
|
if (target) url = target;
|
1999-07-01 22:56:04 +00:00
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
}
|
|
|
|
catch(ex)
|
|
|
|
{
|
1999-07-01 22:56:04 +00:00
|
|
|
}
|
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
// Ignore "NC:" urls.
|
|
|
|
if (url.substring(0, 3) == "NC:")
|
|
|
|
return false;
|
|
|
|
|
|
|
|
// Check if we have a browser window
|
|
|
|
if ( window.content == null )
|
|
|
|
window.openDialog( "chrome://navigator/content/navigator.xul", "_blank", "chrome,all,dialog=no", url );
|
|
|
|
else
|
|
|
|
window.content.location.href = url;
|
|
|
|
RefreshUrlbar();
|
|
|
|
}
|
|
|
|
|
1999-12-30 23:39:08 +00:00
|
|
|
function OpenSearch(tabName, forceDialogFlag, searchStr)
|
1999-08-05 23:09:42 +00:00
|
|
|
{
|
1999-12-30 11:10:19 +00:00
|
|
|
var searchMode = 0;
|
|
|
|
var searchEngineURI = null;
|
1999-12-30 14:16:17 +00:00
|
|
|
var autoOpenSearchPanel = false;
|
1999-12-30 14:42:33 +00:00
|
|
|
var defaultSearchURL = null;
|
2006-09-14 05:40:43 +00:00
|
|
|
|
1999-12-30 11:10:19 +00:00
|
|
|
try
|
|
|
|
{
|
|
|
|
searchMode = pref.GetIntPref("browser.search.powermode");
|
1999-12-30 14:16:17 +00:00
|
|
|
autoOpenSearchPanel = pref.GetBoolPref("browser.search.opensidebarsearchpanel");
|
1999-12-30 14:42:33 +00:00
|
|
|
searchEngineURI = pref.CopyCharPref("browser.search.defaultengine");
|
1999-12-30 15:18:52 +00:00
|
|
|
defaultSearchURL = pref.CopyCharPref("browser.search.defaulturl");
|
1999-12-30 11:10:19 +00:00
|
|
|
}
|
|
|
|
catch(ex)
|
|
|
|
{
|
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
|
1999-12-30 14:42:33 +00:00
|
|
|
if ((defaultSearchURL == null) || (defaultSearchURL == ""))
|
|
|
|
{
|
1999-12-30 14:56:26 +00:00
|
|
|
// Fallback to a Netscape default (one that we can get sidebar search results for)
|
1999-12-30 15:18:52 +00:00
|
|
|
defaultSearchURL = "http://search.netscape.com/cgi-bin/search?search=";
|
1999-12-30 14:42:33 +00:00
|
|
|
}
|
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
if ((searchMode == 1) || (forceDialogFlag == true))
|
1999-12-30 11:10:19 +00:00
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
var windowManager = getService( "component://netscape/rdf/datasource?name=window-mediator", "nsIWindowMediator" );
|
|
|
|
var searchWindow = windowManager.getMostRecentWindow("search:window");
|
|
|
|
if (searchWindow)
|
2006-09-14 05:40:50 +00:00
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
searchWindow.focus();
|
|
|
|
if (searchWindow.loadPage) searchWindow.loadPage(tabName, searchStr);
|
2006-09-14 05:40:50 +00:00
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
else
|
|
|
|
window.openDialog("chrome://search/content/search.xul", "SearchWindow", "dialog=no,close,chrome,resizable", tabName, searchStr);
|
1999-12-30 11:10:19 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
if ( !searchStr )
|
|
|
|
return;
|
2006-09-14 05:44:09 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
var searchDS = getService( "component://netscape/rdf/datasource?name=internetsearch", "nsIInternetSearchService" );
|
|
|
|
var escapedSearchStr = escape(searchStr);
|
|
|
|
defaultSearchURL += escapedSearchStr;
|
1999-12-30 11:10:19 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
if (searchDS)
|
|
|
|
{
|
|
|
|
searchDS.RememberLastSearchText(escapedSearchStr);
|
2006-09-14 05:44:09 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
if ((searchEngineURI != null) && (searchEngineURI != ""))
|
1999-12-30 11:10:19 +00:00
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
try
|
2006-09-14 05:44:09 +00:00
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
var searchURL = searchDS.GetInternetSearchURL(searchEngineURI, escapedSearchStr);
|
|
|
|
if ((searchURL != null) && (searchURL != ""))
|
2006-09-14 05:44:09 +00:00
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
defaultSearchURL = searchURL;
|
2006-09-14 05:44:09 +00:00
|
|
|
}
|
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
catch(ex)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
1999-12-30 11:10:19 +00:00
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
window.content.location.href = defaultSearchURL;
|
1999-12-30 11:10:19 +00:00
|
|
|
}
|
1999-12-30 14:16:17 +00:00
|
|
|
|
|
|
|
// should we try and open up the sidebar to show the "Search Results" panel?
|
|
|
|
if (autoOpenSearchPanel == true)
|
2006-09-14 05:40:43 +00:00
|
|
|
RevealSearchPanel();
|
|
|
|
}
|
1999-12-30 14:16:17 +00:00
|
|
|
|
2006-09-14 05:40:43 +00:00
|
|
|
function RevealSearchPanel()
|
|
|
|
{
|
|
|
|
// rjc Note: the following is all a hack until the sidebar has appropriate APIs
|
|
|
|
// to check whether its shown/hidden, open/closed, and can show a particular panel
|
|
|
|
|
|
|
|
var sidebar = document.getElementById("sidebar-box");
|
|
|
|
var sidebar_splitter = document.getElementById("sidebar-splitter");
|
|
|
|
var searchPanel = document.getElementById("urn:sidebar:panel:search");
|
|
|
|
|
|
|
|
if (sidebar && sidebar_splitter && searchPanel)
|
|
|
|
{
|
|
|
|
var is_hidden = sidebar.getAttribute("hidden");
|
|
|
|
if (is_hidden && is_hidden == "true")
|
1999-12-30 14:16:17 +00:00
|
|
|
{
|
2006-09-14 05:43:55 +00:00
|
|
|
// SidebarShowHide() lives in sidebarOverlay.js
|
|
|
|
SidebarShowHide();
|
2006-09-14 05:40:43 +00:00
|
|
|
}
|
2006-09-14 05:43:55 +00:00
|
|
|
var splitter_state = sidebar_splitter.getAttribute("state");
|
|
|
|
if (splitter_state && splitter_state == "collapsed") {
|
|
|
|
sidebar_splitter.removeAttribute("state");
|
1999-12-30 14:16:17 +00:00
|
|
|
}
|
2006-09-14 05:43:55 +00:00
|
|
|
// SidebarSelectPanel() lives in sidebarOverlay.js
|
|
|
|
SidebarSelectPanel(searchPanel);
|
1999-12-30 14:16:17 +00:00
|
|
|
}
|
1999-08-05 23:09:42 +00:00
|
|
|
}
|
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserNewWindow()
|
|
|
|
{
|
|
|
|
OpenBrowserWindow();
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserEditPage(url)
|
|
|
|
{
|
|
|
|
window.openDialog( "chrome://editor/content", "_blank", "chrome,all,dialog=no", url );
|
|
|
|
}
|
1999-10-14 00:13:21 +00:00
|
|
|
|
|
|
|
//Note: BrowserNewEditorWindow() was moved to globalOverlay.xul and renamed to NewEditorWindow()
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserOpenWindow()
|
|
|
|
{
|
|
|
|
//opens a window where users can select a web location to open
|
|
|
|
window.openDialog( "chrome://navigator/content/openLocation.xul", "_blank", "chrome,modal", appCore );
|
|
|
|
}
|
1999-09-14 21:30:57 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function createInstance( progid, iidName )
|
|
|
|
{
|
|
|
|
var iid = eval( "Components.interfaces." + iidName );
|
|
|
|
return Components.classes[ progid ].createInstance( iid );
|
|
|
|
}
|
1999-10-01 04:43:45 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function createInstanceById( cid, iidName )
|
|
|
|
{
|
|
|
|
var iid = eval( "Components.interfaces." + iidName );
|
|
|
|
return Components.classesByID[ cid ].createInstance( iid );
|
|
|
|
}
|
1999-10-01 04:43:45 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function getService( progid, iidName )
|
|
|
|
{
|
|
|
|
var iid = eval( "Components.interfaces." + iidName );
|
|
|
|
return Components.classes[ progid ].getService( iid );
|
|
|
|
}
|
1999-10-01 04:43:45 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function getServiceById( cid, iidName )
|
|
|
|
{
|
|
|
|
var iid = eval( "Components.interfaces." + iidName );
|
|
|
|
return Components.classesByID[ cid ].getService( iid );
|
|
|
|
}
|
1999-09-14 21:30:57 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function openNewWindowWith( url )
|
|
|
|
{
|
|
|
|
var newWin = window.openDialog( "chrome://navigator/content/navigator.xul", "_blank", "chrome,all,dialog=no", url );
|
|
|
|
newWin.saveFileAndPos = true;
|
|
|
|
}
|
1999-08-20 23:17:12 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserOpenFileWindow()
|
|
|
|
{
|
|
|
|
// Get filespecwithui component.
|
|
|
|
var fileSpec = createInstance( "component://netscape/filespecwithui", "nsIFileSpecWithUI" );
|
|
|
|
var url = null;
|
|
|
|
try {
|
|
|
|
fileSpec.parentWindow = window;
|
|
|
|
url = fileSpec.chooseFile( bundle.GetStringFromName("openFile") );
|
|
|
|
fileSpec.parentWindow = null;
|
|
|
|
}
|
|
|
|
catch ( exception ) {
|
|
|
|
}
|
|
|
|
if ( url && url != "" )
|
1999-09-14 21:30:57 +00:00
|
|
|
openNewWindowWith( url );
|
2006-09-14 05:44:13 +00:00
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function OpenFile(url)
|
|
|
|
{
|
|
|
|
openNewWindowWith( url );
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserCopy()
|
|
|
|
{
|
|
|
|
if (appCore != null)
|
|
|
|
appCore.copy();
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserAddBookmark(url,title)
|
|
|
|
{
|
|
|
|
var bmks = getService( "component://netscape/browser/bookmarks-service", "nsIBookmarksService" );
|
|
|
|
if ( !title )
|
|
|
|
title = url;
|
|
|
|
bmks.AddBookmark(url, title);
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:40:47 +00:00
|
|
|
// Set up a lame hack to avoid opening two bookmarks.
|
|
|
|
// Could otherwise happen with two Ctrl-B's in a row.
|
|
|
|
var gDisableBookmarks = false;
|
2006-09-14 05:44:13 +00:00
|
|
|
function enableBookmarks()
|
|
|
|
{
|
2006-09-14 05:40:47 +00:00
|
|
|
gDisableBookmarks = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
function BrowserEditBookmarks()
|
|
|
|
{
|
|
|
|
// Use a single sidebar bookmarks dialog
|
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
var windowManager = getService( "component://netscape/rdf/datasource?name=window-mediator", "nsIWindowMediator" );
|
2006-09-14 05:44:08 +00:00
|
|
|
var bookmarksWindow = windowManager.getMostRecentWindow('bookmarks:manager');
|
2006-09-14 05:40:47 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
if (bookmarksWindow)
|
2006-09-14 05:40:47 +00:00
|
|
|
bookmarksWindow.focus();
|
2006-09-14 05:44:13 +00:00
|
|
|
else {
|
|
|
|
if (true == gDisableBookmarks)
|
2006-09-14 05:40:47 +00:00
|
|
|
return;
|
|
|
|
gDisableBookmarks = true;
|
|
|
|
|
|
|
|
window.open("chrome://bookmarks/content/", "_blank", "chrome,menubar,resizable,scrollbars");
|
|
|
|
setTimeout(enableBookmarks, 2000);
|
1999-07-01 22:56:04 +00:00
|
|
|
}
|
2006-09-14 05:40:47 +00:00
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserPrintPreview()
|
|
|
|
{
|
|
|
|
if (appCore != null)
|
|
|
|
appCore.printPreview();
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserPrint()
|
|
|
|
{
|
|
|
|
if (appCore != null)
|
|
|
|
appCore.print();
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserSetDefaultCharacterSet(aCharset)
|
|
|
|
{
|
|
|
|
if (appCore != null) {
|
|
|
|
appCore.SetDocumentCharset(aCharset);
|
|
|
|
window.content.location.reload();
|
1999-07-01 22:56:04 +00:00
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserClose()
|
|
|
|
{
|
|
|
|
// This code replicates stuff in Shutdown(). It is here because
|
|
|
|
// window.screenX and window.screenY have real values. We need
|
|
|
|
// to fix this eventually but by replicating the code here, we
|
|
|
|
// provide a means of saving position (it just requires that the
|
|
|
|
// user close the window via File->Close (vs. close box).
|
|
|
|
|
|
|
|
// Get the current window position/size.
|
|
|
|
var x = window.screenX;
|
|
|
|
var y = window.screenY;
|
|
|
|
var h = window.outerHeight;
|
|
|
|
var w = window.outerWidth;
|
|
|
|
|
|
|
|
// Store these into the window attributes (for persistence).
|
|
|
|
var win = document.getElementById( "main-window" );
|
|
|
|
win.setAttribute( "x", x );
|
|
|
|
win.setAttribute( "y", y );
|
|
|
|
win.setAttribute( "height", h );
|
|
|
|
win.setAttribute( "width", w );
|
|
|
|
|
|
|
|
window.close();
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserSelectAll()
|
|
|
|
{
|
|
|
|
if (appCore != null)
|
|
|
|
appCore.selectAll();
|
|
|
|
}
|
1999-09-16 23:44:07 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserFind()
|
|
|
|
{
|
|
|
|
if (appCore != null)
|
|
|
|
appCore.find();
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserFindAgain()
|
|
|
|
{
|
|
|
|
if (appCore != null)
|
|
|
|
appCore.findNext();
|
|
|
|
}
|
1999-09-01 20:14:02 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserLoadURL()
|
|
|
|
{
|
|
|
|
if (appCore == null)
|
|
|
|
return;
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
// rjc: added support for URL shortcuts (3/30/1999)
|
|
|
|
try {
|
|
|
|
var bmks = getService( "component://netscape/browser/bookmarks-service", "nsIBookmarksService" );
|
|
|
|
var shortcutURL = bmks.FindShortcut(document.getElementById('urlbar').value);
|
|
|
|
dump("FindShortcut: in='" + document.getElementById('urlbar').value + "' out='" + shortcutURL + "'\n");
|
|
|
|
if ( shortcutURL )
|
|
|
|
document.getElementById('urlbar').value = shortcutURL;
|
1999-07-01 22:56:04 +00:00
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
catch (ex) {
|
|
|
|
// stifle any exceptions so we're sure to load the URL.
|
1999-07-01 22:56:04 +00:00
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
appCore.loadUrl( document.getElementById('urlbar').value );
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function readFromClipboard()
|
|
|
|
{
|
|
|
|
var clipboard = getService( "component://netscape/widget/clipboard", "nsIClipboard" );
|
|
|
|
var trans = createInstance( "component://netscape/widget/transferable", "nsITransferable" );
|
|
|
|
if ( !clipboard || !trans )
|
|
|
|
return;
|
|
|
|
|
|
|
|
trans.addDataFlavor( "text/plain" );
|
|
|
|
clipboard.getData(trans);
|
|
|
|
|
|
|
|
var data = new Object();
|
|
|
|
var dataLen = new Object();
|
|
|
|
trans.getTransferData("text/plain", data, dataLen);
|
|
|
|
var url = null;
|
|
|
|
if (data)
|
2006-09-14 05:43:54 +00:00
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
data = data.value.QueryInterface(Components.interfaces.nsISupportsString);
|
|
|
|
url = data.data.substring(0, dataLen.value);
|
2006-09-14 05:43:54 +00:00
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
return url;
|
|
|
|
}
|
2006-09-14 05:43:54 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function browserLoadClipboardURL(target)
|
|
|
|
{
|
|
|
|
if (!((target.tagName.toUpperCase() == "INPUT"
|
|
|
|
&& (target.type == "" || target.type.toUpperCase() == "TEXT"))
|
|
|
|
|| target.tagName.toUpperCase() == "TEXTAREA"))
|
2006-09-14 05:43:54 +00:00
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
var url = readFromClipboard();
|
|
|
|
dump ("URL on clipboard: '" + url + "'; length = " + url.length + "\n");
|
|
|
|
if (url.length > 0)
|
2006-09-14 05:43:54 +00:00
|
|
|
{
|
2006-09-14 05:44:13 +00:00
|
|
|
var urlBar = document.getElementById("urlbar");
|
|
|
|
urlBar.value = url;
|
|
|
|
BrowserLoadURL();
|
2006-09-14 05:43:54 +00:00
|
|
|
}
|
|
|
|
}
|
2006-09-14 05:44:13 +00:00
|
|
|
}
|
2006-09-14 05:43:54 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function OpenMessenger()
|
|
|
|
{
|
|
|
|
window.open("chrome://messenger/content/", "_blank", "chrome,menubar,toolbar,resizable");
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function OpenAddressbook()
|
|
|
|
{
|
|
|
|
window.open("chrome://addressbook/content/", "_blank", "chrome,menubar,toolbar,resizable");
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserSendLink(pageUrl, pageTitle)
|
|
|
|
{
|
|
|
|
window.openDialog( "chrome://messengercompose/content/", "_blank",
|
|
|
|
"chrome,all,dialog=no",
|
|
|
|
"body='" + pageUrl + "',subject='" + pageTitle +
|
|
|
|
"',bodyislink=true");
|
|
|
|
}
|
1999-12-28 22:07:19 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserSendPage(pageUrl, pageTitle)
|
|
|
|
{
|
|
|
|
window.openDialog( "chrome://messengercompose/content/", "_blank",
|
|
|
|
"chrome,all,dialog=no",
|
|
|
|
"attachment='" + pageUrl + "',body='" + pageUrl +
|
|
|
|
"',subject='" + pageTitle + "',bodyislink=true");
|
|
|
|
}
|
1999-10-23 04:50:20 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserViewSource()
|
|
|
|
{
|
|
|
|
window.openDialog( "chrome://navigator/content/",
|
|
|
|
"_blank",
|
|
|
|
"chrome,menubar,status,dialog=no,resizable",
|
|
|
|
window.content.location,
|
|
|
|
"view-source" );
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
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 );
|
|
|
|
}
|
|
|
|
}
|
1999-07-22 00:27:14 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function doTests()
|
|
|
|
{
|
|
|
|
}
|
1999-08-18 03:17:20 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
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");
|
|
|
|
var wasBusy = meter.getAttribute("mode") == "undetermined" ? "true" : "false";
|
|
|
|
if ( busy == "true" ) {
|
|
|
|
if ( wasBusy == "false" ) {
|
|
|
|
// Remember when loading commenced.
|
|
|
|
startTime = (new Date()).getTime();
|
|
|
|
// Turn progress meter on.
|
|
|
|
meter.setAttribute("mode","undetermined");
|
|
|
|
}
|
|
|
|
// Update status bar.
|
|
|
|
}
|
|
|
|
else if ( busy == "false" && wasBusy == "true" ) {
|
|
|
|
// Record page loading time.
|
|
|
|
var status = document.getElementById("Browser:Status");
|
|
|
|
if ( status ) {
|
|
|
|
var elapsed = ( (new Date()).getTime() - startTime ) / 1000;
|
|
|
|
var msg = bundle.GetStringFromName("nv_done") + " (" + elapsed + " secs)";
|
|
|
|
dump( msg + "\n" );
|
|
|
|
status.setAttribute("value",msg);
|
|
|
|
defaultStatus = msg;
|
|
|
|
}
|
|
|
|
// Turn progress meter off.
|
|
|
|
meter.setAttribute("mode","normal");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
1999-08-18 03:17:20 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
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" );
|
|
|
|
}
|
1999-07-01 22:56:04 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function BrowserReload()
|
|
|
|
{
|
|
|
|
dump( "Sorry, command not implemented.\n" );
|
1999-09-03 22:55:25 +00:00
|
|
|
}
|
1999-09-10 01:03:06 +00:00
|
|
|
|
1999-09-19 07:11:34 +00:00
|
|
|
function hiddenWindowStartup()
|
|
|
|
{
|
|
|
|
// Disable menus which are not appropriate
|
|
|
|
var disabledItems = ['cmd_close', 'Browser:SendPage', 'Browser:EditPage', 'Browser:PrintSetup', 'Browser:PrintPreview',
|
|
|
|
'Browser:Print', 'canGoBack', 'canGoForward', 'Browser:Home', 'Browser:AddBookmark', 'cmd_undo',
|
|
|
|
'cmd_redo', 'cmd_cut', 'cmd_copy','cmd_paste', 'cmd_delete', 'cmd_selectAll'];
|
|
|
|
for ( id in disabledItems )
|
|
|
|
{
|
1999-10-13 04:26:01 +00:00
|
|
|
// dump("disabling "+disabledItems[id]+"\n");
|
1999-09-19 07:11:34 +00:00
|
|
|
var broadcaster = document.getElementById( disabledItems[id]);
|
1999-10-13 04:26:01 +00:00
|
|
|
if (broadcaster)
|
|
|
|
broadcaster.setAttribute("disabled","true");
|
1999-09-19 07:11:34 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
1999-10-01 04:43:45 +00:00
|
|
|
// Dumps all properties of anObject.
|
2006-09-14 05:44:13 +00:00
|
|
|
function dumpObject( anObject, prefix )
|
|
|
|
{
|
|
|
|
if ( prefix == null )
|
|
|
|
prefix = anObject;
|
|
|
|
for ( prop in anObject )
|
|
|
|
dump( prefix + "." + prop + " = " + anObject[prop] + "\n" );
|
1999-09-16 04:15:40 +00:00
|
|
|
}
|
|
|
|
|
1999-09-22 07:30:44 +00:00
|
|
|
// Takes JS expression and dumps "expr="+expr+"\n"
|
2006-09-14 05:44:13 +00:00
|
|
|
function dumpExpr( expr )
|
|
|
|
{
|
|
|
|
dump( expr+"="+eval(expr)+"\n" );
|
1999-09-22 07:30:44 +00:00
|
|
|
}
|
1999-10-15 21:35:11 +00:00
|
|
|
|
|
|
|
var leakDetector = null;
|
|
|
|
// Dumps current set of memory leaks.
|
2006-09-14 05:44:13 +00:00
|
|
|
function dumpMemoryLeaks()
|
|
|
|
{
|
1999-10-15 21:35:11 +00:00
|
|
|
if (leakDetector == null)
|
|
|
|
leakDetector = createInstance("component://netscape/xpcom/leakdetector", "nsILeakDetector");
|
|
|
|
if (leakDetector != null)
|
|
|
|
leakDetector.dumpLeaks();
|
|
|
|
}
|
1999-11-18 06:58:22 +00:00
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function enableUriLoading()
|
|
|
|
{
|
|
|
|
if( pref )
|
|
|
|
pref.SetDefaultBoolPref("browser.uriloader", true);
|
1999-11-18 06:58:22 +00:00
|
|
|
}
|
|
|
|
|
2006-09-14 05:44:13 +00:00
|
|
|
function disableUriLoading()
|
|
|
|
{
|
|
|
|
if( pref )
|
|
|
|
pref.SetDefaultBoolPref("browser.uriloader", false);
|
1999-12-01 00:12:02 +00:00
|
|
|
}
|