зеркало из https://github.com/mozilla/gecko-dev.git
Fix 169347 and 169823.
This commit is contained in:
Родитель
bc35184c13
Коммит
e29a166f4b
|
@ -49,7 +49,6 @@ var gURLBar = null;
|
|||
var gProxyButton = null;
|
||||
var gProxyFavIcon = null;
|
||||
var gProxyDeck = null;
|
||||
var gSearchService = null;
|
||||
var gNavigatorBundle;
|
||||
var gBrandBundle;
|
||||
var gLastValidURLStr = "";
|
||||
|
@ -58,6 +57,8 @@ var gHaveUpdatedToolbarState = false;
|
|||
var gClickSelectsAll = true;
|
||||
var gIgnoreFocus = false;
|
||||
var gIgnoreClick = false;
|
||||
var gToolbarMode = "icons";
|
||||
var gIconSize = "";
|
||||
|
||||
var gPrefService = null;
|
||||
|
||||
|
@ -72,8 +73,6 @@ var gContextMenu = null;
|
|||
// Global variable that caches the default search engine info
|
||||
var gDefaultEngine = null;
|
||||
|
||||
var gBookmarkPopup = null;
|
||||
|
||||
const nsIWebNavigation = Components.interfaces.nsIWebNavigation;
|
||||
var gPrintSettingsAreGlobal = true;
|
||||
var gSavePrintSettings = true;
|
||||
|
@ -509,10 +508,15 @@ function addBookmarkAs(aBrowser)
|
|||
BookmarksUtils.addBookmarkForBrowser(aBrowser.webNavigation, true);
|
||||
}
|
||||
|
||||
function BrowserOpenWindow()
|
||||
function openLocation()
|
||||
{
|
||||
//opens a window where users can select a web location to open
|
||||
openDialog("chrome://communicator/content/openLocation.xul", "_blank", "chrome,modal,titlebar", window);
|
||||
if (gURLBar && !document.getElementById("nav-bar").hidden) {
|
||||
gURLBar.focus();
|
||||
gURLBar.select();
|
||||
}
|
||||
else {
|
||||
openDialog("chrome://browser/content/openLocation.xul", "_blank", "chrome,modal,titlebar", window);
|
||||
}
|
||||
}
|
||||
|
||||
function BrowserOpenTab()
|
||||
|
@ -1047,20 +1051,6 @@ function checkForDefaultBrowser()
|
|||
}
|
||||
}
|
||||
|
||||
function ShowAndSelectContentsOfURLBar()
|
||||
{
|
||||
var navBar = document.getElementById("nav-bar");
|
||||
|
||||
// If it's hidden, show it.
|
||||
if (navBar.getAttribute("hidden") == "true")
|
||||
goToggleToolbar('nav-bar','toggle_navbar');
|
||||
|
||||
if (gURLBar.value)
|
||||
gURLBar.select();
|
||||
else
|
||||
gURLBar.focus();
|
||||
}
|
||||
|
||||
// If "ESC" is pressed in the url bar, we replace the urlbar's value with the url of the page
|
||||
// and highlight it, unless it is about:blank, where we reset it to "".
|
||||
function handleURLBarRevert()
|
||||
|
@ -1214,6 +1204,7 @@ function BrowserFullScreen()
|
|||
function onFullScreen()
|
||||
{
|
||||
FullScreen.toggle();
|
||||
|
||||
}
|
||||
|
||||
// Set up a lame hack to avoid opening two bookmarks.
|
||||
|
@ -2499,7 +2490,16 @@ var FullScreen =
|
|||
for (i = 0; i < els.length; ++i) {
|
||||
// XXX don't interfere with previously collapsed toolbars
|
||||
if (els[i].getAttribute("fullscreentoolbar") == "true") {
|
||||
this.setToolbarButtonMode(els[i], aShow ? "" : "small");
|
||||
if (!aShow) {
|
||||
gToolbarMode = els[i].getAttribute("mode");
|
||||
gIconSize = els[i].getAttribute("iconsize");
|
||||
els[i].setAttribute("mode", "icons");
|
||||
els[i].setAttribute("iconsize", "small");
|
||||
}
|
||||
else {
|
||||
els[i].setAttribute("mode", gToolbarMode);
|
||||
els[i].setAttribute("iconsize", gIconSize);
|
||||
}
|
||||
} else {
|
||||
// use moz-collapsed so it doesn't persist hidden/collapsed,
|
||||
// so that new windows don't have missing toolbars
|
||||
|
@ -2514,25 +2514,6 @@ var FullScreen =
|
|||
for (i = 0; i < controls.length; ++i)
|
||||
controls[i].hidden = aShow;
|
||||
},
|
||||
|
||||
setToolbarButtonMode: function(aToolbar, aMode)
|
||||
{
|
||||
aToolbar.setAttribute("toolbarmode", aMode);
|
||||
this.setToolbarButtonModeFor(aToolbar, "toolbarbutton", aMode);
|
||||
this.setToolbarButtonModeFor(aToolbar, "button", aMode);
|
||||
this.setToolbarButtonModeFor(aToolbar, "textbox", aMode);
|
||||
},
|
||||
|
||||
setToolbarButtonModeFor: function(aToolbar, aTag, aMode)
|
||||
{
|
||||
var XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
|
||||
var els = aToolbar.getElementsByTagNameNS(XULNS, aTag);
|
||||
|
||||
for (var i = 0; i < els.length; ++i) {
|
||||
els[i].setAttribute("toolbarmode", aMode);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
const NS_ERROR_MODULE_NETWORK = 2152398848;
|
||||
|
@ -2799,7 +2780,9 @@ nsBrowserStatusHandler.prototype =
|
|||
// Do not update urlbar if there was a subframe navigation
|
||||
|
||||
if (aWebProgress.DOMWindow == content) {
|
||||
if (!this.userTyped.value) {
|
||||
//XXXBlake don't we have to reinit this.urlBar, etc.
|
||||
// when the toolbar changes?
|
||||
if (this.urlBar && !this.userTyped.value) {
|
||||
// If the url has "wyciwyg://" as the protocol, strip it off.
|
||||
// Nobody wants to see it on the urlbar for dynamically generated
|
||||
// pages.
|
||||
|
|
|
@ -165,7 +165,8 @@ Contributor(s):
|
|||
<command id="Browser:Stop" oncommand="BrowserStop();" disabled="true"/>
|
||||
<command id="cmd_textZoomReduce" oncommand="ZoomManager.prototype.getInstance().reduce();"/>
|
||||
<command id="cmd_textZoomEnlarge" oncommand="ZoomManager.prototype.getInstance().enlarge();"/>
|
||||
|
||||
<command id="Browser:OpenLocation" oncommand="openLocation();"/>
|
||||
|
||||
<broadcaster id="isImage"/>
|
||||
|
||||
<keyset>
|
||||
|
@ -174,7 +175,7 @@ Contributor(s):
|
|||
command="cmd_newNavigator"
|
||||
modifiers="accel"/>
|
||||
<key id="key_newNavigatorTab" key="&tabCmd.commandkey;" modifiers="accel" command="cmd_newNavigatorTab"/>
|
||||
<key id="focusURLBar" key="&openCmd.commandkey;" oncommand="ShowAndSelectContentsOfURLBar();"
|
||||
<key id="focusURLBar" key="&openCmd.commandkey;" command="Browser:OpenLocation"
|
||||
modifiers="accel"/>
|
||||
<key id="openFileKb" key="&openFileCmd.commandkey;" command="Browser:OpenFile" modifiers="accel"/>
|
||||
<key id="key_savePage" key="&savePageCmd.commandkey;" command="Browser:SavePage" modifiers="accel"/>
|
||||
|
@ -405,6 +406,7 @@ Contributor(s):
|
|||
command="cmd_newNavigator"/>
|
||||
<menuitem command="cmd_newNavigatorTab" key="key_newNavigatorTab"
|
||||
label="&tabCmd.label;" accesskey="&tabCmd.accesskey;"/>
|
||||
<menuitem label="&openLocationCmd.label;" accesskey="&openLocationCmd.accesskey;" key="focusURLBar" command="Browser:OpenLocation"/>
|
||||
<menuitem label="&openFileCmd.label;" accesskey="&openFileCmd.accesskey;" key="openFileKb" command="Browser:OpenFile"/>
|
||||
<menuitem id="menu_close"/>
|
||||
<menuitem id="menu_closeWindow" hidden="true" command="cmd_closeWindow" key="key_closeWindow" label="&closeWindow.label;"/>
|
||||
|
|
|
@ -55,8 +55,10 @@ function buildDialog()
|
|||
if (!modeValue)
|
||||
modeValue = "full";
|
||||
modeList.value = modeValue;
|
||||
if (modeValue == "text")
|
||||
if (modeValue == "text") {
|
||||
useSmallIcons.disabled = true;
|
||||
useSmallIcons.checked = false;
|
||||
}
|
||||
|
||||
var cloneToolbarBox = document.getElementById("cloned-bar-container");
|
||||
var paletteBox = document.getElementById("palette-box");
|
||||
|
@ -556,5 +558,12 @@ function updateToolbarMode(modeValue)
|
|||
gToolbarChanged = true;
|
||||
|
||||
var iconSizeCheckbox = document.getElementById("smallicons");
|
||||
iconSizeCheckbox.disabled = modeValue == "text";
|
||||
if (modeValue == "text") {
|
||||
iconSizeCheckbox.disabled = true;
|
||||
iconSizeCheckbox.checked = false;
|
||||
updateIconSize(false);
|
||||
}
|
||||
else {
|
||||
iconSizeCheckbox.disabled = false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,154 @@
|
|||
/* -*- 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.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 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.
|
||||
*
|
||||
* Contributor(s): Michael Lowe <michael.lowe@bigfoot.com>
|
||||
* Blake Ross <blaker@netscape.com>
|
||||
*/
|
||||
|
||||
var browser;
|
||||
var dialog = {};
|
||||
var pref = null;
|
||||
try {
|
||||
pref = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
.getService(Components.interfaces.nsIPrefBranch);
|
||||
} catch (ex) {
|
||||
// not critical, remain silent
|
||||
}
|
||||
|
||||
function onLoad()
|
||||
{
|
||||
dialog.input = document.getElementById("dialog.input");
|
||||
dialog.open = document.documentElement.getButton("accept");
|
||||
dialog.openAppList = document.getElementById("openAppList");
|
||||
dialog.openTopWindow = document.getElementById("currentWindow");
|
||||
dialog.bundle = document.getElementById("openLocationBundle");
|
||||
|
||||
if ("arguments" in window && window.arguments.length >= 1)
|
||||
browser = window.arguments[0];
|
||||
|
||||
dialog.openAppList.selectedItem = dialog.openTopWindow;
|
||||
|
||||
// change OK button text to 'open'
|
||||
dialog.open.label = dialog.bundle.getString("openButtonLabel");
|
||||
|
||||
if (pref) {
|
||||
try {
|
||||
var value = pref.getIntPref("general.open_location.last_window_choice");
|
||||
var element = dialog.openAppList.getElementsByAttribute("value", value)[0];
|
||||
if (element)
|
||||
dialog.openAppList.selectedItem = element;
|
||||
dialog.input.value = pref.getComplexValue("general.open_location.last_url",
|
||||
Components.interfaces.nsISupportsString).data;
|
||||
}
|
||||
catch(ex) {
|
||||
}
|
||||
if (dialog.input.value)
|
||||
dialog.input.select(); // XXX should probably be done automatically
|
||||
}
|
||||
|
||||
doEnabling();
|
||||
}
|
||||
|
||||
function doEnabling()
|
||||
{
|
||||
dialog.open.disabled = !dialog.input.value;
|
||||
}
|
||||
|
||||
function open()
|
||||
{
|
||||
var url;
|
||||
if (browser)
|
||||
url = browser.getShortcutOrURI(dialog.input.value);
|
||||
else
|
||||
url = dialog.input.value;
|
||||
|
||||
try {
|
||||
switch (dialog.openAppList.value) {
|
||||
case "0":
|
||||
browser.loadURI(url);
|
||||
break;
|
||||
case "1":
|
||||
window.opener.delayedOpenWindow(getBrowserURL(), "all,dialog=no", url);
|
||||
break;
|
||||
case "3":
|
||||
if (browser.getBrowser && browser.getBrowser().localName == "tabbrowser")
|
||||
browser.delayedOpenTab(url);
|
||||
else
|
||||
browser.loadURI(url); // Just do a normal load.
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch(exception) {
|
||||
}
|
||||
|
||||
if (pref) {
|
||||
var str = Components.classes["@mozilla.org/supports-string;1"]
|
||||
.createInstance(Components.interfaces.nsISupportsString);
|
||||
str.data = dialog.input.value;
|
||||
pref.setComplexValue("general.open_location.last_url",
|
||||
Components.interfaces.nsISupportsString, str);
|
||||
pref.setIntPref("general.open_location.last_window_choice", dialog.openAppList.value);
|
||||
}
|
||||
|
||||
// Delay closing slightly to avoid timing bug on Linux.
|
||||
window.close();
|
||||
return false;
|
||||
}
|
||||
|
||||
function createInstance(contractid, iidName)
|
||||
{
|
||||
var iid = Components.interfaces[iidName];
|
||||
return Components.classes[contractid].createInstance(iid);
|
||||
}
|
||||
|
||||
const nsIFilePicker = Components.interfaces.nsIFilePicker;
|
||||
function onChooseFile()
|
||||
{
|
||||
try {
|
||||
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
|
||||
fp.init(window, dialog.bundle.getString("chooseFileDialogTitle"), nsIFilePicker.modeOpen);
|
||||
if (dialog.openAppList.value == "2") {
|
||||
// When loading into Composer, direct user to prefer HTML files and text files,
|
||||
// so we call separately to control the order of the filter list
|
||||
fp.appendFilters(nsIFilePicker.filterHTML | nsIFilePicker.filterText);
|
||||
fp.appendFilters(nsIFilePicker.filterText);
|
||||
fp.appendFilters(nsIFilePicker.filterAll);
|
||||
}
|
||||
else {
|
||||
fp.appendFilters(nsIFilePicker.filterHTML | nsIFilePicker.filterText |
|
||||
nsIFilePicker.filterAll | nsIFilePicker.filterImages | nsIFilePicker.filterXML);
|
||||
}
|
||||
|
||||
if (fp.show() == nsIFilePicker.returnOK && fp.fileURL.spec && fp.fileURL.spec.length > 0)
|
||||
dialog.input.value = fp.fileURL.spec;
|
||||
}
|
||||
catch(ex) {
|
||||
}
|
||||
doEnabling();
|
||||
}
|
||||
|
||||
function useUBHistoryItem(aMenuItem)
|
||||
{
|
||||
var urlbar = document.getElementById("dialog.input");
|
||||
urlbar.value = aMenuItem.getAttribute("label");
|
||||
urlbar.focus();
|
||||
doEnabling();
|
||||
}
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<!--
|
||||
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 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-1999 Netscape Communications Corporation. All
|
||||
Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Ben Goodger <ben@netscape.com>
|
||||
Michael Lowe <michael.lowe@bigfoot.com>
|
||||
|
||||
-->
|
||||
|
||||
<?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?>
|
||||
|
||||
<!DOCTYPE dialog [
|
||||
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
|
||||
%brandDTD;
|
||||
<!ENTITY % openDialogDTD SYSTEM "chrome://browser/locale/openLocation.dtd" >
|
||||
%openDialogDTD;
|
||||
]>
|
||||
|
||||
<dialog id="openLocation"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
title="&caption.label;"
|
||||
onload="onLoad()"
|
||||
ondialogaccept="open()"
|
||||
style="width: 40em;"
|
||||
persist="screenX screenY"
|
||||
screenX="24" screenY="24">
|
||||
|
||||
<script type="application/x-javascript" src="chrome://global/content/globalOverlay.js"/>
|
||||
<script type="application/x-javascript" src="chrome://browser/content/openLocation.js"/>
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/utilityOverlay.js"/>
|
||||
|
||||
//XXXBlake Bleh! We collapsed sessionHistoryUI.js into browser.js.
|
||||
<script type="application/x-javascript" src="chrome://navigator/content/sessionHistoryUI.js"/>
|
||||
|
||||
<stringbundle id="openLocationBundle" src="chrome://browser/locale/openLocation.properties"/>
|
||||
|
||||
<hbox>
|
||||
<separator orient="vertical" class="thin"/>
|
||||
<vbox flex="1">
|
||||
<description>&enter.label;</description>
|
||||
<separator class="thin"/>
|
||||
|
||||
<hbox align="center">
|
||||
<textbox id="dialog.input" flex="1" type="autocomplete"
|
||||
searchSessions="history" timeout="50" maxrows="6"
|
||||
disablehistory="false"
|
||||
oninput="doEnabling();">
|
||||
<menupopup id="ubhist-popup" class="autocomplete-history-popup"
|
||||
popupalign="topleft" popupanchor="bottomleft"
|
||||
onpopupshowing="createUBHistoryMenu(event.target);"
|
||||
oncommand="useUBHistoryItem(event.target)"/>
|
||||
</textbox>
|
||||
<button label="&chooseFile.label;" oncommand="onChooseFile();"/>
|
||||
</hbox>
|
||||
<hbox align="center">
|
||||
<label value="&openWhere.label;"/>
|
||||
<menulist id="openAppList">
|
||||
<menupopup>
|
||||
<menuitem value="0" id="currentWindow" label="&topWindow.label;"/>
|
||||
<menuitem value="1" label="&newWindow.label;"/>
|
||||
<menuitem value="3" label="&newTab.label;"/>
|
||||
</menupopup>
|
||||
</menulist>
|
||||
<spacer flex="1"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</hbox>
|
||||
|
||||
</dialog>
|
|
@ -12,6 +12,8 @@ browser.jar:
|
|||
content/browser/viewsource.js (content/viewsource.js)
|
||||
content/browser/viewSource.xul (content/viewSource.xul)
|
||||
content/browser/viewSourceOverlay.xul (content/viewSourceOverlay.xul)
|
||||
content/browser/openLocation.xul (content/openLocation.xul)
|
||||
content/browser/openLocation.js (content/openLocation.js)
|
||||
|
||||
classic.jar:
|
||||
skin/classic/browser/browser.css (skin/browser.css)
|
||||
|
@ -49,6 +51,8 @@ en-US.jar:
|
|||
locale/en-US/browser/customizeToolbar.dtd (locale/customizeToolbar.dtd)
|
||||
locale/en-US/browser/aboutDialog.dtd (locale/aboutDialog.dtd)
|
||||
locale/en-US/browser/viewSource.dtd (locale/viewSource.dtd)
|
||||
locale/en-US/browser/openLocation.dtd (locale/openLocation.dtd)
|
||||
locale/en-US/browser/openLocation.properties (locale/openLocation.properties)
|
||||
|
||||
US.jar:
|
||||
locale/US/browser-region/region.properties (locale/region.properties)
|
||||
|
|
|
@ -227,4 +227,7 @@
|
|||
|
||||
<!ENTITY textZoomReduceCmd.label "Decrease Text Size">
|
||||
<!ENTITY textZoomReduceCmd.accesskey "D">
|
||||
<!ENTITY textZoomReduceCmd.commandkey "-">
|
||||
<!ENTITY textZoomReduceCmd.commandkey "-">
|
||||
|
||||
<!ENTITY openLocationCmd.label "Open Location">
|
||||
<!ENTITY openLocationCmd.accesskey "L">
|
|
@ -0,0 +1,12 @@
|
|||
<!-- extracted from content/openLocation.xul -->
|
||||
|
||||
<!ENTITY enter.label "Enter the web location (URL), or specify the local file you would like to open:">
|
||||
<!ENTITY chooseFile.label "Choose File...">
|
||||
<!ENTITY newWindow.label "New Navigator window">
|
||||
<!ENTITY newTab.label "New Navigator tab">
|
||||
<!ENTITY topWindow.label "Current Navigator window">
|
||||
<!ENTITY editNewWindow.label "New Composer window">
|
||||
<!ENTITY cancel.label "Cancel">
|
||||
<!ENTITY caption.label "Open Web Location">
|
||||
<!ENTITY openWhere.label "Open in:">
|
||||
<!ENTITY example.label "Example: &vendorURL;">
|
|
@ -0,0 +1,3 @@
|
|||
openButtonLabel=Open
|
||||
chooseFileDialogTitle=Choose File
|
||||
existingNavigatorWindow=Existing Navigator window
|
Загрузка…
Ссылка в новой задаче