#include "components/dom_distiller/content/browser/distillable_page_utils.h"
#include <string>
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/observer_list.h"
#include "base/strings/utf_string_conversions.h"
#include "base/task/single_thread_task_runner.h"
#include "base/values.h"
#include "components/dom_distiller/content/browser/distillability_driver.h"
#include "components/dom_distiller/content/browser/distiller_javascript_utils.h"
#include "components/dom_distiller/core/distillable_page_detector.h"
#include "components/dom_distiller/core/experiments.h"
#include "components/dom_distiller/core/page_features.h"
#include "components/grit/components_resources.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/web_contents.h"
#include "ui/base/resource/resource_bundle.h"
namespace dom_distiller {
namespace {
void OnExtractFeaturesJsResult(const DistillablePageDetector* detector,
base::OnceCallback<void(bool)> callback,
base::Value result) { … }
}
void IsDistillablePageForDetector(content::WebContents* web_contents,
const DistillablePageDetector* detector,
base::OnceCallback<void(bool)> callback) { … }
bool operator==(const DistillabilityResult& first,
const DistillabilityResult& second) { … }
std::ostream& operator<<(std::ostream& os, const DistillabilityResult& result) { … }
void AddObserver(content::WebContents* web_contents,
DistillabilityObserver* observer) { … }
void RemoveObserver(content::WebContents* web_contents,
DistillabilityObserver* observer) { … }
std::optional<DistillabilityResult> GetLatestResult(
content::WebContents* web_contents) { … }
}