Bug 528430: Add a directory provider so we can customize the cache folder at runtime [r=blassey]

--HG--
rename : mobile/components/alertsService.js => mobile/components/AlertsService.js
rename : mobile/components/downloadManagerUI.js => mobile/components/DownloadManagerUI.js
rename : mobile/components/geolocationPrompt.js => mobile/components/GeolocationPrompt.js
rename : mobile/components/helperAppDialog.js => mobile/components/HelperAppDialog.js
rename : mobile/components/promptService.js => mobile/components/PromptService.js
rename : mobile/components/xpiDialogService.js => mobile/components/XPIDialogService.js
This commit is contained in:
Mark Finkle 2009-11-14 00:18:25 -05:00
Родитель 005ce47885
Коммит 0ea8d7508d
10 изменённых файлов: 107 добавлений и 15 удалений

Просмотреть файл

@ -61,7 +61,6 @@ pref("browser.dom.window.dump.enabled", false);
#ifdef MOZ_PLATFORM_HILDON
pref("browser.cache.disk.enable", true);
pref("browser.cache.disk.capacity", 10240); // kilobytes
pref("browser.cache.disk.parent_directory", "/media/mmc2/.mozilla/@APP_NAME@");
#elifdef WINCE
pref("browser.cache.disk.enable", false);
pref("browser.cache.disk.capacity", 0); // kilobytes
@ -90,9 +89,6 @@ pref("browser.cache.offline.enable", true);
pref("browser.cache.offline.capacity", 5120); // kilobytes
pref("offline-apps.quota.max", 2048); // kilobytes
pref("offline-apps.quota.warn", 1024); // kilobytes
#ifdef MOZ_PLATFORM_HILDON
pref("browser.cache.offline.parent_directory", "/media/mmc2/.mozilla/@APP_NAME@");
#endif
/* http prefs */
pref("network.http.pipelining", true);

Просмотреть файл

@ -253,8 +253,8 @@ BrowserView.prototype = {
case "Nokia N900":
cacheSize = 26;
break;
case "Nokia N8XX":
// N8XX has half the memory of N900 and crashes with higher numbers
case "Nokia N8xx":
// N8xx has half the memory of N900 and crashes with higher numbers
cacheSize = 10;
break;
#endif

Просмотреть файл

Просмотреть файл

@ -0,0 +1,93 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla 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/MPL/
*
* 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 XPI Dialog Service.
*
* The Initial Developer of the Original Code is Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2009
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Mark Finkle <mfinkle@mozilla.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
const Cc = Components.classes;
const Ci = Components.interfaces;
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
// -----------------------------------------------------------------------
// Directory Provider for special browser folders and files
// -----------------------------------------------------------------------
const NS_APP_CACHE_PARENT_DIR = "cachePDir";
function DirectoryProvider() {}
DirectoryProvider.prototype = {
classDescription: "Directory Provider for special browser folders and files",
contractID: "@mozilla.org/browser/directory-provider;1",
classID: Components.ID("{ef0f7a87-c1ee-45a8-8d67-26f586e46a4b}"),
QueryInterface: XPCOMUtils.generateQI([Ci.nsIDirectoryServiceProvider, Ci.nsIDirectoryServiceProvider2]),
_xpcom_categories: [
{ category: "xpcom-directory-providers", entry: "browser-directory-provider" }
],
getFile: function(prop, persistent) {
if (prop == NS_APP_CACHE_PARENT_DIR) {
let dirsvc = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties);
let profile = dirsvc.get("ProfD", Ci.nsIFile);
let sysInfo = Cc["@mozilla.org/system-info;1"].getService(Ci.nsIPropertyBag2);
let device = sysInfo.get("device");
switch (device) {
#ifdef MOZ_PLATFORM_HILDON
case "Nokia N900":
return profile;
case "Nokia N8xx":
let folder = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
folder.initWithPath("/media/mmc2/.mozilla/fennec");
return folder;
#endif
default:
return profile;
}
}
return Components.results.NS_ERROR_FAILURE;
},
getFiles: function(prop, persistent) {
return Components.results.NS_ERROR_FAILURE;
}
};
function NSGetModule(aCompMgr, aFileSpec) {
return XPCOMUtils.generateModule([DirectoryProvider]);
}

Просмотреть файл

@ -46,20 +46,23 @@ include $(DEPTH)/config/autoconf.mk
MODULE = browsercomps
XPIDL_MODULE = browsercompsbase
EXTRA_PP_COMPONENTS = AboutRedirector.js
EXTRA_PP_COMPONENTS = \
AboutRedirector.js \
DirectoryProvider.js\
$(NULL)
EXTRA_COMPONENTS = \
BrowserStartup.js \
geolocationPrompt.js \
alertsService.js \
xpiDialogService.js \
downloadManagerUI.js \
helperAppDialog.js \
promptService.js \
GeolocationPrompt.js \
AlertsService.js \
XPIDialogService.js \
DownloadManagerUI.js \
HelperAppDialog.js \
PromptService.js \
$(NULL)
DIRS = protocols \
phone \
$(NULL)
phone \
$(NULL)
include $(topsrcdir)/config/rules.mk

Просмотреть файл