home *** CD-ROM | disk | FTP | other *** search
- /* -*- 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.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/
- *
- * 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.org code.
- *
- * 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.
- *
- * Contributor(s):
- */
-
- const nsIWebNavigation = Components.interfaces.nsIWebNavigation;
-
- var appCore = null;
- var locationFld = null;
- var commandHandler = null;
- var gURLBar = null;
-
- function nsCommandHandler()
- {
- }
-
- nsCommandHandler.prototype =
- {
- QueryInterface : function(iid)
- {
- if (iid.equals(Components.interfaces.nsICommandHandler))
- {
- return this;
- }
- throw Components.results.NS_NOINTERFACE;
- },
-
- exec : function(command, params)
- {
- },
- query : function(command, params, result)
- {
- result = "";
- }
- }
-
- //
-
- function nsXULBrowserWindow()
- {
- }
-
- nsXULBrowserWindow.prototype =
- {
- QueryInterface : function(iid)
- {
- if(iid.equals(Components.interfaces.nsIXULBrowserWindow))
- return this;
- throw Components.results.NS_NOINTERFACE;
- },
- setJSStatus : function(status)
- {
- },
- setJSDefaultStatus : function(status)
- {
- },
- setDefaultStatus : function(status)
- {
- },
- setOverLink : function(link)
- {
- },
- onProgress : function (channel, current, max)
- {
- },
- onStateChange : function (progress, request, state, status)
- {
- },
- onStatus : function(url, message)
- {
- },
- onLocationChange : function(location)
- {
- if(!locationFld)
- locationFld = document.getElementById("urlbar");
-
- // We should probably not do this if the value has changed since the user
- // searched
- locationFld.setAttribute("value", location);
- }
- }
-
-
- function MiniNavStartup()
- {
- dump("*** MiniNavStartup\n");
- window.XULBrowserWindow = new nsXULBrowserWindow();
-
- var succeeded = false;
- var webNavigation = getWebNavigation();
- try {
- // Create the browser instance component.
- appCore = Components.classes["@mozilla.org/appshell/component/browser/instance;1"]
- .createInstance(Components.interfaces.nsIBrowserInstance);
-
- webNavigation.sessionHistory = Components.classes["@mozilla.org/browser/shistory;1"]
- .createInstance(Components.interfaces.nsISHistory);
- succeeded = true;
- } catch (e) {
- }
-
- if (!succeeded) {
- // Give up.
- dump("Error creating browser instance\n");
- window.close();
- }
- // Initialize browser instance..
- appCore.setWebShellWindow(window);
- _content.appCore = appCore;
-
- // create the embedding command handler
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- var commandHandlerInit = Components
- .classes["@mozilla.org/embedding/browser/nsCommandHandler;1"]
- .createInstance(Components.interfaces.nsICommandHandlerInit);
-
- // Attach it to the window
- commandHandlerInit.window = window;
- commandHandler = commandHandlerInit.QueryInterface(Components.interfaces.nsICommandHandler);
-
- gURLBar = document.getElementById("urlbar");
- dump("gURLBar " + gURLBar + "\n");
- }
-
- function MiniNavShutdown()
- {
- dump("*** MiniNavShutdown\n");
- // Close the app core.
- if ( appCore )
- appCore.close();
- }
-
- function getBrowser()
- {
- return document.getElementById("content");
- }
-
- function getWebNavigation()
- {
- return getBrowser().webNavigation;
- }
-
- function CHExecTest()
- {
- if (commandHandler != null)
- {
- commandHandler.exec("hello", "xxx");
- }
- }
-
- function CHQueryTest()
- {
- if (commandHandler != null)
- {
- var result = commandHandler.query("hello", "xxx");
- }
- }
-
- function InitContextMenu(xulMenu)
- {
- // Back determined by canGoBack broadcaster.
- InitMenuItemAttrFromNode( "context-back", "disabled", "canGoBack" );
-
- // Forward determined by canGoForward broadcaster.
- InitMenuItemAttrFromNode( "context-forward", "disabled", "canGoForward" );
- }
-
- function InitMenuItemAttrFromNode( item_id, attr, other_id )
- {
- var elem = document.getElementById( other_id );
- if ( elem && elem.getAttribute( attr ) == "true" ) {
- SetMenuItemAttr( item_id, attr, "true" );
- } else {
- SetMenuItemAttr( item_id, attr, null );
- }
- }
-
- function SetMenuItemAttr( id, attr, val )
- {
- var elem = document.getElementById( id );
- if ( elem ) {
- if ( val == null ) {
- // null indicates attr should be removed.
- elem.removeAttribute( attr );
- } else {
- // Set attr=val.
- elem.setAttribute( attr, val );
- }
- }
- }
-
- function loadURI(uri)
- {
- getWebNavigation().loadURI(uri, nsIWebNavigation.LOAD_FLAGS_NONE);
- }
-
- function BrowserLoadURL()
- {
- dump("browserloadurl: " + gURLBar.value + '\n');
- try {
- loadURI(gURLBar.value);
- }
- catch(e) {
- }
- }
-
- function BrowserBack()
- {
- getWebNavigation().goBack();
- }
-
- function BrowserForward()
- {
- getWebNavigation().goForward();
- }
-
- function BrowserStop()
- {
- getWebNavigation().stop();
- }
-
- function BrowserReload()
- {
- getWebNavigation().reload(nsIWebNavigation.LOAD_FLAGS_NONE);
- }
-
-