author | Mike Hommey <mh+mozilla@glandium.org> |
Wed, 22 Feb 2012 08:12:15 +0100 | |
changeset 87383 | 0e2ee581bf9365e8b7f7933c72da7b57a8ecbaf5 |
parent 87382 | fb7252059ce5c3d38c1c6ebda880463fc48a8007 |
child 87384 | 9eaacb130b4c9133224b86775e95992b87ce267e |
push id | 22114 |
push user | bmo@edmorley.co.uk |
push date | Wed, 22 Feb 2012 14:11:35 +0000 |
treeherder | mozilla-central@e722d2ab78da [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | bsmedberg |
bugs | 728071 |
milestone | 13.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/b2g/app/nsBrowserApp.cpp +++ b/b2g/app/nsBrowserApp.cpp @@ -31,16 +31,17 @@ * 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 ***** */ +#include "nsXULAppAPI.h" #include "application.ini.h" #include "nsXPCOMGlue.h" #if defined(XP_WIN) #include <windows.h> #include <stdlib.h> #elif defined(XP_UNIX) #include <sys/time.h> #include <sys/resource.h>
--- a/browser/app/nsBrowserApp.cpp +++ b/browser/app/nsBrowserApp.cpp @@ -31,16 +31,17 @@ * 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 ***** */ +#include "nsXULAppAPI.h" #include "application.ini.h" #include "nsXPCOMGlue.h" #if defined(XP_WIN) #include <windows.h> #include <stdlib.h> #elif defined(XP_UNIX) #include <sys/time.h> #include <sys/resource.h>
--- a/build/appini_header.py +++ b/build/appini_header.py @@ -56,17 +56,17 @@ def main(file): try: if config.getint('Crash Reporter', 'Enabled') == 1: flags.add('NS_XRE_ENABLE_CRASH_REPORTER') except: pass appdata = dict(("%s:%s" % (s, o), config.get(s, o)) for s in config.sections() for o in config.options(s)) appdata['flags'] = ' | '.join(flags) if flags else '0' appdata['App:profile'] = '"%s"' % appdata['App:profile'] if 'App:profile' in appdata else 'NULL' - print '''#include "nsXULAppAPI.h" + print '''#include "nsXREAppData.h" static const nsXREAppData sAppData = { sizeof(nsXREAppData), NULL, // directory "%(App:vendor)s", "%(App:name)s", "%(App:version)s", "%(App:buildid)s", "%(App:id)s",
--- a/mobile/xul/app/nsBrowserApp.cpp +++ b/mobile/xul/app/nsBrowserApp.cpp @@ -31,16 +31,17 @@ * 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 ***** */ +#include "nsXULAppAPI.h" #include "application.ini.h" #include "nsXPCOMGlue.h" #if defined(XP_WIN) #include <windows.h> #include <stdlib.h> #elif defined(XP_UNIX) #include <sys/time.h> #include <sys/resource.h>
--- a/toolkit/xre/nsAndroidStartup.cpp +++ b/toolkit/xre/nsAndroidStartup.cpp @@ -34,16 +34,17 @@ * 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 ***** */ +#include "nsXULAppAPI.h" #include "application.ini.h" #include <android/log.h> #include <jni.h> #include <stdlib.h> #include <string.h>
--- a/xpcom/build/Makefile.in +++ b/xpcom/build/Makefile.in @@ -113,16 +113,17 @@ SDK_HEADERS = \ nsXPCOM.h \ nsXPCOMCID.h \ $(NULL) EXPORTS = \ nsXPCOMCIDInternal.h \ xrecore.h \ nsXULAppAPI.h \ + nsXREAppData.h \ $(NULL) EXPORTS_mozilla = \ XPCOM.h \ Services.h \ ServiceList.h \ Omnijar.h \ FileLocation.h \
new file mode 100644 --- /dev/null +++ b/xpcom/build/nsXREAppData.h @@ -0,0 +1,170 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* ***** 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 mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 2002 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Brian Ryner <bryner@brianryner.com> + * Benjamin Smedberg <benjamin@smedbergs.us> + * + * 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 ***** */ + +#ifndef nsXREAppData_h +#define nsXREAppData_h + +#include "mozilla/StdInt.h" + +class nsILocalFile; + +/** + * Application-specific data needed to start the apprunner. + * + * @note When this structure is allocated and manipulated by XRE_CreateAppData, + * string fields will be allocated with NS_Alloc, and interface pointers + * are strong references. + */ +struct nsXREAppData +{ + /** + * This should be set to sizeof(nsXREAppData). This structure may be + * extended in future releases, and this ensures that binary compatibility + * is maintained. + */ + uint32_t size; + + /** + * The directory of the application to be run. May be null if the + * xulrunner and the app are installed into the same directory. + */ + nsILocalFile* directory; + + /** + * The name of the application vendor. This must be ASCII, and is normally + * mixed-case, e.g. "Mozilla". Optional (may be null), but highly + * recommended. Must not be the empty string. + */ + const char *vendor; + + /** + * The name of the application. This must be ASCII, and is normally + * mixed-case, e.g. "Firefox". Required (must not be null or an empty + * string). + */ + const char *name; + + /** + * The major version, e.g. "0.8.0+". Optional (may be null), but + * required for advanced application features such as the extension + * manager and update service. Must not be the empty string. + */ + const char *version; + + /** + * The application's build identifier, e.g. "2004051604" + */ + const char *buildID; + + /** + * The application's UUID. Used by the extension manager to determine + * compatible extensions. Optional, but required for advanced application + * features such as the extension manager and update service. + * + * This has traditionally been in the form + * "{AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE}" but for new applications + * a more readable form is encouraged: "appname@vendor.tld". Only + * the following characters are allowed: a-z A-Z 0-9 - . @ _ { } * + */ + const char *ID; + + /** + * The copyright information to print for the -h commandline flag, + * e.g. "Copyright (c) 2003 mozilla.org". + */ + const char *copyright; + + /** + * Combination of NS_XRE_ prefixed flags (defined below). + */ + uint32_t flags; + + /** + * The location of the XRE. XRE_main may not be able to figure this out + * programatically. + */ + nsILocalFile* xreDirectory; + + /** + * The minimum/maximum compatible XRE version. + */ + const char *minVersion; + const char *maxVersion; + + /** + * The server URL to send crash reports to. + */ + const char *crashReporterURL; + + /** + * The profile directory that will be used. Optional (may be null). Must not + * be the empty string, must be ASCII. The path is split into components + * along the path separator characters '/' and '\'. + * + * The application data directory ("UAppData", see below) is normally + * composed as follows, where $HOME is platform-specific: + * + * UAppData = $HOME[/$vendor]/$name + * + * If present, the 'profile' string will be used instead of the combination of + * vendor and name as follows: + * + * UAppData = $HOME/$profile + */ + const char *profile; +}; + +/** + * Indicates whether or not the profile migrator service may be + * invoked at startup when creating a profile. + */ +#define NS_XRE_ENABLE_PROFILE_MIGRATOR (1 << 1) + +/** + * Indicates whether or not the extension manager service should be + * initialized at startup. + */ +#define NS_XRE_ENABLE_EXTENSION_MANAGER (1 << 2) + +/** + * Indicates whether or not to use Breakpad crash reporting. + */ +#define NS_XRE_ENABLE_CRASH_REPORTER (1 << 3) + +#endif // nsXREAppData_h
--- a/xpcom/build/nsXULAppAPI.h +++ b/xpcom/build/nsXULAppAPI.h @@ -16,17 +16,17 @@ * * The Initial Developer of the Original Code is * Netscape Communications Corporation. * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): * Brian Ryner <bryner@brianryner.com> - * Benjamin Smedberg <bsmedberg@covad.net> + * Benjamin Smedberg <benjamin@smedbergs.us> * * 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 @@ -41,139 +41,17 @@ #define _nsXULAppAPI_h__ #include "prtypes.h" #include "nsID.h" #include "xrecore.h" #include "nsXPCOM.h" #include "nsISupports.h" #include "prlog.h" - -/** - * Application-specific data needed to start the apprunner. - * - * @note When this structure is allocated and manipulated by XRE_CreateAppData, - * string fields will be allocated with NS_Alloc, and interface pointers - * are strong references. - */ -struct nsXREAppData -{ - /** - * This should be set to sizeof(nsXREAppData). This structure may be - * extended in future releases, and this ensures that binary compatibility - * is maintained. - */ - PRUint32 size; - - /** - * The directory of the application to be run. May be null if the - * xulrunner and the app are installed into the same directory. - */ - nsILocalFile* directory; - - /** - * The name of the application vendor. This must be ASCII, and is normally - * mixed-case, e.g. "Mozilla". Optional (may be null), but highly - * recommended. Must not be the empty string. - */ - const char *vendor; - - /** - * The name of the application. This must be ASCII, and is normally - * mixed-case, e.g. "Firefox". Required (must not be null or an empty - * string). - */ - const char *name; - - /** - * The major version, e.g. "0.8.0+". Optional (may be null), but - * required for advanced application features such as the extension - * manager and update service. Must not be the empty string. - */ - const char *version; - - /** - * The application's build identifier, e.g. "2004051604" - */ - const char *buildID; - - /** - * The application's UUID. Used by the extension manager to determine - * compatible extensions. Optional, but required for advanced application - * features such as the extension manager and update service. - * - * This has traditionally been in the form - * "{AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE}" but for new applications - * a more readable form is encouraged: "appname@vendor.tld". Only - * the following characters are allowed: a-z A-Z 0-9 - . @ _ { } * - */ - const char *ID; - - /** - * The copyright information to print for the -h commandline flag, - * e.g. "Copyright (c) 2003 mozilla.org". - */ - const char *copyright; - - /** - * Combination of NS_XRE_ prefixed flags (defined below). - */ - PRUint32 flags; - - /** - * The location of the XRE. XRE_main may not be able to figure this out - * programatically. - */ - nsILocalFile* xreDirectory; - - /** - * The minimum/maximum compatible XRE version. - */ - const char *minVersion; - const char *maxVersion; - - /** - * The server URL to send crash reports to. - */ - const char *crashReporterURL; - - /** - * The profile directory that will be used. Optional (may be null). Must not - * be the empty string, must be ASCII. The path is split into components - * along the path separator characters '/' and '\'. - * - * The application data directory ("UAppData", see below) is normally - * composed as follows, where $HOME is platform-specific: - * - * UAppData = $HOME[/$vendor]/$name - * - * If present, the 'profile' string will be used instead of the combination of - * vendor and name as follows: - * - * UAppData = $HOME/$profile - */ - const char *profile; -}; - -/** - * Indicates whether or not the profile migrator service may be - * invoked at startup when creating a profile. - */ -#define NS_XRE_ENABLE_PROFILE_MIGRATOR (1 << 1) - -/** - * Indicates whether or not the extension manager service should be - * initialized at startup. - */ -#define NS_XRE_ENABLE_EXTENSION_MANAGER (1 << 2) - -/** - * Indicates whether or not to use Breakpad crash reporting. - */ -#define NS_XRE_ENABLE_CRASH_REPORTER (1 << 3) +#include "nsXREAppData.h" /** * A directory service key which provides the platform-correct "application * data" directory as follows, where $name and $vendor are as defined above and * $vendor is optional: * * Windows: * HOME = Documents and Settings\$USER\Application Data