Restore toolkit/obsolete

This commit is contained in:
NTD 2018-02-08 23:31:09 -05:00 committed by Roy Tam
commit ac510873f3
10 changed files with 473 additions and 0 deletions

View file

@ -15,6 +15,7 @@ DIRS += [
'mozapps/extensions',
'mozapps/handling',
'mozapps/preferences',
'obsolete',
'pluginproblem',
'profile',
'themes',

View file

@ -0,0 +1,107 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
var doOKFunction = 0;
var doCancelFunction = 0;
var doButton2Function = 0;
var doButton3Function = 0;
// call this from dialog onload() to allow ok and cancel to call your code
// functions should return true if they want the dialog to close
function doSetOKCancel(okFunc, cancelFunc, button2Func, button3Func )
{
//dump("top.window.navigator.platform: " + top.window.navigator.platform + "\n");
doOKFunction = okFunc;
doCancelFunction = cancelFunc;
doButton2Function = button2Func;
doButton3Function = button3Func;
}
function doOKButton()
{
var close = true;
if ( doOKFunction )
close = doOKFunction();
if (close && top)
top.window.close();
}
function doCancelButton()
{
var close = true;
if ( doCancelFunction )
close = doCancelFunction();
if (close && top)
top.window.close();
}
function doButton2()
{
var close = true;
if ( doButton2Function )
close = doButton2Function();
if (close && top)
top.window.close();
}
function doButton3()
{
var close = true;
if ( doButton3Function )
close = doButton3Function();
if (close && top)
top.window.close();
}
function moveToAlertPosition()
{
// hack. we need this so the window has something like its final size
if (window.outerWidth == 1) {
dump("Trying to position a sizeless window; caller should have called sizeToContent() or sizeTo(). See bug 75649.\n");
sizeToContent();
}
if (opener) {
var xOffset = (opener.outerWidth - window.outerWidth) / 2;
var yOffset = opener.outerHeight / 5;
var newX = opener.screenX + xOffset;
var newY = opener.screenY + yOffset;
} else {
newX = (screen.availWidth - window.outerWidth) / 2;
newY = (screen.availHeight - window.outerHeight) / 2;
}
// ensure the window is fully onscreen (if smaller than the screen)
if (newX < screen.availLeft)
newX = screen.availLeft + 20;
if ((newX + window.outerWidth) > (screen.availLeft + screen.availWidth))
newX = (screen.availLeft + screen.availWidth) - window.outerWidth - 20;
if (newY < screen.availTop)
newY = screen.availTop + 20;
if ((newY + window.outerHeight) > (screen.availTop + screen.availHeight))
newY = (screen.availTop + screen.availHeight) - window.outerHeight - 60;
window.moveTo( newX, newY );
}
function centerWindowOnScreen()
{
var xOffset = screen.availWidth/2 - window.outerWidth/2;
var yOffset = screen.availHeight/2 - window.outerHeight/2; //(opener.outerHeight *2)/10;
xOffset = ( xOffset > 0 ) ? xOffset : 0;
yOffset = ( yOffset > 0 ) ? yOffset : 0;
window.moveTo( xOffset, yOffset);
}

View file

@ -0,0 +1,101 @@
<?xml version="1.0"?>
# -*- Mode: HTML -*-
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# WARNING!!! This file is obsoleted by the dialog.xml widget
#
<!DOCTYPE overlay SYSTEM "chrome://global/locale/dialogOverlay.dtd">
<overlay id="dialogOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript" src="chrome://global/content/dialogOverlay.js"/>
#ifdef XP_MACOSX
#
<hbox id="okCancelButtons">
<spacer flex="1"/>
<button class="exit-dialog" id="Button3" label="" collapsed="true" oncommand="doButton3();"/>
<button class="exit-dialog" id="Button2" label="" collapsed="true" oncommand="doButton2();"/>
<button class="exit-dialog" id="cancel" label="&cancelButton.label;" oncommand="doCancelButton();"/>
<button class="right exit-dialog" id="ok" default="true" label="&okButton.label;" oncommand="doOKButton();"/>
</hbox>
<hbox id="okCancelHelpButtons">
<button class="exit-dialog" id="help" label="&helpButton.label;" oncommand="doHelpButton();"/>
<spacer flex="1"/>
<button class="exit-dialog" id="Button3" label="" collapsed="true" oncommand="doButton3();"/>
<button class="exit-dialog" id="Button2" label="" collapsed="true" oncommand="doButton2();"/>
<button class="exit-dialog" id="cancel" label="&cancelButton.label;" oncommand="doCancelButton();"/>
<button class="right exit-dialog" id="ok" default="true" label="&okButton.label;" oncommand="doOKButton();"/>
</hbox>
<hbox id="okCancelButtonsRight">
<spacer flex="1"/>
<button class="exit-dialog" id="Button3" label="" collapsed="true" oncommand="doButton3();"/>
<button class="exit-dialog" id="Button2" label="" collapsed="true" oncommand="doButton2();"/>
<button class="exit-dialog" id="cancel" label="&cancelButton.label;" oncommand="doCancelButton();"/>
<button class="right exit-dialog" id="ok" default="true" label="&okButton.label;" oncommand="doOKButton();"/>
</hbox>
<hbox id="okCancelHelpButtonsRight">
<button class="exit-dialog" id="help" label="&helpButton.label;" oncommand="doHelpButton();"/>
<spacer flex="1"/>
<button class="exit-dialog" id="Button3" label="" collapsed="true" oncommand="doButton3();"/>
<button class="exit-dialog" id="Button2" label="" collapsed="true" oncommand="doButton2();"/>
<button class="exit-dialog" id="cancel" label="&cancelButton.label;" oncommand="doCancelButton();"/>
<button class="right exit-dialog" id="ok" default="true" label="&okButton.label;" oncommand="doOKButton();"/>
</hbox>
#
#else
#
<hbox id="okCancelButtons">
<spacer flex="1"/>
<button class="right exit-dialog" id="ok" label="&okButton.label;" default="true" oncommand="doOKButton();"/>
<button class="exit-dialog" id="Button2" label="&cancelButton.label;" collapsed="true" oncommand="doButton2();"/>
<button class="exit-dialog" id="Button3" label="&cancelButton.label;" collapsed="true" oncommand="doButton3();"/>
<button class="exit-dialog" id="cancel" label="&cancelButton.label;" oncommand="doCancelButton();"/>
<spacer flex="1"/>
</hbox>
<hbox id="okCancelHelpButtons">
<spacer flex="1"/>
<button class="right exit-dialog" id="ok" label="&okButton.label;" default="true" oncommand="doOKButton();"/>
<button class="exit-dialog" id="Button2" label="&cancelButton.label;" collapsed="true" oncommand="doButton2();"/>
<button class="exit-dialog" id="Button3" label="&cancelButton.label;" collapsed="true" oncommand="doButton3();"/>
<button class="exit-dialog" id="cancel" label="&cancelButton.label;" oncommand="doCancelButton();"/>
<button class="exit-dialog" id="help" label="&helpButton.label;" oncommand="doHelpButton();"/>
<spacer flex="1"/>
</hbox>
<hbox id="okCancelButtonsRight">
<spacer flex="1"/>
<button class="right exit-dialog" id="ok" label="&okButton.label;" default="true" oncommand="doOKButton();"/>
<button class="exit-dialog" id="Button2" label="&cancelButton.label;" collapsed="true" oncommand="doButton2();"/>
<button class="exit-dialog" id="Button3" label="&cancelButton.label;" collapsed="true" oncommand="doButton3();"/>
<button class="exit-dialog" id="cancel" label="&cancelButton.label;" oncommand="doCancelButton();"/>
</hbox>
<hbox id="okCancelHelpButtonsRight">
<spacer flex="1"/>
<button class="right exit-dialog" id="ok" label="&okButton.label;" default="true" oncommand="doOKButton();"/>
<button class="exit-dialog" id="Button2" label="&cancelButton.label;" collapsed="true" oncommand="doButton2();"/>
<button class="exit-dialog" id="Button3" label="&cancelButton.label;" collapsed="true" oncommand="doButton3();"/>
<button class="exit-dialog" id="cancel" label="&cancelButton.label;" oncommand="doCancelButton();"/>
<button class="exit-dialog" id="help" label="&helpButton.label;" oncommand="doHelpButton();"/>
</hbox>
#endif
<keyset id="dialogKeys">
<key keycode="VK_RETURN" oncommand="if (!document.getElementById('ok').disabled) doOKButton();"/>
<key keycode="VK_ESCAPE" oncommand="doCancelButton();"/>
#ifdef XP_MACOSX
<key key="." modifiers="meta" oncommand="doCancelButton();"/>
#
#endif
</keyset>
</overlay>

View file

@ -0,0 +1,38 @@
<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<overlay id="globalOverlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript" src="chrome://global/content/globalOverlay.js"/>
<script type="application/javascript"><![CDATA[
function FillInTooltip ( tipElement )
{
var retVal = false;
var textNode = document.getElementById("TOOLTIP-tooltipText");
if (textNode) {
while (textNode.hasChildNodes())
textNode.removeChild(textNode.firstChild);
var tipText = tipElement.getAttribute("tooltiptext");
if (tipText) {
var node = document.createTextNode(tipText);
textNode.appendChild(node);
retVal = true;
}
}
return retVal;
}
]]></script>
<popupset id="aTooltipSet">
<tooltip id="aTooltip" class="tooltip" onpopupshowing="return FillInTooltip(document.tooltipNode);">
<label id="TOOLTIP-tooltipText" class="tooltip-label" flex="1"/>
</tooltip>
</popupset>
</overlay>

View file

@ -0,0 +1,7 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
Components.utils.import("resource://gre/modules/InlineSpellChecker.jsm");
var InlineSpellCheckerUI = new InlineSpellChecker();

View file

@ -0,0 +1,64 @@
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/**
* nsClipboard - wrapper around nsIClipboard and nsITransferable
* that simplifies access to the clipboard.
**/
var nsClipboard = {
_CB: null,
get mClipboard()
{
if (!this._CB)
{
const kCBContractID = "@mozilla.org/widget/clipboard;1";
const kCBIID = Components.interfaces.nsIClipboard;
this._CB = Components.classes[kCBContractID].getService(kCBIID);
}
return this._CB;
},
currentClipboard: null,
/**
* Array/Object read (Object aFlavourList, long aClipboard, Bool aAnyFlag) ;
*
* returns the data in the clipboard
*
* @param FlavourSet aFlavourSet
* formatted list of desired flavours
* @param long aClipboard
* the clipboard to read data from (kSelectionClipboard/kGlobalClipboard)
* @param Bool aAnyFlag
* should be false.
**/
read: function (aFlavourList, aClipboard, aAnyFlag)
{
this.currentClipboard = aClipboard;
var data = nsTransferable.get(aFlavourList, this.getClipboardTransferable, aAnyFlag);
return data.first.first; // only support one item
},
/**
* nsISupportsArray getClipboardTransferable (Object aFlavourList) ;
*
* returns a nsISupportsArray of the item on the clipboard
*
* @param Object aFlavourList
* formatted list of desired flavours.
**/
getClipboardTransferable: function (aFlavourList)
{
const supportsContractID = "@mozilla.org/supports-array;1";
const supportsIID = Components.interfaces.nsISupportsArray;
var supportsArray = Components.classes[supportsContractID].createInstance(supportsIID);
var trans = nsTransferable.createTransferable();
for (var flavour in aFlavourList)
trans.addDataFlavor(flavour);
nsClipboard.mClipboard.getData(trans, nsClipboard.currentClipboard)
supportsArray.AppendElement(trans);
return supportsArray;
}
};

View file

@ -0,0 +1,108 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/**
* nsPreferences - a wrapper around nsIPrefService. Provides built in
* exception handling to make preferences access simpler.
**/
var nsPreferences = {
get mPrefService()
{
return Components.classes["@mozilla.org/preferences-service;1"]
.getService(Components.interfaces.nsIPrefBranch);
},
setBoolPref: function (aPrefName, aPrefValue)
{
try
{
this.mPrefService.setBoolPref(aPrefName, aPrefValue);
}
catch (e)
{
}
},
getBoolPref: function (aPrefName, aDefVal)
{
try
{
return this.mPrefService.getBoolPref(aPrefName);
}
catch (e)
{
return aDefVal != undefined ? aDefVal : null;
}
return null; // quiet warnings
},
setUnicharPref: function (aPrefName, aPrefValue)
{
try
{
var str = Components.classes["@mozilla.org/supports-string;1"]
.createInstance(Components.interfaces.nsISupportsString);
str.data = aPrefValue;
this.mPrefService.setComplexValue(aPrefName,
Components.interfaces.nsISupportsString, str);
}
catch (e)
{
}
},
copyUnicharPref: function (aPrefName, aDefVal)
{
try
{
return this.mPrefService.getComplexValue(aPrefName,
Components.interfaces.nsISupportsString).data;
}
catch (e)
{
return aDefVal != undefined ? aDefVal : null;
}
return null; // quiet warnings
},
setIntPref: function (aPrefName, aPrefValue)
{
try
{
this.mPrefService.setIntPref(aPrefName, aPrefValue);
}
catch (e)
{
}
},
getIntPref: function (aPrefName, aDefVal)
{
try
{
return this.mPrefService.getIntPref(aPrefName);
}
catch (e)
{
return aDefVal != undefined ? aDefVal : null;
}
return null; // quiet warnings
},
getLocalizedUnicharPref: function (aPrefName, aDefVal)
{
try
{
return this.mPrefService.getComplexValue(aPrefName,
Components.interfaces.nsIPrefLocalizedString).data;
}
catch (e)
{
return aDefVal != undefined ? aDefVal : null;
}
return null; // quiet warnings
}
};

View file

@ -0,0 +1,28 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
var strBundleService = null;
function srGetStrBundle(path)
{
var strBundle = null;
if (!strBundleService) {
try {
strBundleService =
Components.classes["@mozilla.org/intl/stringbundle;1"].getService();
strBundleService =
strBundleService.QueryInterface(Components.interfaces.nsIStringBundleService);
} catch (ex) {
dump("\n--** strBundleService failed: " + ex + "\n");
return null;
}
}
strBundle = strBundleService.createBundle(path);
if (!strBundle) {
dump("\n--** strBundle createInstance failed **--\n");
}
return strBundle;
}

12
toolkit/obsolete/jar.mn Normal file
View file

@ -0,0 +1,12 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
toolkit.jar:
content/global/globalOverlay.xul (content/globalOverlay.xul)
* content/global/dialogOverlay.xul (content/dialogOverlay.xul)
content/global/dialogOverlay.js (content/dialogOverlay.js)
content/global/inlineSpellCheckUI.js (content/inlineSpellCheckUI.js)
content/global/nsClipboard.js (content/nsClipboard.js)
content/global/nsUserSettings.js (content/nsUserSettings.js)
content/global/strres.js (content/strres.js)

View file

@ -0,0 +1,7 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
JAR_MANIFESTS += ['jar.mn']