diff options
author | chcunningham <chcunningham@chromium.org> | 2015-06-08 19:09:42 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-09 02:10:16 +0000 |
commit | fd11b3c3aa6730ae1f024811b61913cd63f9d39a (patch) | |
tree | ddb45f28c335e4faf1bfe59f4253b7b2c8b99003 /chrome | |
parent | bb5c7f582a893881639941ca61ed53517716b1a7 (diff) | |
download | chromium_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.isolate | 4 | ||||
-rw-r--r-- | chrome/chrome_dll_bundle.gypi | 1 | ||||
-rw-r--r-- | chrome/chrome_installer.gypi | 1 | ||||
-rw-r--r-- | chrome/installer/linux/common/installer.include | 3 | ||||
-rw-r--r-- | chrome/installer/mini_installer/chrome.release | 1 | ||||
-rw-r--r-- | chrome/interactive_ui_tests.isolate | 4 | ||||
-rw-r--r-- | chrome/plugin/chrome_content_plugin_client.cc | 7 | ||||
-rw-r--r-- | chrome/sync_integration_tests.isolate | 4 | ||||
-rw-r--r-- | chrome/test/base/chrome_test_suite.cc | 2 | ||||
-rwxr-xr-x | chrome/test/chromeos/autotest/files/client/deps/chrome_test/setup_test_links.sh | 1 | ||||
-rwxr-xr-x | chrome/test/chromeos/autotest/files/client/deps/pyauto_dep/setup_test_links.sh | 1 | ||||
-rw-r--r-- | chrome/tools/build/chromeos/FILES.cfg | 4 | ||||
-rw-r--r-- | chrome/tools/build/linux/FILES.cfg | 4 | ||||
-rw-r--r-- | chrome/tools/build/mac/TESTS | 1 | ||||
-rwxr-xr-x | chrome/tools/build/mac/dump_product_syms | 1 | ||||
-rw-r--r-- | chrome/tools/build/win/FILES.cfg | 5 | ||||
-rw-r--r-- | chrome/unit_tests.isolate | 4 | ||||
-rw-r--r-- | chrome/utility/extensions/extensions_handler.cc | 7 |
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) { |