#include "components/feed/core/v2/proto_util.h"
#include <tuple>
#include <vector>
#include "base/feature_list.h"
#include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h"
#include "base/system/sys_info.h"
#include "build/build_config.h"
#include "components/feed/core/proto/v2/store.pb.h"
#include "components/feed/core/proto/v2/wire/capability.pb.h"
#include "components/feed/core/proto/v2/wire/chrome_client_info.pb.h"
#include "components/feed/core/proto/v2/wire/feed_entry_point_data.pb.h"
#include "components/feed/core/proto/v2/wire/feed_entry_point_source.pb.h"
#include "components/feed/core/proto/v2/wire/feed_query.pb.h"
#include "components/feed/core/proto/v2/wire/feed_request.pb.h"
#include "components/feed/core/proto/v2/wire/request.pb.h"
#include "components/feed/core/proto/v2/wire/table.pb.h"
#include "components/feed/core/proto/v2/wire/web_feed_id.pb.h"
#include "components/feed/core/proto/v2/wire/web_feed_identifier_token.pb.h"
#include "components/feed/core/v2/config.h"
#include "components/feed/core/v2/enums.h"
#include "components/feed/core/v2/feed_stream.h"
#include "components/feed/core/v2/public/feed_api.h"
#include "components/feed/feed_feature_list.h"
#include "components/reading_list/features/reading_list_switches.h"
#if BUILDFLAG(IS_ANDROID)
#include "base/android/build_info.h"
#endif
namespace feed {
namespace {
Capability;
feedwire::Version::Architecture GetBuildArchitecture() { … }
feedwire::Version::Architecture GetSystemArchitecture() { … }
feedwire::Version::BuildType GetBuildType(version_info::Channel channel) { … }
feedwire::Version GetPlatformVersionMessage() { … }
feedwire::Version GetAppVersionMessage(const ChromeInfo& chrome_info) { … }
feedwire::Request CreateFeedQueryRequest(
const StreamType& stream_type,
feedwire::FeedQuery::RequestReason request_reason,
const RequestMetadata& request_metadata,
const std::string& consistency_token,
const std::string& next_page_token,
const SingleWebFeedEntryPoint single_feed_entry_point) { … }
void SetNoticeCardAcknowledged(feedwire::Request* request,
const RequestMetadata& request_metadata) { … }
void SetInfoCardTrackingStates(feedwire::Request* request,
const RequestMetadata& request_metadata) { … }
void SetTimesFollowedFromWebPageMenu(feedwire::Request* request,
const RequestMetadata& request_metadata) { … }
void SetChromeSignInStatus(feedwire::Request* request,
const RequestMetadata& request_metadata) { … }
void SetDefaultSearchEngine(feedwire::Request* request,
const RequestMetadata& request_metadata) { … }
void WriteDocIdsTable(const std::vector<DocViewCount> doc_view_counts,
feedwire::Table& table) { … }
}
std::string ContentIdString(const feedwire::ContentId& content_id) { … }
bool Equal(const feedwire::ContentId& a, const feedwire::ContentId& b) { … }
bool CompareContentId(const feedwire::ContentId& a,
const feedwire::ContentId& b) { … }
bool CompareContent(const feedstore::Content& a, const feedstore::Content& b) { … }
feedwire::ClientInfo CreateClientInfo(const RequestMetadata& request_metadata) { … }
feedwire::Request CreateFeedQueryRefreshRequest(
const StreamType& stream_type,
feedwire::FeedQuery::RequestReason request_reason,
const RequestMetadata& request_metadata,
const std::string& consistency_token,
const SingleWebFeedEntryPoint single_feed_entry_point,
const std::vector<DocViewCount> doc_view_counts) { … }
feedwire::Request CreateFeedQueryLoadMoreRequest(
const RequestMetadata& request_metadata,
const std::string& consistency_token,
const std::string& next_page_token) { … }
}