#include "components/dom_distiller/content/renderer/distiller_native_javascript.h"
#include <string>
#include "base/functional/bind.h"
#include "base/strings/utf_string_conversions.h"
#include "components/dom_distiller/content/common/mojom/distiller_javascript_service.mojom.h"
#include "components/dom_distiller/core/distilled_page_prefs.h"
#include "components/dom_distiller/core/mojom/distilled_page_prefs.mojom.h"
#include "content/public/renderer/render_frame.h"
#include "gin/arguments.h"
#include "gin/function_template.h"
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/scheduler/web_agent_group_scheduler.h"
#include "third_party/blink/public/web/web_local_frame.h"
#include "v8/include/v8.h"
namespace {
const float kMinFontScale = …;
const float kMaxFontScale = …;
}
namespace dom_distiller {
DistillerNativeJavaScript::DistillerNativeJavaScript(
content::RenderFrame* render_frame)
: … { … }
DistillerNativeJavaScript::~DistillerNativeJavaScript() = default;
void DistillerNativeJavaScript::StoreIntTheme(int int_theme) { … }
void DistillerNativeJavaScript::StoreIntFontFamily(int int_font_family) { … }
void DistillerNativeJavaScript::StoreFloatFontScaling(float float_font_scale) { … }
void DistillerNativeJavaScript::AddJavaScriptObjectToFrame(
v8::Local<v8::Context> context) { … }
template <typename Sig>
void DistillerNativeJavaScript::BindFunctionToObject(
v8::Isolate* isolate,
v8::Local<v8::Object> javascript_object,
const std::string& name,
const base::RepeatingCallback<Sig>& callback) { … }
void DistillerNativeJavaScript::EnsureServiceConnected() { … }
v8::Local<v8::Object> GetOrCreateDistillerObject(
v8::Isolate* isolate,
v8::Local<v8::Context> context) { … }
}