DescriptionInclude sync.pb.h in sync_data.h.
This change has two parts, including sync.pb.h in sync_data.h, and fixing
gyp dependencies and header includes so that everything still builds.
Include sync.pb.h in sync_data.h in preparation for using AttachmentId
(a protobuf in sync.pb.h) in sync_data.h. A forward declaration is
insufficient because sync_data.h will be getting a typedef for vector<>
of AttachmentId.
Several targets (transitively) depend on sync, however, their dependence
is not properly modeled in gyp. Update dependencies and header includes
so they can "see" sync.pb.h (a generated header) and any headers it
includes.
Without these changes, four targets fail to build:
1. extensions_browser - See extensions/extensions.gyp for the fix. Here's
the compiler error:
In file included from ../../extensions/browser/extension_function.cc:10:
In file included from ../../chrome/browser/extensions/extension_service.h:23:
In file included from ../../chrome/browser/extensions/extension_sync_service.h:12:
In file included from ../../chrome/browser/extensions/app_sync_bundle.h:15:
In file included from ../../chrome/browser/extensions/app_sync_data.h:8:
In file included from ../../chrome/browser/extensions/extension_sync_data.h:11:
In file included from ../../sync/api/sync_change.h:13:
../../sync/api/sync_data.h:17:10: fatal error: 'sync/protocol/sync.pb.h' file not found
2. debugger - See chrome/chrome.gyp for the fix. Here's the compiler
error:
In file included from ../../chrome/browser/devtools/browser_list_tabcontents_provider.cc:10:
In file included from ../../chrome/browser/history/top_sites.h:13:
In file included from ../../chrome/browser/history/history_service.h:26:
In file included from ../../chrome/browser/history/delete_directive_handler.h:12:
In file included from ../../sync/api/sync_change_processor.h:10:
../../sync/api/sync_data.h:17:10: fatal error: 'sync/protocol/sync.pb.h' file not found
3. apps - See chrome/chrome_browser_extensions.gypi for the fix. Here's
the compiler error:
In file included from ../../apps/app_load_service.cc:12:
In file included from ../../chrome/browser/extensions/extension_service.h:23:
In file included from ../../chrome/browser/extensions/extension_sync_service.h:12:
In file included from ../../chrome/browser/extensions/app_sync_bundle.h:15:
In file included from ../../chrome/browser/extensions/app_sync_data.h:8:
In file included from ../../chrome/browser/extensions/extension_sync_data.h:11:
In file included from ../../sync/api/sync_change.h:13:
../../sync/api/sync_data.h:17:10: fatal error: 'sync/protocol/sync.pb.h' file not found
4. performance_ui_tests - See chrome/chrome_tests.gypi for the fix.
Here's the compiler error:
In file included from ../../chrome/test/perf/generate_profile.cc:19:
In file included from ../../chrome/browser/history/history_service.h:26:
In file included from ../../chrome/browser/history/delete_directive_handler.h:12:
In file included from ../../sync/api/sync_change_processor.h:10:
In file included from ../../sync/api/sync_data.h:17:
gen/protoc_out/sync/protocol/sync.pb.h:9:10: fatal error: 'google/protobuf/stubs/common.h' file not found
BUG=
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=257666
Patch Set 1 #
Total comments: 9
Patch Set 2 : Apply CR feedback. #
Total comments: 8
Patch Set 3 : Don't depend on browser_real. #Patch Set 4 : extension_disabled_ui.cc needs its own #include for std::bitset. #Patch Set 5 : Rebase with master. #Patch Set 6 : Fix android_aosp by making export_dependent_settings conditional. #Messages
Total messages: 37 (0 generated)
|