merge m-c into fx-team

This commit is contained in:
Gavin Sharp 2011-07-21 21:06:19 -04:00
commit 4b9af2253b
7 changed files with 13 additions and 61 deletions

View File

@ -3324,41 +3324,6 @@ nsScriptSecurityManager::Observe(nsISupports* aObject, const char* aTopic,
return rv;
}
///////////////////////////////////
// Default ObjectPrincipalFinder //
///////////////////////////////////
// The default JSSecurityCallbacks::findObjectPrincipals is necessary since
// scripts run (and ask for object principals) during startup before
// nsJSRuntime::Init() has been called (which resets findObjectPrincipals).
// Defined NS_EXPORT for linkage with debug-only assert in xpcshell
NS_EXPORT JSPrincipals *
NS_DefaultObjectPrincipalFinder(JSContext *cx, JSObject *obj)
{
nsScriptSecurityManager *ssm = nsScriptSecurityManager::GetScriptSecurityManager();
if (!ssm) {
return nsnull;
}
nsCOMPtr<nsIPrincipal> principal;
nsresult rv = ssm->GetObjectPrincipal(cx, obj, getter_AddRefs(principal));
if (NS_FAILED(rv) || !principal) {
return nsnull;
}
JSPrincipals *jsPrincipals = nsnull;
principal->GetJSPrincipals(cx, &jsPrincipals);
// nsIPrincipal::GetJSPrincipals() returns a strong reference to the
// JS principals, but the caller of this function expects a weak
// reference. So we need to release here.
JSPRINCIPALS_DROP(cx, jsPrincipals);
return jsPrincipals;
}
/////////////////////////////////////////////
// Constructor, Destructor, Initialization //
/////////////////////////////////////////////
@ -3431,7 +3396,7 @@ nsresult nsScriptSecurityManager::Init()
static JSSecurityCallbacks securityCallbacks = {
CheckObjectAccess,
NULL,
NS_DefaultObjectPrincipalFinder,
NULL,
ContentSecurityPolicyPermitsJSAction
};

View File

@ -68,7 +68,6 @@ function ContentSecurityPolicy() {
this._policy._allowInlineScripts = true;
this._policy._allowEval = true;
this._requestHeaders = [];
this._request = "";
this._docRequest = null;
CSPdebug("CSP POLICY INITED TO 'default-src *'");
@ -211,13 +210,6 @@ ContentSecurityPolicy.prototype = {
var reqVersion = internalChannel.getRequestVersion(reqMaj, reqMin);
this._request += " HTTP/" + reqMaj.value + "." + reqMin.value;
}
// grab the request headers
var self = this;
aChannel.visitRequestHeaders({
visitHeader: function(aHeader, aValue) {
self._requestHeaders.push(aHeader + ": " + aValue);
}});
},
/* ........ Methods .............. */
@ -270,21 +262,13 @@ ContentSecurityPolicy.prototype = {
// {
// csp-report: {
// request: "GET /index.html HTTP/1.1",
// request-headers: "Host: example.com
// User-Agent: ...
// ...",
// blocked-uri: "...",
// violated-directive: "..."
// }
// }
var strHeaders = "";
for (let i in this._requestHeaders) {
strHeaders += this._requestHeaders[i] + "\n";
}
var report = {
'csp-report': {
'request': this._request,
'request-headers': strHeaders,
'blocked-uri': (blockedUri instanceof Ci.nsIURI ?
blockedUri.asciiSpec : blockedUri),
'violated-directive': violatedDirective

View File

@ -1628,8 +1628,6 @@ nsFrameLoader::GetWindowDimensions(nsRect& aRect)
nsCOMPtr<nsIDocShellTreeItem> parentAsItem(do_QueryInterface(parentAsWebNav));
NS_ASSERTION(mIsTopLevelContent, "Outer dimensions must be taken only from TopLevel content");
nsCOMPtr<nsIDocShellTreeOwner> parentOwner;
if (NS_FAILED(parentAsItem->GetTreeOwner(getter_AddRefs(parentOwner))) ||
!parentOwner) {

View File

@ -4,7 +4,8 @@
package="@ANDROID_PACKAGE_NAME@"
android:installLocation="auto"
android:versionCode="@ANDROID_VERSION_CODE@"
android:versionName="@MOZ_APP_VERSION@">
android:versionName="@MOZ_APP_VERSION@"
android:sharedUserId="@MOZ_ANDROID_SHARED_ID@">
<uses-sdk android:minSdkVersion="5"
android:targetSdkVersion="5"/>

View File

@ -101,9 +101,17 @@ GARBAGE_DIRS += classes res
ifeq ($(MOZ_APP_NAME),fennec)
ICON_PATH = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/fennec_48x48.png
ICON_PATH_HDPI = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/fennec_72x72.png
ifeq (org.mozilla.fennec_unofficial,$(ANDROID_PACKAGE_NAME))
DEFINES += -DMOZ_ANDROID_SHARED_ID="org.mozilla.fennec_unofficial.sharedID"
else ifeq (,$(MOZ_OFFICIAL_BRANDING))
DEFINES += -DMOZ_ANDROID_SHARED_ID="org.mozilla.fennec.sharedID"
else
DEFINES += -DMOZ_ANDROID_SHARED_ID="org.mozilla.firefox.sharedID"
endif
else
ICON_PATH = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/icon48.png
ICON_PATH_HDPI = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/icon64.png
DEFINES += -DMOZ_ANDROID_SHARED_ID="$(ANDROID_PACKAGE_NAME).sharedID"
endif
RES_LAYOUT = \

View File

@ -1750,10 +1750,6 @@ FindObjectPrincipals(JSContext *cx, JSObject *obj)
return gJSPrincipals;
}
// defined in nsScriptSecurityManager.cpp
NS_IMPORT JSPrincipals *
NS_DefaultObjectPrincipalFinder(JSContext *cx, JSObject *obj);
int
main(int argc, char **argv, char **envp)
{
@ -1907,7 +1903,7 @@ main(int argc, char **argv, char **envp)
JSSecurityCallbacks *cb = JS_GetRuntimeSecurityCallbacks(rt);
NS_ASSERTION(cb, "We are assuming that nsScriptSecurityManager::Init() has been run");
NS_ASSERTION(cb->findObjectPrincipals == NS_DefaultObjectPrincipalFinder, "Your pigeon is in my hole!");
NS_ASSERTION(!cb->findObjectPrincipals, "Your pigeon is in my hole!");
cb->findObjectPrincipals = FindObjectPrincipals;
#ifdef TEST_TranslateThis

View File

@ -184,7 +184,7 @@ GetCharacters(const NSString* aString)
static const char*
GetCharacters(const CFStringRef aString)
{
NSString* str = reinterpret_cast<const NSString*>(aString);
const NSString* str = reinterpret_cast<const NSString*>(aString);
return GetCharacters(str);
}