| Index: components/policy.gypi | 
| diff --git a/components/policy.gypi b/components/policy.gypi | 
| index 4d899849635b12bdca554da800bfd31f4524d544..c1afa6d4422a9158dada7d748f4f4f6a1c396882 100644 | 
| --- a/components/policy.gypi | 
| +++ b/components/policy.gypi | 
| @@ -30,215 +30,61 @@ | 
| 'cloud_policy_proto_path': | 
| '<(policy_out_dir)/policy/cloud_policy.proto', | 
| }, | 
| -  'targets': [ | 
| -    { | 
| -      'target_name': 'policy_component', | 
| -      'type': '<(component)', | 
| -      'dependencies': [ | 
| -        '../base/base.gyp:base', | 
| -      ], | 
| -      'defines': [ | 
| -        'POLICY_COMPONENT_IMPLEMENTATION', | 
| -      ], | 
| -      'include_dirs': [ | 
| -        '..', | 
| -      ], | 
| -      'conditions': [ | 
| -        ['configuration_policy==1', { | 
| +  'conditions': [ | 
| +    ['component=="static_library"', { | 
| +      'targets': [ | 
| +        { | 
| +          'target_name': 'policy_component', | 
| +          'type': 'none', | 
| 'dependencies': [ | 
| -            '../base/base.gyp:base_prefs', | 
| -            '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', | 
| -            '../google_apis/google_apis.gyp:google_apis', | 
| -            '../ui/ui.gyp:ui', | 
| -            '../url/url.gyp:url_lib', | 
| -            'component_strings.gyp:component_strings', | 
| -            'cloud_policy_proto', | 
| -            'json_schema', | 
| -            'policy', | 
| -            'url_matcher', | 
| -            'user_prefs', | 
| +            'policy_component_common', | 
| +            'policy_component_browser', | 
| ], | 
| -          'sources': [ | 
| -            'policy/core/browser/cloud/message_util.cc', | 
| -            'policy/core/browser/cloud/message_util.h', | 
| -            'policy/core/browser/configuration_policy_handler.cc', | 
| -            'policy/core/browser/configuration_policy_handler.h', | 
| -            'policy/core/browser/configuration_policy_handler_list.cc', | 
| -            'policy/core/browser/configuration_policy_handler_list.h', | 
| -            'policy/core/browser/configuration_policy_pref_store.cc', | 
| -            'policy/core/browser/configuration_policy_pref_store.h', | 
| -            'policy/core/browser/policy_error_map.cc', | 
| -            'policy/core/browser/policy_error_map.h', | 
| -            'policy/core/common/cloud/cloud_external_data_manager.cc', | 
| -            'policy/core/common/cloud/cloud_external_data_manager.h', | 
| -            'policy/core/common/cloud/cloud_policy_client.cc', | 
| -            'policy/core/common/cloud/cloud_policy_client.h', | 
| -            'policy/core/common/cloud/cloud_policy_client_registration_helper.cc', | 
| -            'policy/core/common/cloud/cloud_policy_client_registration_helper.h', | 
| -            'policy/core/common/cloud/cloud_policy_constants.cc', | 
| -            'policy/core/common/cloud/cloud_policy_constants.h', | 
| -            'policy/core/common/cloud/cloud_policy_core.cc', | 
| -            'policy/core/common/cloud/cloud_policy_core.h', | 
| -            'policy/core/common/cloud/cloud_policy_manager.cc', | 
| -            'policy/core/common/cloud/cloud_policy_manager.h', | 
| -            'policy/core/common/cloud/cloud_policy_refresh_scheduler.cc', | 
| -            'policy/core/common/cloud/cloud_policy_refresh_scheduler.h', | 
| -            'policy/core/common/cloud/cloud_policy_service.cc', | 
| -            'policy/core/common/cloud/cloud_policy_service.h', | 
| -            'policy/core/common/cloud/cloud_policy_store.cc', | 
| -            'policy/core/common/cloud/cloud_policy_store.h', | 
| -            'policy/core/common/cloud/cloud_policy_validator.cc', | 
| -            'policy/core/common/cloud/cloud_policy_validator.h', | 
| -            'policy/core/common/cloud/component_cloud_policy_service.cc', | 
| -            'policy/core/common/cloud/component_cloud_policy_service.h', | 
| -            'policy/core/common/cloud/component_cloud_policy_store.cc', | 
| -            'policy/core/common/cloud/component_cloud_policy_store.h', | 
| -            'policy/core/common/cloud/component_cloud_policy_updater.cc', | 
| -            'policy/core/common/cloud/component_cloud_policy_updater.h', | 
| -            'policy/core/common/cloud/device_management_service.cc', | 
| -            'policy/core/common/cloud/device_management_service.h', | 
| -            'policy/core/common/cloud/enterprise_metrics.cc', | 
| -            'policy/core/common/cloud/enterprise_metrics.h', | 
| -            'policy/core/common/cloud/external_policy_data_fetcher.cc', | 
| -            'policy/core/common/cloud/external_policy_data_fetcher.h', | 
| -            'policy/core/common/cloud/external_policy_data_updater.cc', | 
| -            'policy/core/common/cloud/external_policy_data_updater.h', | 
| -            'policy/core/common/cloud/policy_header_io_helper.cc', | 
| -            'policy/core/common/cloud/policy_header_io_helper.h', | 
| -            'policy/core/common/cloud/policy_header_service.cc', | 
| -            'policy/core/common/cloud/policy_header_service.h', | 
| -            'policy/core/common/cloud/rate_limiter.cc', | 
| -            'policy/core/common/cloud/rate_limiter.h', | 
| -            'policy/core/common/cloud/resource_cache.cc', | 
| -            'policy/core/common/cloud/resource_cache.h', | 
| -            'policy/core/common/cloud/system_policy_request_context.cc', | 
| -            'policy/core/common/cloud/system_policy_request_context.h', | 
| -            'policy/core/common/cloud/user_cloud_policy_manager.cc', | 
| -            'policy/core/common/cloud/user_cloud_policy_manager.h', | 
| -            'policy/core/common/cloud/user_cloud_policy_store.cc', | 
| -            'policy/core/common/cloud/user_cloud_policy_store.h', | 
| -            'policy/core/common/cloud/user_cloud_policy_store_base.cc', | 
| -            'policy/core/common/cloud/user_cloud_policy_store_base.h', | 
| -            'policy/core/common/cloud/user_info_fetcher.cc', | 
| -            'policy/core/common/cloud/user_info_fetcher.h', | 
| -            'policy/core/common/cloud/user_policy_request_context.cc', | 
| -            'policy/core/common/cloud/user_policy_request_context.h', | 
| -            'policy/core/common/async_policy_loader.cc', | 
| -            'policy/core/common/async_policy_loader.h', | 
| -            'policy/core/common/async_policy_provider.cc', | 
| -            'policy/core/common/async_policy_provider.h', | 
| -            'policy/core/common/config_dir_policy_loader.cc', | 
| -            'policy/core/common/config_dir_policy_loader.h', | 
| -            'policy/core/common/configuration_policy_provider.cc', | 
| -            'policy/core/common/configuration_policy_provider.h', | 
| -            'policy/core/common/external_data_fetcher.cc', | 
| -            'policy/core/common/external_data_fetcher.h', | 
| -            'policy/core/common/external_data_manager.h', | 
| -            'policy/core/common/forwarding_policy_provider.cc', | 
| -            'policy/core/common/forwarding_policy_provider.h', | 
| -            'policy/core/common/policy_bundle.cc', | 
| -            'policy/core/common/policy_bundle.h', | 
| -            'policy/core/common/policy_details.h', | 
| -            'policy/core/common/policy_loader_mac.cc', | 
| -            'policy/core/common/policy_loader_mac.h', | 
| -            'policy/core/common/policy_loader_win.cc', | 
| -            'policy/core/common/policy_loader_win.h', | 
| -            'policy/core/common/policy_load_status.cc', | 
| -            'policy/core/common/policy_load_status.h', | 
| -            'policy/core/common/policy_map.cc', | 
| -            'policy/core/common/policy_map.h', | 
| -            'policy/core/common/policy_namespace.cc', | 
| -            'policy/core/common/policy_namespace.h', | 
| -            'policy/core/common/policy_pref_names.cc', | 
| -            'policy/core/common/policy_pref_names.h', | 
| -            'policy/core/common/policy_service.cc', | 
| -            'policy/core/common/policy_service.h', | 
| -            'policy/core/common/policy_service_impl.cc', | 
| -            'policy/core/common/policy_service_impl.h', | 
| -            'policy/core/common/policy_statistics_collector.cc', | 
| -            'policy/core/common/policy_statistics_collector.h', | 
| -            'policy/core/common/policy_switches.cc', | 
| -            'policy/core/common/policy_switches.h', | 
| -            'policy/core/common/policy_types.h', | 
| -            'policy/core/common/preferences_mac.cc', | 
| -            'policy/core/common/preferences_mac.h', | 
| -            'policy/core/common/preg_parser_win.cc', | 
| -            'policy/core/common/preg_parser_win.h', | 
| -            'policy/core/common/registry_dict_win.cc', | 
| -            'policy/core/common/registry_dict_win.h', | 
| -            'policy/core/common/schema.cc', | 
| -            'policy/core/common/schema.h', | 
| -            'policy/core/common/schema_internal.h', | 
| -            'policy/core/common/schema_map.cc', | 
| -            'policy/core/common/schema_map.h', | 
| -            'policy/core/common/schema_registry.cc', | 
| -            'policy/core/common/schema_registry.h', | 
| -            'policy/core/common/url_blacklist_manager.cc', | 
| -            'policy/core/common/url_blacklist_manager.h', | 
| -            'policy/policy_export.h', | 
| +        }, | 
| +        { | 
| +          'target_name': 'policy_component_common', | 
| +          'type': 'static_library', | 
| +          'includes': [ | 
| +            'policy/policy_common.gypi', | 
| ], | 
| -          'conditions': [ | 
| -            ['OS=="android"', { | 
| -              'sources': [ | 
| -                'policy/core/common/cloud/component_cloud_policy_service_stub.cc', | 
| -              ], | 
| -              'sources!': [ | 
| -                'policy/core/common/async_policy_loader.cc', | 
| -                'policy/core/common/async_policy_loader.h', | 
| -                'policy/core/common/async_policy_provider.cc', | 
| -                'policy/core/common/async_policy_provider.h', | 
| -                'policy/core/common/cloud/component_cloud_policy_service.cc', | 
| -                'policy/core/common/cloud/component_cloud_policy_store.cc', | 
| -                'policy/core/common/cloud/component_cloud_policy_store.h', | 
| -                'policy/core/common/cloud/component_cloud_policy_updater.cc', | 
| -                'policy/core/common/cloud/component_cloud_policy_updater.h', | 
| -                'policy/core/common/cloud/external_policy_data_fetcher.cc', | 
| -                'policy/core/common/cloud/external_policy_data_fetcher.h', | 
| -                'policy/core/common/cloud/external_policy_data_updater.cc', | 
| -                'policy/core/common/cloud/external_policy_data_updater.h', | 
| -                'policy/core/common/cloud/resource_cache.cc', | 
| -                'policy/core/common/cloud/resource_cache.h', | 
| -                'policy/core/common/config_dir_policy_loader.cc', | 
| -                'policy/core/common/config_dir_policy_loader.h', | 
| -                'policy/core/common/policy_load_status.cc', | 
| -                'policy/core/common/policy_load_status.h', | 
| -              ], | 
| -            }], | 
| -            ['chromeos==1', { | 
| -              'sources!': [ | 
| -                'policy/core/common/cloud/cloud_policy_client_registration_helper.cc', | 
| -                'policy/core/common/cloud/cloud_policy_client_registration_helper.h', | 
| -                'policy/core/common/cloud/user_cloud_policy_manager.cc', | 
| -                'policy/core/common/cloud/user_cloud_policy_manager.h', | 
| -                'policy/core/common/cloud/user_cloud_policy_store.cc', | 
| -                'policy/core/common/cloud/user_cloud_policy_store.h', | 
| -              ], | 
| -            }], | 
| +        }, | 
| +        { | 
| +          'target_name': 'policy_component_browser', | 
| +          'type': 'static_library', | 
| +          'dependencies': [ | 
| +            'policy_component_common', | 
| ], | 
| -        }, {  # configuration_policy==0 | 
| -          # Some of the policy code is always enabled, so that other parts of | 
| -          # Chrome can always interface with the PolicyService without having | 
| -          # to #ifdef on ENABLE_CONFIGURATION_POLICY. | 
| -          'sources': [ | 
| -            'policy/core/common/external_data_fetcher.h', | 
| -            'policy/core/common/external_data_fetcher.cc', | 
| -            'policy/core/common/external_data_manager.h', | 
| -            'policy/core/common/policy_map.cc', | 
| -            'policy/core/common/policy_map.h', | 
| -            'policy/core/common/policy_namespace.cc', | 
| -            'policy/core/common/policy_namespace.h', | 
| -            'policy/core/common/policy_service.cc', | 
| -            'policy/core/common/policy_service.h', | 
| -            'policy/core/common/policy_service_stub.cc', | 
| -            'policy/core/common/policy_service_stub.h', | 
| -            'policy/core/common/url_blacklist_manager.cc', | 
| -            'policy/core/common/url_blacklist_manager.h', | 
| -          ], | 
| -        }], | 
| +          'includes': [ | 
| +            'policy/policy_browser.gypi', | 
| +          ], | 
| +        }, | 
| ], | 
| -    }, | 
| -  ], | 
| -  'conditions': [ | 
| +    }, {  # component=="static_library" | 
| +      'targets': [ | 
| +        { | 
| +          'target_name': 'policy_component', | 
| +          'type': 'shared_library', | 
| +          'includes': [ | 
| +            'policy/policy_common.gypi', | 
| +            'policy/policy_browser.gypi', | 
| +          ], | 
| +        }, | 
| +        { | 
| +          'target_name': 'policy_component_common', | 
| +          'type': 'none', | 
| +          'dependencies': [ | 
| +            'policy_component', | 
| +          ], | 
| +        }, | 
| +        { | 
| +          'target_name': 'policy_component_browser', | 
| +          'type': 'none', | 
| +          'dependencies': [ | 
| +            'policy_component', | 
| +          ], | 
| +        }, | 
| +      ], | 
| +    }], | 
| ['configuration_policy==1', { | 
| 'targets': [ | 
| { | 
|  |