blob: aa6950e46b357309e09a6696698f4420ac5a5d34 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/renderer/modules/credentialmanager/credential_manager_proxy.h"
#include "services/service_manager/public/cpp/interface_provider.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/platform/bindings/script_state.h"
namespace blink {
CredentialManagerProxy::CredentialManagerProxy(Document& document) {
LocalFrame* frame = document.GetFrame();
DCHECK(frame);
frame->GetInterfaceProvider().GetInterface(&credential_manager_);
frame->GetInterfaceProvider().GetInterface(
mojo::MakeRequest(&authenticator_));
}
CredentialManagerProxy::~CredentialManagerProxy() {}
// static
CredentialManagerProxy* CredentialManagerProxy::From(Document& document) {
auto* supplement =
Supplement<Document>::From<CredentialManagerProxy>(document);
if (!supplement) {
supplement = new CredentialManagerProxy(document);
ProvideTo(document, supplement);
}
return supplement;
}
// static
CredentialManagerProxy* CredentialManagerProxy::From(
ScriptState* script_state) {
DCHECK(script_state->ContextIsValid());
return From(To<Document>(*ExecutionContext::From(script_state)));
}
// static
const char CredentialManagerProxy::kSupplementName[] = "CredentialManagerProxy";
} // namespace blink