summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorchcunningham <chcunningham@chromium.org>2015-06-08 19:09:42 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-09 02:10:16 +0000
commitfd11b3c3aa6730ae1f024811b61913cd63f9d39a (patch)
treeddb45f28c335e4faf1bfe59f4253b7b2c8b99003 /chrome
parentbb5c7f582a893881639941ca61ed53517716b1a7 (diff)
downloadchromium_src-fd11b3c3aa6730ae1f024811b61913cd63f9d39a.zip
chromium_src-fd11b3c3aa6730ae1f024811b61913cd63f9d39a.tar.gz
chromium_src-fd11b3c3aa6730ae1f024811b61913cd63f9d39a.tar.bz2
Chromium changes to statically link ffmpeg.
Motivations: 1. Eliminates a large number of windows crashes hit while loading the DLL (see bugs) 2. Reducing the size of binary (about 400KB on linux, about 265KB on 32bit windows) due to dead-code elimination 3. Simplifying media library initialization (Remove bool-ness, it just works) Licensing: We've audited all the licenses for the files we actually use and have the green light from legal as long as we include the license text in the credits. BUG=435455, 429131, 441908 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Committed: https://crrev.com/bfef6d6ba82b172ac0e48c80d9ccf1a1ca0ea5c5 Cr-Commit-Position: refs/heads/master@{#332891} Review URL: https://codereview.chromium.org/1141703002 Cr-Commit-Position: refs/heads/master@{#333423}
Diffstat (limited to 'chrome')
-rw-r--r--chrome/chrome.isolate4
-rw-r--r--chrome/chrome_dll_bundle.gypi1
-rw-r--r--chrome/chrome_installer.gypi1
-rw-r--r--chrome/installer/linux/common/installer.include3
-rw-r--r--chrome/installer/mini_installer/chrome.release1
-rw-r--r--chrome/interactive_ui_tests.isolate4
-rw-r--r--chrome/plugin/chrome_content_plugin_client.cc7
-rw-r--r--chrome/sync_integration_tests.isolate4
-rw-r--r--chrome/test/base/chrome_test_suite.cc2
-rwxr-xr-xchrome/test/chromeos/autotest/files/client/deps/chrome_test/setup_test_links.sh1
-rwxr-xr-xchrome/test/chromeos/autotest/files/client/deps/pyauto_dep/setup_test_links.sh1
-rw-r--r--chrome/tools/build/chromeos/FILES.cfg4
-rw-r--r--chrome/tools/build/linux/FILES.cfg4
-rw-r--r--chrome/tools/build/mac/TESTS1
-rwxr-xr-xchrome/tools/build/mac/dump_product_syms1
-rw-r--r--chrome/tools/build/win/FILES.cfg5
-rw-r--r--chrome/unit_tests.isolate4
-rw-r--r--chrome/utility/extensions/extensions_handler.cc7
18 files changed, 5 insertions, 50 deletions
diff --git a/chrome/chrome.isolate b/chrome/chrome.isolate
index 6ba6903..43bc605 100644
--- a/chrome/chrome.isolate
+++ b/chrome/chrome.isolate
@@ -6,7 +6,6 @@
['OS=="linux"', {
'variables': {
'files': [
- '<(PRODUCT_DIR)/libffmpegsumo.so',
'<(PRODUCT_DIR)/libosmesa.so',
],
},
@@ -71,7 +70,6 @@
'<(PRODUCT_DIR)/<(mac_product_name) Helper.app/',
'<(PRODUCT_DIR)/<(mac_product_name).app/',
'<(PRODUCT_DIR)/exif.so',
- '<(PRODUCT_DIR)/ffmpegsumo.so',
],
},
}],
@@ -82,7 +80,6 @@
'<(PRODUCT_DIR)/<(mac_product_name) Helper.app.dSYM/',
'<(PRODUCT_DIR)/<(mac_product_name).app.dSYM/',
'<(PRODUCT_DIR)/exif.so.dSYM/',
- '<(PRODUCT_DIR)/ffmpegsumo.so.dSYM/',
],
},
}],
@@ -93,7 +90,6 @@
'<(PRODUCT_DIR)/chrome_200_percent.pak',
'<(PRODUCT_DIR)/chrome.dll',
'<(PRODUCT_DIR)/chrome_elf.dll',
- '<(PRODUCT_DIR)/ffmpegsumo.dll',
'<(PRODUCT_DIR)/libexif.dll',
'<(PRODUCT_DIR)/osmesa.dll',
],
diff --git a/chrome/chrome_dll_bundle.gypi b/chrome/chrome_dll_bundle.gypi
index a938500..e9fc103 100644
--- a/chrome/chrome_dll_bundle.gypi
+++ b/chrome/chrome_dll_bundle.gypi
@@ -136,7 +136,6 @@
'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Libraries',
'files': [
'<(PRODUCT_DIR)/exif.so',
- '<(PRODUCT_DIR)/ffmpegsumo.so',
],
},
{
diff --git a/chrome/chrome_installer.gypi b/chrome/chrome_installer.gypi
index cc1a332..99ccd5c 100644
--- a/chrome/chrome_installer.gypi
+++ b/chrome/chrome_installer.gypi
@@ -438,7 +438,6 @@
# files? (e.g. all locales, resources, etc.)
'<(PRODUCT_DIR)/chrome',
'<(PRODUCT_DIR)/chrome_sandbox',
- '<(PRODUCT_DIR)/libffmpegsumo.so',
'<(PRODUCT_DIR)/xdg-mime',
'<(PRODUCT_DIR)/xdg-settings',
'<(PRODUCT_DIR)/locales/en-US.pak',
diff --git a/chrome/installer/linux/common/installer.include b/chrome/installer/linux/common/installer.include
index 14171f7..7f4ef77 100644
--- a/chrome/installer/linux/common/installer.include
+++ b/chrome/installer/linux/common/installer.include
@@ -156,9 +156,6 @@ stage_install_common() {
find "${STAGEDIR}/${INSTALLDIR}/locales" -type f -exec chmod 644 '{}' \;
find "${STAGEDIR}/${INSTALLDIR}/locales" -type d -exec chmod 755 '{}' \;
- # ffmpeg libs
- install -m 644 -s "${BUILDDIR}/libffmpegsumo.so" "${STAGEDIR}/${INSTALLDIR}/"
-
# Widevine CDM.
if [ -f "${BUILDDIR}/libwidevinecdmadapter.so" ]; then
install -m 644 -s "${BUILDDIR}/libwidevinecdmadapter.so" "${STAGEDIR}/${INSTALLDIR}/"
diff --git a/chrome/installer/mini_installer/chrome.release b/chrome/installer/mini_installer/chrome.release
index b6d3d48..07bc305 100644
--- a/chrome/installer/mini_installer/chrome.release
+++ b/chrome/installer/mini_installer/chrome.release
@@ -24,7 +24,6 @@ chrome_child.dll: %(VersionDir)s\
chrome_elf.dll: %(VersionDir)s\
chrome_watcher.dll: %(VersionDir)s\
d3dcompiler_47.dll: %(VersionDir)s\
-ffmpegsumo.dll: %(VersionDir)s\
kasko.dll: %(VersionDir)s\
icudt.dll: %(VersionDir)s\
icudtl.dat: %(VersionDir)s\
diff --git a/chrome/interactive_ui_tests.isolate b/chrome/interactive_ui_tests.isolate
index 084c69ab..f013ef6 100644
--- a/chrome/interactive_ui_tests.isolate
+++ b/chrome/interactive_ui_tests.isolate
@@ -35,7 +35,6 @@
['OS=="linux"', {
'variables': {
'files': [
- '<(PRODUCT_DIR)/libffmpegsumo.so',
'<(PRODUCT_DIR)/libosmesa.so',
'<(PRODUCT_DIR)/libppapi_tests.so',
'<(PRODUCT_DIR)/pyproto/google/',
@@ -77,7 +76,6 @@
'files': [
'<(PRODUCT_DIR)/<(mac_product_name) Framework.framework/',
'<(PRODUCT_DIR)/<(mac_product_name).app/',
- '<(PRODUCT_DIR)/ffmpegsumo.so',
'<(PRODUCT_DIR)/osmesa.so',
'<(PRODUCT_DIR)/ppapi_tests.plugin/Contents/MacOS/ppapi_tests',
],
@@ -88,7 +86,6 @@
'files': [
'<(PRODUCT_DIR)/<(mac_product_name) Framework.framework/',
'<(PRODUCT_DIR)/<(mac_product_name).app.dSYM/',
- '<(PRODUCT_DIR)/ffmpegsumo.so.dSYM/',
'<(PRODUCT_DIR)/interactive_ui_tests.dSYM/',
'<(PRODUCT_DIR)/osmesa.so.dSYM/',
'<(PRODUCT_DIR)/ppapi_tests.plugin.dSYM/',
@@ -100,7 +97,6 @@
'files': [
'<(PRODUCT_DIR)/chrome_elf.dll',
'<(PRODUCT_DIR)/d3dcompiler_47.dll',
- '<(PRODUCT_DIR)/ffmpegsumo.dll',
'<(PRODUCT_DIR)/libEGL.dll',
'<(PRODUCT_DIR)/libGLESv2.dll',
'<(PRODUCT_DIR)/osmesa.dll',
diff --git a/chrome/plugin/chrome_content_plugin_client.cc b/chrome/plugin/chrome_content_plugin_client.cc
index d54e0c4..3e254c6 100644
--- a/chrome/plugin/chrome_content_plugin_client.cc
+++ b/chrome/plugin/chrome_content_plugin_client.cc
@@ -44,11 +44,8 @@ void ChromeContentPluginClient::PreSandboxInitialization() {
LOG(ERROR) << "Failed to load crypto32.dll: " << error.ToString();
#endif // defined(OS_WIN)
- // Load media libraries for the Chromoting client plugin.
- base::FilePath media_path;
- PathService::Get(content::DIR_MEDIA_LIBS, &media_path);
- if (!media_path.empty())
- media::InitializeMediaLibrary(media_path);
+ // Initialize media libraries for the Chromoting client plugin.
+ media::InitializeMediaLibrary();
#endif // defined(ENABLE_REMOTING)
}
diff --git a/chrome/sync_integration_tests.isolate b/chrome/sync_integration_tests.isolate
index 3ff1056..0b22cf6 100644
--- a/chrome/sync_integration_tests.isolate
+++ b/chrome/sync_integration_tests.isolate
@@ -29,7 +29,6 @@
['OS=="linux"', {
'variables': {
'files': [
- '<(PRODUCT_DIR)/libffmpegsumo.so',
'<(PRODUCT_DIR)/libosmesa.so',
],
},
@@ -62,7 +61,6 @@
'files': [
'<(PRODUCT_DIR)/<(mac_product_name) Framework.framework/',
'<(PRODUCT_DIR)/<(mac_product_name).app/',
- '<(PRODUCT_DIR)/ffmpegsumo.so',
],
},
}],
@@ -71,7 +69,6 @@
'files': [
'<(PRODUCT_DIR)/<(mac_product_name) Framework.framework.dSYM/',
'<(PRODUCT_DIR)/<(mac_product_name).app.dSYM/',
- '<(PRODUCT_DIR)/ffmpegsumo.so.dSYM/',
],
},
}],
@@ -79,7 +76,6 @@
'variables': {
'files': [
'<(PRODUCT_DIR)/chrome_elf.dll',
- '<(PRODUCT_DIR)/ffmpegsumo.dll',
],
},
}],
diff --git a/chrome/test/base/chrome_test_suite.cc b/chrome/test/base/chrome_test_suite.cc
index a2258b5..933d6a0 100644
--- a/chrome/test/base/chrome_test_suite.cc
+++ b/chrome/test/base/chrome_test_suite.cc
@@ -82,7 +82,7 @@ void ChromeTestSuite::Initialize() {
// ChromeOS. That means we are autotest and, if ASAN is used,
// external libraries load crashes.
if (!IsCrosPythonProcess())
- media::InitializeMediaLibraryForTesting();
+ media::InitializeMediaLibrary();
#endif
// Initialize after overriding paths as some content paths depend on correct
diff --git a/chrome/test/chromeos/autotest/files/client/deps/chrome_test/setup_test_links.sh b/chrome/test/chromeos/autotest/files/client/deps/chrome_test/setup_test_links.sh
index a47b005..7e212e1 100755
--- a/chrome/test/chromeos/autotest/files/client/deps/chrome_test/setup_test_links.sh
+++ b/chrome/test/chromeos/autotest/files/client/deps/chrome_test/setup_test_links.sh
@@ -53,7 +53,6 @@ link_from_pyauto_dep \
"$pyauto_dep_dir/test_src/out/Release/pyproto" \
"$pyauto_dep_dir/test_src/out/Release/suid-python" \
"$pyauto_dep_dir/test_src/out/Release/_pyautolib.so" \
- "$pyauto_dep_dir/test_src/out/Release/libffmpegsumo.so" \
"$pyauto_dep_dir/test_src/third_party"/*
# Make sure the test files are owned by chronos as some browser_tests emit
diff --git a/chrome/test/chromeos/autotest/files/client/deps/pyauto_dep/setup_test_links.sh b/chrome/test/chromeos/autotest/files/client/deps/pyauto_dep/setup_test_links.sh
index 2be6bd2..4a08de6 100755
--- a/chrome/test/chromeos/autotest/files/client/deps/pyauto_dep/setup_test_links.sh
+++ b/chrome/test/chromeos/autotest/files/client/deps/pyauto_dep/setup_test_links.sh
@@ -12,4 +12,3 @@ ln -f -s /opt/google/chrome/chrome $(dirname $0)/chrome
[ -L $(dirname $0)/resources ] || ln -f -s /opt/google/chrome/resources \
$(dirname $0)/resources
ln -f -s /opt/google/chrome/*.pak $(dirname $0)/
-ln -f -s /opt/google/chrome/libffmpegsumo.so $(dirname $0)/libffmpegsumo.so
diff --git a/chrome/tools/build/chromeos/FILES.cfg b/chrome/tools/build/chromeos/FILES.cfg
index 9bed5dd..1089fd2 100644
--- a/chrome/tools/build/chromeos/FILES.cfg
+++ b/chrome/tools/build/chromeos/FILES.cfg
@@ -61,10 +61,6 @@ FILES = [
'buildtype': ['dev', 'official'],
},
{
- 'filename': 'libffmpegsumo.so',
- 'buildtype': ['dev', 'official'],
- },
- {
'filename': 'lib/libexif.so',
'buildtype': ['dev', 'official'],
},
diff --git a/chrome/tools/build/linux/FILES.cfg b/chrome/tools/build/linux/FILES.cfg
index 8ec10a5..52a09f2 100644
--- a/chrome/tools/build/linux/FILES.cfg
+++ b/chrome/tools/build/linux/FILES.cfg
@@ -72,10 +72,6 @@ FILES = [
'buildtype': ['official'],
},
{
- 'filename': 'libffmpegsumo.so',
- 'buildtype': ['dev', 'official'],
- },
- {
'filename': 'lib/libpeerconnection.so',
'buildtype': ['dev', 'official'],
'optional': ['dev', 'official'],
diff --git a/chrome/tools/build/mac/TESTS b/chrome/tools/build/mac/TESTS
index 4a81ea9..d77adcf 100644
--- a/chrome/tools/build/mac/TESTS
+++ b/chrome/tools/build/mac/TESTS
@@ -1,3 +1,2 @@
sync_integration_tests
exif.so
-ffmpegsumo.so
diff --git a/chrome/tools/build/mac/dump_product_syms b/chrome/tools/build/mac/dump_product_syms
index c9ef590..0673a1e 100755
--- a/chrome/tools/build/mac/dump_product_syms
+++ b/chrome/tools/build/mac/dump_product_syms
@@ -81,7 +81,6 @@ SRC_NAMES=(
"${SRC_APP_NAME} Helper.app"
"crashpad_handler"
"exif.so"
- "ffmpegsumo.so"
)
# PDF.plugin is optional. Only include it if present.
diff --git a/chrome/tools/build/win/FILES.cfg b/chrome/tools/build/win/FILES.cfg
index 6c779d5..2dcef76 100644
--- a/chrome/tools/build/win/FILES.cfg
+++ b/chrome/tools/build/win/FILES.cfg
@@ -41,11 +41,6 @@ FILES = [
'archive': 'sync_integration_tests.exe',
},
{
- 'filename': 'ffmpegsumo.dll',
- 'buildtype': ['dev', 'official'],
- 'filegroup': ['default', 'symsrc'],
- },
- {
'filename': 'chrome.exe',
'buildtype': ['dev', 'official'],
'filegroup': ['default', 'symsrc'],
diff --git a/chrome/unit_tests.isolate b/chrome/unit_tests.isolate
index 146ca41..8c17738 100644
--- a/chrome/unit_tests.isolate
+++ b/chrome/unit_tests.isolate
@@ -73,7 +73,6 @@
['OS=="linux"', {
'variables': {
'files': [
- '<(PRODUCT_DIR)/libffmpegsumo.so',
'<(PRODUCT_DIR)/libosmesa.so',
'<(PRODUCT_DIR)/locales/fr.pak',
],
@@ -102,7 +101,6 @@
'files': [
'<(PRODUCT_DIR)/<(mac_product_name) Framework.framework/',
'<(PRODUCT_DIR)/exif.so',
- '<(PRODUCT_DIR)/ffmpegsumo.so',
'<(PRODUCT_DIR)/osmesa.so',
],
},
@@ -112,7 +110,6 @@
'files': [
'<(PRODUCT_DIR)/<(mac_product_name) Framework.framework.dSYM/',
'<(PRODUCT_DIR)/exif.so.dSYM/',
- '<(PRODUCT_DIR)/ffmpegsumo.so.dSYM/',
'<(PRODUCT_DIR)/osmesa.so.dSYM/',
'<(PRODUCT_DIR)/unit_tests.dSYM/',
],
@@ -126,7 +123,6 @@
'../ui/base/glib/',
'<(PRODUCT_DIR)/blacklist_test_dll_1.dll',
'<(PRODUCT_DIR)/chrome_elf.dll',
- '<(PRODUCT_DIR)/ffmpegsumo.dll',
'<(PRODUCT_DIR)/libexif.dll',
'<(PRODUCT_DIR)/osmesa.dll',
'<(PRODUCT_DIR)/verifier_test_dll_1.dll',
diff --git a/chrome/utility/extensions/extensions_handler.cc b/chrome/utility/extensions/extensions_handler.cc
index 982045f..942545e 100644
--- a/chrome/utility/extensions/extensions_handler.cc
+++ b/chrome/utility/extensions/extensions_handler.cc
@@ -65,11 +65,8 @@ void ExtensionsHandler::PreSandboxStartup() {
// Initialize libexif for image metadata parsing.
metadata::ImageMetadataExtractor::InitializeLibrary();
- // Load media libraries for media file validation.
- base::FilePath media_path;
- PathService::Get(content::DIR_MEDIA_LIBS, &media_path);
- if (!media_path.empty())
- media::InitializeMediaLibrary(media_path);
+ // Initialize media libraries for media file validation.
+ media::InitializeMediaLibrary();
}
bool ExtensionsHandler::OnMessageReceived(const IPC::Message& message) {