static void InitEmbeddedResourcesUrls (KeyedHashAlgorithm kha, Assembly assembly, string assemblyName, string assemblyHash, AssemblyEmbeddedResources entry)
{
WebResourceAttribute [] attrs = (WebResourceAttribute []) assembly.GetCustomAttributes (typeof (WebResourceAttribute), false);
WebResourceAttribute attr;
string apath = assembly.Location;
for (int i = 0; i < attrs.Length; i++) {
attr = attrs [i];
string resourceName = attr.WebResource;
if (!String.IsNullOrEmpty (resourceName)) {
string resourceNameHash = GetStringHash (kha, resourceName);
#if SYSTEM_WEB_EXTENSIONS
bool debug = resourceName.EndsWith (".debug.js", StringComparison.OrdinalIgnoreCase);
string dbgTail = debug ? "d" : String.Empty;
string rkNoNotify = resourceNameHash + "f" + dbgTail;
string rkNotify = resourceNameHash + "t" + dbgTail;
if (!entry.Resources.ContainsKey (rkNoNotify)) {
var er = new EmbeddedResource () {
Name = resourceName,
Attribute = attr,
Url = CreateResourceUrl (kha, assemblyName, assemblyHash, apath, rkNoNotify, debug, false)
};
entry.Resources.Add (rkNoNotify, er);
}
if (!entry.Resources.ContainsKey (rkNotify)) {
var er = new EmbeddedResource () {
Name = resourceName,
Attribute = attr,
Url = CreateResourceUrl (kha, assemblyName, assemblyHash, apath, rkNotify, debug, true)
};
entry.Resources.Add (rkNotify, er);
}
#else
if (!entry.Resources.ContainsKey (resourceNameHash)) {
var er = new EmbeddedResource () {
Name = resourceName,
Attribute = attr,
Url = CreateResourceUrl (kha, assemblyName, assemblyHash, apath, resourceNameHash, false, false)
};
entry.Resources.Add (resourceNameHash, er);
}
#endif
}
}
}