summaryrefslogtreecommitdiffstats
path: root/chrome_frame/chrome_frame_launcher.gyp
diff options
context:
space:
mode:
authorrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-30 15:34:11 +0000
committerrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-30 15:34:11 +0000
commit9ceda77323dcc335680d3cb47b0b76e2821199ad (patch)
treef5280e2a394d7d66a035b57d2c6b835bcbd7057b /chrome_frame/chrome_frame_launcher.gyp
parentcf993864f9e684fb2e58f5b89d669ae680feefd9 (diff)
downloadchromium_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.gyp117
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',
+ ],
},
},
},