#include "extensions/browser/api/printer_provider/printer_provider_internal_api.h"
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "base/functional/bind.h"
#include "base/lazy_instance.h"
#include "base/location.h"
#include "base/memory/ref_counted_memory.h"
#include "base/observer_list.h"
#include "base/types/optional_util.h"
#include "base/values.h"
#include "content/public/browser/blob_handle.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/web_contents.h"
#include "extensions/browser/api/printer_provider/printer_provider_api.h"
#include "extensions/browser/api/printer_provider/printer_provider_api_factory.h"
#include "extensions/browser/api/printer_provider/printer_provider_print_job.h"
#include "extensions/common/api/printer_provider.h"
#include "extensions/common/api/printer_provider_internal.h"
internal_api;
namespace extensions {
namespace {
static base::LazyInstance<
BrowserContextKeyedAPIFactory<PrinterProviderInternalAPI>>::DestructorAtExit
g_api_factory = …;
}
BrowserContextKeyedAPIFactory<PrinterProviderInternalAPI>*
PrinterProviderInternalAPI::GetFactoryInstance() { … }
PrinterProviderInternalAPI::PrinterProviderInternalAPI(
content::BrowserContext* browser_context) { … }
PrinterProviderInternalAPI::~PrinterProviderInternalAPI() = default;
void PrinterProviderInternalAPI::AddObserver(
PrinterProviderInternalAPIObserver* observer) { … }
void PrinterProviderInternalAPI::RemoveObserver(
PrinterProviderInternalAPIObserver* observer) { … }
void PrinterProviderInternalAPI::NotifyGetPrintersResult(
const Extension* extension,
int request_id,
const PrinterProviderInternalAPIObserver::PrinterInfoVector& printers) { … }
void PrinterProviderInternalAPI::NotifyGetCapabilityResult(
const Extension* extension,
int request_id,
const base::Value::Dict& capability) { … }
void PrinterProviderInternalAPI::NotifyPrintResult(
const Extension* extension,
int request_id,
api::printer_provider_internal::PrintError error) { … }
void PrinterProviderInternalAPI::NotifyGetUsbPrinterInfoResult(
const Extension* extension,
int request_id,
const api::printer_provider::PrinterInfo* printer_info) { … }
PrinterProviderInternalReportPrintResultFunction::
PrinterProviderInternalReportPrintResultFunction() { … }
PrinterProviderInternalReportPrintResultFunction::
~PrinterProviderInternalReportPrintResultFunction() { … }
ExtensionFunction::ResponseAction
PrinterProviderInternalReportPrintResultFunction::Run() { … }
PrinterProviderInternalReportPrinterCapabilityFunction::
PrinterProviderInternalReportPrinterCapabilityFunction() { … }
PrinterProviderInternalReportPrinterCapabilityFunction::
~PrinterProviderInternalReportPrinterCapabilityFunction() { … }
ExtensionFunction::ResponseAction
PrinterProviderInternalReportPrinterCapabilityFunction::Run() { … }
PrinterProviderInternalReportPrintersFunction::
PrinterProviderInternalReportPrintersFunction() { … }
PrinterProviderInternalReportPrintersFunction::
~PrinterProviderInternalReportPrintersFunction() { … }
ExtensionFunction::ResponseAction
PrinterProviderInternalReportPrintersFunction::Run() { … }
PrinterProviderInternalGetPrintDataFunction::
PrinterProviderInternalGetPrintDataFunction() { … }
PrinterProviderInternalGetPrintDataFunction::
~PrinterProviderInternalGetPrintDataFunction() { … }
ExtensionFunction::ResponseAction
PrinterProviderInternalGetPrintDataFunction::Run() { … }
void PrinterProviderInternalGetPrintDataFunction::OnBlob(
const scoped_refptr<base::RefCountedMemory>& data,
std::unique_ptr<content::BlobHandle> blob) { … }
PrinterProviderInternalReportUsbPrinterInfoFunction::
PrinterProviderInternalReportUsbPrinterInfoFunction() { … }
PrinterProviderInternalReportUsbPrinterInfoFunction::
~PrinterProviderInternalReportUsbPrinterInfoFunction() { … }
ExtensionFunction::ResponseAction
PrinterProviderInternalReportUsbPrinterInfoFunction::Run() { … }
}