#include "components/segmentation_platform/embedder/input_delegate/tab_session_source.h"
#include <math.h>
#include "base/memory/raw_ptr.h"
#include "base/time/time.h"
#include "components/segmentation_platform/embedder/tab_fetcher.h"
#include "components/segmentation_platform/internal/execution/processing/feature_processor_state.h"
#include "components/segmentation_platform/public/types/processed_value.h"
#include "components/sessions/core/session_id.h"
#include "components/sessions/core/session_types.h"
#include "components/sync_sessions/open_tabs_ui_delegate.h"
#include "components/sync_sessions/synced_session.h"
#include "ui/base/page_transition_types.h"
namespace segmentation_platform::processing {
float TabSessionSource::BucketizeExp(int64_t value, int max_buckets) { … }
float TabSessionSource::BucketizeLinear(int64_t value, int max_buckets) { … }
TabSessionSource::TabSessionSource(
sync_sessions::SessionSyncService* session_sync_service,
TabFetcher* tab_fetcher)
: … { … }
TabSessionSource::~TabSessionSource() = default;
void TabSessionSource::Process(const proto::CustomInput& input,
FeatureProcessorState& feature_processor_state,
ProcessedCallback callback) { … }
void TabSessionSource::AddTabInfo(const sessions::SessionTab* session_tab,
Tensor& inputs) { … }
void TabSessionSource::AddTabRanks(const std::string& session_tag,
const sessions::SessionTab* session_tab,
Tensor& inputs) { … }
void TabSessionSource::AddLocalTabInfo(
const TabFetcher::Tab& tab,
FeatureProcessorState& feature_processor_state,
Tensor& inputs) { … }
}