mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-05 08:35:26 +00:00
Fix for 15805, mis-spellings, duplicate accesskeys and 'save frame as' work.
This commit is contained in:
parent
bf3b38091c
commit
9a311c367d
@ -62,28 +62,76 @@ catch (ex)
|
|||||||
var backButton = null;
|
var backButton = null;
|
||||||
var forwardButton = null;
|
var forwardButton = null;
|
||||||
|
|
||||||
function savePage( url ) {
|
///////////////////////////// DOCUMENT SAVE ///////////////////////////////////
|
||||||
// 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 = Components
|
|
||||||
.classes[ "component://netscape/appshell/component/xfer" ]
|
|
||||||
.getService( Components.interfaces.nsIStreamTransfer );
|
|
||||||
try {
|
|
||||||
// When Necko lands, we need to receive the real nsIChannel and
|
|
||||||
// do SelectFileAndTransferLocation!
|
|
||||||
|
|
||||||
// Use this for now...
|
// focused frame URL
|
||||||
xfer.SelectFileAndTransferLocationSpec( url, window );
|
var gFocusedURL = null;
|
||||||
} catch( exception ) {
|
|
||||||
// Failed (or cancelled), give them another chance.
|
/**
|
||||||
dump( "SelectFileAndTransferLocationSpec failed, rv=" + exception + "\n" );
|
* Save the document at a given location to disk
|
||||||
}
|
**/
|
||||||
return;
|
function savePage( url )
|
||||||
|
{
|
||||||
|
// Default is to save current page.
|
||||||
|
url = 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 ) {
|
||||||
|
// suppress NS_ERROR_ABORT exceptions for cancellation
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine whether or not the content area is displaying a page with frames,
|
||||||
|
* and if so, toggle the display of the 'save frame as' menu item.
|
||||||
|
**/
|
||||||
|
function getContentAreaFrameCount()
|
||||||
|
{
|
||||||
|
dump("*** check number of frames in content area \n");
|
||||||
|
var saveFrameItem = document.getElementById("savepage");
|
||||||
|
if (!window.content.frames.length ||
|
||||||
|
!isDocumentFrame(document.commandDispatcher.focusedWindow))
|
||||||
|
saveFrameItem.setAttribute("hidden", "true");
|
||||||
|
else
|
||||||
|
saveFrameItem.removeAttribute("hidden");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When a content area frame is focused, update the focused frame URL
|
||||||
|
**/
|
||||||
|
function contentAreaFrameFocus()
|
||||||
|
{
|
||||||
|
var saveFrameItem = document.getElementById("savepage");
|
||||||
|
var focusedWindow = document.commandDispatcher.focusedWindow;
|
||||||
|
if (isDocumentFrame(focusedWindow)) {
|
||||||
|
gFocusedURL = focusedWindow.location.href;
|
||||||
|
saveFrameItem.removeAttribute("hidden");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine whether or not a given focused DOMWindow is in the content
|
||||||
|
* area.
|
||||||
|
**/
|
||||||
|
function isDocumentFrame(aFocusedWindow)
|
||||||
|
{
|
||||||
|
var contentFrames = window.content.frames;
|
||||||
|
if (contentFrames.length) {
|
||||||
|
for (var i = 0; i < contentFrames.length; i++ ) {
|
||||||
|
if (aFocusedWindow == contentFrames[i])
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////// BOOKMARKS ////////////////////////////////////
|
||||||
|
|
||||||
function UpdateBookmarksLastVisitedDate(event)
|
function UpdateBookmarksLastVisitedDate(event)
|
||||||
{
|
{
|
||||||
@ -103,8 +151,6 @@ function UpdateBookmarksLastVisitedDate(event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function UpdateInternetSearchResults(event)
|
function UpdateInternetSearchResults(event)
|
||||||
{
|
{
|
||||||
if ((window.content.location.href) && (window.content.location.href != ""))
|
if ((window.content.location.href) && (window.content.location.href != ""))
|
||||||
@ -150,7 +196,7 @@ function UpdateStatusField()
|
|||||||
text = jsDefaultStatus;
|
text = jsDefaultStatus;
|
||||||
|
|
||||||
if(!statusTextFld)
|
if(!statusTextFld)
|
||||||
statusTextFld = document.getElementById("statusText");
|
statusTextFld = document.getElementById("statusbar-display");
|
||||||
|
|
||||||
statusTextFld.setAttribute("value", text);
|
statusTextFld.setAttribute("value", text);
|
||||||
}
|
}
|
||||||
@ -338,6 +384,8 @@ function Startup()
|
|||||||
{
|
{
|
||||||
contentArea.addEventListener("load", UpdateBookmarksLastVisitedDate, true);
|
contentArea.addEventListener("load", UpdateBookmarksLastVisitedDate, true);
|
||||||
contentArea.addEventListener("load", UpdateInternetSearchResults, true);
|
contentArea.addEventListener("load", UpdateInternetSearchResults, true);
|
||||||
|
contentArea.addEventListener("load", getContentAreaFrameCount, true);
|
||||||
|
contentArea.addEventListener("focus", contentAreaFrameFocus, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
dump("*** Pulling out the charset\n");
|
dump("*** Pulling out the charset\n");
|
||||||
@ -986,12 +1034,6 @@ function BrowserEditBookmarks()
|
|||||||
|
|
||||||
function BrowserLoadURL()
|
function BrowserLoadURL()
|
||||||
{
|
{
|
||||||
if (appCore == null)
|
|
||||||
{
|
|
||||||
dump("BrowserAppCore has not been initialized\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// rjc: added support for URL shortcuts (3/30/1999)
|
// rjc: added support for URL shortcuts (3/30/1999)
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -1034,7 +1076,8 @@ function BrowserEditBookmarks()
|
|||||||
// stifle any exceptions so we're sure to load the URL.
|
// stifle any exceptions so we're sure to load the URL.
|
||||||
}
|
}
|
||||||
|
|
||||||
appCore.loadUrl(document.getElementById('urlbar').value);
|
appCore.loadUrl(gURLBar.value);
|
||||||
|
window.content.focus();
|
||||||
}
|
}
|
||||||
|
|
||||||
function readFromClipboard()
|
function readFromClipboard()
|
||||||
@ -1388,3 +1431,4 @@ function dumpMemoryLeaks() {
|
|||||||
if (leakDetector != null)
|
if (leakDetector != null)
|
||||||
leakDetector.dumpLeaks();
|
leakDetector.dumpLeaks();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -223,7 +223,7 @@ Contributor(s): ______________________________________. -->
|
|||||||
<menubar id="main-menubar"/>
|
<menubar id="main-menubar"/>
|
||||||
|
|
||||||
<toolbar id="nav-bar" class="toolbar-primary chromeclass-toolbar" persist="collapsed" grippytooltiptext="&navigationBar.tooltip;">
|
<toolbar id="nav-bar" class="toolbar-primary chromeclass-toolbar" persist="collapsed" grippytooltiptext="&navigationBar.tooltip;">
|
||||||
<box id="nav-bar-inner" autostretch="never" flex="1">
|
<box id="nav-bar-inner" autostretch="never" flex="1" style="min-width: 0px;">
|
||||||
<menubutton class="menubutton-dual toolbar" id="back-button" value="&backButton.label;"
|
<menubutton class="menubutton-dual toolbar" id="back-button" value="&backButton.label;"
|
||||||
crop="right" observes="canGoBack" oncommand="gotoHistoryIndex(event);"
|
crop="right" observes="canGoBack" oncommand="gotoHistoryIndex(event);"
|
||||||
buttonaction="BrowserBack();" buttontooltiptext="&backButton.tooltip;">
|
buttonaction="BrowserBack();" buttontooltiptext="&backButton.tooltip;">
|
||||||
@ -364,15 +364,19 @@ Contributor(s): ______________________________________. -->
|
|||||||
ondragdrop="return DropOnContentArea(event);"
|
ondragdrop="return DropOnContentArea(event);"
|
||||||
ondraggesture="BeginDragContentArea(event);">
|
ondraggesture="BeginDragContentArea(event);">
|
||||||
|
|
||||||
<!-- type attribute is used by frame construction to locate iframes
|
<!-- this box is temporary, pending XBLified <browser> -->
|
||||||
intended to hold (html) content -->
|
<box id="browser" flex="1">
|
||||||
<browser context="context" type="content-primary" id="content"
|
<!-- type attribute is used by frame construction to locate iframes
|
||||||
src="about:blank" flex="100%"/>
|
intended to hold (html) content -->
|
||||||
|
<browser context="context" type="content-primary" id="content"
|
||||||
|
src="about:blank" flex="1"/>
|
||||||
|
</box>
|
||||||
|
|
||||||
|
<statusbar id="status-bar" class="chromeclass-status"/>
|
||||||
|
|
||||||
<box id="status-bar" class="chromeclass-status"/>
|
|
||||||
|
|
||||||
</box>
|
</box>
|
||||||
|
|
||||||
|
|
||||||
</box>
|
</box>
|
||||||
|
|
||||||
<toolbox id="taskbar" class="chromeclass-extrachrome toolbox-bottom"/>
|
<toolbox id="taskbar" class="chromeclass-extrachrome toolbox-bottom"/>
|
||||||
|
@ -31,7 +31,7 @@ Contributor(s): ______________________________________. -->
|
|||||||
|
|
||||||
<overlay id="navigatorOverlay"
|
<overlay id="navigatorOverlay"
|
||||||
xmlns:html="http://www.w3.org/TR/REC-html40"
|
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||||
|
|
||||||
<!-- Keysets -->
|
<!-- Keysets -->
|
||||||
@ -68,13 +68,15 @@ Contributor(s): ______________________________________. -->
|
|||||||
<!-- Search Menu -->
|
<!-- Search Menu -->
|
||||||
<key id="key_find" xulkey="true" key="&findOnCmd.commandkey;" observes="Browser:Find"/>
|
<key id="key_find" xulkey="true" key="&findOnCmd.commandkey;" observes="Browser:Find"/>
|
||||||
<key id="key_findAgain" xulkey="true" key="&findAgainCmd.commandkey;" observes="Browser:FindAgain"/>
|
<key id="key_findAgain" xulkey="true" key="&findAgainCmd.commandkey;" observes="Browser:FindAgain"/>
|
||||||
|
|
||||||
|
<key id="key_savePage" xulkey="true" key="&savePageCmd.commandkey;" observes="Browser:SavePage"/>
|
||||||
|
|
||||||
<key id="goForwardKb" xulkey="true" key="&goForwardCmd.commandkey;" observes="Browser:GoForward" />
|
<key id="goForwardKb" xulkey="true" key="&goForwardCmd.commandkey;" observes="Browser:GoForward" />
|
||||||
<key id="goBackwardKb" xulkey="true" key="&goBackCmd.commandkey;" observes="Browser:GoBackwards" />
|
<key id="goBackwardKb" xulkey="true" key="&goBackCmd.commandkey;" observes="Browser:GoBackwards" />
|
||||||
<key id="goHomeKb" xulkey="true" key="&goHomeCmd.commandkey;" observes="Browser:GoHome" />
|
<key id="goHomeKb" xulkey="true" key="&goHomeCmd.commandkey;" observes="Browser:GoHome" />
|
||||||
|
|
||||||
<key id="addBookmarkKb" xulkey="true" key="&addCurPageCmd.commandkey;" observes="Browser:AddBookmark" />
|
<key id="addBookmarkKb" xulkey="true" key="&addCurPageCmd.commandkey;" observes="Browser:AddBookmark" />
|
||||||
<key id="manBookmarkKb" xulkey="true" key="&manBookmarksCmd.commandkey;" observes="Browser:ManageBookmark" />
|
<key id="manBookmarkKb" xulkey="true" key="&manBookmarksCmd.commandkey;" observes="Browser:ManageBookmark" />
|
||||||
|
|
||||||
<!-- how to handle return, enter, tab, function keys, arrow keys, others? saari working on solution -->
|
<!-- how to handle return, enter, tab, function keys, arrow keys, others? saari working on solution -->
|
||||||
</keyset>
|
</keyset>
|
||||||
@ -135,6 +137,8 @@ Contributor(s): ______________________________________. -->
|
|||||||
|
|
||||||
<broadcaster id="Browser:AddBookmark" value="&addCurPageCmd.label;" oncommand="BrowserAddBookmark(window.content.location.href,window.content.document.title);"/>
|
<broadcaster id="Browser:AddBookmark" value="&addCurPageCmd.label;" oncommand="BrowserAddBookmark(window.content.location.href,window.content.document.title);"/>
|
||||||
<broadcaster id="Browser:ManageBookmark" value="&manBookmarksCmd.label;" oncommand="BrowserEditBookmarks();" />
|
<broadcaster id="Browser:ManageBookmark" value="&manBookmarksCmd.label;" oncommand="BrowserEditBookmarks();" />
|
||||||
|
|
||||||
|
<broadcaster id="Browser:SavePage" value="&savePageCmd.label;" accesskey="&savePageCmd.accesskey;" oncommand="savePage();"/>
|
||||||
</broadcasterset>
|
</broadcasterset>
|
||||||
|
|
||||||
|
|
||||||
@ -157,7 +161,8 @@ Contributor(s): ______________________________________. -->
|
|||||||
<menuitem accesskey="&openFileCmd.accesskey;" key="openFileKb" observes="Browser:OpenFile"/>
|
<menuitem accesskey="&openFileCmd.accesskey;" key="openFileKb" observes="Browser:OpenFile"/>
|
||||||
<menuseparator/>
|
<menuseparator/>
|
||||||
<menuitem id="menu_close"/>
|
<menuitem id="menu_close"/>
|
||||||
<menuitem id="context-savepage" value="&savePageCmd.label;" accesskey="&savePageCmd.accesskey;" oncommand="savePage();"/>
|
<menuitem id="context-savepage" key="savePage" observes="Browser:SavePage"/>
|
||||||
|
<menuitem id="savepage" value="&saveFrameCmd.label;" accesskey="&saveFrameCmd.accesskey;" oncommand="savePage(gFocusedURL);" hidden="true"/>
|
||||||
<menuseparator/>
|
<menuseparator/>
|
||||||
<menuitem id="menu_sendPage" observes="cmd_sendPage"/>
|
<menuitem id="menu_sendPage" observes="cmd_sendPage"/>
|
||||||
<menuitem accesskey="&sendLinkCmd.accesskey;" observes="Browser:SendLink"/>
|
<menuitem accesskey="&sendLinkCmd.accesskey;" observes="Browser:SendLink"/>
|
||||||
@ -491,13 +496,11 @@ END of Deprecated -->
|
|||||||
<spring flex="100%"/>
|
<spring flex="100%"/>
|
||||||
</menubar>
|
</menubar>
|
||||||
|
|
||||||
<box id="status-bar" class="chromeclass-status">
|
<statusbar id="status-bar" class="chromeclass-status">
|
||||||
<progressmeter id="statusbar-icon" mode="normal" value="0"/>
|
<progressmeter id="statusbar-icon" mode="normal" value="0"/>
|
||||||
<spring style="width: 1em"/>
|
<statusbarpanel id="statusbar-display" value="&statusText.label;" crop="right" flex="1"/>
|
||||||
<image id="status-icon"/>
|
<statusbarpanel id="statusbar-buildid" value="&buildId.label;"/>
|
||||||
<text id="statusText" class="status-bar" flex="1" value="&statusText.label;" crop="right"/>
|
<statusbarpanel id="security-button"/>
|
||||||
<text class="status-bar" value="&buildId.label;"/>
|
</statusbar>
|
||||||
<button class="plain" id="lock-button" />
|
|
||||||
</box>
|
|
||||||
|
|
||||||
</overlay>
|
</overlay>
|
||||||
|
@ -347,10 +347,11 @@
|
|||||||
<!ENTITY bookmarkPageCmd.accesskey "b">
|
<!ENTITY bookmarkPageCmd.accesskey "b">
|
||||||
<!ENTITY savePageCmd.label "Save Page As...">
|
<!ENTITY savePageCmd.label "Save Page As...">
|
||||||
<!ENTITY savePageCmd.accesskey "s">
|
<!ENTITY savePageCmd.accesskey "s">
|
||||||
|
<!ENTITY savePageCmd.commandkey "s">
|
||||||
<!ENTITY saveFrameCmd.label "Save Frame As...">
|
<!ENTITY saveFrameCmd.label "Save Frame As...">
|
||||||
<!ENTITY saveFrameCmd.accesskey "s">
|
<!ENTITY saveFrameCmd.accesskey "f">
|
||||||
<!ENTITY saveLinkCmd.label "Save Link As...">
|
<!ENTITY saveLinkCmd.label "Save Link As...">
|
||||||
<!ENTITY saveLinkCmd.accesskey "s">
|
<!ENTITY saveLinkCmd.accesskey "a">
|
||||||
<!ENTITY saveImageCmd.label "Save Image As...">
|
<!ENTITY saveImageCmd.label "Save Image As...">
|
||||||
<!ENTITY saveImageCmd.accesskey "a">
|
<!ENTITY saveImageCmd.accesskey "a">
|
||||||
<!ENTITY saveBGImageCmd.label "Save Background Image As...">
|
<!ENTITY saveBGImageCmd.label "Save Background Image As...">
|
||||||
@ -360,6 +361,6 @@
|
|||||||
<!ENTITY selectAllCmd.label "Select All">
|
<!ENTITY selectAllCmd.label "Select All">
|
||||||
<!ENTITY selectAllCmd.accesskey "l">
|
<!ENTITY selectAllCmd.accesskey "l">
|
||||||
<!ENTITY copyLinkCmd.label "Copy Link Location">
|
<!ENTITY copyLinkCmd.label "Copy Link Location">
|
||||||
<!ENTITY copyLinkCmd.accesskey "l">
|
<!ENTITY copyLinkCmd.accesskey "n">
|
||||||
<!ENTITY copyImageCmd.label "Copy Image Location">
|
<!ENTITY copyImageCmd.label "Copy Image Location">
|
||||||
<!ENTITY copyImageCmd.accesskey "m">
|
<!ENTITY copyImageCmd.accesskey "m">
|
||||||
|
Loading…
Reference in New Issue
Block a user