Revert "Bug 1261416 - Rename firefox-plugin-container back to plugin-container to satisfy Flash's protected mode checks, and ensure that we launch the correct binary r=ted" because of widespread breakage due to whitelisted executable names in third parties

This reverts commit 2d44e8ffaf63a32292f8e5b8fdd1485d0a462afc.
This commit is contained in:
George Wright 2016-04-08 13:33:27 -04:00
parent 3a46b5c697
commit 2f920d9592
10 changed files with 37 additions and 45 deletions

View File

@ -478,7 +478,7 @@ Section "-Application" APP_IDX
${CreateRegKey} "$TmpVal" "$0" 0
StrCpy $0 "Software\Microsoft\MediaPlayer\ShimInclusionList\firefox-webcontent.exe"
${CreateRegKey} "$TmpVal" "$0" 0
StrCpy $0 "Software\Microsoft\MediaPlayer\ShimInclusionList\plugin-container.exe"
StrCpy $0 "Software\Microsoft\MediaPlayer\ShimInclusionList\firefox-plugin-container.exe"
${CreateRegKey} "$TmpVal" "$0" 0
${If} $TmpVal == "HKLM"

View File

@ -358,7 +358,7 @@ Section "Uninstall"
StrCpy $0 "Software\Microsoft\MediaPlayer\ShimInclusionList\firefox-webcontent.exe"
DeleteRegKey HKLM "$0"
DeleteRegKey HKCU "$0"
StrCpy $0 "Software\Microsoft\MediaPlayer\ShimInclusionList\plugin-container.exe"
StrCpy $0 "Software\Microsoft\MediaPlayer\ShimInclusionList\firefox-plugin-container.exe"
DeleteRegKey HKLM "$0"
DeleteRegKey HKCU "$0"
StrCpy $0 "Software\Classes\MIME\Database\Content Type\application/x-xpinstall;app=firefox"

View File

@ -31,6 +31,6 @@ endif
ifndef CLANG_CL
check::
$(PYTHON) $(srcdir)/autobinscope.py $(DIST)/bin/$(MOZ_APP_NAME)$(BIN_SUFFIX) $(DIST)/crashreporter-symbols/
$(PYTHON) $(srcdir)/autobinscope.py $(DIST)/bin/$(MOZ_CHILD_PROCESS_NAME) $(DIST)/crashreporter-symbols/
$(PYTHON) $(srcdir)/autobinscope.py $(DIST)/bin/$(MOZ_PLUGIN_PROCESS_NAME) $(DIST)/crashreporter-symbols/
$(PYTHON) $(srcdir)/autobinscope.py $(DIST)/bin/firefox-webcontent.exe $(DIST)/crashreporter-symbols/
$(PYTHON) $(srcdir)/autobinscope.py $(DIST)/bin/firefox-plugin-container.exe $(DIST)/crashreporter-symbols/
endif

View File

@ -2,14 +2,6 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
ifndef MOZ_WINCONSOLE
ifdef MOZ_DEBUG
MOZ_WINCONSOLE = 1
else
MOZ_WINCONSOLE = 0
endif
endif
# This switches $(INSTALL) to copy mode, like $(SYSINSTALL), so things that
# # shouldn't get 755 perms need $(IFLAGS1) for either way of calling nsinstall.
NSDISTMODE = copy
@ -21,7 +13,7 @@ include $(topsrcdir)/config/rules.mk
ifeq ($(OS_ARCH),WINNT) #{
# Note the manifest file exists in the tree, so we use the explicit filename
# here.
EXTRA_DEPS += plugin-container.exe.manifest
EXTRA_DEPS += firefox-plugin-container.exe.manifest
endif #}
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) #{

View File

@ -3,7 +3,7 @@
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="*"
name="plugin-container"
name="firefox-plugin-container"
type="win32"
/>
<description>Firefox Runtime</description>

View File

@ -143,7 +143,7 @@ GeckoChildProcessHost::~GeckoChildProcessHost()
//static
void
GeckoChildProcessHost::GetPathToBinary(FilePath& exePath, GeckoProcessType processType)
GeckoChildProcessHost::GetPathToBinary(FilePath& exePath)
{
if (ShouldHaveDirectoryService()) {
MOZ_ASSERT(gGREBinPath);
@ -187,8 +187,8 @@ GeckoChildProcessHost::GetPathToBinary(FilePath& exePath, GeckoProcessType proce
exePath = exePath.AppendASCII(processName);
#else
#ifdef OS_WIN
if (processType == GeckoProcessType_Plugin ||
processType == GeckoProcessType_GMPlugin) {
if (XRE_GetProcessType() == GeckoProcessType_Plugin ||
XRE_GetProcessType() == GeckoProcessType_GMPlugin) {
exePath = exePath.AppendASCII(MOZ_PLUGIN_PROCESS_NAME);
} else
#endif
@ -269,7 +269,7 @@ uint32_t GeckoChildProcessHost::GetSupportedArchitecturesForProcessType(GeckoPro
static uint32_t pluginContainerArchs = 0;
if (pluginContainerArchs == 0) {
FilePath exePath;
GetPathToBinary(exePath, type);
GetPathToBinary(exePath);
nsresult rv = GetArchitecturesForBinary(exePath.value().c_str(), &pluginContainerArchs);
NS_ASSERTION(NS_SUCCEEDED(rv) && pluginContainerArchs != 0, "Getting architecture of plugin container failed!");
if (NS_FAILED(rv) || pluginContainerArchs == 0) {
@ -762,7 +762,7 @@ GeckoChildProcessHost::PerformAsyncLaunchInternal(std::vector<std::string>& aExt
#endif // OS_LINUX || OS_MACOSX
FilePath exePath;
GetPathToBinary(exePath, mProcessType);
GetPathToBinary(exePath);
#ifdef MOZ_WIDGET_ANDROID
// The java wrapper unpacks this for us but can't make it executable
@ -941,7 +941,7 @@ GeckoChildProcessHost::PerformAsyncLaunchInternal(std::vector<std::string>& aExt
#elif defined(OS_WIN)
FilePath exePath;
GetPathToBinary(exePath, mProcessType);
GetPathToBinary(exePath);
CommandLine cmdLine(exePath.ToWStringHack());
cmdLine.AppendSwitchWithValue(switches::kProcessChannelID, channel_id());

View File

@ -189,7 +189,7 @@ private:
bool RunPerformAsyncLaunch(StringVector aExtraOpts=StringVector(),
base::ProcessArchitecture aArch=base::GetCurrentProcessArchitecture());
static void GetPathToBinary(FilePath& exePath, GeckoProcessType processType);
static void GetPathToBinary(FilePath& exePath);
void SetChildLogName(const char* varName, const char* origLogName);

View File

@ -7086,6 +7086,27 @@ fi
AC_DEFINE_UNQUOTED(MOZ_MACBUNDLE_ID,$MOZ_MACBUNDLE_ID)
AC_SUBST(MOZ_MACBUNDLE_ID)
dnl ========================================================
dnl = Child Process Name for IPC
dnl ========================================================
if test "$MOZ_WIDGET_TOOLKIT" != "android"; then
MOZ_CHILD_PROCESS_NAME="firefox-webcontent${BIN_SUFFIX}"
MOZ_PLUGIN_PROCESS_NAME="firefox-plugin-container${BIN_SUFFIX}"
else
# We want to let Android unpack the file at install time, but it only does
# so if the file is named libsomething.so. The lib/ path is also required
# because the unpacked file will be under the lib/ subdirectory and will
# need to be executed from that path.
MOZ_CHILD_PROCESS_NAME="libfirefox-webcontent.so"
MOZ_CHILD_PROCESS_NAME_PIE="libplugin-container-pie.so"
AC_SUBST(MOZ_CHILD_PROCESS_NAME_PIE)
fi
MOZ_CHILD_PROCESS_BUNDLE="plugin-container.app/Contents/MacOS/"
AC_SUBST(MOZ_CHILD_PROCESS_NAME)
AC_SUBST(MOZ_CHILD_PROCESS_BUNDLE)
AC_SUBST(MOZ_PLUGIN_PROCESS_NAME)
# The following variables are available to branding and application
# configuration ($BRANDING/configure.sh and $APPLICATION/confvars.sh):
# - MOZ_APP_VENDOR: Used for application.ini's "Vendor" field, which also
@ -7136,27 +7157,6 @@ if test -z "$ANDROID_PACKAGE_NAME" ; then
ANDROID_PACKAGE_NAME="org.mozilla.$MOZ_APP_NAME"
fi
dnl ========================================================
dnl = Child Process Name for IPC
dnl ========================================================
if test "$MOZ_WIDGET_TOOLKIT" != "android"; then
MOZ_CHILD_PROCESS_NAME="${MOZ_APP_NAME}-webcontent${BIN_SUFFIX}"
MOZ_PLUGIN_PROCESS_NAME="plugin-container${BIN_SUFFIX}"
else
# We want to let Android unpack the file at install time, but it only does
# so if the file is named libsomething.so. The lib/ path is also required
# because the unpacked file will be under the lib/ subdirectory and will
# need to be executed from that path.
MOZ_CHILD_PROCESS_NAME="libfirefox-webcontent.so"
MOZ_CHILD_PROCESS_NAME_PIE="libplugin-container-pie.so"
AC_SUBST(MOZ_CHILD_PROCESS_NAME_PIE)
fi
MOZ_CHILD_PROCESS_BUNDLE="plugin-container.app/Contents/MacOS/"
AC_SUBST(MOZ_CHILD_PROCESS_NAME)
AC_SUBST(MOZ_CHILD_PROCESS_BUNDLE)
AC_SUBST(MOZ_PLUGIN_PROCESS_NAME)
# Mozilla released Firefox for Android {Release,Beta} and {Aurora,Nightly} to
# the public with specific common shared IDs and we need to keep them
# consistent forever. The specific common values are set by per-channel

View File

@ -85,7 +85,7 @@ class WinCounterManager(CounterManager):
def __init__(self, process_name, process, counters,
childProcess="firefox-webcontent",
pluginProcess="plugin-container"):
pluginProcess="firefox-plugin-container"):
CounterManager.__init__(self)
self.childProcess = childProcess
self.pluginProcess = pluginProcess

View File

@ -6,9 +6,9 @@ include $(MOZILLA_DIR)/toolkit/mozapps/installer/signing.mk
ifdef MOZ_SIGN_CMD
ifeq ($(OS_ARCH),WINNT)
# The argument to this macro is the directory where plugin-container.exe
# The argument to this macro is the directory where firefox-plugin-container.exe
# exists, and where voucher.bin will be generated.
MAKE_SIGN_EME_VOUCHER = $(PYTHON) $(MOZILLA_DIR)/python/eme/gen-eme-voucher.py -input $(1)/$(MOZ_PLUGIN_PROCESS_NAME) -output $(1)/voucher.bin && \
MAKE_SIGN_EME_VOUCHER = $(PYTHON) $(MOZILLA_DIR)/python/eme/gen-eme-voucher.py -input $(1)/firefox-plugin-container.exe -output $(1)/voucher.bin && \
$(MOZ_SIGN_CMD) -f emevoucher "$(1)/voucher.bin"
endif
endif