#include "third_party/blink/renderer/modules/contacts_picker/contacts_manager.h"
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/core/v8/to_v8_traits.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_contact_info.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_contact_property.h"
#include "third_party/blink/renderer/core/dom/dom_exception.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/fileapi/blob.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/navigator.h"
#include "third_party/blink/renderer/modules/contacts_picker/contact_address.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/bindings/script_state.h"
#include "third_party/blink/renderer/platform/heap/visitor.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
namespace mojo {
template <>
struct TypeConverter<blink::ContactInfo*, blink::mojom::blink::ContactInfoPtr> { … };
blink::ContactInfo*
TypeConverter<blink::ContactInfo*, blink::mojom::blink::ContactInfoPtr>::
Convert(const blink::mojom::blink::ContactInfoPtr& contact) { … }
}
namespace blink {
const char ContactsManager::kSupplementName[] = …;
ContactsManager* ContactsManager::contacts(Navigator& navigator) { … }
ContactsManager::ContactsManager(Navigator& navigator)
: … { … }
ContactsManager::~ContactsManager() = default;
mojom::blink::ContactsManager* ContactsManager::GetContactsManager(
ScriptState* script_state) { … }
const Vector<V8ContactProperty>& ContactsManager::GetProperties(
ScriptState* script_state) { … }
ScriptPromise<IDLSequence<ContactInfo>> ContactsManager::select(
ScriptState* script_state,
const Vector<V8ContactProperty>& properties,
ContactsSelectOptions* options,
ExceptionState& exception_state) { … }
void ContactsManager::OnContactsSelected(
ScriptPromiseResolver<IDLSequence<ContactInfo>>* resolver,
std::optional<Vector<mojom::blink::ContactInfoPtr>> contacts) { … }
ScriptPromise<IDLSequence<V8ContactProperty>> ContactsManager::getProperties(
ScriptState* script_state) { … }
void ContactsManager::Trace(Visitor* visitor) const { … }
}