blob: 61df1716d58a10eb5830e8b0412b3194a6a99f21 [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 "modules/credentialmanager/Credential.h"
#include "bindings/core/v8/ExceptionState.h"
#include "core/dom/ExceptionCode.h"
namespace blink {
Credential::~Credential() {}
Credential::Credential(PlatformCredential* credential)
: platform_credential_(credential) {}
Credential::Credential(const String& id)
: platform_credential_(PlatformCredential::Create(id)) {}
KURL Credential::ParseStringAsURL(const String& url,
ExceptionState& exception_state) {
if (url.IsEmpty())
return KURL();
KURL parsed_url = KURL(NullURL(), url);
if (!parsed_url.IsValid())
exception_state.ThrowDOMException(kSyntaxError,
"'" + url + "' is not a valid URL.");
return parsed_url;
}
void Credential::Trace(blink::Visitor* visitor) {
visitor->Trace(platform_credential_);
ScriptWrappable::Trace(visitor);
}
} // namespace blink