diff options
author | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-30 15:34:11 +0000 |
---|---|---|
committer | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-30 15:34:11 +0000 |
commit | 9ceda77323dcc335680d3cb47b0b76e2821199ad (patch) | |
tree | f5280e2a394d7d66a035b57d2c6b835bcbd7057b /chrome_frame/chrome_frame_launcher.gyp | |
parent | cf993864f9e684fb2e58f5b89d669ae680feefd9 (diff) | |
download | chromium_src-9ceda77323dcc335680d3cb47b0b76e2821199ad.zip chromium_src-9ceda77323dcc335680d3cb47b0b76e2821199ad.tar.gz chromium_src-9ceda77323dcc335680d3cb47b0b76e2821199ad.tar.bz2 |
Add a helper process to Chrome Frame to allow for non-administrative installs. The helper process registers a hook dll that performs the necessary BHO injection instead of registering it in HKLM.
BUG=53127
TEST=Non-admin CF installs work.
Review URL: http://codereview.chromium.org/3158036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57860 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/chrome_frame_launcher.gyp')
-rw-r--r-- | chrome_frame/chrome_frame_launcher.gyp | 117 |
1 files changed, 95 insertions, 22 deletions
diff --git a/chrome_frame/chrome_frame_launcher.gyp b/chrome_frame/chrome_frame_launcher.gyp index 0e94c55..9a3d7a0 100644 --- a/chrome_frame/chrome_frame_launcher.gyp +++ b/chrome_frame/chrome_frame_launcher.gyp @@ -37,6 +37,29 @@ # all our own includes are relative to src/ '..', ], + 'configurations': { + 'Release_Base': { + # Set flags to unconditionally optimize chrome_frame_launcher.exe + # for release builds. + 'msvs_settings': { + 'VCLinkerTool': { + 'LinkTimeCodeGeneration': '1', + }, + 'VCCLCompilerTool': { + 'Optimization': '3', + 'InlineFunctionExpansion': '2', + 'EnableIntrinsicFunctions': 'true', + 'FavorSizeOrSpeed': '2', + 'OmitFramePointers': 'true', + 'EnableFiberSafeOptimizations': 'true', + 'WholeProgramOptimization': 'true', + }, + 'VCLibrarianTool': { + 'AdditionalOptions': ['/ltcg', '/expectedoutputsize:120000000'], + }, + }, + }, + }, }, 'targets': [ { @@ -67,28 +90,78 @@ 'shlwapi.lib', ], }, - }, - 'configurations': { - 'Release_Base': { - # Set flags to unconditionally optimize chrome_frame_launcher.exe - # for release builds. - 'msvs_settings': { - 'VCLinkerTool': { - 'LinkTimeCodeGeneration': '1', - }, - 'VCCLCompilerTool': { - 'Optimization': '3', - 'InlineFunctionExpansion': '2', - 'EnableIntrinsicFunctions': 'true', - 'FavorSizeOrSpeed': '2', - 'OmitFramePointers': 'true', - 'EnableFiberSafeOptimizations': 'true', - 'WholeProgramOptimization': 'true', - }, - 'VCLibrarianTool': { - 'AdditionalOptions': ['/ltcg', '/expectedoutputsize:120000000'], - }, - }, + }, + }, + { + 'target_name': 'chrome_frame_helper', + 'type': 'executable', + 'msvs_guid': 'BF4FFA36-2F66-4B65-9A91-AB7EC08D1042', + 'dependencies': [ + '../breakpad/breakpad.gyp:breakpad_handler', + '../chrome/chrome.gyp:chrome_version_header', + 'chrome_frame_helper_dll', + ], + 'resource_include_dirs': [ + '<(INTERMEDIATE_DIR)', + '<(SHARED_INTERMEDIATE_DIR)', + ], + 'include_dirs': [ + # To allow including "chrome_tab.h" + '<(INTERMEDIATE_DIR)', + '<(INTERMEDIATE_DIR)/../chrome_frame', + ], + 'sources': [ + 'chrome_frame_helper_main.cc', + 'chrome_frame_helper_version.rc', + ], + 'msvs_settings': { + 'VCLinkerTool': { + 'OutputFile': + '$(OutDir)\\servers\\$(ProjectName).exe', + # Set /SUBSYSTEM:WINDOWS since this is not a command-line program. + 'SubSystem': '2', + }, + }, + }, + { + 'target_name': 'chrome_frame_helper_dll', + 'type': 'shared_library', + 'msvs_guid': '5E80032F-7033-4661-9016-D98268244783', + 'dependencies': [ + '../chrome/chrome.gyp:chrome_version_header', + ], + 'resource_include_dirs': [ + '<(INTERMEDIATE_DIR)', + '<(SHARED_INTERMEDIATE_DIR)', + ], + 'include_dirs': [ + # To allow including "chrome_tab.h" + '<(INTERMEDIATE_DIR)', + '<(INTERMEDIATE_DIR)/../chrome_frame', + ], + 'sources': [ + 'bho_loader.cc', + 'bho_loader.h', + 'chrome_frame_helper_dll.cc', + 'chrome_frame_helper_dll.def', + 'chrome_frame_helper_util.cc', + 'chrome_frame_helper_util.h', + 'chrome_frame_helper_version.rc', + 'chrome_tab.h', + 'chrome_tab.idl', + 'event_hooker.cc', + 'event_hooker.h', + 'iids.cc', + ], + 'msvs_settings': { + 'VCLinkerTool': { + 'OutputFile': + '$(OutDir)\\servers\\chrome_frame_helper.dll', + # Set /SUBSYSTEM:WINDOWS since this is not a command-line program. + 'SubSystem': '2', + 'AdditionalDependencies': [ + 'shlwapi.lib', + ], }, }, }, |