Componentize VersionInfo.
commit6e883e40d456dd422ac08ced1c25e7403f78bada
authorsdefresne <sdefresne@chromium.org>
Thu, 30 Jul 2015 08:05:54 +0000 (30 01:05 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 30 Jul 2015 08:06:36 +0000 (30 08:06 +0000)
tree615f0986f2edb95b679d1598eaaff335e29283f1
parent0289a621d385a5fa87f3635bedaae2daabc6f4b9
Componentize VersionInfo.

Create a new component version_info that allows to get information about
the current version of Chrome running, except for the channel (which has
to be provided by the embedder).

The method to get the channel is not moved to the component because on
Windows it depends on //chrome/installer which would be non-trivial to
componentize. Since the method is embedder-specific (though it have no
bad dependencies on the other platform) it makes sense to not move it
into the component.

Fixes VersionInfo API to only expose static method (since the class did
not have any state and the API was a mix of "const" and "static" methods)
and to delegate the job to version_info component in order to limit the
API changes.

Mass rename (chrome::)VersionInfo::(Channel|CHANNEL) after the enum was
moved to the version_info namespace in the corresponding component using
tools/git/mffr.py.

Change Channel enumeration to be a "class enum" and add static_cast<int>
where needed (as class enum do not implicitly convert to int).

BUG=511912

Review URL: https://codereview.chromium.org/1257633002

Cr-Commit-Position: refs/heads/master@{#341085}
107 files changed:
chrome/app/DEPS
chrome/app/chrome_crash_reporter_client.cc
chrome/app/chrome_main_delegate.cc
chrome/app/close_handle_hook_win.cc
chrome/app/generated_resources.grd
chrome/browser/about_flags.cc
chrome/browser/apps/app_window_intercept_all_keys_uitest.cc
chrome/browser/chrome_browser_main.cc
chrome/browser/chrome_content_browser_client.cc
chrome/browser/chrome_content_browser_client.h
chrome/browser/chrome_content_browser_client_unittest.cc
chrome/browser/chromeos/extensions/wallpaper_manager_browsertest.cc
chrome/browser/extensions/active_tab_unittest.cc
chrome/browser/extensions/api/declarative/rules_registry_with_cache_unittest.cc
chrome/browser/extensions/api/declarative_content/set_icon_apitest.cc
chrome/browser/extensions/api/idltest/idltest_apitest.cc
chrome/browser/extensions/api/instance_id/instance_id_apitest.cc
chrome/browser/extensions/api/messaging/native_message_process_host_unittest.cc
chrome/browser/extensions/chrome_notification_observer.cc
chrome/browser/extensions/component_loader.cc
chrome/browser/extensions/error_console/error_console.cc
chrome/browser/extensions/error_console/error_console_unittest.cc
chrome/browser/extensions/extension_browsertest.cc
chrome/browser/extensions/service_worker_apitest.cc
chrome/browser/extensions/shared_module_service_unittest.cc
chrome/browser/guest_view/web_view/context_menu_content_type_web_view.cc
chrome/browser/history/chrome_history_backend_client.cc
chrome/browser/io_thread.cc
chrome/browser/mac/keystone_glue.mm
chrome/browser/mac/master_prefs.mm
chrome/browser/media/chrome_webrtc_disable_encryption_flag_browsertest.cc
chrome/browser/metrics/chrome_metrics_service_client.cc
chrome/browser/metrics/thread_watcher.cc
chrome/browser/metrics/variations/variations_service.cc
chrome/browser/password_manager/chrome_password_manager_client.cc
chrome/browser/password_manager/chrome_password_manager_client_unittest.cc
chrome/browser/password_manager/password_manager_browsertest.cc
chrome/browser/plugins/chrome_content_browser_client_plugins_part.cc
chrome/browser/policy/policy_browsertest.cc
chrome/browser/safe_browsing/incident_reporting/environment_data_collection.cc
chrome/browser/shell_integration.cc
chrome/browser/shell_integration_linux.cc
chrome/browser/shell_integration_mac.mm
chrome/browser/supervised_user/supervised_user_service_unittest.cc
chrome/browser/sxs_linux.cc
chrome/browser/sync/about_sync_util.cc
chrome/browser/sync/glue/chrome_report_unrecoverable_error.cc
chrome/browser/ui/app_list/app_list_service_mac.mm
chrome/browser/ui/apps/chrome_app_window_client.cc
chrome/browser/ui/cocoa/first_run_dialog.mm
chrome/browser/ui/extensions/extension_message_bubble_factory.cc
chrome/browser/ui/hung_plugin_tab_helper.cc
chrome/browser/ui/panels/panel_manager.cc
chrome/browser/ui/views/app_list/win/app_list_service_win.cc
chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc
chrome/browser/ui/webui/flags_ui.cc
chrome/browser/ui/webui/print_preview/extension_printer_handler_unittest.cc
chrome/browser/ui/webui/version_ui.cc
chrome/browser/update_client/chrome_update_query_params_delegate.cc
chrome/browser/upgrade_detector_impl.cc
chrome/browser/web_applications/web_app_mac.mm
chrome/browser/web_resource/notification_promo.cc
chrome/chrome_common.gypi
chrome/common/BUILD.gn
chrome/common/DEPS
chrome/common/chrome_version_info.cc
chrome/common/chrome_version_info.h
chrome/common/chrome_version_info_android.cc
chrome/common/chrome_version_info_chromeos.cc
chrome/common/chrome_version_info_mac.mm
chrome/common/chrome_version_info_posix.cc
chrome/common/chrome_version_info_win.cc
chrome/common/extensions/api/storage/storage_schema_manifest_handler_unittest.cc
chrome/common/extensions/chrome_extensions_client.cc
chrome/common/extensions/features/chrome_channel_feature_filter.cc
chrome/common/extensions/features/chrome_channel_feature_filter.h
chrome/common/extensions/features/chrome_channel_feature_filter_unittest.cc
chrome/common/extensions/features/feature_channel.cc
chrome/common/extensions/features/feature_channel.h
chrome/common/extensions/manifest_handlers/automation_unittest.cc
chrome/common/extensions/manifest_handlers/ui_overrides_handler_unittest.cc
chrome/common/extensions/manifest_tests/chrome_manifest_test.cc
chrome/common/extensions/manifest_tests/extension_manifests_background_unittest.cc
chrome/common/extensions/permissions/permission_set_unittest.cc
chrome/common/gcm_desktop_util.cc
chrome/common/metrics/version_utils.cc
chrome/common/metrics/version_utils.h
chrome/common/pepper_permission_util_unittest.cc
chrome/common/sync_util.cc
chrome/renderer/chrome_content_renderer_client.cc
chrome/renderer/extensions/chrome_extensions_dispatcher_delegate.cc
chrome/tools/DEPS
chrome/tools/crash_service/caps/caps.gyp
chrome/tools/crash_service/caps/logger_win.cc
components/BUILD.gn
components/components.gyp
components/components_strings.grd
components/version_info.grdp [new file with mode: 0644]
components/version_info.gypi [new file with mode: 0644]
components/version_info/BUILD.gn [new file with mode: 0644]
components/version_info/DEPS [new file with mode: 0644]
components/version_info/OWNERS [new file with mode: 0644]
components/version_info/version_info.cc [new file with mode: 0644]
components/version_info/version_info.h [new file with mode: 0644]
components/version_info/version_info_values.h.version [moved from chrome/common/chrome_version_info_values.h.version with 67% similarity]
extensions/browser/api/app_window/app_window_apitest.cc
tools/gritsettings/resource_ids