| Index: chrome/chrome_dll.gypi
 | 
| diff --git a/chrome/chrome_dll.gypi b/chrome/chrome_dll.gypi
 | 
| index 3d4119a36ba6de532ff3dc97dcf325362d455bb4..a0ce997aba52eb9b75c6a5e68b60dd33b9115fe6 100644
 | 
| --- a/chrome/chrome_dll.gypi
 | 
| +++ b/chrome/chrome_dll.gypi
 | 
| @@ -2,6 +2,75 @@
 | 
|  # Use of this source code is governed by a BSD-style license that can be
 | 
|  # found in the LICENSE file.
 | 
|  {
 | 
| +  'variables': {
 | 
| +    'browser_dll_sources': [
 | 
| +      'app/chrome_command_ids.h',
 | 
| +      'app/chrome_dll.rc',
 | 
| +      'app/chrome_dll_resource.h',
 | 
| +      'app/chrome_main.cc',
 | 
| +      'app/chrome_main_delegate.cc',
 | 
| +      'app/chrome_main_delegate.h',
 | 
| +      'app/delay_load_hook_win.cc',
 | 
| +      'app/delay_load_hook_win.h',
 | 
| +
 | 
| +      '<(SHARED_INTERMEDIATE_DIR)/chrome_version/chrome_dll_version.rc',
 | 
| +      '../base/win/dllmain.cc',
 | 
| +
 | 
| +      '../ui/resources/cursors/aliasb.cur',
 | 
| +      '../ui/resources/cursors/cell.cur',
 | 
| +      '../ui/resources/cursors/col_resize.cur',
 | 
| +      '../ui/resources/cursors/copy.cur',
 | 
| +      '../ui/resources/cursors/none.cur',
 | 
| +      '../ui/resources/cursors/row_resize.cur',
 | 
| +      '../ui/resources/cursors/vertical_text.cur',
 | 
| +      '../ui/resources/cursors/zoom_in.cur',
 | 
| +      '../ui/resources/cursors/zoom_out.cur',
 | 
| +
 | 
| +      # TODO:  It would be nice to have these pulled in
 | 
| +      # automatically from direct_dependent_settings in
 | 
| +      # their various targets (net.gyp:net_resources, etc.),
 | 
| +      # but that causes errors in other targets when
 | 
| +      # resulting .res files get referenced multiple times.
 | 
| +      '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
 | 
| +      '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc',
 | 
| +      '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
 | 
| +      '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
 | 
| +      '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
 | 
| +      '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
 | 
| +      '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_unscaled_resources.rc',
 | 
| +      '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
 | 
| +    ],
 | 
| +    'delay_load_dlls_win': [
 | 
| +      'comdlg32.dll',
 | 
| +      'crypt32.dll',
 | 
| +      'cryptui.dll',
 | 
| +      'dhcpcsvc.dll',
 | 
| +      'imagehlp.dll',
 | 
| +      'imm32.dll',
 | 
| +      'iphlpapi.dll',
 | 
| +      'setupapi.dll',
 | 
| +      'urlmon.dll',
 | 
| +      'winhttp.dll',
 | 
| +      'wininet.dll',
 | 
| +      'winspool.drv',
 | 
| +      'ws2_32.dll',
 | 
| +      'wsock32.dll',
 | 
| +    ],
 | 
| +    'browser_dependencies_win': [
 | 
| +      # On Windows, link the dependencies (libraries) that make
 | 
| +      # up actual Chromium functionality into this .dll.
 | 
| +      'chrome_resources.gyp:chrome_resources',
 | 
| +      'chrome_version_resources',
 | 
| +      '../chrome/chrome_resources.gyp:chrome_unscaled_resources',
 | 
| +      '../crypto/crypto.gyp:crypto',
 | 
| +      '../printing/printing.gyp:printing',
 | 
| +      '../net/net.gyp:net_resources',
 | 
| +      '../third_party/cld/cld.gyp:cld',
 | 
| +      '../ui/views/views.gyp:views',
 | 
| +      '../webkit/support/webkit_support.gyp:webkit_resources',
 | 
| +    ],
 | 
| +    'manifest_files_win': '$(ProjectDir)\\app\\chrome.dll.manifest',
 | 
| +  },
 | 
|    'conditions': [
 | 
|      ['OS=="mac" or OS=="win"', {
 | 
|        'targets': [
 | 
| @@ -74,7 +143,10 @@
 | 
|              'enable_wexit_time_destructors': 1,
 | 
|            },
 | 
|            'dependencies': [
 | 
| -            '<@(chromium_dependencies)',
 | 
| +            '<@(chromium_browser_dependencies)',
 | 
| +            '<@(chromium_child_dependencies)',
 | 
| +            'chrome_dll_pdb_workaround',
 | 
| +            '../content/content.gyp:content_worker',
 | 
|              'app/policy/cloud_policy_codegen.gyp:policy',
 | 
|            ],
 | 
|            'conditions': [
 | 
| @@ -98,66 +170,14 @@
 | 
|              ['OS=="win"', {
 | 
|                'product_name': 'chrome',
 | 
|                'dependencies': [
 | 
| -                # On Windows, link the dependencies (libraries) that make
 | 
| -                # up actual Chromium functionality into this .dll.
 | 
| -                'chrome_dll_pdb_workaround',
 | 
| -                'chrome_resources.gyp:chrome_resources',
 | 
| -                'chrome_version_resources',
 | 
| -                '../chrome/chrome_resources.gyp:chrome_unscaled_resources',
 | 
| -                '../content/content.gyp:content_worker',
 | 
| -                '../crypto/crypto.gyp:crypto',
 | 
| -                '../printing/printing.gyp:printing',
 | 
| -                '../net/net.gyp:net_resources',
 | 
| -                '../third_party/cld/cld.gyp:cld',
 | 
| -                '../ui/views/views.gyp:views',
 | 
| -                '../webkit/support/webkit_support.gyp:webkit_resources',
 | 
| +                '<@(browser_dependencies_win)',
 | 
|                ],
 | 
|                'sources': [
 | 
| -                'app/chrome_command_ids.h',
 | 
| -                'app/chrome_dll.rc',
 | 
| -                'app/chrome_dll_resource.h',
 | 
| -                'app/chrome_main.cc',
 | 
| -                'app/chrome_main_delegate.cc',
 | 
| -                'app/chrome_main_delegate.h',
 | 
| -                'app/delay_load_hook_win.cc',
 | 
| -                'app/delay_load_hook_win.h',
 | 
| -
 | 
| -                '<(SHARED_INTERMEDIATE_DIR)/chrome_version/chrome_dll_version.rc',
 | 
| -                '../base/win/dllmain.cc',
 | 
| -
 | 
| -                '../ui/resources/cursors/aliasb.cur',
 | 
| -                '../ui/resources/cursors/cell.cur',
 | 
| -                '../ui/resources/cursors/col_resize.cur',
 | 
| -                '../ui/resources/cursors/copy.cur',
 | 
| -                '../ui/resources/cursors/none.cur',
 | 
| -                '../ui/resources/cursors/row_resize.cur',
 | 
| -                '../ui/resources/cursors/vertical_text.cur',
 | 
| -                '../ui/resources/cursors/zoom_in.cur',
 | 
| -                '../ui/resources/cursors/zoom_out.cur',
 | 
| -
 | 
| -                # TODO:  It would be nice to have these pulled in
 | 
| -                # automatically from direct_dependent_settings in
 | 
| -                # their various targets (net.gyp:net_resources, etc.),
 | 
| -                # but that causes errors in other targets when
 | 
| -                # resulting .res files get referenced multiple times.
 | 
| -                '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
 | 
| -                '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc',
 | 
| -                '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
 | 
| -                '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
 | 
| -                '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
 | 
| -                '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
 | 
| -                '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_unscaled_resources.rc',
 | 
| -                '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
 | 
| +                '<@(browser_dll_sources)',
 | 
|                ],
 | 
|                'include_dirs': [
 | 
|                  '<(DEPTH)/third_party/wtl/include',
 | 
|                ],
 | 
| -              'defines': [
 | 
| -                'CHROME_DLL',
 | 
| -                'BROWSER_DLL',
 | 
| -                'RENDERER_DLL',
 | 
| -                'PLUGIN_DLL',
 | 
| -              ],
 | 
|                'configurations': {
 | 
|                  'Debug_Base': {
 | 
|                    'msvs_settings': {
 | 
| @@ -210,24 +230,11 @@
 | 
|                      }],
 | 
|                    ],
 | 
|                    'DelayLoadDLLs': [
 | 
| -                    'comdlg32.dll',
 | 
| -                    'crypt32.dll',
 | 
| -                    'cryptui.dll',
 | 
| -                    'dhcpcsvc.dll',
 | 
| -                    'imagehlp.dll',
 | 
| -                    'imm32.dll',
 | 
| -                    'iphlpapi.dll',
 | 
| -                    'setupapi.dll',
 | 
| -                    'urlmon.dll',
 | 
| -                    'winhttp.dll',
 | 
| -                    'wininet.dll',
 | 
| -                    'winspool.drv',
 | 
| -                    'ws2_32.dll',
 | 
| -                    'wsock32.dll',
 | 
| +                    '<@(delay_load_dlls_win)',
 | 
|                    ],
 | 
|                  },
 | 
|                  'VCManifestTool': {
 | 
| -                  'AdditionalManifestFiles': '$(ProjectDir)\\app\\chrome.dll.manifest',
 | 
| +                  'AdditionalManifestFiles': '<(manifest_files_win)',
 | 
|                  },
 | 
|                },
 | 
|              }],  # OS=="win"
 | 
| @@ -297,7 +304,59 @@
 | 
|                ],  # conditions
 | 
|              }],  # OS=="mac"
 | 
|            ],  # conditions
 | 
| -        },  # target chrome_dll
 | 
| +        },  # target chrome_main_dll
 | 
| +        {
 | 
| +          'target_name': 'chrome_browser_dll',
 | 
| +          'type': 'shared_library',
 | 
| +          'variables': {
 | 
| +            'enable_wexit_time_destructors': 1,
 | 
| +          },
 | 
| +          'dependencies': [
 | 
| +            '<@(chromium_browser_dependencies)',
 | 
| +            'app/policy/cloud_policy_codegen.gyp:policy',
 | 
| +            # TODO(scottmg): http://crbug.com/237249 Probably should be
 | 
| +            # renderer.
 | 
| +            '../ppapi/ppapi_internal.gyp:ppapi_host',
 | 
| +          ],
 | 
| +          'conditions': [
 | 
| +            ['use_aura==1', {
 | 
| +              'dependencies': [
 | 
| +                '../ui/compositor/compositor.gyp:compositor',
 | 
| +              ],
 | 
| +            }],
 | 
| +            ['use_ash==1', {
 | 
| +              'sources': [
 | 
| +                '<(SHARED_INTERMEDIATE_DIR)/ash/ash_resources/ash_wallpaper_resources.rc',
 | 
| +              ],
 | 
| +            }],
 | 
| +            ['OS=="win"', {
 | 
| +              'product_name': 'chrome_browser',
 | 
| +              'dependencies': [
 | 
| +                '<@(browser_dependencies_win)',
 | 
| +              ],
 | 
| +              'sources': [
 | 
| +                '<@(browser_dll_sources)',
 | 
| +              ],
 | 
| +              'include_dirs': [
 | 
| +                '<(DEPTH)/third_party/wtl/include',
 | 
| +              ],
 | 
| +              'msvs_settings': {
 | 
| +                'VCLinkerTool': {
 | 
| +                  'BaseAddress': '0x01c30000',
 | 
| +                  'ImportLibrary': '$(OutDir)\\lib\\chrome_browser_dll.lib',
 | 
| +                  # Set /SUBSYSTEM:WINDOWS for chrome_browser.dll (for consistency).
 | 
| +                  'SubSystem': '2',
 | 
| +                  'DelayLoadDLLs': [
 | 
| +                    '<@(delay_load_dlls_win)',
 | 
| +                  ],
 | 
| +                },
 | 
| +                'VCManifestTool': {
 | 
| +                  'AdditionalManifestFiles': '<(manifest_files_win)',
 | 
| +                },
 | 
| +              },
 | 
| +            }],  # OS=="win"
 | 
| +          ],  # conditions
 | 
| +        },  # target chrome_browser_dll
 | 
|        ],  # targets
 | 
|      }],  # OS=="mac" or OS=="win"
 | 
|      ['OS=="win"', {
 | 
| 
 |