зеркало из https://github.com/mozilla/pjs.git
ick...ick ick ick. Try to fix preferences.
This commit is contained in:
Родитель
87562f5b7a
Коммит
ad2c14ebc1
|
@ -65,9 +65,8 @@ function GetFields()
|
|||
return dataObject;
|
||||
}
|
||||
|
||||
function SetFields()
|
||||
function SetFields(dataObject)
|
||||
{
|
||||
var dataObject = window.opener.top.hPrefWindow.wsm.dataManager.pageData[window.location.href];
|
||||
if ('cookies' in dataObject)
|
||||
cookies = dataObject.cookies;
|
||||
|
||||
|
@ -129,7 +128,7 @@ function loadCookies() {
|
|||
if (!cookiesTree)
|
||||
cookiesTree = document.getElementById("cookiesTree");
|
||||
|
||||
var dataObject = window.opener.top.hPrefWindow.wsm.dataManager.pageData[window.location.href];
|
||||
var dataObject = window.opener.top.hPrefWindow.wsm.dataManager.pageData[window.location.href].userData;
|
||||
if (!('cookies' in dataObject)) {
|
||||
// load cookies into a table
|
||||
var enumerator = cookiemanager.enumerator;
|
||||
|
|
|
@ -187,13 +187,11 @@ nsPrefWindow.prototype =
|
|||
for( var pageTag in this.wsm.dataManager.pageData )
|
||||
{
|
||||
var pageData = this.wsm.dataManager.getPageData( pageTag );
|
||||
if ("initialized" in pageData && pageData.initialized)
|
||||
if ("initialized" in pageData && pageData.initialized && "elementIDs" in pageData)
|
||||
{
|
||||
for( var elementID in pageData )
|
||||
for( var elementID in pageData.elementIDs )
|
||||
{
|
||||
if (elementID == "initialized") continue;
|
||||
var itemObject = pageData[elementID];
|
||||
if (typeof(itemObject) != "object") break;
|
||||
var itemObject = pageData.elementIDs[elementID];
|
||||
if ( "prefstring" in itemObject && itemObject.prefstring )
|
||||
{
|
||||
var elt = itemObject.localname;
|
||||
|
@ -308,10 +306,11 @@ nsPrefWindow.prototype =
|
|||
aWindow.document.documentElement.getAttribute("headertitle"));
|
||||
}
|
||||
|
||||
if( !(aPageTag in this.wsm.dataManager.pageData) )
|
||||
var pageData = this.wsm.dataManager.getPageData(aPageTag);
|
||||
if(!('initialized' in pageData))
|
||||
{
|
||||
var prefElements = aWindow.document.getElementsByAttribute( "prefstring", "*" );
|
||||
this.wsm.dataManager.pageData[aPageTag] = [];
|
||||
|
||||
for( var i = 0; i < prefElements.length; i++ )
|
||||
{
|
||||
var prefstring = prefElements[i].getAttribute( "prefstring" );
|
||||
|
@ -350,12 +349,11 @@ nsPrefWindow.prototype =
|
|||
}
|
||||
}
|
||||
this.wsm.setPageData( aPageTag, aWindow ); // do not set extra elements, accept hard coded defaults
|
||||
|
||||
if( 'Startup' in aWindow)
|
||||
{
|
||||
aWindow.Startup();
|
||||
}
|
||||
this.wsm.dataManager.pageData[aPageTag].initialized=true;
|
||||
this.wsm.dataManager.pageData[aPageTag].initialized = true;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ function GetFields()
|
|||
return dataObject;
|
||||
}
|
||||
|
||||
function SetFields()
|
||||
function SetFields(data)
|
||||
{
|
||||
var win;
|
||||
if ('opener' in window && window.opener)
|
||||
|
@ -47,14 +47,11 @@ function SetFields()
|
|||
else
|
||||
win = window.top;
|
||||
|
||||
var dataObject = win.hPrefWindow.wsm.dataManager.pageData[window.location.href];
|
||||
if ('permissions' in dataObject)
|
||||
permissions = dataObject.permissions;
|
||||
if ('permissions' in data)
|
||||
permissions = data.permissions;
|
||||
|
||||
if ('deletedPermissions' in dataObject)
|
||||
deletedPermissions = dataObject.deletedPermissions;
|
||||
|
||||
return true;
|
||||
if ('deletedPermissions' in data)
|
||||
deletedPermissions = data.deletedPermissions;
|
||||
}
|
||||
|
||||
var permissionsTreeView = {
|
||||
|
@ -137,7 +134,7 @@ function loadPermissions() {
|
|||
else
|
||||
win = window.top;
|
||||
|
||||
var dataObject = win.hPrefWindow.wsm.dataManager.pageData[window.location.href];
|
||||
var dataObject = win.hPrefWindow.wsm.dataManager.pageData[window.location.href].userData;
|
||||
|
||||
// load permissions into a table
|
||||
if (!('permissions' in dataObject)) {
|
||||
|
|
|
@ -121,7 +121,7 @@ function showFontsAndColors()
|
|||
|
||||
function saveFontPrefs()
|
||||
{
|
||||
var dataObject = top.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-fonts.xul"];
|
||||
var dataObject = top.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-fonts.xul"].userData;
|
||||
var pref = top.hPrefWindow.pref;
|
||||
for (var language in dataObject.languageData) {
|
||||
for (var type in dataObject.languageData[language].types) {
|
||||
|
@ -188,7 +188,7 @@ function saveFontPrefs()
|
|||
}
|
||||
items = ["browserUseSystemColors", "browserUnderlineAnchors"];
|
||||
prefs = ["browser.display.use_system_colors", "browser.underline_anchors"];
|
||||
for (var i = 0; i < items.length; ++i) {
|
||||
for (i = 0; i < items.length; ++i) {
|
||||
prefvalue = dataObject.dataEls[items[i]].checked;
|
||||
pref.SetBoolPref(prefs[i], prefvalue)
|
||||
}
|
||||
|
@ -199,7 +199,7 @@ function onPopupPrefsOK()
|
|||
var permissionmanager = Components.classes["@mozilla.org/permissionmanager;1"].getService();
|
||||
permissionmanager = permissionmanager.QueryInterface(Components.interfaces.nsIPermissionManager);
|
||||
|
||||
var dataObject = parent.hPrefWindow.wsm.dataManager.pageData[window.location.href];
|
||||
var dataObject = parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-features.xul"].userData;
|
||||
if ('deletedPermissions' in dataObject) {
|
||||
for (var p = 0; p < dataObject.deletedPermissions.length; ++p) {
|
||||
permissionmanager.remove(dataObject.deletedPermissions[p].host, dataObject.deletedPermissions[p].type);
|
||||
|
@ -223,7 +223,7 @@ function onImagePrefsOK()
|
|||
var permissionmanager = Components.classes["@mozilla.org/permissionmanager;1"].getService();
|
||||
permissionmanager = permissionmanager.QueryInterface(Components.interfaces.nsIPermissionManager);
|
||||
|
||||
var dataObject = parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-features-images.xul"];
|
||||
var dataObject = parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-features-images.xul"].userData;
|
||||
if ('deletedPermissions' in dataObject) {
|
||||
for (var p = 0; p < dataObject.deletedPermissions.length; ++p) {
|
||||
permissionmanager.remove(dataObject.deletedPermissions[p].host, dataObject.deletedPermissions[p].type);
|
||||
|
|
|
@ -95,7 +95,7 @@ function GetFields()
|
|||
}
|
||||
|
||||
// manual data setting function for PrefWindow
|
||||
function SetFields( aDataObject )
|
||||
function SetFields(aDataObject)
|
||||
{
|
||||
languageData = "languageData" in aDataObject ? aDataObject.languageData : languageData ;
|
||||
currentLanguage = "currentLanguage" in aDataObject ? aDataObject.currentLanguage : null ;
|
||||
|
@ -479,7 +479,7 @@ function selectLanguage()
|
|||
}
|
||||
|
||||
// and set the font sizes
|
||||
var dataObject = gPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-fonts.xul"];
|
||||
var dataObject = gPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-fonts.xul"].userData;
|
||||
var langData = null;
|
||||
try
|
||||
{
|
||||
|
|
|
@ -110,7 +110,7 @@ function unload()
|
|||
|
||||
function cookieViewerOnPrefsOK()
|
||||
{
|
||||
var dataObject = parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/cookieviewer/CookieViewer.xul"];
|
||||
var dataObject = parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/cookieviewer/CookieViewer.xul"].userData;
|
||||
if ('deletedCookies' in dataObject) {
|
||||
var cookiemanager = Components.classes["@mozilla.org/cookiemanager;1"].getService();
|
||||
cookiemanager = cookiemanager.QueryInterface(Components.interfaces.nsICookieManager);
|
||||
|
@ -326,7 +326,7 @@ function onPrefsOK()
|
|||
var permissionmanager = Components.classes["@mozilla.org/permissionmanager;1"].getService();
|
||||
permissionmanager = permissionmanager.QueryInterface(Components.interfaces.nsIPermissionManager);
|
||||
|
||||
var dataObject = parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/cookieviewer/CookieExceptions.xul"];
|
||||
var dataObject = parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/cookieviewer/CookieExceptions.xul"].userData;
|
||||
if ('deletedPermissions' in dataObject) {
|
||||
for (var p = 0; p < dataObject.deletedPermissions.length; ++p) {
|
||||
permissionmanager.remove(dataObject.deletedPermissions[p].host, dataObject.deletedPermissions[p].type);
|
||||
|
|
|
@ -51,7 +51,7 @@ catch(e) {}
|
|||
|
||||
function Startup()
|
||||
{
|
||||
gData = parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-themes.xul"];
|
||||
gData = parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-themes.xul"].userData;
|
||||
var list = document.getElementById( "skinsList" );
|
||||
if ("loaded" in gData && "themeIndex" in gData) {
|
||||
list.selectedIndex = gData.themeIndex;
|
||||
|
@ -93,7 +93,7 @@ function Startup()
|
|||
|
||||
function applyTheme()
|
||||
{
|
||||
var data = parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-themes.xul"];
|
||||
var data = parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-themes.xul"].userData;
|
||||
if (data.name == null)
|
||||
return;
|
||||
|
||||
|
|
|
@ -51,6 +51,13 @@ function nsWidgetStateManager (aFrameID)
|
|||
{
|
||||
if (!(aPageTag in this.pageData))
|
||||
this.pageData[aPageTag] = { };
|
||||
|
||||
if (!('elementIDs' in this.pageData[aPageTag]))
|
||||
this.pageData[aPageTag].elementIDs = new Object();
|
||||
|
||||
if (!('userData' in this.pageData[aPageTag]))
|
||||
this.pageData[aPageTag].userData = new Object();
|
||||
|
||||
return this.pageData[aPageTag];
|
||||
},
|
||||
|
||||
|
@ -58,14 +65,15 @@ function nsWidgetStateManager (aFrameID)
|
|||
{
|
||||
if (!(aPageTag in this.pageData))
|
||||
this.pageData[aPageTag] = new Object();
|
||||
this.pageData[aPageTag][aItemID] = aDataObject;
|
||||
|
||||
this.pageData[aPageTag].elementIDs[aItemID] = aDataObject;
|
||||
},
|
||||
|
||||
getItemData: function (aPageTag, aItemID)
|
||||
{
|
||||
if (!(aItemID in this.pageData[aPageTag]))
|
||||
this.pageData[aPageTag][aItemID] = new Object();
|
||||
return this.pageData[aPageTag][aItemID];
|
||||
if (!(aItemID in this.pageData[aPageTag].elementIDs))
|
||||
this.pageData[aPageTag].elementIDs[aItemID] = new Object();
|
||||
return this.pageData[aPageTag].elementIDs[aItemID];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -116,7 +124,7 @@ nsWidgetStateManager.prototype =
|
|||
// save page data based on user supplied function in content area
|
||||
var dataObject = gCurrentWindow.GetFields();
|
||||
if (dataObject)
|
||||
this.dataManager.setPageData(aPageTag, dataObject);
|
||||
this.dataManager.pageData[aPageTag].userData = dataObject;
|
||||
}
|
||||
|
||||
// Automatic element retrieval. This is done in two ways.
|
||||
|
@ -146,10 +154,6 @@ nsWidgetStateManager.prototype =
|
|||
var elementID = elements[ii].id;
|
||||
var elementType = elements[ii].localName;
|
||||
|
||||
if (!(aPageTag in this.dataManager.pageData) )
|
||||
this.dataManager.pageData[aPageTag] = new Object();
|
||||
this.dataManager.pageData[aPageTag][elementID] = new Object();
|
||||
|
||||
// persist attributes
|
||||
var get_Func = (elementType in this.handlers) ?
|
||||
this.handlers[elementType].get :
|
||||
|
@ -163,22 +167,20 @@ nsWidgetStateManager.prototype =
|
|||
gCurrentWindow = aWindow || this.contentArea;
|
||||
|
||||
var pageData = this.dataManager.getPageData(aPageTag);
|
||||
if ("SetFields" in gCurrentWindow) {
|
||||
if (!gCurrentWindow.SetFields(pageData)) {
|
||||
// If the function returns false (or null/undefined) then it
|
||||
// doesn't want *us* to process the page data.
|
||||
return;
|
||||
}
|
||||
}
|
||||
if ("SetFields" in gCurrentWindow)
|
||||
gCurrentWindow.SetFields(pageData.userData)
|
||||
|
||||
for (var elementID in pageData) {
|
||||
if (!('elementIDs' in pageData))
|
||||
return;
|
||||
|
||||
for (var elementID in pageData.elementIDs) {
|
||||
var element = gCurrentWindow.document.getElementById(elementID);
|
||||
if (element) {
|
||||
var elementType = element.localName;
|
||||
var set_Func = (elementType in this.handlers) ?
|
||||
this.handlers[elementType].set :
|
||||
this.handlers.default_handler.set;
|
||||
set_Func(elementID, pageData[elementID]);
|
||||
set_Func(elementID, pageData.elementIDs[elementID]);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -376,4 +378,4 @@ nsWidgetStateManager.prototype =
|
|||
# there is no way out of here
|
||||
# [The Master is] not dead as you know it. He is with us always..
|
||||
# My name is Torgo, I take care of the place while the Master is away.
|
||||
|
||||
# The car won't start
|
||||
|
|
Загрузка…
Ссылка в новой задаче