Bug 1590693 - Unship empty chrome.manifest files. r=glandium

Bug 1295542 added empty chrome.manifest files to prevent malware from abusing
them. This workaround is no longer necessary because Firefox stopped reading
chrome.manifest outside omni.ja since bug 1543761.

Differential Revision: https://phabricator.services.mozilla.com/D55954

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Masatoshi Kimura 2019-12-12 11:13:42 +00:00
parent 4298d3f098
commit 7276b36871
6 changed files with 13 additions and 26 deletions

View File

@ -64,3 +64,11 @@
# An update watershed was required to update to Firefox 56 for LZMA and SHA384
# support. This made it possible to delete all of the removal instructions in
# this file.
# Remove the toplevel chrome.manifest added by bug 1295542.
#ifndef MOZ_GTK
@DIR_MACOS@chrome.manifest
#ifdef XP_MACOSX
@DIR_RESOURCES@chrome.manifest
#endif
#endif

View File

@ -969,6 +969,11 @@
; Removes various directories and files for reasons noted below.
!macro RemoveDeprecatedFiles
; Remove the toplevel chrome.manifest added by bug 1295542.
${If} ${FileExists} "$INSTDIR\chrome.manifest"
Delete "$INSTDIR\chrome.manifest"
${EndIf}
; Remove talkback if it is present (remove after bug 386760 is fixed)
${If} ${FileExists} "$INSTDIR\extensions\talkback@mozilla.org"
RmDir /r /REBOOTOK "$INSTDIR\extensions\talkback@mozilla.org"

View File

@ -283,11 +283,6 @@ class OmniJarFormatter(JarFormatter):
return
JarFormatter._add_base(self, base, addon)
else:
# Initialize a chrome.manifest next to the omnijar file so that
# there's always a chrome.manifest file, even an empty one.
path = mozpath.normpath(mozpath.join(base, 'chrome.manifest'))
if not self.copier.contains(path):
self.copier.add(path, ManifestFile(''))
self._sub_formatter[base] = OmniJarSubFormatter(
FileRegistrySubtree(base, self.copier), self._omnijar_name,
self._compress, self._non_resources)

View File

@ -238,7 +238,6 @@ RESULT_OMNIJAR.update({
if p.startswith('app/chrome/addons/addon2/')
))
},
'app/chrome.manifest': [],
})
RESULT_OMNIJAR['omni.foo'].update({

View File

@ -50,16 +50,6 @@ check_for_forced_update() {
return 0;
fi
if [ "$forced_file_chk" = "chrome.manifest" ]; then
## "true" *giggle*
return 0;
fi
if [ "$forced_file_chk" = "Contents/Resources/chrome.manifest" ]; then
## "true" *giggle*
return 0;
fi
# notarization ticket
if [ "$forced_file_chk" = "Contents/CodeResources" ]; then
## "true" *giggle*

View File

@ -370,16 +370,6 @@ def create_partial_patch(from_dir_path, to_dir_path, patch_filename,
else:
raise Exception("missing removed-files file in: " + to_dir_path)
if "chrome.manifest" in to_file_set:
forced_list.append("chrome.manifest")
elif "Contents/Resources/chrome.manifest" in to_file_set:
forced_list.append("Contents/Resources/chrome.manifest")
# The check with \ file separators allows tests for Mac to run on Windows
elif "Contents\Resources\\chrome.manifest" in to_file_set:
forced_list.append("Contents\Resources\\chrome.manifest")
else:
raise Exception("missing chrome.manifest file in: " + to_dir_path)
# Files which exist in both sets need to be patched
patch_filenames = list(from_file_set.intersection(to_file_set))
patch_filenames.sort(reverse=True)